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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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

Reply via email to