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 <ob...@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 <gb...@sernet.de> Autobuild-User: Michael Adam <ob...@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