mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
Introduce setting "desired" for 'smb encrypt' and 'client/server signing'
This should trigger the behaviour where the server requires signing when the client supports it, but does not reject clients that don't support it. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11372 Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
This commit is contained in:
parent
8fec35994c
commit
204cbe3645
@ -3207,6 +3207,7 @@ bool lpcfg_server_signing_allowed(struct loadparm_context *lp_ctx, bool *mandato
|
||||
case SMB_SIGNING_REQUIRED:
|
||||
*mandatory = true;
|
||||
break;
|
||||
case SMB_SIGNING_DESIRED:
|
||||
case SMB_SIGNING_IF_REQUIRED:
|
||||
break;
|
||||
case SMB_SIGNING_DEFAULT:
|
||||
|
@ -115,6 +115,7 @@ static const struct enum_list enum_smb_signing_vals[] = {
|
||||
{SMB_SIGNING_IF_REQUIRED, "On"},
|
||||
{SMB_SIGNING_IF_REQUIRED, "enabled"},
|
||||
{SMB_SIGNING_IF_REQUIRED, "auto"},
|
||||
{SMB_SIGNING_DESIRED, "desired"},
|
||||
{SMB_SIGNING_REQUIRED, "required"},
|
||||
{SMB_SIGNING_REQUIRED, "mandatory"},
|
||||
{SMB_SIGNING_REQUIRED, "force"},
|
||||
|
@ -376,6 +376,12 @@ struct smbXcli_conn *smbXcli_conn_create(TALLOC_CTX *mem_ctx,
|
||||
conn->desire_signing = false;
|
||||
conn->mandatory_signing = false;
|
||||
break;
|
||||
case SMB_SIGNING_DESIRED:
|
||||
/* if the server desires it */
|
||||
conn->allow_signing = true;
|
||||
conn->desire_signing = true;
|
||||
conn->mandatory_signing = false;
|
||||
break;
|
||||
case SMB_SIGNING_REQUIRED:
|
||||
/* always */
|
||||
conn->allow_signing = true;
|
||||
|
@ -98,6 +98,7 @@ enum smb_signing_setting {
|
||||
SMB_SIGNING_DEFAULT = -1,
|
||||
SMB_SIGNING_OFF = 0,
|
||||
SMB_SIGNING_IF_REQUIRED = 1,
|
||||
SMB_SIGNING_DESIRED = 2,
|
||||
SMB_SIGNING_REQUIRED = 3,
|
||||
};
|
||||
|
||||
|
@ -150,6 +150,7 @@ static NTSTATUS smb2srv_negprot_backend(struct smb2srv_request *req, struct smb2
|
||||
case SMB_SIGNING_OFF:
|
||||
io->out.security_mode = 0;
|
||||
break;
|
||||
case SMB_SIGNING_DESIRED:
|
||||
case SMB_SIGNING_IF_REQUIRED:
|
||||
io->out.security_mode = SMB2_NEGOTIATE_SIGNING_ENABLED;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user