I got yer regression right HERE!

Urban Widmark urban at teststation.com
Mon Dec 17 01:06:16 GMT 2001


On Thu, 13 Dec 2001, Esh, Andrew wrote:

> revision 1.2.4.11
> date: 2001/11/17 00:40:08;  author: jra;  state: Exp;  lines: +337 -216
> VERY BIG CHANGE !!!!
> This is the back-merge of the working winbindd from HEAD to 2.2.
> As a side effect we now do NT status codes on the wire.

Ok, this seems to be it, smbfs doesn't do NT status codes.
Please test this and let me know.

I'd prefer not to have to support both, anyone know which systems that
only return dos error codes? OS/2? 95? 98? ...

/Urban


Index: source/client/smbmount.c
===================================================================
RCS file: /cvsroot/samba/source/client/smbmount.c,v
retrieving revision 1.30.4.12
diff -u -u -r1.30.4.12 smbmount.c
--- source/client/smbmount.c	10 Dec 2001 23:20:26 -0000	1.30.4.12
+++ source/client/smbmount.c	17 Dec 2001 08:53:45 -0000
@@ -153,7 +153,6 @@
 		DEBUG(0,("%d: Connection to %s failed\n", getpid(), server_n));
 		if (c) {
 			cli_shutdown(c);
-			free(c);
 		}
 		return NULL;
 	}
@@ -163,7 +162,6 @@
 		DEBUG(0,("%d: session request to %s failed (%s)\n", 
 			 getpid(), called.name, cli_errstr(c)));
 		cli_shutdown(c);
-		free(c);
 		if ((p=strchr(called.name, '.'))) {
 			*p = 0;
 			goto again;
@@ -180,7 +178,6 @@
 	if (!cli_negprot(c)) {
 		DEBUG(0,("%d: protocol negotiation failed\n", getpid()));
 		cli_shutdown(c);
-		free(c);
 		return NULL;
 	}
 
@@ -191,6 +188,8 @@
 		}
 	}
 
+	/* smbfs does not do 32bit error codes */
+	c->force_dos_errors = True;
 	if (!cli_session_setup(c, username, 
 			       password, strlen(password),
 			       password, strlen(password),
@@ -202,7 +201,6 @@
 			DEBUG(0,("%d: session setup failed: %s\n",
 				 getpid(), cli_errstr(c)));
 			cli_shutdown(c);
-			free(c);
 			return NULL;
 		}
 		DEBUG(0,("Anonymous login successful\n"));
@@ -215,7 +213,6 @@
 		DEBUG(0,("%d: tree connect failed: %s\n",
 			 getpid(), cli_errstr(c)));
 		cli_shutdown(c);
-		free(c);
 		return NULL;
 	}
 
@@ -364,7 +361,6 @@
 		   If we don't do this we will "leak" sockets and memory on
 		   each reconnection we have to make. */
 		cli_shutdown(c);
-		free(c);
 		c = NULL;
 
 		if (!closed) {





More information about the samba-technical mailing list