summaryrefslogtreecommitdiff
path: root/source3/smbd/uid.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1997-10-10 14:48:05 +0000
committerLuke Leighton <lkcl@samba.org>1997-10-10 14:48:05 +0000
commitc5e739febe5ab3bcc5d147fe791c788ec72531a3 (patch)
treecbb87b08ca03c05b27e6cf80c281ef4d1505f0a5 /source3/smbd/uid.c
parent33d8f5ecbb869edbdfe0f958c989a3fcb7a056ff (diff)
downloadsamba-c5e739febe5ab3bcc5d147fe791c788ec72531a3.tar.gz
samba-c5e739febe5ab3bcc5d147fe791c788ec72531a3.tar.bz2
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.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c
index cdc4e474c6..78614a5b5c 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)