diff options
Diffstat (limited to 'source3/nsswitch/winbindd_pam.c')
-rw-r--r-- | source3/nsswitch/winbindd_pam.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/nsswitch/winbindd_pam.c b/source3/nsswitch/winbindd_pam.c index cb44ec98d7..9061391118 100644 --- a/source3/nsswitch/winbindd_pam.c +++ b/source3/nsswitch/winbindd_pam.c @@ -372,10 +372,22 @@ done: afsname = realloc_string_sub(afsname, "%u", name_user); afsname = realloc_string_sub(afsname, "%U", name_user); + { + DOM_SID user_sid; + fstring sidstr; + + sid_copy(&user_sid, &info3.dom_sid.sid); + sid_append_rid(&user_sid, info3.user_rid); + sid_to_string(sidstr, &user_sid); + afsname = realloc_string_sub(afsname, "%s", sidstr); + } + if (afsname == NULL) goto no_token; strlower_m(afsname); + DEBUG(10, ("Generating token for user %s\n", afsname)); + cell = strchr(afsname, '@'); if (cell == NULL) goto no_token; |