diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-12-21 20:59:57 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-01-02 08:16:52 +1100 |
commit | d4853fed00a9f5e6e5eee5dc1ce0eab3cd9bda37 (patch) | |
tree | 2ace7d4cf6f8cb2d8494361c0f3d28ebbfadd8fc /source4/dsdb | |
parent | ca5c3a0a02b18787c089c4f32807d4cdf59578df (diff) | |
download | samba-d4853fed00a9f5e6e5eee5dc1ce0eab3cd9bda37.tar.gz samba-d4853fed00a9f5e6e5eee5dc1ce0eab3cd9bda37.tar.bz2 samba-d4853fed00a9f5e6e5eee5dc1ce0eab3cd9bda37.zip |
sd-schema: order DRS classes on the wire in reverse order
windows sends objectclasses in DRS in the opposite order to what LDAP
uses
Diffstat (limited to 'source4/dsdb')
-rw-r--r-- | source4/dsdb/schema/schema_syntax.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c index e958605707..0873779811 100644 --- a/source4/dsdb/schema/schema_syntax.c +++ b/source4/dsdb/schema/schema_syntax.c @@ -735,7 +735,10 @@ static WERROR _dsdb_syntax_OID_obj_ldb_to_drsuapi(struct ldb_context *ldb, blobs[i] = data_blob_talloc(blobs, NULL, 4); W_ERROR_HAVE_NO_MEMORY(blobs[i].data); - obj_class = dsdb_class_by_lDAPDisplayName(schema, (const char *)in->values[i].data); + /* in DRS windows puts the classes in the opposite + order to the order used in ldap */ + obj_class = dsdb_class_by_lDAPDisplayName(schema, + (const char *)in->values[(in->num_values-1)-i].data); if (!obj_class) { return WERR_FOOBAR; } |