summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2005-05-13 12:21:35 +0000
committerVolker Lendecke <vlendec@samba.org>2005-05-13 12:21:35 +0000
commitc19e42a3ed87fee956c0886ba488e3aa23e1d2dc (patch)
tree61b9596d41a5f19ebbd2534656761eb137f43aff /source
parentaf6974e6dec5d17e40e99e2f4109317029cdb0c6 (diff)
downloadsamba-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')
-rw-r--r--source/lib/afs.c7
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 = &current_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. */