1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

Modified all references to uid to vuid.

jra@cygnus.com
This commit is contained in:
Samba Release Account 0001-01-01 00:00:00 +00:00
parent b5e2d87179
commit a2b07e5562

View File

@ -179,14 +179,11 @@ int reply_tcon(char *inbuf,char *outbuf)
pstring dev;
int connection_num;
int outsize = 0;
int uid = SVAL(inbuf,smb_uid);
int vuid;
uint16 vuid = SVAL(inbuf,smb_uid);
int pwlen=0;
*service = *user = *password = *dev = 0;
vuid = valid_uid(uid);
parse_connect(smb_buf(inbuf)+1,service,user,password,&pwlen,dev);
connection_num = make_connection(service,user,password,pwlen,dev,vuid);
@ -215,8 +212,7 @@ int reply_tcon_and_X(char *inbuf,char *outbuf,int length,int bufsize)
pstring password;
pstring devicename;
int connection_num;
int uid = SVAL(inbuf,smb_uid);
int vuid;
uint16 vuid = SVAL(inbuf,smb_uid);
int passlen = SVAL(inbuf,smb_vwv3);
BOOL doencrypt = SMBENCRYPT();
@ -224,9 +220,7 @@ int reply_tcon_and_X(char *inbuf,char *outbuf,int length,int bufsize)
/* we might have to close an old one */
if ((SVAL(inbuf,smb_vwv2) & 0x1) != 0)
close_cnum(SVAL(inbuf,smb_tid),uid);
vuid = valid_uid(uid);
close_cnum(SVAL(inbuf,smb_tid),vuid);
{
char *path;
@ -317,8 +311,9 @@ reply to a session setup command
****************************************************************************/
int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
{
int sess_uid;
uint16 sess_vuid;
int gid;
int uid;
int smb_bufsize;
int smb_mpxmax;
int smb_vc_num;
@ -336,7 +331,6 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
*smb_apasswd = 0;
sess_uid = SVAL(inbuf,smb_uid);
smb_bufsize = SVAL(inbuf,smb_vwv2);
smb_mpxmax = SVAL(inbuf,smb_vwv3);
smb_vc_num = SVAL(inbuf,smb_vwv4);
@ -499,8 +493,7 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
return(ERROR(ERRSRV,ERRbadpw));
}
gid = pw->pw_gid;
SSVAL(outbuf,smb_uid,(uint16)pw->pw_uid);
SSVAL(inbuf,smb_uid,(uint16)pw->pw_uid);
uid = pw->pw_uid;
}
if (guest && !computer_id)
@ -508,8 +501,11 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
/* register the name and uid as being validated, so further connections
to a uid can get through without a password, on the same VC */
register_uid(SVAL(inbuf,smb_uid),gid,user,guest);
sess_vuid = register_vuid(uid,gid,user,guest);
SSVAL(outbuf,smb_uid,sess_vuid);
SSVAL(inbuf,smb_uid,sess_vuid);
if (!done_sesssetup)
maxxmit = MIN(maxxmit,smb_bufsize);
@ -1105,23 +1101,28 @@ int reply_open_and_X(char *inbuf,char *outbuf,int length,int bufsize)
****************************************************************************/
int reply_ulogoffX(char *inbuf,char *outbuf,int length,int bufsize)
{
int uid = SVAL(inbuf,smb_uid);
uint16 vuid = SVAL(inbuf,smb_uid);
user_struct *vuser = get_valid_user_struct(vuid);
invalidate_uid(uid);
if(vuser == 0) {
DEBUG(3,("ulogoff, vuser id %d does not map to user.\n", vuid));
}
/* in user level security we are supposed to close any files
open by this user */
if (lp_security() != SEC_SHARE) {
if ((vuser != 0) && (lp_security() != SEC_SHARE)) {
int i;
for (i=0;i<MAX_OPEN_FILES;i++)
if (Files[i].uid == uid && Files[i].open) {
if (Files[i].uid == vuser->uid && Files[i].open) {
close_file(i);
}
}
invalidate_vuid(vuid);
set_message(outbuf,2,0,True);
DEBUG(3,("%s ulogoffX uid=%d\n",timestring(),uid));
DEBUG(3,("%s ulogoffX vuid=%d\n",timestring(),vuid));
return chain_reply(inbuf,outbuf,length,bufsize);
}
@ -2101,11 +2102,12 @@ int reply_unlock(char *inbuf,char *outbuf)
****************************************************************************/
int reply_tdis(char *inbuf,char *outbuf)
{
int cnum, uid;
int cnum;
int outsize = set_message(outbuf,0,0,True);
uint16 vuid;
cnum = SVAL(inbuf,smb_tid);
uid = SVAL(inbuf,smb_uid);
vuid = SVAL(inbuf,smb_uid);
if (!OPEN_CNUM(cnum)) {
DEBUG(4,("Invalid cnum in tdis (%d)\n",cnum));
@ -2114,7 +2116,7 @@ int reply_tdis(char *inbuf,char *outbuf)
Connections[cnum].used = False;
close_cnum(cnum,uid);
close_cnum(cnum,vuid);
DEBUG(3,("%s tdis cnum=%d\n",timestring(),cnum));
@ -2259,13 +2261,14 @@ int reply_printclose(char *inbuf,char *outbuf)
****************************************************************************/
int reply_printqueue(char *inbuf,char *outbuf)
{
int cnum, uid;
int cnum;
int outsize = set_message(outbuf,2,3,True);
int max_count = SVAL(inbuf,smb_vwv0);
int start_index = SVAL(inbuf,smb_vwv1);
uint16 vuid;
cnum = SVAL(inbuf,smb_tid);
uid = SVAL(inbuf,smb_uid);
vuid = SVAL(inbuf,smb_uid);
/* allow checking the queue for anyone */
#if 0
@ -2301,7 +2304,7 @@ int reply_printqueue(char *inbuf,char *outbuf)
DEBUG(5,("connection not open or not a printer, using cnum %d\n",cnum));
}
if (!become_user(cnum,uid))
if (!become_user(cnum,vuid))
return(ERROR(ERRSRV,ERRinvnid));
{