diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-07-13 15:31:19 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2011-07-13 12:51:05 +0200 |
commit | 43c0a92d23c2be446a9568b9d937e525d676f85e (patch) | |
tree | 643e8d3e288c53e6d2c696724ade19ab708651a7 /source4/dsdb | |
parent | 014fca10697c80d49d2c3438089935c63f445644 (diff) | |
download | samba-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')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/samldb.c | 9 |
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)) { |