mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
client.c:
clientgen.c: clientutil.c: clitar.c: Changed usage of receive_smb to new function client_receive_smb except for one use of receive_smb in client.c. This is the receive_smb used to discard packets received whilst in a keyboard wait state. util.c: Created new function client_receive_smb that ignores session keepalives just as the old receive_smb used to do. Created internal function read_smb_length_return_keepalive that is used internally by the changed receive_smb call. Changed read_smb_len to not use an internal buffer - it is never called with a null buffer so such code is redundant. Jeremy.
This commit is contained in:
parent
209f894fdb
commit
1084fb4682
@ -152,7 +152,7 @@ void cli_smb_close(char *inbuf, char *outbuf, int clnt_fd, int c_num, int f_num)
|
|||||||
SIVALS(outbuf,smb_vwv1, -1);
|
SIVALS(outbuf,smb_vwv1, -1);
|
||||||
|
|
||||||
send_smb(clnt_fd, outbuf);
|
send_smb(clnt_fd, outbuf);
|
||||||
receive_smb(clnt_fd,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(clnt_fd,inbuf,CLIENT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -271,7 +271,7 @@ static BOOL chkpath(char *path,BOOL report)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (report && CVAL(inbuf,smb_rcls) != 0)
|
if (report && CVAL(inbuf,smb_rcls) != 0)
|
||||||
DEBUG(2,("chkpath: %s\n",smb_errstr(inbuf)));
|
DEBUG(2,("chkpath: %s\n",smb_errstr(inbuf)));
|
||||||
@ -309,7 +309,7 @@ static void send_message(char *inbuf,char *outbuf)
|
|||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
|
|
||||||
|
|
||||||
if (!receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
if (!client_receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
printf("SMBsendstrt failed. (%s)\n",smb_errstr(inbuf));
|
printf("SMBsendstrt failed. (%s)\n",smb_errstr(inbuf));
|
||||||
return;
|
return;
|
||||||
@ -349,7 +349,7 @@ static void send_message(char *inbuf,char *outbuf)
|
|||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
|
|
||||||
|
|
||||||
if (!receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
if (!client_receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
printf("SMBsendtxt failed (%s)\n",smb_errstr(inbuf));
|
printf("SMBsendtxt failed (%s)\n",smb_errstr(inbuf));
|
||||||
return;
|
return;
|
||||||
@ -372,7 +372,7 @@ static void send_message(char *inbuf,char *outbuf)
|
|||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
|
|
||||||
|
|
||||||
if (!receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
if (!client_receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
printf("SMBsendend failed (%s)\n",smb_errstr(inbuf));
|
printf("SMBsendend failed (%s)\n",smb_errstr(inbuf));
|
||||||
return;
|
return;
|
||||||
@ -395,7 +395,7 @@ static void do_dskattr(void)
|
|||||||
cli_setup_pkt(outbuf);
|
cli_setup_pkt(outbuf);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
DEBUG(0,("Error in dskattr: %s\n",smb_errstr(inbuf)));
|
DEBUG(0,("Error in dskattr: %s\n",smb_errstr(inbuf)));
|
||||||
@ -714,7 +714,7 @@ static int do_short_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
received = SVAL(inbuf,smb_vwv0);
|
received = SVAL(inbuf,smb_vwv0);
|
||||||
|
|
||||||
@ -764,7 +764,7 @@ static int do_short_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (
|
|||||||
memcpy(p,status,21);
|
memcpy(p,status,21);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
DEBUG(0,("Error closing search: %s\n",smb_errstr(inbuf)));
|
DEBUG(0,("Error closing search: %s\n",smb_errstr(inbuf)));
|
||||||
@ -1140,7 +1140,7 @@ static void do_get(char *rname,char *lname,file_info *finfo1)
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -1267,7 +1267,7 @@ static void do_get(char *rname,char *lname,file_info *finfo1)
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -1360,7 +1360,7 @@ static void do_get(char *rname,char *lname,file_info *finfo1)
|
|||||||
SSVAL(outbuf,smb_vwv4,finfo.size - nread);
|
SSVAL(outbuf,smb_vwv4,finfo.size - nread);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -1424,7 +1424,7 @@ static void do_get(char *rname,char *lname,file_info *finfo1)
|
|||||||
*p++ = 4;
|
*p++ = 4;
|
||||||
*p = 0;
|
*p = 0;
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -1657,7 +1657,7 @@ static BOOL do_mkdir(char *name)
|
|||||||
strcpy(p,name);
|
strcpy(p,name);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -1740,7 +1740,7 @@ static int smb_writeraw(char *outbuf,int fnum,int pos,char *buf,int n)
|
|||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
|
|
||||||
if (!receive_smb(Client,inbuf,CLIENT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
if (!client_receive_smb(Client,inbuf,CLIENT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
_smb_setlen(buf-4,n); /* HACK! XXXX */
|
_smb_setlen(buf-4,n); /* HACK! XXXX */
|
||||||
@ -1748,7 +1748,7 @@ static int smb_writeraw(char *outbuf,int fnum,int pos,char *buf,int n)
|
|||||||
if (write_socket(Client,buf-4,n+4) != n+4)
|
if (write_socket(Client,buf-4,n+4) != n+4)
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
if (!receive_smb(Client,inbuf,CLIENT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0) {
|
if (!client_receive_smb(Client,inbuf,CLIENT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0) {
|
||||||
DEBUG(0,("Error writing remote file (2)\n"));
|
DEBUG(0,("Error writing remote file (2)\n"));
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
@ -1785,7 +1785,7 @@ static int smb_writefile(char *outbuf,int fnum,int pos,char *buf,int n)
|
|||||||
memcpy(smb_buf(outbuf)+3,buf,n);
|
memcpy(smb_buf(outbuf)+3,buf,n);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0) {
|
if (CVAL(inbuf,smb_rcls) != 0) {
|
||||||
DEBUG(0,("%s writing remote file\n",smb_errstr(inbuf)));
|
DEBUG(0,("%s writing remote file\n",smb_errstr(inbuf)));
|
||||||
@ -1840,7 +1840,7 @@ static void do_put(char *rname,char *lname,file_info *finfo)
|
|||||||
strcpy(p,rname);
|
strcpy(p,rname);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -1912,7 +1912,7 @@ static void do_put(char *rname,char *lname,file_info *finfo)
|
|||||||
put_dos_date3(outbuf,smb_vwv1,close_time);
|
put_dos_date3(outbuf,smb_vwv1,close_time);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -2241,7 +2241,7 @@ static void cmd_print(char *inbuf,char *outbuf )
|
|||||||
strcpy(p,rname);
|
strcpy(p,rname);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -2295,7 +2295,7 @@ static void cmd_print(char *inbuf,char *outbuf )
|
|||||||
SSVAL(smb_buf(outbuf),1,n);
|
SSVAL(smb_buf(outbuf),1,n);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -2317,7 +2317,7 @@ static void cmd_print(char *inbuf,char *outbuf )
|
|||||||
SSVAL(outbuf,smb_vwv0,fnum);
|
SSVAL(outbuf,smb_vwv0,fnum);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -2351,7 +2351,7 @@ static void cmd_queue(char *inbuf,char *outbuf )
|
|||||||
SSVAL(outbuf,smb_vwv1,0); /* the index into the queue */
|
SSVAL(outbuf,smb_vwv1,0); /* the index into the queue */
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -2648,7 +2648,7 @@ static void do_del(file_info *finfo)
|
|||||||
strcpy(p,mask);
|
strcpy(p,mask);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
DEBUG(0,("%s deleting remote file %s\n",smb_errstr(inbuf),CNV_LANG(mask)));
|
DEBUG(0,("%s deleting remote file %s\n",smb_errstr(inbuf),CNV_LANG(mask)));
|
||||||
@ -2713,7 +2713,7 @@ static void cmd_rmdir(char *inbuf,char *outbuf )
|
|||||||
strcpy(p,mask);
|
strcpy(p,mask);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -2759,7 +2759,7 @@ static void cmd_rename(char *inbuf,char *outbuf )
|
|||||||
strcpy(p,dest);
|
strcpy(p,dest);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -3348,6 +3348,11 @@ static void wait_keyboard(char *buffer)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* We deliberately use receive_smb instead of
|
||||||
|
client_receive_smb as we want to receive
|
||||||
|
session keepalives and then drop them here.
|
||||||
|
*/
|
||||||
if (FD_ISSET(Client,&fds))
|
if (FD_ISSET(Client,&fds))
|
||||||
receive_smb(Client,buffer,0);
|
receive_smb(Client,buffer,0);
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ BOOL cli_receive_trans_response(char *inbuf,int trans,
|
|||||||
|
|
||||||
*data_len = *param_len = 0;
|
*data_len = *param_len = 0;
|
||||||
|
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
show_msg(inbuf);
|
show_msg(inbuf);
|
||||||
|
|
||||||
/* sanity check */
|
/* sanity check */
|
||||||
@ -175,7 +175,7 @@ BOOL cli_receive_trans_response(char *inbuf,int trans,
|
|||||||
if (total_data <= *data_len && total_param <= *param_len)
|
if (total_data <= *data_len && total_param <= *param_len)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
show_msg(inbuf);
|
show_msg(inbuf);
|
||||||
|
|
||||||
/* sanity check */
|
/* sanity check */
|
||||||
@ -258,7 +258,7 @@ BOOL cli_send_trans_request(char *outbuf,int trans,
|
|||||||
if (this_ldata < ldata || this_lparam < lparam)
|
if (this_ldata < ldata || this_lparam < lparam)
|
||||||
{
|
{
|
||||||
/* receive interim response */
|
/* receive interim response */
|
||||||
if (!receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
if (!client_receive_smb(Client,inbuf,SHORT_TIMEOUT) || CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
DEBUG(0,("%s request failed (%s)\n",
|
DEBUG(0,("%s request failed (%s)\n",
|
||||||
trans==SMBtrans?"SMBtrans":"SMBtrans2", smb_errstr(inbuf)));
|
trans==SMBtrans?"SMBtrans":"SMBtrans2", smb_errstr(inbuf)));
|
||||||
@ -340,7 +340,7 @@ BOOL cli_send_session_request(char *inbuf,char *outbuf)
|
|||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
DEBUG(5,("Sent session request\n"));
|
DEBUG(5,("Sent session request\n"));
|
||||||
|
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,0) == 0x84) /* C. Hoch 9/14/95 Start */
|
if (CVAL(inbuf,0) == 0x84) /* C. Hoch 9/14/95 Start */
|
||||||
{
|
{
|
||||||
@ -500,7 +500,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup)
|
|||||||
CVAL(smb_buf(outbuf),0) = 2;
|
CVAL(smb_buf(outbuf),0) = 2;
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
show_msg(inbuf);
|
show_msg(inbuf);
|
||||||
|
|
||||||
@ -644,7 +644,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup)
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
show_msg(inbuf);
|
show_msg(inbuf);
|
||||||
|
|
||||||
@ -759,7 +759,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup)
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
/* trying again with a blank password */
|
/* trying again with a blank password */
|
||||||
if (CVAL(inbuf,smb_rcls) != 0 &&
|
if (CVAL(inbuf,smb_rcls) != 0 &&
|
||||||
@ -827,7 +827,7 @@ void cli_send_logout(void )
|
|||||||
cli_setup_pkt(outbuf);
|
cli_setup_pkt(outbuf);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,SHORT_TIMEOUT);
|
client_receive_smb(Client,inbuf,SHORT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -946,7 +946,7 @@ BOOL cli_reopen_connection(char *inbuf,char *outbuf)
|
|||||||
cli_setup_pkt(outbuf);
|
cli_setup_pkt(outbuf);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,SHORT_TIMEOUT);
|
client_receive_smb(Client,inbuf,SHORT_TIMEOUT);
|
||||||
|
|
||||||
close_sockets();
|
close_sockets();
|
||||||
if (!cli_open_sockets(0)) return(False);
|
if (!cli_open_sockets(0)) return(False);
|
||||||
|
@ -472,7 +472,7 @@ static int do_setrattr(char *fname, int attr, int setit)
|
|||||||
*p++ = 0;
|
*p++ = 0;
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
DEBUG(5,("getatr: %s\n",smb_errstr(inbuf)));
|
DEBUG(5,("getatr: %s\n",smb_errstr(inbuf)));
|
||||||
@ -510,7 +510,7 @@ static int do_setrattr(char *fname, int attr, int setit)
|
|||||||
*p++ = 0;
|
*p++ = 0;
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -547,7 +547,7 @@ static BOOL smbcreat(file_info finfo, int *fnum, char *inbuf, char *outbuf)
|
|||||||
strcpy(p,finfo.name);
|
strcpy(p,finfo.name);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -586,7 +586,7 @@ static BOOL smbwrite(int fnum, int n, int low, int high, int left,
|
|||||||
SSVAL(smb_buf(outbuf),1,n);
|
SSVAL(smb_buf(outbuf),1,n);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -625,7 +625,7 @@ static BOOL smbshut(file_info finfo, int fnum, char *inbuf, char *outbuf)
|
|||||||
finfo.mtime));
|
finfo.mtime));
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -655,7 +655,7 @@ static BOOL smbchkpath(char *fname, char *inbuf, char *outbuf)
|
|||||||
strcpy(p,fname);
|
strcpy(p,fname);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
DEBUG(5,("smbchkpath: %s\n",smb_errstr(inbuf)));
|
DEBUG(5,("smbchkpath: %s\n",smb_errstr(inbuf)));
|
||||||
|
|
||||||
@ -682,7 +682,7 @@ static BOOL smbmkdir(char *fname, char *inbuf, char *outbuf)
|
|||||||
strcpy(p,fname);
|
strcpy(p,fname);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -828,7 +828,7 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -962,7 +962,7 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -1056,7 +1056,7 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
|
|||||||
SSVAL(outbuf,smb_vwv4,finfo.size - nread);
|
SSVAL(outbuf,smb_vwv4,finfo.size - nread);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (CVAL(inbuf,smb_rcls) != 0)
|
if (CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
@ -1117,7 +1117,7 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
|
|||||||
SIVALS(outbuf,smb_vwv1,-1);
|
SIVALS(outbuf,smb_vwv1,-1);
|
||||||
|
|
||||||
send_smb(Client,outbuf);
|
send_smb(Client,outbuf);
|
||||||
receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||||
|
|
||||||
if (!ignore_close_error && CVAL(inbuf,smb_rcls) != 0)
|
if (!ignore_close_error && CVAL(inbuf,smb_rcls) != 0)
|
||||||
{
|
{
|
||||||
|
@ -1433,6 +1433,7 @@ int write_data(int fd,char *buffer,int N);
|
|||||||
int transfer_file(int infd,int outfd,int n,char *header,int headlen,int align);
|
int transfer_file(int infd,int outfd,int n,char *header,int headlen,int align);
|
||||||
int read_smb_length(int fd,char *inbuf,int timeout);
|
int read_smb_length(int fd,char *inbuf,int timeout);
|
||||||
BOOL receive_smb(int fd,char *buffer, int timeout);
|
BOOL receive_smb(int fd,char *buffer, int timeout);
|
||||||
|
BOOL client_receive_smb(int fd,char *buffer, int timeout);
|
||||||
BOOL receive_local_message(int fd, char *buffer, int buffer_len, int timeout);
|
BOOL receive_local_message(int fd, char *buffer, int buffer_len, int timeout);
|
||||||
BOOL push_local_message(char *buf, int msg_len);
|
BOOL push_local_message(char *buf, int msg_len);
|
||||||
BOOL receive_message_or_smb(int smbfd, int oplock_fd,
|
BOOL receive_message_or_smb(int smbfd, int oplock_fd,
|
||||||
|
@ -2240,32 +2240,27 @@ int transfer_file(int infd,int outfd,int n,char *header,int headlen,int align)
|
|||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
read 4 bytes of a smb packet and return the smb length of the packet
|
read 4 bytes of a smb packet and return the smb length of the packet
|
||||||
possibly store the result in the buffer
|
store the result in the buffer
|
||||||
|
This version of the function will return a length of zero on receiving
|
||||||
|
a keepalive packet.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
int read_smb_length(int fd,char *inbuf,int timeout)
|
static int read_smb_length_return_keepalive(int fd,char *inbuf,int timeout)
|
||||||
{
|
{
|
||||||
char *buffer;
|
|
||||||
char buf[4];
|
|
||||||
int len=0, msg_type;
|
int len=0, msg_type;
|
||||||
BOOL ok=False;
|
BOOL ok=False;
|
||||||
|
|
||||||
if (inbuf)
|
|
||||||
buffer = inbuf;
|
|
||||||
else
|
|
||||||
buffer = buf;
|
|
||||||
|
|
||||||
while (!ok)
|
while (!ok)
|
||||||
{
|
{
|
||||||
if (timeout > 0)
|
if (timeout > 0)
|
||||||
ok = (read_with_timeout(fd,buffer,4,4,timeout) == 4);
|
ok = (read_with_timeout(fd,inbuf,4,4,timeout) == 4);
|
||||||
else
|
else
|
||||||
ok = (read_data(fd,buffer,4) == 4);
|
ok = (read_data(fd,inbuf,4) == 4);
|
||||||
|
|
||||||
if (!ok)
|
if (!ok)
|
||||||
return(-1);
|
return(-1);
|
||||||
|
|
||||||
len = smb_len(buffer);
|
len = smb_len(inbuf);
|
||||||
msg_type = CVAL(buffer,0);
|
msg_type = CVAL(inbuf,0);
|
||||||
|
|
||||||
if (msg_type == 0x85)
|
if (msg_type == 0x85)
|
||||||
DEBUG(5,("Got keepalive packet\n"));
|
DEBUG(5,("Got keepalive packet\n"));
|
||||||
@ -2276,12 +2271,37 @@ int read_smb_length(int fd,char *inbuf,int timeout)
|
|||||||
return(len);
|
return(len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
read 4 bytes of a smb packet and return the smb length of the packet
|
||||||
|
store the result in the buffer. This version of the function will
|
||||||
|
never return a session keepalive (length of zero).
|
||||||
|
****************************************************************************/
|
||||||
|
int read_smb_length(int fd,char *inbuf,int timeout)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
|
||||||
|
for(;;)
|
||||||
|
{
|
||||||
|
len = read_smb_length(fd, inbuf, timeout);
|
||||||
|
|
||||||
|
if(len < 0)
|
||||||
|
return len;
|
||||||
|
|
||||||
|
/* Ignore session keepalives. */
|
||||||
|
if(CVAL(inbuf,0) != 0x85)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
read an smb from a fd. Note that the buffer *MUST* be of size
|
read an smb from a fd. Note that the buffer *MUST* be of size
|
||||||
BUFFER_SIZE+SAFETY_MARGIN.
|
BUFFER_SIZE+SAFETY_MARGIN.
|
||||||
The timeout is in milli seconds
|
The timeout is in milli seconds.
|
||||||
|
|
||||||
|
This function will return on a
|
||||||
|
receipt of a session keepalive packet.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
BOOL receive_smb(int fd,char *buffer, int timeout)
|
BOOL receive_smb(int fd,char *buffer, int timeout)
|
||||||
{
|
{
|
||||||
@ -2291,7 +2311,7 @@ BOOL receive_smb(int fd,char *buffer, int timeout)
|
|||||||
|
|
||||||
bzero(buffer,smb_size + 100);
|
bzero(buffer,smb_size + 100);
|
||||||
|
|
||||||
len = read_smb_length(fd,buffer,timeout);
|
len = read_smb_length_return_keepalive(fd,buffer,timeout);
|
||||||
if (len < 0)
|
if (len < 0)
|
||||||
return(False);
|
return(False);
|
||||||
|
|
||||||
@ -2311,6 +2331,35 @@ BOOL receive_smb(int fd,char *buffer, int timeout)
|
|||||||
return(True);
|
return(True);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
read an smb from a fd ignoring all keepalive packets. Note that the buffer
|
||||||
|
*MUST* be of size BUFFER_SIZE+SAFETY_MARGIN.
|
||||||
|
The timeout is in milli seconds
|
||||||
|
|
||||||
|
This is exactly the same as receive_smb except that it never returns
|
||||||
|
a session keepalive packet (just as receive_smb used to do).
|
||||||
|
receive_smb was changed to return keepalives as the oplock processing means this call
|
||||||
|
should never go into a blocking read.
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
BOOL client_receive_smb(int fd,char *buffer, int timeout)
|
||||||
|
{
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
|
for(;;)
|
||||||
|
{
|
||||||
|
ret = receive_smb(fd, buffer, timeout);
|
||||||
|
|
||||||
|
if(ret == False)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
/* Ignore session keepalive packets. */
|
||||||
|
if(CVAL(buffer,0) != 0x85)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
read a message from a udp fd.
|
read a message from a udp fd.
|
||||||
The timeout is in milli seconds
|
The timeout is in milli seconds
|
||||||
|
@ -104,7 +104,7 @@ static BOOL cli_send_trans(struct cli_state *cli,
|
|||||||
|
|
||||||
if (this_ldata < ldata || this_lparam < lparam) {
|
if (this_ldata < ldata || this_lparam < lparam) {
|
||||||
/* receive interim response */
|
/* receive interim response */
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout) ||
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout) ||
|
||||||
CVAL(cli->inbuf,smb_rcls) != 0) {
|
CVAL(cli->inbuf,smb_rcls) != 0) {
|
||||||
return(False);
|
return(False);
|
||||||
}
|
}
|
||||||
@ -165,7 +165,7 @@ static BOOL cli_receive_trans(struct cli_state *cli,
|
|||||||
|
|
||||||
*data_len = *param_len = 0;
|
*data_len = *param_len = 0;
|
||||||
|
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
show_msg(cli->inbuf);
|
show_msg(cli->inbuf);
|
||||||
@ -216,7 +216,7 @@ static BOOL cli_receive_trans(struct cli_state *cli,
|
|||||||
if (total_data <= *data_len && total_param <= *param_len)
|
if (total_data <= *data_len && total_param <= *param_len)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
show_msg(cli->inbuf);
|
show_msg(cli->inbuf);
|
||||||
@ -484,7 +484,7 @@ BOOL cli_session_setup(struct cli_state *cli,
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
show_msg(cli->inbuf);
|
show_msg(cli->inbuf);
|
||||||
@ -543,7 +543,7 @@ BOOL cli_send_tconX(struct cli_state *cli,
|
|||||||
SCVAL(cli->inbuf,smb_rcls, 1);
|
SCVAL(cli->inbuf,smb_rcls, 1);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
if (CVAL(cli->inbuf,smb_rcls) != 0) {
|
if (CVAL(cli->inbuf,smb_rcls) != 0) {
|
||||||
@ -567,7 +567,7 @@ BOOL cli_tdis(struct cli_state *cli)
|
|||||||
cli_setup_packet(cli);
|
cli_setup_packet(cli);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
return CVAL(cli->inbuf,smb_rcls) == 0;
|
return CVAL(cli->inbuf,smb_rcls) == 0;
|
||||||
@ -599,7 +599,7 @@ BOOL cli_mv(struct cli_state *cli, char *fname_src, char *fname_dst)
|
|||||||
strcpy(p,fname_dst);
|
strcpy(p,fname_dst);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -633,7 +633,7 @@ BOOL cli_unlink(struct cli_state *cli, char *fname)
|
|||||||
strcpy(p,fname);
|
strcpy(p,fname);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -666,7 +666,7 @@ BOOL cli_mkdir(struct cli_state *cli, char *dname)
|
|||||||
strcpy(p,dname);
|
strcpy(p,dname);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -698,7 +698,7 @@ BOOL cli_rmdir(struct cli_state *cli, char *dname)
|
|||||||
strcpy(p,dname);
|
strcpy(p,dname);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -758,7 +758,7 @@ int cli_open(struct cli_state *cli, char *fname, int flags, int share_mode)
|
|||||||
p = skip_string(p,1);
|
p = skip_string(p,1);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -790,7 +790,7 @@ BOOL cli_close(struct cli_state *cli, int fnum)
|
|||||||
SIVALS(cli->outbuf,smb_vwv1,-1);
|
SIVALS(cli->outbuf,smb_vwv1,-1);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -831,7 +831,7 @@ BOOL cli_lock(struct cli_state *cli, int fnum, uint32 offset, uint32 len, int ti
|
|||||||
SIVAL(p, 6, len);
|
SIVAL(p, 6, len);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -871,7 +871,7 @@ BOOL cli_unlock(struct cli_state *cli, int fnum, uint32 offset, uint32 len, int
|
|||||||
SIVAL(p, 6, len);
|
SIVAL(p, 6, len);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -906,7 +906,7 @@ int cli_read(struct cli_state *cli, int fnum, char *buf, uint32 offset, uint16 s
|
|||||||
SSVAL(cli->outbuf,smb_vwv6,size);
|
SSVAL(cli->outbuf,smb_vwv6,size);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -950,7 +950,7 @@ int cli_write(struct cli_state *cli, int fnum, char *buf, uint32 offset, uint16
|
|||||||
memcpy(p, buf, size);
|
memcpy(p, buf, size);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -984,7 +984,7 @@ BOOL cli_getatr(struct cli_state *cli, char *fname,
|
|||||||
strcpy(p+1, fname);
|
strcpy(p+1, fname);
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1035,7 +1035,7 @@ BOOL cli_setatr(struct cli_state *cli, char *fname, int attr, time_t t)
|
|||||||
*p = 4;
|
*p = 4;
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1242,7 +1242,7 @@ BOOL cli_negprot(struct cli_state *cli)
|
|||||||
CVAL(smb_buf(cli->outbuf),0) = 2;
|
CVAL(smb_buf(cli->outbuf),0) = 2;
|
||||||
|
|
||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
show_msg(cli->inbuf);
|
show_msg(cli->inbuf);
|
||||||
@ -1322,7 +1322,7 @@ BOOL cli_session_request(struct cli_state *cli, char *host, int name_type,
|
|||||||
send_smb(cli->fd,cli->outbuf);
|
send_smb(cli->fd,cli->outbuf);
|
||||||
DEBUG(5,("Sent session request\n"));
|
DEBUG(5,("Sent session request\n"));
|
||||||
|
|
||||||
if (!receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout))
|
||||||
return False;
|
return False;
|
||||||
|
|
||||||
if (CVAL(cli->inbuf,0) != 0x82) {
|
if (CVAL(cli->inbuf,0) != 0x82) {
|
||||||
|
Loading…
Reference in New Issue
Block a user