mirror of
https://github.com/apache/httpd.git
synced 2025-08-13 14:40:20 +00:00
merge r1703952 from trunk
Support compilation against libssl built with OPENSSL_NO_SSL3, and change the compiled-in default for SSL[Proxy]Protocol to "all -SSLv3", in accordance with RFC 7568. PR 58349, PR 57120. Proposed by: kbrand Reviewed by: ylavic, jorton git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1706008 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@ -471,7 +471,9 @@ static apr_status_t ssl_init_ctx_protocol(server_rec *s,
|
||||
}
|
||||
|
||||
cp = apr_pstrcat(p,
|
||||
#ifndef OPENSSL_NO_SSL3
|
||||
(protocol & SSL_PROTOCOL_SSLV3 ? "SSLv3, " : ""),
|
||||
#endif
|
||||
(protocol & SSL_PROTOCOL_TLSV1 ? "TLSv1, " : ""),
|
||||
#ifdef HAVE_TLSV1_X
|
||||
(protocol & SSL_PROTOCOL_TLSV1_1 ? "TLSv1.1, " : ""),
|
||||
@ -483,12 +485,15 @@ static apr_status_t ssl_init_ctx_protocol(server_rec *s,
|
||||
ap_log_error(APLOG_MARK, APLOG_TRACE3, 0, s,
|
||||
"Creating new SSL context (protocols: %s)", cp);
|
||||
|
||||
#ifndef OPENSSL_NO_SSL3
|
||||
if (protocol == SSL_PROTOCOL_SSLV3) {
|
||||
method = mctx->pkp ?
|
||||
SSLv3_client_method() : /* proxy */
|
||||
SSLv3_server_method(); /* server */
|
||||
}
|
||||
else if (protocol == SSL_PROTOCOL_TLSV1) {
|
||||
else
|
||||
#endif
|
||||
if (protocol == SSL_PROTOCOL_TLSV1) {
|
||||
method = mctx->pkp ?
|
||||
TLSv1_client_method() : /* proxy */
|
||||
TLSv1_server_method(); /* server */
|
||||
@ -519,9 +524,11 @@ static apr_status_t ssl_init_ctx_protocol(server_rec *s,
|
||||
/* always disable SSLv2, as per RFC 6176 */
|
||||
SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
|
||||
|
||||
#ifndef OPENSSL_NO_SSL3
|
||||
if (!(protocol & SSL_PROTOCOL_SSLV3)) {
|
||||
SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!(protocol & SSL_PROTOCOL_TLSV1)) {
|
||||
SSL_CTX_set_options(ctx, SSL_OP_NO_TLSv1);
|
||||
|
Reference in New Issue
Block a user