From aa4310b0af1f7ee2acfbcef47030d743ac41ffa0 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 25 Sep 2014 01:22:29 +0200 Subject: [PATCH] libcli/smb: support additional_flags = SMB2_HDR_FLAG_SIGNED With SMB2_HDR_FLAG_SIGNED we make sure that we either use smb2 signing or smb2 encryption for the request. Signed-off-by: Stefan Metzmacher Reviewed-by: Michael Adam --- libcli/smb/smbXcli_base.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c index 6c367aeb945..113699c6b71 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -2679,6 +2679,16 @@ struct tevent_req *smb2cli_req_create(TALLOC_CTX *mem_ctx, session->smb2_channel.signing_key.length == 0) { state->smb2.should_encrypt = false; } + + if (additional_flags & SMB2_HDR_FLAG_SIGNED) { + if (session->smb2_channel.signing_key.length == 0) { + tevent_req_nterror(req, NT_STATUS_NO_USER_SESSION_KEY); + return req; + } + + additional_flags &= ~SMB2_HDR_FLAG_SIGNED; + state->smb2.should_sign = true; + } } if (tcon) { -- 2.11.4.GIT