Author: jra
Date: 2007-05-16 17:17:25 +0000 (Wed, 16 May 2007)
New Revision: 22950

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22950

Log:
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.

Modified:
   branches/SAMBA_3_0/source/libsmb/cliconnect.c
   branches/SAMBA_3_0/source/libsmb/clientgen.c


Changeset:
Modified: branches/SAMBA_3_0/source/libsmb/cliconnect.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/cliconnect.c       2007-05-16 15:48:22 UTC 
(rev 22949)
+++ branches/SAMBA_3_0/source/libsmb/cliconnect.c       2007-05-16 17:17:25 UTC 
(rev 22950)
@@ -1347,7 +1347,7 @@
        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) {

Modified: branches/SAMBA_3_0/source/libsmb/clientgen.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/clientgen.c        2007-05-16 15:48:22 UTC 
(rev 22949)
+++ branches/SAMBA_3_0/source/libsmb/clientgen.c        2007-05-16 17:17:25 UTC 
(rev 22950)
@@ -133,7 +133,7 @@
        }
 
        /* 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);
@@ -191,32 +191,6 @@
 }
 
 /****************************************************************************
- Recv an smb session reply
-****************************************************************************/
-
-BOOL cli_receive_sessionreply(struct cli_state *cli)
-{
-       ssize_t len;
-
-       /* fd == -1 causes segfaults -- Tom ([EMAIL PROTECTED]) */
-       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
 ****************************************************************************/

Reply via email to