mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
r22950: Fix the issue Volker reported here :
"Attempt to fix some build farm failures: On port 139 the first
successful packet gives len==0 from the server, so the = in
if (len <= 0) {
in line 136 of clientgen.c throws a failure."
The irritating thing is that I already had it correct in
SAMBA_3_0_26 and forgot to merge the change across.
len == 0 is a valid return - I messed that up when
converting client_receive_smb() to return a length
rather than a BOOL.
Doh !
Jeremy.
(This used to be commit a398bdf08d
)
This commit is contained in:
parent
0570ce21ff
commit
478ccc150b
@ -1347,7 +1347,7 @@ BOOL cli_session_request(struct cli_state *cli,
|
||||
cli_send_smb(cli);
|
||||
DEBUG(5,("Sent session request\n"));
|
||||
|
||||
if (!cli_receive_sessionreply(cli))
|
||||
if (!cli_receive_smb(cli))
|
||||
return False;
|
||||
|
||||
if (CVAL(cli->inbuf,0) == 0x84) {
|
||||
|
@ -133,7 +133,7 @@ BOOL cli_receive_smb_internal(struct cli_state *cli, BOOL eat_keepalives)
|
||||
}
|
||||
|
||||
/* If the server is not responding, note that now */
|
||||
if (len <= 0) {
|
||||
if (len < 0) {
|
||||
DEBUG(0, ("Receiving SMB: Server stopped responding\n"));
|
||||
cli->smb_rw_error = smb_read_error;
|
||||
close(cli->fd);
|
||||
@ -190,32 +190,6 @@ BOOL cli_receive_smb_return_keepalive(struct cli_state *cli)
|
||||
return cli_receive_smb_internal(cli, False);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
Recv an smb session reply
|
||||
****************************************************************************/
|
||||
|
||||
BOOL cli_receive_sessionreply(struct cli_state *cli)
|
||||
{
|
||||
ssize_t len;
|
||||
|
||||
/* fd == -1 causes segfaults -- Tom (tom@ninja.nl) */
|
||||
if (cli->fd == -1)
|
||||
return False;
|
||||
|
||||
len = client_receive_smb(cli, False, 0);
|
||||
|
||||
/* If the server is not responding, note that now */
|
||||
if (len < 0) {
|
||||
DEBUG(0, ("Receiving SMB: Server stopped responding\n"));
|
||||
cli->smb_rw_error = smb_read_error;
|
||||
close(cli->fd);
|
||||
cli->fd = -1;
|
||||
return False;
|
||||
}
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
Read the data portion of a readX smb.
|
||||
The timeout is in milliseconds
|
||||
|
Loading…
Reference in New Issue
Block a user