summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-11-26 14:18:50 +0100
committerStefan Metzmacher <metze@samba.org>2009-11-27 08:19:46 +0100
commitb62964d6feb47ccf14e3d14120c04bc435c47cbd (patch)
tree1f392029fdd340d66b92ed1cc64c2e8233591489
parentf6ecb4efb063617771dfa519911ae8af069c0f9a (diff)
downloadsamba-b62964d6feb47ccf14e3d14120c04bc435c47cbd.tar.gz
samba-b62964d6feb47ccf14e3d14120c04bc435c47cbd.tar.bz2
samba-b62964d6feb47ccf14e3d14120c04bc435c47cbd.zip
s4:smb_server/smb2: don't reset highest_smb2_seqnum on SMB2 Cancel
metze
-rw-r--r--source4/smb_server/smb2/receive.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source4/smb_server/smb2/receive.c b/source4/smb_server/smb2/receive.c
index d26be41e6f..26995b71ec 100644
--- a/source4/smb_server/smb2/receive.c
+++ b/source4/smb_server/smb2/receive.c
@@ -328,8 +328,10 @@ static NTSTATUS smb2srv_reply(struct smb2srv_request *req)
smbsrv_terminate_connection(req->smb_conn, "Invalid SMB2 sequence number");
return NT_STATUS_INVALID_PARAMETER;
}
- req->smb_conn->highest_smb2_seqnum = req->seqnum;
-
+ if (opcode != SMB2_OP_CANCEL) {
+ req->smb_conn->highest_smb2_seqnum = req->seqnum;
+ }
+
req->session = smbsrv_session_find(req->smb_conn, uid, req->request_time);
req->tcon = smbsrv_smb2_tcon_find(req->session, tid, req->request_time);