summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2013-05-02 12:34:54 -0700
committerKarolin Seeger <kseeger@samba.org>2013-05-08 21:26:14 +0200
commit0fea4e392a37b884242c26a35990ab6313b121a0 (patch)
tree3748775259b6578d342506c68d5a8dc7d96c90ab
parent07704006805108641f2391094432d52f0aa78098 (diff)
downloadsamba-0fea4e392a37b884242c26a35990ab6313b121a0.tar.gz
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> (cherry picked from commit a026fc6b699719309a27d4646d06fe1a45b0d158)
-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 29d4f7cdc9f..a0ac2f2bbf3 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);