Repository: trafficserver Updated Branches: refs/heads/master 66bdd406f -> 4361f4d0d
TS-3437: Make DH params configurable Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/091b59ca Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/091b59ca Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/091b59ca Branch: refs/heads/master Commit: 091b59ca3f772ebc4a6cbc832b57fb0794c6b82e Parents: 66bdd40 Author: Brian Geffon <[email protected]> Authored: Wed Mar 11 15:16:07 2015 -0700 Committer: Brian Geffon <[email protected]> Committed: Wed Mar 11 15:16:07 2015 -0700 ---------------------------------------------------------------------- iocore/net/P_SSLConfig.h | 1 + iocore/net/SSLConfig.cc | 2 ++ iocore/net/SSLUtils.cc | 4 +++- mgmt/RecordsConfig.cc | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/091b59ca/iocore/net/P_SSLConfig.h ---------------------------------------------------------------------- diff --git a/iocore/net/P_SSLConfig.h b/iocore/net/P_SSLConfig.h index cda2dcb..376036d 100644 --- a/iocore/net/P_SSLConfig.h +++ b/iocore/net/P_SSLConfig.h @@ -81,6 +81,7 @@ struct SSLConfigParams : public ConfigInfo char * clientKeyPath; char * clientCACertFilename; char * clientCACertPath; + int enable_dhparams; int clientVerify; int client_verify_depth; long ssl_ctx_options; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/091b59ca/iocore/net/SSLConfig.cc ---------------------------------------------------------------------- diff --git a/iocore/net/SSLConfig.cc b/iocore/net/SSLConfig.cc index 627ccd2..1e1c0df 100644 --- a/iocore/net/SSLConfig.cc +++ b/iocore/net/SSLConfig.cc @@ -74,6 +74,7 @@ SSLConfigParams::SSLConfigParams() clientCertLevel = client_verify_depth = verify_depth = clientVerify = 0; + enable_dhparams = 0; ssl_ctx_options = 0; ssl_client_ctx_protocols = 0; ssl_session_cache = SSL_SESSION_CACHE_MODE_SERVER_ATS_IMPL; @@ -159,6 +160,7 @@ SSLConfigParams::initialize() REC_ReadConfigStringAlloc(cipherSuite, "proxy.config.ssl.server.cipher_suite"); REC_ReadConfigStringAlloc(client_cipherSuite, "proxy.config.ssl.client.cipher_suite"); dhparamsFile = RecConfigReadConfigPath("proxy.config.ssl.server.dhparams_file"); + REC_ReadConfigInt32(enable_dhparams, "proxy.config.ssl.client.enable_dhparams"); int options; int client_ssl_options; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/091b59ca/iocore/net/SSLUtils.cc ---------------------------------------------------------------------- diff --git a/iocore/net/SSLUtils.cc b/iocore/net/SSLUtils.cc index 361d344..83ce5e5 100644 --- a/iocore/net/SSLUtils.cc +++ b/iocore/net/SSLUtils.cc @@ -1473,8 +1473,10 @@ SSLInitServerContext(const SSLConfigParams * params, const ssl_user_config & ssl SSL_CTX_set_default_passwd_cb_userdata(CTX, NULL);\ } SSL_CLEAR_PW_REFERENCES(ud,ctx) - if (!ssl_context_enable_dhe(params->dhparamsFile, ctx)) { + if (params->enable_dhparams && !ssl_context_enable_dhe(params->dhparamsFile, ctx)) { goto fail; + } else if (!params->enable_dhparams) { + Debug("ssl", "Not using dhparams"); } return ssl_context_enable_ecdh(ctx); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/091b59ca/mgmt/RecordsConfig.cc ---------------------------------------------------------------------- diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc index b360aa0..76d6cb2 100644 --- a/mgmt/RecordsConfig.cc +++ b/mgmt/RecordsConfig.cc @@ -1322,6 +1322,8 @@ static const RecordElement RecordsConfig[] = , {RECT_CONFIG, "proxy.config.ssl.allow_client_renegotiation", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_INT, "[0-1]", RECA_NULL} , + {RECT_CONFIG, "proxy.config.ssl.server.enable_dhparams", RECD_INT, "0", RECU_RESTART_TS, RR_NULL, RECC_INT, "[0-1]", RECA_NULL} + , {RECT_CONFIG, "proxy.config.ssl.server.dhparams_file", RECD_STRING, NULL, RECU_RESTART_TS, RR_NULL, RECC_NULL, NULL, RECA_NULL} , //##############################################################################
