diff options
author | Luke Leighton <lkcl@samba.org> | 1997-10-10 14:48:05 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1997-10-10 14:48:05 +0000 |
commit | c5e739febe5ab3bcc5d147fe791c788ec72531a3 (patch) | |
tree | cbb87b08ca03c05b27e6cf80c281ef4d1505f0a5 /source3/smbd/uid.c | |
parent | 33d8f5ecbb869edbdfe0f958c989a3fcb7a056ff (diff) | |
download | samba-c5e739febe5ab3bcc5d147fe791c788ec72531a3.tar.gz samba-c5e739febe5ab3bcc5d147fe791c788ec72531a3.tar.xz samba-c5e739febe5ab3bcc5d147fe791c788ec72531a3.zip |
Makefile:
added credentials.c to smbd
credentials.c:
using credential structures instead of char*
password.c uid.c server.c:
added sid and attr to user_struct.
smbdes.c:
smbhash and str_to_key make public instead of private.
pipes.c smb.h:
lsa structures, sub-functions.
proto.h:
usual.
(This used to be commit 87a0a944855a673d693d934e446bdc231b1c7f02)
Diffstat (limited to 'source3/smbd/uid.c')
-rw-r--r-- | source3/smbd/uid.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c index cdc4e474c61..78614a5b5c4 100644 --- a/source3/smbd/uid.c +++ b/source3/smbd/uid.c @@ -227,13 +227,17 @@ BOOL become_user(int cnum, uint16 vuid) if (Connections[cnum].force_user || lp_security() == SEC_SHARE || !(vuser) || (vuser->guest) || - !check_user_ok(cnum,vuser,snum)) { + !check_user_ok(cnum,vuser,snum)) + { uid = Connections[cnum].uid; gid = Connections[cnum].gid; current_user.groups = Connections[cnum].groups; current_user.igroups = Connections[cnum].igroups; current_user.ngroups = Connections[cnum].ngroups; - } else { + current_user.attrs = vuser->attrs; + } + else + { if (!vuser) { DEBUG(2,("Invalid vuid used %d\n",vuid)); return(False); @@ -243,9 +247,10 @@ BOOL become_user(int cnum, uint16 vuid) gid = vuser->gid; else gid = Connections[cnum].gid; - current_user.groups = vuser->user_groups; - current_user.igroups = vuser->user_igroups; - current_user.ngroups = vuser->user_ngroups; + current_user.ngroups = vuser->n_groups; + current_user.groups = vuser->groups; + current_user.igroups = vuser->igroups; + current_user.attrs = vuser->attrs; } if (initial_uid == 0) |