Ensure we don't try and cancel anything that is in a compound-related request.
authorJeremy Allison <jra@samba.org>
Wed, 8 May 2013 18:51:38 +0000 (11:51 -0700)
committerKarolin Seeger <kseeger@samba.org>
Mon, 13 May 2013 07:29:40 +0000 (09:29 +0200)
Too hard to deal with splitting off the replies.

Signed-off-by: Jeremy Allison <jra@samba.org>
source3/smbd/smb2_server.c

index cc884c383eb1bdc42e3d8235a3a5e91cd831040c..396d476f41dbc7bedefba3fdd0937d9db2241afe 100644 (file)
@@ -1178,6 +1178,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;
+               }
+
                i = cur->current_idx;
 
                outhdr = (const uint8_t *)cur->out.vector[i].iov_base;