summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2007-08-07 03:35:45 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:01:31 -0500
commit5fe53d6aced8682cb634bfbcf43f161d324b5a5e (patch)
treed4402972845be6f572034a11f85363d4f99a57aa
parent10c1480d166ec8ab3c15a4c3c4597506029980be (diff)
downloadsamba-5fe53d6aced8682cb634bfbcf43f161d324b5a5e.tar.gz
samba-5fe53d6aced8682cb634bfbcf43f161d324b5a5e.tar.bz2
samba-5fe53d6aced8682cb634bfbcf43f161d324b5a5e.zip
r24260: Ensure we always override any existing values for these generated
attributes. Anything else leads to madness. Andrew Bartlett (This used to be commit af092a361df6b98e1890cbd3e2d1fed168701364)
-rw-r--r--source4/dsdb/samdb/ldb_modules/kludge_acl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/kludge_acl.c b/source4/dsdb/samdb/ldb_modules/kludge_acl.c
index ed95d8112d..d26c8e3485 100644
--- a/source4/dsdb/samdb/ldb_modules/kludge_acl.c
+++ b/source4/dsdb/samdb/ldb_modules/kludge_acl.c
@@ -122,6 +122,8 @@ static int kludge_acl_allowedAttributes(struct ldb_context *ldb, struct ldb_mess
const struct dsdb_schema *schema = dsdb_get_schema(ldb);
const struct dsdb_class *class;
int i, j, ret;
+ /* Must remove any existing attribute, or else confusion reins */
+ ldb_msg_remove_attr(msg, attrName);
ret = ldb_msg_add_empty(msg, attrName, 0, &allowedAttributes);
if (ret != LDB_SUCCESS) {
return ret;
@@ -182,6 +184,8 @@ static int kludge_acl_childClasses(struct ldb_context *ldb, struct ldb_message *
const struct dsdb_schema *schema = dsdb_get_schema(ldb);
const struct dsdb_class *class;
int i, j, ret;
+ /* Must remove any existing attribute, or else confusion reins */
+ ldb_msg_remove_attr(msg, attrName);
ret = ldb_msg_add_empty(msg, attrName, 0, &allowedClasses);
if (ret != LDB_SUCCESS) {
return ret;