[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha5-94-g55bde3c

Andrew Bartlett abartlet at samba.org
Mon Jul 21 01:28:04 GMT 2008


The branch, v4-0-test has been updated
       via  55bde3c9daeafdac04574365c23d181345639f34 (commit)
       via  63c80c885dc3fb2228f082be8db752bb29e3962e (commit)
       via  4fa15c3173a997fa0b9041161d81e742e1fdb41c (commit)
       via  9fe3e9f09f89fd92f8a16768e53391ff5f8489ec (commit)
      from  a4c3a59d47b2b1c794eda556d252c61907be1b3c (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 55bde3c9daeafdac04574365c23d181345639f34
Merge: 63c80c885dc3fb2228f082be8db752bb29e3962e a4c3a59d47b2b1c794eda556d252c61907be1b3c
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Jul 21 11:27:23 2008 +1000

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local

commit 63c80c885dc3fb2228f082be8db752bb29e3962e
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Jul 21 11:18:54 2008 +1000

    Sleep longer in the hope that the OpenLDAP backend might catch up

commit 4fa15c3173a997fa0b9041161d81e742e1fdb41c
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Jul 21 11:18:21 2008 +1000

    Fix ldb_map to add/remove the same 'extra' objectclass
    
    The code previously added data->add_objectClass, but only removed the
    fixed objectclass of extensibleObject.
    
    Found by the ldap.py test.
    
    Andrew Bartlett

commit 9fe3e9f09f89fd92f8a16768e53391ff5f8489ec
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Jul 21 09:36:24 2008 +1000

    Make invalid 'member' detection work again.
    
    This defines a rootdn globally, and due to OpenLDAP bugs, gives it
    manage access to the whole database.  This makes the memberOf module
    able to validate the links again, now we have database ACLs.
    
    Andrew Bartlett

-----------------------------------------------------------------------

Summary of changes:
 source/lib/ldb/ldb_map/ldb_map.c    |    5 +++--
 source/lib/ldb/tests/python/ldap.py |    4 ++--
 source/setup/slapd.conf             |    4 ++++
 3 files changed, 9 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/ldb/ldb_map/ldb_map.c b/source/lib/ldb/ldb_map/ldb_map.c
index 9c189fe..b3f639d 100644
--- a/source/lib/ldb/ldb_map/ldb_map.c
+++ b/source/lib/ldb/ldb_map/ldb_map.c
@@ -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);
diff --git a/source/lib/ldb/tests/python/ldap.py b/source/lib/ldb/tests/python/ldap.py
index 0dc514a..0424696 100755
--- a/source/lib/ldb/tests/python/ldap.py
+++ b/source/lib/ldb/tests/python/ldap.py
@@ -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"
diff --git a/source/setup/slapd.conf b/source/setup/slapd.conf
index 495847f..4dcfd2a 100644
--- a/source/setup/slapd.conf
+++ b/source/setup/slapd.conf
@@ -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


-- 
Samba Shared Repository


More information about the samba-cvs mailing list