svn commit: samba r22929 - in branches/SAMBA_3_0/source/libsmb: .

vlendec at samba.org vlendec at samba.org
Wed May 16 09:53:41 GMT 2007


Author: vlendec
Date: 2007-05-16 09:53:41 +0000 (Wed, 16 May 2007)
New Revision: 22929

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

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

Jeremy, please fix this properly, I'm not merging this to 3_0_26 so that
you can filter it when you merge.

Volker


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 09:42:29 UTC (rev 22928)
+++ branches/SAMBA_3_0/source/libsmb/cliconnect.c	2007-05-16 09:53:41 UTC (rev 22929)
@@ -1347,7 +1347,7 @@
 	cli_send_smb(cli);
 	DEBUG(5,("Sent session request\n"));
 
-	if (!cli_receive_smb(cli))
+	if (!cli_receive_sessionreply(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 09:42:29 UTC (rev 22928)
+++ branches/SAMBA_3_0/source/libsmb/clientgen.c	2007-05-16 09:53:41 UTC (rev 22929)
@@ -191,6 +191,32 @@
 }
 
 /****************************************************************************
+ Recv an smb session reply
+****************************************************************************/
+
+BOOL cli_receive_sessionreply(struct cli_state *cli)
+{
+	ssize_t len;
+
+	/* fd == -1 causes segfaults -- Tom (tom at 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
 ****************************************************************************/



More information about the samba-cvs mailing list