summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_server.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2013-05-02 12:34:54 -0700
committerRichard Sharpe <sharpe@samba.org>2013-05-07 17:58:45 +0200
commita026fc6b699719309a27d4646d06fe1a45b0d158 (patch)
tree5540ae38f602cba78030c4a01797ae4f8ff1a7ef /source3/smbd/smb2_server.c
parent4111fcfd4f570d39d46a0d414546ca62c7b609be (diff)
downloadsamba-a026fc6b699719309a27d4646d06fe1a45b0d158.tar.gz
samba-a026fc6b699719309a27d4646d06fe1a45b0d158.tar.bz2
samba-a026fc6b699719309a27d4646d06fe1a45b0d158.zip
Ensure we don't try and cancel anything that is in a compound-related request.
Too hard to deal with splitting off the replies. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Diffstat (limited to 'source3/smbd/smb2_server.c')
-rw-r--r--source3/smbd/smb2_server.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 57e9c7bfa8..9a55d6af2c 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -1599,6 +1599,14 @@ static NTSTATUS smbd_smb2_request_process_cancel(struct smbd_smb2_request *req)
uint64_t message_id;
uint64_t async_id;
+ if (cur->compound_related) {
+ /*
+ * Never cancel anything in a compound request.
+ * Way too hard to deal with the result.
+ */
+ continue;
+ }
+
outhdr = SMBD_SMB2_OUT_HDR_PTR(cur);
message_id = BVAL(outhdr, SMB2_HDR_MESSAGE_ID);