[SCM] Samba Shared Repository - branch master updated

Michael Adam obnox at samba.org
Wed Feb 22 19:24:03 MST 2012


The branch, master has been updated
       via  fe24ab4 s4:smbcli:smb2: add a random GUID to the transport connection in smb2_transport_init()
      from  0c73322 s3:wscript_build - fix TDB dependency for source3/lib/util.c

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit fe24ab4e53cde22e6b72d6073592cd3e31dc97f0
Author: Michael Adam <obnox at samba.org>
Date:   Wed Feb 22 15:29:26 2012 +0100

    s4:smbcli:smb2: add a random GUID to the transport connection in smb2_transport_init()
    
    This GUID is used in the smb2 negprot when max protocol is bigger than 0x0202.
    According to section 2.2.3 of the MS-SMB2 document, the Client GUID filed in the
    SMB2 negotiate request must be filled with a (non-zero) GUID if there are other
    dialects than 0x0202 in the dialects field.
    
    http://msdn.microsoft.com/en-us/library/cc246543%28v=prot.13%29.aspx
    
    Apart from corresponding to the docs, this change makes some of our durable-open
    tests (e.g reopen2 and open-oplock) _not_ hang when running against windows 8
    preview (which might be still buggy).
    
    Pair-Programmed-With: Gregor Beck <gbeck at sernet.de>
    
    Autobuild-User: Michael Adam <obnox at samba.org>
    Autobuild-Date: Thu Feb 23 03:23:57 CET 2012 on sn-devel-104

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

Summary of changes:
 source4/libcli/smb2/transport.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/libcli/smb2/transport.c b/source4/libcli/smb2/transport.c
index 59d49f7..14d1fc5 100644
--- a/source4/libcli/smb2/transport.c
+++ b/source4/libcli/smb2/transport.c
@@ -30,6 +30,7 @@
 #include "lib/stream/packet.h"
 #include "../lib/util/dlinklist.h"
 #include "../libcli/smb/smbXcli_base.h"
+#include "librpc/ndr/libndr.h"
 
 /*
   destroy a transport
@@ -48,6 +49,7 @@ struct smb2_transport *smb2_transport_init(struct smbcli_socket *sock,
 					   struct smbcli_options *options)
 {
 	struct smb2_transport *transport;
+	struct GUID client_guid;
 
 	transport = talloc_zero(parent_ctx, struct smb2_transport);
 	if (!transport) return NULL;
@@ -58,12 +60,14 @@ struct smb2_transport *smb2_transport_init(struct smbcli_socket *sock,
 	TALLOC_FREE(sock->event.fde);
 	TALLOC_FREE(sock->event.te);
 
+	client_guid = GUID_random();
+
 	transport->conn = smbXcli_conn_create(transport,
 					      sock->sock->fd,
 					      sock->hostname,
 					      options->signing,
 					      0, /* smb1_capabilities */
-					      NULL); /* client_guid */
+					      &client_guid);
 	if (transport->conn == NULL) {
 		talloc_free(transport);
 		return NULL;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list