summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/objectclass.c
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2011-07-25 17:31:03 +0400
committerMatthieu Patou <mat@samba.org>2011-07-26 23:34:24 +0200
commit326e2dd681c7210375a9b6e3b3e512dbab94bf7e (patch)
tree765af151f0321e499ec75bc827ea45998eb6eac2 /source4/dsdb/samdb/ldb_modules/objectclass.c
parent5f1f15399843760d3c3cf98022c76017a3a415c8 (diff)
downloadsamba-326e2dd681c7210375a9b6e3b3e512dbab94bf7e.tar.gz
samba-326e2dd681c7210375a9b6e3b3e512dbab94bf7e.tar.bz2
samba-326e2dd681c7210375a9b6e3b3e512dbab94bf7e.zip
s4-dsdb: Improve the calculation of system flags according to 3.1.1.5.2.4
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules/objectclass.c')
-rw-r--r--source4/dsdb/samdb/ldb_modules/objectclass.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/objectclass.c b/source4/dsdb/samdb/ldb_modules/objectclass.c
index 7ae90d353a..ab1766f856 100644
--- a/source4/dsdb/samdb/ldb_modules/objectclass.c
+++ b/source4/dsdb/samdb/ldb_modules/objectclass.c
@@ -734,14 +734,15 @@ static int objectclass_do_add(struct oc_context *ac)
} else if (ldb_attr_cmp(objectclass->lDAPDisplayName, "site") == 0
|| ldb_attr_cmp(objectclass->lDAPDisplayName, "serversContainer") == 0
|| ldb_attr_cmp(objectclass->lDAPDisplayName, "nTDSDSA") == 0) {
+ if (ldb_attr_cmp(objectclass->lDAPDisplayName, "site") == 0)
+ systemFlags |= (int32_t)(SYSTEM_FLAG_CONFIG_ALLOW_RENAME);
systemFlags |= (int32_t)(SYSTEM_FLAG_DISALLOW_MOVE_ON_DELETE);
-
} else if (ldb_attr_cmp(objectclass->lDAPDisplayName, "siteLink") == 0
+ || ldb_attr_cmp(objectclass->lDAPDisplayName, "subnet") == 0
|| ldb_attr_cmp(objectclass->lDAPDisplayName, "siteLinkBridge") == 0
|| ldb_attr_cmp(objectclass->lDAPDisplayName, "nTDSConnection") == 0) {
systemFlags |= (int32_t)(SYSTEM_FLAG_CONFIG_ALLOW_RENAME);
}
-
/* TODO: If parent object is site or subnet, also add (SYSTEM_FLAG_CONFIG_ALLOW_RENAME) */
if (el || systemFlags != 0) {