Mercurial > hg > nginx-vendor-1-0
comparison src/event/ngx_event_openssl.c @ 416:b4f69f2ef02c NGINX_0_7_20
nginx 0.7.20
*) Changes in the ngx_http_gzip_filter_module.
*) Feature: the ngx_http_limit_req_module.
*) Bugfix: worker processes might exit on a SIGBUS signal on sparc and
ppc platforms; the bug had appeared in 0.7.3.
Thanks to Maxim Dounin.
*) Bugfix: the "proxy_pass http://host/some:uri" directives did not
work; the bug had appeared in 0.7.12.
*) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
error.
*) Bugfix: the ngx_http_secure_link_module did not work inside
locations, whose names are less than 3 characters.
*) Bugfix: $server_addr variable might have no value.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 10 Nov 2008 00:00:00 +0300 |
parents | 05981f639d21 |
children | ad0a34a8efa6 |
comparison
equal
deleted
inserted
replaced
415:5410f1e19796 | 416:b4f69f2ef02c |
---|---|
186 | 186 |
187 if (ngx_ssl_protocols[protocols >> 1] != 0) { | 187 if (ngx_ssl_protocols[protocols >> 1] != 0) { |
188 SSL_CTX_set_options(ssl->ctx, ngx_ssl_protocols[protocols >> 1]); | 188 SSL_CTX_set_options(ssl->ctx, ngx_ssl_protocols[protocols >> 1]); |
189 } | 189 } |
190 | 190 |
191 /* | |
192 * we need this option because in ngx_ssl_send_chain() | |
193 * we may switch to a buffered write and may copy leftover part of | |
194 * previously unbuffered data to our internal buffer | |
195 */ | |
196 SSL_CTX_set_mode(ssl->ctx, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER); | |
197 | |
198 SSL_CTX_set_read_ahead(ssl->ctx, 1); | 191 SSL_CTX_set_read_ahead(ssl->ctx, 1); |
199 | 192 |
200 return NGX_OK; | 193 return NGX_OK; |
201 } | 194 } |
202 | 195 |
858 int n; | 851 int n; |
859 ngx_uint_t flush; | 852 ngx_uint_t flush; |
860 ssize_t send, size; | 853 ssize_t send, size; |
861 ngx_buf_t *buf; | 854 ngx_buf_t *buf; |
862 | 855 |
863 if (!c->ssl->buffer | 856 if (!c->ssl->buffer) { |
864 || (in && in->next == NULL && !(c->buffered & NGX_SSL_BUFFERED))) | |
865 { | |
866 /* | |
867 * we avoid a buffer copy if | |
868 * we do not need to buffer the output | |
869 * or the incoming buf is a single and our buffer is empty | |
870 */ | |
871 | 857 |
872 while (in) { | 858 while (in) { |
873 if (ngx_buf_special(in->buf)) { | 859 if (ngx_buf_special(in->buf)) { |
874 in = in->next; | 860 in = in->next; |
875 continue; | 861 continue; |