[SCM] Samba Shared Repository - branch v3-devel updated - release-3-2-0pre2-3715-g1f38b99

Michael Adam obnox at samba.org
Thu Aug 14 09:22:32 GMT 2008


The branch, v3-devel has been updated
       via  1f38b9963c4ec0d73da496a72ba4ee74d8d581c9 (commit)
       via  c65726d418601cdc86202c0371615e4f7f3d843c (commit)
       via  ecf2b906f476e4a764d0e53eed84b9b75a2062c0 (commit)
       via  78f009b7ef1f1d63b21df9ba6da7fcca01c12109 (commit)
      from  34a32db9060e7b60455774f923f61b7367ee3fcf (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-devel


- Log -----------------------------------------------------------------
commit 1f38b9963c4ec0d73da496a72ba4ee74d8d581c9
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Aug 13 16:52:53 2008 -0700

    Fix coverity CID: 594. Resource leak on error path.
    Jeremy.

commit c65726d418601cdc86202c0371615e4f7f3d843c
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Aug 13 16:45:34 2008 -0700

    Fix for bug #5688 from SATOH Fumiyasu <fumiyas at osstech.co.jp>. LPQ process is orphaned if socket address parameter is invalid.
    If the "socket address" parameter is a null string that is an invalid value for Samba 3.2 but valid for Samba 3.0.
    Jeremy.

commit ecf2b906f476e4a764d0e53eed84b9b75a2062c0
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Aug 13 15:46:35 2008 -0700

    Fix for bug #5617, reported and patched by Bartosz Antosik antosik at gmail.com.
    xp/2003 explorer freezes browsing shares on samba ipv6 hosts. Caused by missing
    reply packet to SMB printclose packet.
    Jeremy

commit 78f009b7ef1f1d63b21df9ba6da7fcca01c12109
Author: Jim McDonough <jmcd at samba.org>
Date:   Wed Aug 13 18:03:51 2008 -0400

    Prevent NT_STATUS 0xF1000000 errors from appearing when
    dos errors are used and there is no error.  It should
    be mapped directly to NT_STATUS_OK.  smbclient to older
    servers didn't work.

-----------------------------------------------------------------------

Summary of changes:
 source/libsmb/async_smb.c          |    6 ++++++
 source/rpc_server/srv_spoolss_nt.c |    6 ++++--
 source/smbd/reply.c                |    2 ++
 source/smbd/server.c               |    3 ++-
 4 files changed, 14 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libsmb/async_smb.c b/source/libsmb/async_smb.c
index 04c22a9..58bba2b 100644
--- a/source/libsmb/async_smb.c
+++ b/source/libsmb/async_smb.c
@@ -31,6 +31,12 @@ NTSTATUS cli_pull_error(char *buf)
 		return NT_STATUS(IVAL(buf, smb_rcls));
 	}
 
+	/* if the client uses dos errors, but there is no error,
+	   we should return no error here, otherwise it looks
+	   like an unknown bad NT_STATUS. jmcd */
+	if (CVAL(buf, smb_rcls) == 0)
+		return NT_STATUS_OK;
+
 	return NT_STATUS_DOS(CVAL(buf, smb_rcls), SVAL(buf,smb_err));
 }
 
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c
index f802400..635898a 100644
--- a/source/rpc_server/srv_spoolss_nt.c
+++ b/source/rpc_server/srv_spoolss_nt.c
@@ -5037,8 +5037,10 @@ static WERROR getprinter_level_7(Printer_entry *print_hnd, int snum, RPC_BUFFER
 	if((printer=SMB_MALLOC_P(PRINTER_INFO_7))==NULL)
 		return WERR_NOMEM;
 
-	if (!construct_printer_info_7(print_hnd, printer, snum))
-		return WERR_NOMEM;
+	if (!construct_printer_info_7(print_hnd, printer, snum)) {
+		result = WERR_NOMEM;
+		goto out;
+	}
 
 	/* check the required size. */
 	*needed += spoolss_size_printer_info_7(printer);
diff --git a/source/smbd/reply.c b/source/smbd/reply.c
index d32d998..b3d691f 100644
--- a/source/smbd/reply.c
+++ b/source/smbd/reply.c
@@ -4702,6 +4702,8 @@ void reply_printclose(struct smb_request *req)
 		return;
 	}
 
+	reply_outbuf(req, 0, 0);
+
 	END_PROFILE(SMBsplclose);
 	return;
 }
diff --git a/source/smbd/server.c b/source/smbd/server.c
index 0d855f8..53116f3 100644
--- a/source/smbd/server.c
+++ b/source/smbd/server.c
@@ -469,7 +469,8 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
 		char *sock_tok;
 		const char *sock_ptr;
 
-		if (strequal(sock_addr, "0.0.0.0") ||
+		if (sock_addr[0] == '\0' ||
+				strequal(sock_addr, "0.0.0.0") ||
 				strequal(sock_addr, "::")) {
 #if HAVE_IPV6
 			sock_addr = "::,0.0.0.0";


-- 
Samba Shared Repository


More information about the samba-cvs mailing list