mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Support OpenSSL 1.1.0:
- Fix renegotiation for the client side of a proxy connection. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1730146 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -2139,7 +2139,9 @@ void ssl_callback_Info(const SSL *ssl, int where, int rc)
|
|||||||
if (state == SSL3_ST_SR_CLNT_HELLO_A
|
if (state == SSL3_ST_SR_CLNT_HELLO_A
|
||||||
|| state == SSL23_ST_SR_CLNT_HELLO_A) {
|
|| state == SSL23_ST_SR_CLNT_HELLO_A) {
|
||||||
#else
|
#else
|
||||||
if ((where & SSL_CB_HANDSHAKE_START) && scr->reneg_state == RENEG_REJECT) {
|
if (!scr->is_proxy &&
|
||||||
|
(where & SSL_CB_HANDSHAKE_START) &&
|
||||||
|
scr->reneg_state == RENEG_REJECT) {
|
||||||
#endif
|
#endif
|
||||||
scr->reneg_state = RENEG_ABORT;
|
scr->reneg_state = RENEG_ABORT;
|
||||||
ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02042)
|
ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02042)
|
||||||
@@ -2149,13 +2151,18 @@ void ssl_callback_Info(const SSL *ssl, int where, int rc)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||||
else if ((where & SSL_CB_HANDSHAKE_START) && scr->reneg_state == RENEG_ALLOW) {
|
else if (!scr->is_proxy &&
|
||||||
|
(where & SSL_CB_HANDSHAKE_START) &&
|
||||||
|
scr->reneg_state == RENEG_ALLOW) {
|
||||||
scr->reneg_state = RENEG_STARTED;
|
scr->reneg_state = RENEG_STARTED;
|
||||||
}
|
}
|
||||||
else if ((where & SSL_CB_HANDSHAKE_DONE) && scr->reneg_state == RENEG_STARTED) {
|
else if (!scr->is_proxy &&
|
||||||
|
(where & SSL_CB_HANDSHAKE_DONE) &&
|
||||||
|
scr->reneg_state == RENEG_STARTED) {
|
||||||
scr->reneg_state = RENEG_DONE;
|
scr->reneg_state = RENEG_DONE;
|
||||||
}
|
}
|
||||||
else if ((where & SSL_CB_ALERT) &&
|
else if (!scr->is_proxy &&
|
||||||
|
(where & SSL_CB_ALERT) &&
|
||||||
(scr->reneg_state == RENEG_ALLOW || scr->reneg_state == RENEG_STARTED)) {
|
(scr->reneg_state == RENEG_ALLOW || scr->reneg_state == RENEG_STARTED)) {
|
||||||
scr->reneg_state = RENEG_ALERT;
|
scr->reneg_state = RENEG_ALERT;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user