From: Andrew Bartlett Date: Thu, 22 Apr 2010 01:39:21 +0000 (+1000) Subject: s4:ldap-backend Fix LSA test failures with OpenLDAP backend - convert SIDs X-Git-Tag: samba-3.6.0pre1~2659 X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=commitdiff_plain;h=47e7e487469fa1f3fafe0a52560e0049801a5ac7 s4:ldap-backend Fix LSA test failures with OpenLDAP backend - convert SIDs The SIDs in some queries were not being passed as binary, but as strings in comparison with the securityIdentifer object. We need to recognise that these are SIDs in the simple_ldap_map. Andrew Bartlett --- diff --git a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c index 592cd01b220..1bf72d97107 100644 --- a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c +++ b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c @@ -282,6 +282,18 @@ static const struct ldb_map_attribute entryuuid_attributes[] = }, }, }, + /* securityIdentifier */ + { + .local_name = "securityIdentifier", + .type = LDB_MAP_CONVERT, + .u = { + .convert = { + .remote_name = "securityIdentifier", + .convert_local = sid_always_binary, + .convert_remote = val_copy, + }, + }, + }, { .local_name = "name", .type = LDB_MAP_RENAME, @@ -492,6 +504,18 @@ static const struct ldb_map_attribute nsuniqueid_attributes[] = } } }, + /* securityIdentifier */ + { + .local_name = "securityIdentifier", + .type = LDB_MAP_CONVERT, + .u = { + .convert = { + .remote_name = "securityIdentifier", + .convert_local = sid_always_binary, + .convert_remote = val_copy, + }, + }, + }, { .local_name = "whenCreated", .type = LDB_MAP_RENAME,