The branch, master has been updated
       via  c543ce1 libcli/smb: fix smbXcli_negprot(..., PROTOCOL_NT1, 
PROTOCOL_SMB2_02)
      from  2dd696a s3-waf: Create a subsystem for SERVER_MUTEX.

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


- Log -----------------------------------------------------------------
commit c543ce102890532c45ec9b293b705336f0e2c5bf
Author: Stefan Metzmacher <[email protected]>
Date:   Fri Jan 27 13:39:54 2012 +0100

    libcli/smb: fix smbXcli_negprot(..., PROTOCOL_NT1, PROTOCOL_SMB2_02)
    
    The SMB1 negprot request already consumed the SMB2 sequence '0'.
    This also happens for the SMB 2.02 case.
    
    metze
    
    Autobuild-User: Stefan Metzmacher <[email protected]>
    Autobuild-Date: Fri Jan 27 15:27:41 CET 2012 on sn-devel-104

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

Summary of changes:
 libcli/smb/smbXcli_base.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index ba40ef7..06fcb34 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -3838,10 +3838,8 @@ static void smbXcli_negprot_smb2_done(struct tevent_req 
*subreq)
 
                /*
                 * send a SMB2 negprot, in order to negotiate
-                * the SMB2 dialect. This needs to use the
-                * message id 1.
+                * the SMB2 dialect.
                 */
-               state->conn->smb2.mid = 1;
                subreq = smbXcli_negprot_smb2_subreq(state);
                if (tevent_req_nomem(subreq, req)) {
                        return;
@@ -3921,6 +3919,11 @@ static NTSTATUS smbXcli_negprot_dispatch_incoming(struct 
smbXcli_conn *conn,
                        substate->smb1.recv_iov = NULL;
                }
 
+               /*
+                * we got an SMB2 answer, which consumed sequence number 0
+                * so we need to use 1 as the next one
+                */
+               conn->smb2.mid = 1;
                tevent_req_set_callback(subreq, smbXcli_negprot_smb2_done, req);
                conn->dispatch_incoming = smb2cli_conn_dispatch_incoming;
                return smb2cli_conn_dispatch_incoming(conn, tmp_mem, inbuf);


-- 
Samba Shared Repository

Reply via email to