summaryrefslogtreecommitdiff
path: root/source3/libads/ldap_schema.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-09-17 14:34:54 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-09-17 14:34:54 +0200
commit06999ae473b5a1fdf21b44fa5866ad1dbc47d749 (patch)
tree663fb9794d2c8d6b4488bdd957f653b55f50c11e /source3/libads/ldap_schema.c
parent7106cd9fd5f80bc7d73b061bba51904219400829 (diff)
parenta69a2ae5dffde95651f38b96571adc914846042c (diff)
downloadsamba-06999ae473b5a1fdf21b44fa5866ad1dbc47d749.tar.gz
samba-06999ae473b5a1fdf21b44fa5866ad1dbc47d749.tar.bz2
samba-06999ae473b5a1fdf21b44fa5866ad1dbc47d749.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba into singlelib
Diffstat (limited to 'source3/libads/ldap_schema.c')
-rw-r--r--source3/libads/ldap_schema.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/source3/libads/ldap_schema.c b/source3/libads/ldap_schema.c
index ff41ccc861..b5d2d35889 100644
--- a/source3/libads/ldap_schema.c
+++ b/source3/libads/ldap_schema.c
@@ -246,19 +246,22 @@ ADS_STATUS ads_check_posix_schema_mapping(TALLOC_CTX *mem_ctx,
ADS_ATTR_SFU_GIDNUMBER_OID,
ADS_ATTR_SFU_HOMEDIR_OID,
ADS_ATTR_SFU_SHELL_OID,
- ADS_ATTR_SFU_GECOS_OID};
+ ADS_ATTR_SFU_GECOS_OID,
+ ADS_ATTR_SFU_UID_OID };
const char *oids_sfu20[] = { ADS_ATTR_SFU20_UIDNUMBER_OID,
ADS_ATTR_SFU20_GIDNUMBER_OID,
ADS_ATTR_SFU20_HOMEDIR_OID,
ADS_ATTR_SFU20_SHELL_OID,
- ADS_ATTR_SFU20_GECOS_OID};
+ ADS_ATTR_SFU20_GECOS_OID,
+ ADS_ATTR_SFU20_UID_OID };
const char *oids_rfc2307[] = { ADS_ATTR_RFC2307_UIDNUMBER_OID,
ADS_ATTR_RFC2307_GIDNUMBER_OID,
ADS_ATTR_RFC2307_HOMEDIR_OID,
ADS_ATTR_RFC2307_SHELL_OID,
- ADS_ATTR_RFC2307_GECOS_OID };
+ ADS_ATTR_RFC2307_GECOS_OID,
+ ADS_ATTR_RFC2307_UID_OID };
DEBUG(10,("ads_check_posix_schema_mapping for schema mode: %d\n", map_type));
@@ -359,6 +362,12 @@ ADS_STATUS ads_check_posix_schema_mapping(TALLOC_CTX *mem_ctx,
strequal(ADS_ATTR_SFU20_GECOS_OID, oids_out[i])) {
schema->posix_gecos_attr = talloc_strdup(schema, names_out[i]);
}
+
+ if (strequal(ADS_ATTR_RFC2307_UID_OID, oids_out[i]) ||
+ strequal(ADS_ATTR_SFU_UID_OID, oids_out[i]) ||
+ strequal(ADS_ATTR_SFU20_UID_OID, oids_out[i])) {
+ schema->posix_uid_attr = talloc_strdup(schema, names_out[i]);
+ }
}
if (!schema->posix_uidnumber_attr ||