summaryrefslogtreecommitdiffstats
path: root/source3/smbd/signing.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-09-12 09:19:06 +0200
committerStefan Metzmacher <metze@samba.org>2011-09-14 09:41:02 +0200
commitabb24bf8e874d525382e994af7ae432212775153 (patch)
tree23df12b202ac814606a483711ca19ad48cb5cddd /source3/smbd/signing.c
parentc682472fdf28894858d14eb95b13cb4214847ecd (diff)
downloadsamba-abb24bf8e874d525382e994af7ae432212775153.tar.gz
samba-abb24bf8e874d525382e994af7ae432212775153.tar.xz
samba-abb24bf8e874d525382e994af7ae432212775153.zip
s3:smbd: make use of better SMB signing negotiation
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Wed Sep 14 09:41:02 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/smbd/signing.c')
-rw-r--r--source3/smbd/signing.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/source3/smbd/signing.c b/source3/smbd/signing.c
index 1ae8ffca367..bdf920c91a8 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);
}
/***********************************************************