diff options
author | Jeremy Allison <jra@samba.org> | 1998-02-11 11:07:14 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-02-11 11:07:14 +0000 |
commit | 99e11e171e40703271ad2a7934708cee66b0bb82 (patch) | |
tree | ed892bbc53c3155d43e583ced1a59d47623fa1af /source3/smbd/uid.c | |
parent | 5546e28e69b1a43dbb48e024e233d8ebf7fa667a (diff) | |
download | samba-99e11e171e40703271ad2a7934708cee66b0bb82.tar.gz samba-99e11e171e40703271ad2a7934708cee66b0bb82.tar.bz2 samba-99e11e171e40703271ad2a7934708cee66b0bb82.zip |
Makefile: Added AIX 3.2.5.
loadparm.c: Added "win95 bug compatibility" parameter.
local.h: Replaced MAX_OPEN_FILES back to 100 from 10 (oops).
reply.c: Fixed ulogoff check against uid - changed to vuid.
server.c: Changed file struct save of uid - changed to vuid.
smb.h: Changed id in struct current_user to vuid.
Changed file struct uid to vuid.
time.c: Added "win95 bug compatibility" atime -> mtime return.
trans2.c: Added "win95 bug compatibility" fixes.
uid.c: Changed id in struct current_user to vuid - added checks
to set/reset it.
util.c: Added code to expand environment variables.
version.h : still at 1.9.18 (head branch doesn't matter too much at present).
Jeremy.
(This used to be commit adc903bcf59ad1664babd7f1d43675d3a75bfbc9)
Diffstat (limited to 'source3/smbd/uid.c')
-rw-r--r-- | source3/smbd/uid.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c index 176f6ca240..14b0000f59 100644 --- a/source3/smbd/uid.c +++ b/source3/smbd/uid.c @@ -53,6 +53,7 @@ void init_uid(void) initial_gid = getegid(); current_user.cnum = -1; + current_user.vuid = UID_FIELD_INVALID; ChDir(OriginalDir); } @@ -174,6 +175,7 @@ BOOL become_guest(void) DEBUG(1,("Failed to become guest. Invalid guest account?\n")); current_user.cnum = -2; + current_user.vuid = UID_FIELD_INVALID; return(ret); } @@ -208,7 +210,8 @@ BOOL become_user(connection_struct *conn, int cnum, uint16 vuid) int snum,gid; int uid; - if (current_user.cnum == cnum && vuser != 0 && current_user.id == vuser->uid) { + if ((current_user.cnum == cnum) && (vuser != 0) && (current_user.vuid == vuid) && + (current_user.uid == vuser->uid)) { DEBUG(4,("Skipping become_user - already user\n")); return(True); } @@ -272,7 +275,7 @@ BOOL become_user(connection_struct *conn, int cnum, uint16 vuid) } current_user.cnum = cnum; - current_user.id = uid; + current_user.vuid = vuid; DEBUG(5,("become_user uid=(%d,%d) gid=(%d,%d)\n", getuid(),geteuid(),getgid(),getegid())); @@ -333,6 +336,7 @@ BOOL unbecome_user(void ) getuid(),geteuid(),getgid(),getegid())); current_user.cnum = -1; + current_user.vuid = UID_FIELD_INVALID; return(True); } |