[SCM] Samba Shared Repository - branch master updated - 6c298c06f35c132dfd6df854e8fac524e4c80376

Andrew Bartlett abartlet at samba.org
Tue Dec 2 05:33:36 GMT 2008


The branch, master has been updated
       via  6c298c06f35c132dfd6df854e8fac524e4c80376 (commit)
       via  9b17e3b63419dba3ff8fac627d24366b6b6e12c4 (commit)
      from  931f16f6229f16eac866934f65f567c200d4b111 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6c298c06f35c132dfd6df854e8fac524e4c80376
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Dec 2 14:22:24 2008 +1100

    Don't treat the DN+binary syntax as a DN.
    
    This should fix the OpenLDAP backend

commit 9b17e3b63419dba3ff8fac627d24366b6b6e12c4
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Dec 2 14:13:41 2008 +1100

    Use the direct pointer to the syntax
    
    This rather than manually searching for it, and is inspired by a
    similar commit in dsdb/schema/schema_description.c by metze
    
    Andrew Bartlett

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

Summary of changes:
 source4/dsdb/schema/schema_syntax.c    |    4 ++--
 source4/setup/schema-map-fedora-ds-1.0 |    4 ++--
 source4/setup/schema-map-openldap-2.3  |    4 ++--
 source4/utils/ad2oLschema.c            |    9 ++++-----
 4 files changed, 10 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c
index cee74c0..7aed086 100644
--- a/source4/dsdb/schema/schema_syntax.c
+++ b/source4/dsdb/schema/schema_syntax.c
@@ -1278,9 +1278,9 @@ static const struct dsdb_syntax dsdb_syntaxes[] = {
 		.attributeSyntax_oid	= "2.5.5.7",
 		.drsuapi_to_ldb		= dsdb_syntax_DN_BINARY_drsuapi_to_ldb,
 		.ldb_to_drsuapi		= dsdb_syntax_DN_BINARY_ldb_to_drsuapi,
-		.equality               = "distinguishedNameMatch",
+		.equality               = "octetStringMatch",
 		.comment                = "OctetString: Binary+DN",
-		.ldb_syntax             = LDB_SYNTAX_DN,
+		.ldb_syntax             = LDB_SYNTAX_OCTET_STRING,
 	},{
 	/* not used in w2k3 schema */
 		.name			= "Object(OR-Name)",
diff --git a/source4/setup/schema-map-fedora-ds-1.0 b/source4/setup/schema-map-fedora-ds-1.0
index e55ef0a..74d9e2a 100644
--- a/source4/setup/schema-map-fedora-ds-1.0
+++ b/source4/setup/schema-map-fedora-ds-1.0
@@ -23,9 +23,9 @@ aci
 1.2.840.113556.1.4.906:1.3.6.1.4.1.1466.115.121.1.27
 #This case insensitive string isn't available
 1.2.840.113556.1.4.905:1.3.6.1.4.1.1466.115.121.1.15
-#This type of DN isn't in OpenLDAP
-1.2.840.113556.1.4.903:1.3.6.1.4.1.1466.115.121.1.12
 #Treat Security Descriptors as binary
 1.2.840.113556.1.4.907:1.3.6.1.4.1.1466.115.121.1.40
 #NumbericString is not supported in Fedora DS 1.0, map to a directory string
 1.3.6.1.4.1.1466.115.121.1.36:1.3.6.1.4.1.1466.115.121.1.15
+#Treat Object(DN-Binary) as a binary blob
+1.2.840.113556.1.4.903:1.3.6.1.4.1.1466.115.121.1.40
diff --git a/source4/setup/schema-map-openldap-2.3 b/source4/setup/schema-map-openldap-2.3
index 7de2e67..bff1695 100644
--- a/source4/setup/schema-map-openldap-2.3
+++ b/source4/setup/schema-map-openldap-2.3
@@ -35,10 +35,10 @@ modifyTimeStamp:samba4ModifyTimestamp
 1.2.840.113556.1.4.906:1.3.6.1.4.1.1466.115.121.1.27
 #This case insensitive string isn't available
 1.2.840.113556.1.4.905:1.3.6.1.4.1.1466.115.121.1.44
-#This type of DN isn't in OpenLDAP
-1.2.840.113556.1.4.903:1.3.6.1.4.1.1466.115.121.1.12
 #Treat Security Descriptors as binary
 1.2.840.113556.1.4.907:1.3.6.1.4.1.1466.115.121.1.40
 #Treat OIDs as case insensitive strings (as otherwise ldap class and
 #attribute names, declared at OIDs fail 
 1.3.6.1.4.1.1466.115.121.1.38:1.3.6.1.4.1.1466.115.121.1.44
+#Treat Object(DN-Binary) as a binary blob
+1.2.840.113556.1.4.903:1.3.6.1.4.1.1466.115.121.1.40
diff --git a/source4/utils/ad2oLschema.c b/source4/utils/ad2oLschema.c
index e926dd1..2e3139d 100644
--- a/source4/utils/ad2oLschema.c
+++ b/source4/utils/ad2oLschema.c
@@ -226,7 +226,6 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
 		const char *equality = NULL, *substring = NULL;
 		bool single_value = attribute->isSingleValued;
 
-		const struct dsdb_syntax *map = find_syntax_map_by_ad_syntax(attribute->oMSyntax);
 		char *schema_entry = NULL;
 		int j;
 
@@ -244,11 +243,11 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
 			}
 		}
 		
-		if (map) {
+		if (attribute->syntax) {
 			/* We might have been asked to remap this oid,
 			 * due to a conflict, or lack of
 			 * implementation */
-			syntax = map->ldap_oid;
+			syntax = attribute->syntax->ldap_oid;
 			/* We might have been asked to remap this oid, due to a conflict */
 			for (j=0; syntax && oid_map && oid_map[j].old_oid; j++) {
 				if (strcasecmp(syntax, oid_map[j].old_oid) == 0) {
@@ -257,8 +256,8 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
 				}
 			}
 			
-			equality = map->equality;
-			substring = map->substring;
+			equality = attribute->syntax->equality;
+			substring = attribute->syntax->substring;
 		}
 
 		/* We might have been asked to remap this name, due to a conflict */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list