diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-05-22 11:16:21 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:53:52 -0500 |
commit | c5e11daa8bb00665efabbf7939062e7e60112ced (patch) | |
tree | be3afcd3242ae31225776f74fe97cd2b41b7be56 /source4/smb_server/negprot.c | |
parent | 93076cb9bc56a515bbefb6d88470d6776169779a (diff) | |
download | samba-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.c | 16 |
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: |