s3:smb2_server: grant credits in async interim responses (bug #8357)
authorStefan Metzmacher <metze@samba.org>
Tue, 8 Nov 2011 16:50:43 +0000 (17:50 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 14 Nov 2011 19:14:52 +0000 (20:14 +0100)
The first fix for bug #8357 intruduced a regression, so that we no
longer grant credits for real async interim responses with
STATUS_PENDING.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Nov  9 11:56:29 CET 2011 on sn-devel-104
(cherry picked from commit ffbd1ed2797616226a7987efd4b4dd4275c8c9d0)

source3/smbd/smb2_server.c

index 4da1e15eea02521ff6cdacb16e1ff6ee932853e6..0e70983263bf5ca9a166cd9ff1cb6c5da693a3d3 100644 (file)
@@ -952,7 +952,7 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req,
        SIVAL(hdr, SMB2_HDR_STATUS, NT_STATUS_V(STATUS_PENDING));
        SSVAL(hdr, SMB2_HDR_OPCODE, SVAL(reqhdr, SMB2_HDR_OPCODE));
 
-       SIVAL(hdr, SMB2_HDR_FLAGS, flags | SMB2_HDR_FLAG_ASYNC);
+       SIVAL(hdr, SMB2_HDR_FLAGS, flags);
        SIVAL(hdr, SMB2_HDR_NEXT_COMMAND, 0);
        SBVAL(hdr, SMB2_HDR_MESSAGE_ID, message_id);
        SBVAL(hdr, SMB2_HDR_PID, async_id);
@@ -975,6 +975,8 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req,
                        &req->in.vector[i],
                        &state->vector[1]);
 
+       SIVAL(hdr, SMB2_HDR_FLAGS, flags | SMB2_HDR_FLAG_ASYNC);
+
        if (req->do_signing) {
                status = smb2_signing_sign_pdu(req->session->session_key,
                                        &state->vector[1], 2);