summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-04-27 16:07:12 -0700
committerJeremy Allison <jra@samba.org>2010-04-27 16:07:12 -0700
commitf11a5d196d6beaeb8445d759559ff684045776f5 (patch)
treefc9f5e5d2ce3f961d38383a81d73b2ed31782cd2
parentf4f9d54721a3b6b9bf61ba84eaf144cbecbcf937 (diff)
downloadsamba-f11a5d196d6beaeb8445d759559ff684045776f5.tar.gz
samba-f11a5d196d6beaeb8445d759559ff684045776f5.tar.bz2
samba-f11a5d196d6beaeb8445d759559ff684045776f5.zip
Don't return an intermediate reply on async on a pipe call (Windows doesn't).
Jeremy.
-rw-r--r--source3/smbd/smb2_server.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 894042702b..67d20b13e4 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -712,6 +712,11 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req,
}
}
+ /* Don't return an intermediate packet on a pipe read/write. */
+ if (req->tcon && req->tcon->compat_conn && IS_IPC(req->tcon->compat_conn)) {
+ return NT_STATUS_OK;
+ }
+
reqhdr = (uint8_t *)req->out.vector[i].iov_base;
flags = (IVAL(reqhdr, SMB2_HDR_FLAGS) & ~SMB2_HDR_FLAG_CHAINED);
message_id = BVAL(reqhdr, SMB2_HDR_MESSAGE_ID);