1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-02 08:58:33 +03:00

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 <metze@samba.org>
Autobuild-Date: Fri Jan 27 15:27:41 CET 2012 on sn-devel-104
This commit is contained in:
Stefan Metzmacher 2012-01-27 13:39:54 +01:00
parent 2dd696a5df
commit c543ce1028

View File

@ -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);