summaryrefslogtreecommitdiff
path: root/source4/dsdb
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2010-07-10 14:48:40 +0400
committerAndrew Bartlett <abartlet@samba.org>2010-07-15 22:08:21 +1000
commita748402f61b4b3ea0df6666f4ec90f42fb45eaf8 (patch)
treebe145ed3dee796cec963f83b661ecc4dcc33e86c /source4/dsdb
parent7478224189598f192065b91d57080f1dd1719a99 (diff)
downloadsamba-a748402f61b4b3ea0df6666f4ec90f42fb45eaf8.tar.gz
samba-a748402f61b4b3ea0df6666f4ec90f42fb45eaf8.tar.bz2
samba-a748402f61b4b3ea0df6666f4ec90f42fb45eaf8.zip
s4 ldb modules: relax some tests about attributes that should not be here
For attributes that we know that are harmless and that used to be stored in the ldb we relax the tests on the existance in a given objectclass. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dsdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/objectclass_attrs.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c
index 6cfecc0d72..b9436e3a04 100644
--- a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c
+++ b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c
@@ -153,6 +153,12 @@ static int attr_handler(struct oc_context *ac)
return ldb_next_request(ac->module, child_req);
}
+/*
+ these are attributes which are left over from old ways of doing
+ things in ldb, and are harmless
+ */
+static const char *harmless_attrs[] = { "parentGUID", NULL };
+
static int attr_handler2(struct oc_context *ac)
{
struct ldb_context *ldb;
@@ -219,6 +225,9 @@ static int attr_handler2(struct oc_context *ac)
found = str_list_check(may_contain, attr->lDAPDisplayName);
}
if (!found) {
+ found = str_list_check(harmless_attrs, attr->lDAPDisplayName);
+ }
+ if (!found) {
ldb_asprintf_errstring(ldb, "objectclass_attrs: attribute '%s' on entry '%s' does not exist in the specified objectclasses!",
msg->elements[i].name,
ldb_dn_get_linearized(msg->dn));