diff options
Diffstat (limited to 'source3/smbd/uid.c')
-rw-r--r-- | source3/smbd/uid.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c index 14b0000f59..c01fa1b052 100644 --- a/source3/smbd/uid.c +++ b/source3/smbd/uid.c @@ -28,6 +28,7 @@ static int initial_gid; /* what user is current? */ struct current_user current_user; +extern pstring sesssetup_user; pstring OriginalDir; @@ -276,7 +277,12 @@ BOOL become_user(connection_struct *conn, int cnum, uint16 vuid) current_user.cnum = cnum; current_user.vuid = vuid; - + + /* Ensure sesssetup_user is set correctly if we are using + user security. */ + if(vuser != NULL) + pstrcpy( sesssetup_user, vuser->requested_name); + DEBUG(5,("become_user uid=(%d,%d) gid=(%d,%d)\n", getuid(),geteuid(),getgid(),getegid())); |