From eb46c7bff380b77b9f59c32a4918ad5b6c326dce Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 17 Sep 2011 21:15:45 +0200 Subject: s3:smb2cli: check the response has the SMB2_HDR_FLAG_REDIRECT flag metze --- source3/libsmb/smb2cli_base.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source3/libsmb/smb2cli_base.c b/source3/libsmb/smb2cli_base.c index aff59e4212..612ae4aad8 100644 --- a/source3/libsmb/smb2cli_base.c +++ b/source3/libsmb/smb2cli_base.c @@ -548,6 +548,7 @@ static void smb2cli_inbuf_received(struct tevent_req *subreq) struct iovec *cur = &iov[i]; uint8_t *inhdr = (uint8_t *)cur[0].iov_base; uint16_t opcode = SVAL(inhdr, SMB2_HDR_OPCODE); + uint32_t flags = IVAL(inhdr, SMB2_HDR_FLAGS); uint64_t mid = BVAL(inhdr, SMB2_HDR_MESSAGE_ID); uint16_t req_opcode; @@ -576,6 +577,13 @@ static void smb2cli_inbuf_received(struct tevent_req *subreq) return; } + if (!(flags & SMB2_HDR_FLAG_REDIRECT)) { + status = NT_STATUS_INVALID_NETWORK_RESPONSE; + smb2cli_notify_pending(cli, status); + TALLOC_FREE(frame); + return; + } + smb2cli_req_unset_pending(req); /* -- cgit