src/nginx/src/event/ngx_event_openssl.c in nginxtra-1.2.1.3 vs src/nginx/src/event/ngx_event_openssl.c in nginxtra-1.2.2.3

- old
+ new

@@ -92,10 +92,28 @@ SSL_library_init(); SSL_load_error_strings(); OpenSSL_add_all_algorithms(); +#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; + 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); + } + } +#endif + ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL); if (ngx_ssl_connection_index == -1) { ngx_ssl_error(NGX_LOG_ALERT, log, 0, "SSL_get_ex_new_index() failed"); return NGX_ERROR; @@ -988,10 +1006,9 @@ if (n == NGX_ERROR) { return NGX_CHAIN_ERROR; } if (n == NGX_AGAIN) { - c->buffered |= NGX_SSL_BUFFERED; return in; } in->buf->pos += n; c->sent += n;