Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local
authorAndrew Bartlett <abartlet@samba.org>
Mon, 21 Jul 2008 01:27:23 +0000 (11:27 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 21 Jul 2008 01:27:23 +0000 (11:27 +1000)
source/lib/ldb/ldb_map/ldb_map.c
source/lib/ldb/tests/python/ldap.py
source/setup/slapd.conf

index 9c189feb11dc4e2e69d74ee2322fe373bdd49fad..b3f639dc676bac81a266a11bebdf3f7f253b96d1 100644 (file)
@@ -810,6 +810,7 @@ static struct ldb_val map_objectclass_convert_remote(struct ldb_module *module,
 /* Generate a local message with a mapped objectClass. */
 static struct ldb_message_element *map_objectclass_generate_local(struct ldb_module *module, void *mem_ctx, const char *local_attr, const struct ldb_message *remote)
 {
+       const struct ldb_map_context *data = map_get_context(module);
        struct ldb_message_element *el, *oc;
        struct ldb_val val;
        int i;
@@ -844,10 +845,10 @@ static struct ldb_message_element *map_objectclass_generate_local(struct ldb_mod
                el->values[i] = map_objectclass_convert_remote(module, el->values, &oc->values[i]);
        }
 
-       val.data = (uint8_t *)talloc_strdup(el->values, "extensibleObject");
+       val.data = (uint8_t *)talloc_strdup(el->values, data->add_objectclass);
        val.length = strlen((char *)val.data);
 
-       /* Remove last value if it was "extensibleObject" */
+       /* Remove last value if it was the string in data->add_objectclass (eg samba4top, extensibleObject) */
        if (ldb_val_equal_exact(&val, &el->values[i-1])) {
                el->num_values--;
                el->values = talloc_realloc(el, el->values, struct ldb_val, el->num_values);
index 0dc514aeaf69f71630a702879f4ca6e622c95317..042469602cf7f143871afd910646bc80ba9d9f4f 100755 (executable)
@@ -579,7 +579,7 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + self.base_dn + """
         self.assertEquals(str(res[0].dn), ("CN=ldaptestuser4,CN=ldaptestcontainer2," + self.base_dn))
         self.assertEquals(res[0]["memberOf"][0].upper(), ("CN=ldaptestgroup2,CN=Users," + self.base_dn).upper())
 
-        time.sleep(2)
+        time.sleep(4)
 
         print "Testing ldb.search for (&(member=CN=ldaptestuser4,CN=ldaptestcontainer2," + self.base_dn + ")(objectclass=group)) to check subtree renames and linked attributes"
         res = ldb.search(self.base_dn, expression="(&(member=CN=ldaptestuser4,CN=ldaptestcontainer2," + self.base_dn + ")(objectclass=group))", scope=SCOPE_SUBTREE)
@@ -835,7 +835,7 @@ member: CN=ldaptestutf8user èùéìòà,CN=Users,""" + self.base_dn + """
 
         ldb.delete(("CN=ldaptestuser2,CN=Users," + self.base_dn))
 
-        time.sleep(2)
+        time.sleep(4)
 
         attrs = ["cn", "name", "objectClass", "objectGUID", "whenCreated", "nTSecurityDescriptor", "member"]
         print "Testing ldb.search for (&(cn=ldaptestgroup2)(objectClass=group)) to check linked delete"
index 495847f7fe936888073fb79a4e6af053937da2bc..4dcfd2aba76ad448b6fa1073f4ac31604d2c24da 100644 (file)
@@ -32,6 +32,7 @@ access to dn.subtree="cn=samba"
 
 access to dn.subtree="${DOMAINDN}"
        by dn=cn=samba-admin,cn=samba manage
+       by dn=cn=manager manage
        by * none
 
 password-hash   {CLEARTEXT}
@@ -40,6 +41,8 @@ include ${LDAPDIR}/modules.conf
 
 defaultsearchbase ${DOMAINDN}
 
+rootdn cn=Manager
+
 ${REFINT_CONFIG}
 
 ${MEMBEROF_CONFIG}
@@ -47,6 +50,7 @@ ${MEMBEROF_CONFIG}
 database       ldif
 suffix         cn=Samba
 directory       ${LDAPDIR}/db/samba
+rootdn          cn=Manager,cn=Samba
 
 
 database        hdb