diff options
author | Andrew Tridgell <tridge@samba.org> | 2011-07-11 12:20:27 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2011-07-11 14:32:44 +1000 |
commit | 6f6cda72fc6d737060dd1f747b0e3b0f497b8d57 (patch) | |
tree | bc43884057df7b3b63a6cb08283a19c6aecbb7bd /source4 | |
parent | da75e031c3cff54d23d47f54459addf3d00236af (diff) | |
download | samba-6f6cda72fc6d737060dd1f747b0e3b0f497b8d57.tar.gz samba-6f6cda72fc6d737060dd1f747b0e3b0f497b8d57.tar.bz2 samba-6f6cda72fc6d737060dd1f747b0e3b0f497b8d57.zip |
s4-dsdb: deleted objects are expected to be missing mandatory attributes
the objectclass_attrs validation that an object contains all mandatory
attributes is incorrect for deleted objects, as they get stripped of
some mandatory attributes when deleted (for example, objectCategory
gets stripped)
Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'source4')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/objectclass_attrs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c index 302904ab97..4525cf3ddd 100644 --- a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c +++ b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c @@ -332,7 +332,8 @@ static int attr_handler2(struct oc_context *ac) } } - if (found_must_contain[0] != NULL) { + if (found_must_contain[0] != NULL && + ldb_msg_check_string_attribute(msg, "isDeleted", "TRUE") == 0) { ldb_asprintf_errstring(ldb, "objectclass_attrs: at least one mandatory attribute ('%s') on entry '%s' wasn't specified!", found_must_contain[0], ldb_dn_get_linearized(msg->dn)); |