diff options
-rw-r--r-- | libcli/smb/smbXcli_base.c | 10 |
1 files changed, 10 insertions, 0 deletions
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) { |