summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2011-07-13 15:31:19 +1000
committerAndrew Tridgell <tridge@samba.org>2011-07-13 12:51:05 +0200
commit43c0a92d23c2be446a9568b9d937e525d676f85e (patch)
tree643e8d3e288c53e6d2c696724ade19ab708651a7 /source4/dsdb/samdb
parent014fca10697c80d49d2c3438089935c63f445644 (diff)
downloadsamba-43c0a92d23c2be446a9568b9d937e525d676f85e.tar.gz
samba-43c0a92d23c2be446a9568b9d937e525d676f85e.tar.bz2
samba-43c0a92d23c2be446a9568b9d937e525d676f85e.zip
s4-dsdb Don't process deletion of member attributes here.
We don't need to compare the delete against the primaryGroupID check here - that test is for adds. Andrew Bartlett
Diffstat (limited to 'source4/dsdb/samdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/samldb.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c
index 0fe13e53cf..5f17e3bd6f 100644
--- a/source4/dsdb/samdb/ldb_modules/samldb.c
+++ b/source4/dsdb/samdb/ldb_modules/samldb.c
@@ -1599,6 +1599,15 @@ static int samldb_member_check(struct samldb_ctx *ac)
const char *group_attrs[] = { "primaryGroupID" , NULL };
uint32_t prim_group_rid;
+ if (LDB_FLAG_MOD_TYPE(el->flags) == LDB_FLAG_MOD_DELETE) {
+ /* Deletes will be handled in
+ * repl_meta_data, and deletes not
+ * matching a member will return
+ * LDB_ERR_UNWILLING_TO_PERFORM
+ * there */
+ continue;
+ }
+
member_dn = ldb_dn_from_ldb_val(ac, ldb,
&el->values[j]);
if (!ldb_dn_validate(member_dn)) {