mirror of
https://github.com/torvalds/linux.git
synced 2026-10-12 21:31:03 +02:00
ksmbd: honor client signing-required in all modes
The SMB2 NEGOTIATE request's SMB2_NEGOTIATE_SIGNING_REQUIRED bit requires the server to set Connection.ShouldSign. KSMBD represents that state with conn->sign, but previously set it only when its signing configuration was auto or disabled. Set conn->sign whenever the client requires signing, independently of the server's signing mode. Keep the mandatory server-mode handling unchanged. Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
This commit is contained in:
parent
4c670ccd57
commit
bc2f3f3dd6
|
|
@ -1704,11 +1704,9 @@ int smb2_handle_negotiate(struct ksmbd_work *work)
|
|||
rsp->SecurityMode = SMB2_NEGOTIATE_SIGNING_ENABLED_LE;
|
||||
conn->use_spnego = true;
|
||||
|
||||
if ((server_conf.signing == KSMBD_CONFIG_OPT_AUTO ||
|
||||
server_conf.signing == KSMBD_CONFIG_OPT_DISABLED) &&
|
||||
req->SecurityMode & SMB2_NEGOTIATE_SIGNING_REQUIRED_LE)
|
||||
if (req->SecurityMode & SMB2_NEGOTIATE_SIGNING_REQUIRED_LE)
|
||||
conn->sign = true;
|
||||
else if (server_conf.signing == KSMBD_CONFIG_OPT_MANDATORY) {
|
||||
if (server_conf.signing == KSMBD_CONFIG_OPT_MANDATORY) {
|
||||
server_conf.enforced_signing = true;
|
||||
rsp->SecurityMode |= SMB2_NEGOTIATE_SIGNING_REQUIRED_LE;
|
||||
conn->sign = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user