From d604d499390dea1a10bfdd462b512bfe1845a101 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Matthias=20Dieter=20Walln=C3=B6fer?= Date: Thu, 10 Jun 2010 16:15:10 +0200 Subject: [PATCH] s4:samldb LDB module - fix up the case when the old and new "primaryGroupID" are the same --- source4/dsdb/samdb/ldb_modules/samldb.c | 14 +++++++------- 1 file 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; -- 2.34.1