summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-10 16:15:10 +0200
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-10 16:22:09 +0200
commitd604d499390dea1a10bfdd462b512bfe1845a101 (patch)
treea09fa14a7f31bbeb2407e926fd2585bdb2a2ecc5
parent13ca999b3b4660e530ac0b91342c40ff8a3c7a31 (diff)
downloadsamba-d604d499390dea1a10bfdd462b512bfe1845a101.tar.gz
samba-d604d499390dea1a10bfdd462b512bfe1845a101.tar.bz2
samba-d604d499390dea1a10bfdd462b512bfe1845a101.zip
s4:samldb LDB module - fix up the case when the old and new "primaryGroupID" are the same
-rw-r--r--source4/dsdb/samdb/ldb_modules/samldb.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c
index a50739baa0..5d64b6d398 100644
--- a/source4/dsdb/samdb/ldb_modules/samldb.c
+++ b/source4/dsdb/samdb/ldb_modules/samldb.c
@@ -1176,16 +1176,16 @@ static int samldb_prim_group_change(struct samldb_ctx *ac)
return LDB_ERR_UNWILLING_TO_PERFORM;
}
- el = samdb_find_attribute(ldb, res->msgs[0], "memberOf",
- ldb_dn_get_linearized(new_prim_group_dn));
- if (el == NULL) {
+ /* Only update the "member" attributes when we really do have a change */
+ if (ldb_dn_compare(new_prim_group_dn, prev_prim_group_dn) != 0) {
/* We need to be already a normal member of the new primary
* group in order to be successful. */
- return LDB_ERR_UNWILLING_TO_PERFORM;
- }
+ el = samdb_find_attribute(ldb, res->msgs[0], "memberOf",
+ ldb_dn_get_linearized(new_prim_group_dn));
+ if (el == NULL) {
+ return LDB_ERR_UNWILLING_TO_PERFORM;
+ }
- /* Only update the "member" attributes when we really do have a change */
- if (ldb_dn_compare(new_prim_group_dn, prev_prim_group_dn) != 0) {
/* Remove the "member" attribute on the new primary group */
msg = talloc_zero(ac, struct ldb_message);
msg->dn = new_prim_group_dn;