diff options
author | Igor Sysoev <igor@sysoev.ru> | 2008-10-23 05:58:10 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2008-10-23 05:58:10 +0000 |
commit | a862c46ffa3061fd24382cf37dc27a563de2bde2 (patch) | |
tree | d7653300b1d35b8ff7b00d4d3b37ecdedacc77c8 /src/core/ngx_resolver.c | |
parent | 0c689b7498591163dc55db3bffb8ed2664ae1452 (diff) | |
download | nginx-a862c46ffa3061fd24382cf37dc27a563de2bde2.tar.gz nginx-a862c46ffa3061fd24382cf37dc27a563de2bde2.zip |
always use buffer, if connection is buffered,
this fixes OpenSSL "bad write retry" error, when
*) nginx passed a single buf greater than our buffer (say 32K) to OpenSSL,
*) OpenSSL returns SSL_ERROR_WANT_WRITE,
*) after some time nginx has to send a new data,
*) so there are at least two bufs nginx does pass them directly to OpenSSL,
*) but copies the first buf part to buffer, and sends the buffer to OpenSSL.
*) because the data length is lesser than it was in previous SSL_write():
16K < 32K, OpenSSL returns SSL_R_BAD_WRITE_RETRY.
Diffstat (limited to 'src/core/ngx_resolver.c')
0 files changed, 0 insertions, 0 deletions