mirror of
https://github.com/nginx/nginx.git
synced 2025-07-27 23:56:18 +08:00
Merge of r4868, r4869: SSL minor fixes.
*) SSL: fixed compression workaround to remove all methods. Previous code used sk_SSL_COMP_delete(ssl_comp_methods, i) while iterating stack from 0 to n, resulting in removal of only even compression methods. In real life this change is a nop, as there is only one compression method which is enabled by default in OpenSSL. *) SSL: added version checks for ssl compression workaround. The SSL_COMP_get_compression_methods() is only available as an API function in OpenSSL 0.9.8+, require it explicitly to unbreak build with OpenSSL 0.9.7.
This commit is contained in:
parent
745c7d9c8e
commit
d39777712d
@ -94,22 +94,24 @@ ngx_ssl_init(ngx_log_t *log)
|
|||||||
|
|
||||||
OpenSSL_add_all_algorithms();
|
OpenSSL_add_all_algorithms();
|
||||||
|
|
||||||
|
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
|
||||||
#ifndef SSL_OP_NO_COMPRESSION
|
#ifndef SSL_OP_NO_COMPRESSION
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Disable gzip compression in OpenSSL prior to 1.0.0 version,
|
* Disable gzip compression in OpenSSL prior to 1.0.0 version,
|
||||||
* this saves about 522K per connection.
|
* this saves about 522K per connection.
|
||||||
*/
|
*/
|
||||||
int i, n;
|
int n;
|
||||||
STACK_OF(SSL_COMP) *ssl_comp_methods;
|
STACK_OF(SSL_COMP) *ssl_comp_methods;
|
||||||
|
|
||||||
ssl_comp_methods = SSL_COMP_get_compression_methods();
|
ssl_comp_methods = SSL_COMP_get_compression_methods();
|
||||||
n = sk_SSL_COMP_num(ssl_comp_methods);
|
n = sk_SSL_COMP_num(ssl_comp_methods);
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
while (n--) {
|
||||||
(void) sk_SSL_COMP_delete(ssl_comp_methods, i);
|
(void) sk_SSL_COMP_pop(ssl_comp_methods);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
|
ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user