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
7988f4aca5
commit
1c640c946f
|
@ -94,22 +94,24 @@ ngx_ssl_init(ngx_log_t *log)
|
|||
|
||||
OpenSSL_add_all_algorithms();
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
|
||||
#ifndef SSL_OP_NO_COMPRESSION
|
||||
{
|
||||
/*
|
||||
* Disable gzip compression in OpenSSL prior to 1.0.0 version,
|
||||
* this saves about 522K per connection.
|
||||
*/
|
||||
int i, n;
|
||||
int n;
|
||||
STACK_OF(SSL_COMP) *ssl_comp_methods;
|
||||
|
||||
ssl_comp_methods = SSL_COMP_get_compression_methods();
|
||||
n = sk_SSL_COMP_num(ssl_comp_methods);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
(void) sk_SSL_COMP_delete(ssl_comp_methods, i);
|
||||
while (n--) {
|
||||
(void) sk_SSL_COMP_pop(ssl_comp_methods);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
|
||||
|
|
Loading…
Reference in New Issue