diff options
Diffstat (limited to 'source3/smbd/signing.c')
-rw-r--r-- | source3/smbd/signing.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source3/smbd/signing.c b/source3/smbd/signing.c index 1ae8ffca36..bdf920c91a 100644 --- a/source3/smbd/signing.c +++ b/source3/smbd/signing.c @@ -173,6 +173,14 @@ bool srv_init_signing(struct smbd_server_connection *conn) break; } + /* + * if the client and server allow signing, + * we desire to use it. + * + * This matches Windows behavior and is needed + * because not every client that requires signing + * sends FLAGS2_SMB_SECURITY_SIGNATURES_REQUIRED. + */ desired = allowed; if (lp_async_smb_echo_handler()) { @@ -210,10 +218,11 @@ bool srv_init_signing(struct smbd_server_connection *conn) return true; } -void srv_set_signing_negotiated(struct smbd_server_connection *conn) +void srv_set_signing_negotiated(struct smbd_server_connection *conn, + bool allowed, bool mandatory) { smb_signing_set_negotiated(conn->smb1.signing_state, - true, false); + allowed, mandatory); } /*********************************************************** |