summaryrefslogtreecommitdiff
path: root/source4/smb_server/smb2
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-11-26 17:38:11 +1100
committerAndrew Tridgell <tridge@samba.org>2009-11-27 16:05:06 +1100
commit7c158bdb1d0e217e06f54d2e2cef12a5433d3578 (patch)
treeb9e41ccdf0d5603d4a3d829183455e78de44f468 /source4/smb_server/smb2
parent056473d58836ef3818e816f2d649ea35e7550264 (diff)
downloadsamba-7c158bdb1d0e217e06f54d2e2cef12a5433d3578.tar.gz
samba-7c158bdb1d0e217e06f54d2e2cef12a5433d3578.tar.bz2
samba-7c158bdb1d0e217e06f54d2e2cef12a5433d3578.zip
s4-smb2: sequence numbers are not checked in SMB2_OP_CANCEL
Diffstat (limited to 'source4/smb_server/smb2')
-rw-r--r--source4/smb_server/smb2/receive.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source4/smb_server/smb2/receive.c b/source4/smb_server/smb2/receive.c
index abcf172738..d26be41e6f 100644
--- a/source4/smb_server/smb2/receive.c
+++ b/source4/smb_server/smb2/receive.c
@@ -322,7 +322,8 @@ static NTSTATUS smb2srv_reply(struct smb2srv_request *req)
uid = BVAL(req->in.hdr, SMB2_HDR_SESSION_ID);
flags = IVAL(req->in.hdr, SMB2_HDR_FLAGS);
- if (req->smb_conn->highest_smb2_seqnum != 0 &&
+ if (opcode != SMB2_OP_CANCEL &&
+ req->smb_conn->highest_smb2_seqnum != 0 &&
req->seqnum <= req->smb_conn->highest_smb2_seqnum) {
smbsrv_terminate_connection(req->smb_conn, "Invalid SMB2 sequence number");
return NT_STATUS_INVALID_PARAMETER;