The Samba-Bugzilla – Attachment 1752 Details for
Bug 3539
idmap_ad not getting gecos from msSFU30Gecos
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
use msSFU30Gecos
diff2 (text/plain), 4.25 KB, created by
Guenther Deschner
on 2006-02-22 10:16:55 UTC
(
hide
)
Description:
use msSFU30Gecos
Filename:
MIME Type:
Creator:
Guenther Deschner
Created:
2006-02-22 10:16:55 UTC
Size:
4.25 KB
patch
obsolete
>Index: libads/ads_struct.c >=================================================================== >--- libads/ads_struct.c (revision 13634) >+++ libads/ads_struct.c (working copy) >@@ -139,6 +139,7 @@ > SAFE_FREE((*ads)->schema.sfu_gidnumber_attr); > SAFE_FREE((*ads)->schema.sfu_shell_attr); > SAFE_FREE((*ads)->schema.sfu_homedir_attr); >+ SAFE_FREE((*ads)->schema.sfu_gecos_attr); > > ZERO_STRUCTP(*ads); > >Index: libads/ldap.c >=================================================================== >--- libads/ldap.c (revision 13634) >+++ libads/ldap.c (working copy) >@@ -2628,7 +2630,7 @@ > { > BOOL ret = False; > TALLOC_CTX *ctx = NULL; >- const char *gidnumber, *uidnumber, *homedir, *shell; >+ const char *gidnumber, *uidnumber, *homedir, *shell, *gecos; > > ctx = talloc_init("ads_check_sfu_mapping"); > if (ctx == NULL) >@@ -2654,6 +2656,11 @@ > goto done; > ads->schema.sfu_shell_attr = SMB_STRDUP(shell); > >+ gecos = ads_get_attrname_by_oid(ads, ctx, ADS_ATTR_SFU_GECOS_OID); >+ if (gecos == NULL) >+ goto done; >+ ads->schema.sfu_gecos_attr = SMB_STRDUP(gecos); >+ > ret = True; > done: > if (ctx) >Index: nsswitch/winbindd_ads.c >=================================================================== >--- nsswitch/winbindd_ads.c (revision 13634) >+++ nsswitch/winbindd_ads.c (working copy) >@@ -153,7 +157,8 @@ > "name", "objectSid", "primaryGroupID", > "sAMAccountType", > ADS_ATTR_SFU_HOMEDIR_OID, >- ADS_ATTR_SFU_SHELL_OID, >+ ADS_ATTR_SFU_SHELL_OID, >+ ADS_ATTR_SFU_GECOS_OID, > NULL}; > int i, count; > ADS_STATUS rc; >@@ -193,7 +198,7 @@ > i = 0; > > for (msg = ads_first_entry(ads, res); msg; msg = ads_next_entry(ads, msg)) { >- char *name, *gecos; >+ char *name, *gecos = NULL; > char *homedir = NULL; > char *shell = NULL; > uint32 group; >@@ -206,13 +211,19 @@ > } > > name = ads_pull_username(ads, mem_ctx, msg); >- gecos = ads_pull_string(ads, mem_ctx, msg, "name"); >+ > if (use_nss_info("sfu")) { > homedir = ads_pull_string(ads, mem_ctx, msg, > ads->schema.sfu_homedir_attr); >- shell = ads_pull_string(ads, mem_ctx, msg, >- ads->schema.sfu_shell_attr); >+ shell = ads_pull_string(ads, mem_ctx, msg, >+ ads->schema.sfu_shell_attr); >+ gecos = ads_pull_string(ads, mem_ctx, msg, >+ ads->schema.sfu_gecos_attr); > } >+ >+ if (gecos == NULL) { >+ gecos = ads_pull_string(ads, mem_ctx, msg, "name"); >+ } > > if (!ads_pull_sid(ads, msg, "objectSid", > &(*info)[i].user_sid)) { >@@ -437,7 +448,8 @@ > "name", > "primaryGroupID", > ADS_ATTR_SFU_HOMEDIR_OID, >- ADS_ATTR_SFU_SHELL_OID, >+ ADS_ATTR_SFU_SHELL_OID, >+ ADS_ATTR_SFU_GECOS_OID, > NULL}; > ADS_STATUS rc; > int count; >@@ -475,15 +487,20 @@ > } > > info->acct_name = ads_pull_username(ads, mem_ctx, msg); >- info->full_name = ads_pull_string(ads, mem_ctx, msg, "name"); > > if (use_nss_info("sfu")) { >- info->homedir = ads_pull_string(ads, mem_ctx, msg, >- ads->schema.sfu_homedir_attr); >- info->shell = ads_pull_string(ads, mem_ctx, msg, >- ads->schema.sfu_shell_attr); >+ info->homedir = ads_pull_string(ads, mem_ctx, msg, >+ ads->schema.sfu_homedir_attr); >+ info->shell = ads_pull_string(ads, mem_ctx, msg, >+ ads->schema.sfu_shell_attr); >+ info->full_name = ads_pull_string(ads, mem_ctx, msg, >+ ads->schema.sfu_gecos_attr); > } > >+ if (info->full_name == NULL) { >+ info->full_name = ads_pull_string(ads, mem_ctx, msg, "name"); >+ } >+ > if (!ads_pull_uint32(ads, msg, "primaryGroupID", &group_rid)) { > DEBUG(1,("No primary group for %s !?\n", > sid_string_static(sid))); >Index: include/ads.h >=================================================================== >--- include/ads.h (revision 13634) >+++ include/ads.h (working copy) >@@ -48,6 +48,7 @@ > char *sfu_shell_attr; > char *sfu_uidnumber_attr; > char *sfu_gidnumber_attr; >+ char *sfu_gecos_attr; > } schema; > > } ADS_STRUCT; >@@ -99,6 +100,7 @@ > #define ADS_ATTR_SFU_GIDNUMBER_OID "1.2.840.113556.1.6.18.1.311" > #define ADS_ATTR_SFU_HOMEDIR_OID "1.2.840.113556.1.6.18.1.344" > #define ADS_ATTR_SFU_SHELL_OID "1.2.840.113556.1.6.18.1.312" >+#define ADS_ATTR_SFU_GECOS_OID "1.2.840.113556.1.6.18.1.337" > > /* ldap bitwise searches */ > #define ADS_LDAP_MATCHING_RULE_BIT_AND "1.2.840.113556.1.4.803"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 3539
: 1752