summaryrefslogtreecommitdiff
path: root/source4/smb_server/negprot.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-05-22 11:16:21 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:53:52 -0500
commitc5e11daa8bb00665efabbf7939062e7e60112ced (patch)
treebe3afcd3242ae31225776f74fe97cd2b41b7be56 /source4/smb_server/negprot.c
parent93076cb9bc56a515bbefb6d88470d6776169779a (diff)
downloadsamba-c5e11daa8bb00665efabbf7939062e7e60112ced.tar.gz
samba-c5e11daa8bb00665efabbf7939062e7e60112ced.tar.bz2
samba-c5e11daa8bb00665efabbf7939062e7e60112ced.zip
r818: added server side SMB signing to Samba4
(This used to be commit 8e5ddf5e8eb74f667897f90baa2d00f02ca5818b)
Diffstat (limited to 'source4/smb_server/negprot.c')
-rw-r--r--source4/smb_server/negprot.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/source4/smb_server/negprot.c b/source4/smb_server/negprot.c
index d9d65d4cf2..253dc1d7a4 100644
--- a/source4/smb_server/negprot.c
+++ b/source4/smb_server/negprot.c
@@ -288,6 +288,20 @@ static void reply_nt1(struct request_context *req, uint16 choice)
if (req->smb->negotiate.encrypted_passwords) {
secword |= NEGOTIATE_SECURITY_CHALLENGE_RESPONSE;
}
+
+ req->smb->signing.signing_state = lp_server_signing();
+
+ switch (req->smb->signing.signing_state) {
+ case SMB_SIGNING_OFF:
+ break;
+ case SMB_SIGNING_SUPPORTED:
+ secword |= NEGOTIATE_SECURITY_SIGNATURES_ENABLED;
+ break;
+ case SMB_SIGNING_REQUIRED:
+ secword |= NEGOTIATE_SECURITY_SIGNATURES_ENABLED |
+ NEGOTIATE_SECURITY_SIGNATURES_REQUIRED;
+ break;
+ }
req->smb->negotiate.protocol = PROTOCOL_NT1;
@@ -334,7 +348,7 @@ static void reply_nt1(struct request_context *req, uint16 choice)
#endif
}
- req_send_reply(req);
+ req_send_reply_nosign(req);
}
/* these are the protocol lists used for auto architecture detection: