From 46f64aafcbb66adfe42d7f4b26709878acfd3648 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 17 Sep 2011 21:17:18 +0200 Subject: s3:smb2cli: ignore async interim responses and store the async_id metze --- source3/libsmb/smb2cli_base.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source3/libsmb/smb2cli_base.c b/source3/libsmb/smb2cli_base.c index 612ae4aad8..869c223b82 100644 --- a/source3/libsmb/smb2cli_base.c +++ b/source3/libsmb/smb2cli_base.c @@ -584,6 +584,18 @@ static void smb2cli_inbuf_received(struct tevent_req *subreq) return; } + status = NT_STATUS(IVAL(inhdr, SMB2_HDR_STATUS)); + if ((flags & SMB2_HDR_FLAG_ASYNC) && + NT_STATUS_EQUAL(status, STATUS_PENDING)) { + uint32_t req_flags = IVAL(state->hdr, SMB2_HDR_FLAGS); + uint64_t async_id = BVAL(inhdr, SMB2_HDR_ASYNC_ID); + + req_flags |= SMB2_HDR_FLAG_ASYNC; + SBVAL(state->hdr, SMB2_HDR_FLAGS, req_flags); + SBVAL(state->hdr, SMB2_HDR_ASYNC_ID, async_id); + continue; + } + smb2cli_req_unset_pending(req); /* -- cgit