From c44f3035dcf6eefce85719b8eaf78dabb784e803 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 22 Sep 2015 09:52:43 +0000
Subject: [PATCH] OPENDJ-2294 ldapmodify ds-pwp-account-disabled does not generate account status notifications
---
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java b/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
index ff86f19..2e360c7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
@@ -755,7 +755,7 @@
// If the attribute type is marked "NO-USER-MODIFICATION" then fail unless
// this is an internal operation or is related to synchronization in some way.
- final boolean isInternalOrSynchro = isInternalOperation() || isSynchronizationOperation() || m.isInternal();
+ final boolean isInternalOrSynchro = isInternalOrSynchro(m);
if (t.isNoUserModification() && !isInternalOrSynchro)
{
throw newDirectoryException(currentEntry,
@@ -795,6 +795,11 @@
}
}
+ private boolean isInternalOrSynchro(Modification m)
+ {
+ return isInternalOperation() || m.isInternal() || isSynchronizationOperation();
+ }
+
private boolean isPassword(AttributeType t)
{
return pwPolicyState != null
@@ -954,6 +959,12 @@
processInitialSchema(m.getModificationType(), a);
}
+ else if (!isInternalOrSynchro(m)
+ && t.equals(getAttributeTypeOrDefault(OP_ATTR_ACCOUNT_DISABLED)))
+ {
+ enabledStateChanged = true;
+ isEnabled = pwPolicyState != null && !pwPolicyState.isDisabled();
+ }
}
}
--
Gitblit v1.10.0