Don't return an intermediate reply on async on a pipe call (Windows doesn't).
authorJeremy Allison <jra@samba.org>
Tue, 27 Apr 2010 23:07:12 +0000 (16:07 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 27 Apr 2010 23:07:12 +0000 (16:07 -0700)
Jeremy.

source3/smbd/smb2_server.c

index 894042702bcc588d75574415c6ea094051e34773..67d20b13e4fba41edb361eadaec5b37bc1e70a1c 100644 (file)
@@ -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);