diff options
author | Volker Lendecke <vlendec@samba.org> | 2005-05-13 12:21:35 +0000 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2005-05-13 12:21:35 +0000 |
commit | c19e42a3ed87fee956c0886ba488e3aa23e1d2dc (patch) | |
tree | 61b9596d41a5f19ebbd2534656761eb137f43aff /source/lib | |
parent | af6974e6dec5d17e40e99e2f4109317029cdb0c6 (diff) | |
download | samba-c19e42a3ed87fee956c0886ba488e3aa23e1d2dc.tar.gz samba-c19e42a3ed87fee956c0886ba488e3aa23e1d2dc.tar.xz samba-c19e42a3ed87fee956c0886ba488e3aa23e1d2dc.zip |
r6779: Use the SID in the user token for the %s expansion in 'afs username map'. This
fixes a rather weird problem where an algorithmic SID ended up as the
replacement for %s.
Volker
Diffstat (limited to 'source/lib')
-rw-r--r-- | source/lib/afs.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/lib/afs.c b/source/lib/afs.c index 7f79429b9ed..b8173f7cc1e 100644 --- a/source/lib/afs.c +++ b/source/lib/afs.c @@ -209,20 +209,21 @@ char *afs_createtoken_str(const char *username, const char *cell) BOOL afs_login(connection_struct *conn) { + extern struct current_user current_user; DATA_BLOB ticket; pstring afs_username; char *cell; BOOL result; char *ticket_str; - DOM_SID user_sid; + const DOM_SID *user_sid; struct ClearToken ct; pstrcpy(afs_username, lp_afs_username_map()); standard_sub_conn(conn, afs_username, sizeof(afs_username)); - if (NT_STATUS_IS_OK(uid_to_sid(&user_sid, conn->uid))) - pstring_sub(afs_username, "%s", sid_string_static(&user_sid)); + user_sid = ¤t_user.nt_user_token->user_sids[0]; + pstring_sub(afs_username, "%s", sid_string_static(user_sid)); /* The pts command always generates completely lower-case user * names. */ |