1
0
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:
Jeremy Allison 2007-05-16 17:17:25 +00:00 committed by Gerald (Jerry) Carter
parent 0570ce21ff
commit 478ccc150b
2 changed files with 2 additions and 28 deletions

View File

@ -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) {

View File

@ -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