<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git, branch release-1.3.12</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>nginx-1.3.12-RELEASE</title>
<updated>2013-02-05T14:06:41+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-05T14:06:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=a24e00fbbce8a07b61b771103aad9f134f2c98d1'/>
<id>a24e00fbbce8a07b61b771103aad9f134f2c98d1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated OpenSSL used for win32 builds.</title>
<updated>2013-02-05T13:41:48+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-05T13:41:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=94bee544a09a67a22b7f6dbbc548dd7b50f63696'/>
<id>94bee544a09a67a22b7f6dbbc548dd7b50f63696</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>GeoIP: removed pseudo-support of "proxy" and "netspeed" databases.</title>
<updated>2013-02-04T16:44:22+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2013-02-04T16:44:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=75e5d13ec6b900ea01c044cb4147126bf237a5c9'/>
<id>75e5d13ec6b900ea01c044cb4147126bf237a5c9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>FastCGI: proper handling of split fastcgi end request.</title>
<updated>2013-02-01T14:41:50+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-01T14:41:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=aad0a1dba6e05766005a60b893c53e52fb056795'/>
<id>aad0a1dba6e05766005a60b893c53e52fb056795</id>
<content type='text'>
If fastcgi end request record was split between several network packets,
with fastcgi_keep_conn it was possible that connection was saved in incorrect
state (e.g. with padding bytes not yet read).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If fastcgi end request record was split between several network packets,
with fastcgi_keep_conn it was possible that connection was saved in incorrect
state (e.g. with padding bytes not yet read).
</pre>
</div>
</content>
</entry>
<entry>
<title>FastCGI: unconditional state transitions.</title>
<updated>2013-02-01T14:41:07+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-01T14:41:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e8efec0e5e154fc21ba3d1d8b08a94c2eba6e757'/>
<id>e8efec0e5e154fc21ba3d1d8b08a94c2eba6e757</id>
<content type='text'>
Checks for f-&gt;padding before state transitions make code hard to follow,
remove them and make sure we always do another loop iteration after
f-&gt;state is set to ngx_http_fastcgi_st_padding.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Checks for f-&gt;padding before state transitions make code hard to follow,
remove them and make sure we always do another loop iteration after
f-&gt;state is set to ngx_http_fastcgi_st_padding.
</pre>
</div>
</content>
</entry>
<entry>
<title>FastCGI: fixed wrong connection close with fastcgi_keep_conn.</title>
<updated>2013-02-01T14:40:19+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-01T14:40:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1c5fce75186ae792b76d055223cd0a70ac7370b0'/>
<id>1c5fce75186ae792b76d055223cd0a70ac7370b0</id>
<content type='text'>
With fastcgi_keep_conn it was possible that connection was closed after
FCGI_STDERR record with zero padding and without any further data read yet.
This happended as f-&gt;state was set to ngx_http_fastcgi_st_padding and then
"break" happened, resulting in p-&gt;length being set to f-&gt;padding, i.e. 0
(which in turn resulted in connection close).

Fix is to make sure we continue the loop after f-&gt;state is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With fastcgi_keep_conn it was possible that connection was closed after
FCGI_STDERR record with zero padding and without any further data read yet.
This happended as f-&gt;state was set to ngx_http_fastcgi_st_padding and then
"break" happened, resulting in p-&gt;length being set to f-&gt;padding, i.e. 0
(which in turn resulted in connection close).

Fix is to make sure we continue the loop after f-&gt;state is set.
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: fixed client_body_in_file_only.</title>
<updated>2013-02-01T14:38:18+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-01T14:38:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e97e4124e372d2db118d984988632d28f8966130'/>
<id>e97e4124e372d2db118d984988632d28f8966130</id>
<content type='text'>
After introduction of chunked request body reading support in 1.3.9 (r4931),
the rb-&gt;bufs wasn't set if request body was fully preread while calling the
ngx_http_read_client_request_body() function.

Reported by Yichun Zhang (agentzh).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After introduction of chunked request body reading support in 1.3.9 (r4931),
the rb-&gt;bufs wasn't set if request body was fully preread while calling the
ngx_http_read_client_request_body() function.

Reported by Yichun Zhang (agentzh).
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: fixed ngx_ssl_handshake() with level-triggered event methods.</title>
<updated>2013-02-01T14:37:43+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-01T14:37:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2887c06fdecbb4eccaf69a9e7fbef55f1b49c2b5'/>
<id>2887c06fdecbb4eccaf69a9e7fbef55f1b49c2b5</id>
<content type='text'>
Missing calls to ngx_handle_write_event() and ngx_handle_read_event()
resulted in a CPU hog during SSL handshake if an level-triggered event
method (e.g. select) was used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Missing calls to ngx_handle_write_event() and ngx_handle_read_event()
resulted in a CPU hog during SSL handshake if an level-triggered event
method (e.g. select) was used.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: take into account data in the buffer while limiting output.</title>
<updated>2013-01-28T15:41:12+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2013-01-28T15:41:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=733e6d2ac6c544aa1a3f42dbc93c9e6d4adf7122'/>
<id>733e6d2ac6c544aa1a3f42dbc93c9e6d4adf7122</id>
<content type='text'>
In some rare cases this can result in a more smooth sending rate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some rare cases this can result in a more smooth sending rate.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: avoid calling SSL_write() with zero data size.</title>
<updated>2013-01-28T15:40:25+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2013-01-28T15:40:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0f0fac70a14fc489eab91888772073ed1259b633'/>
<id>0f0fac70a14fc489eab91888772073ed1259b633</id>
<content type='text'>
According to documentation, calling SSL_write() with num=0 bytes to be sent
results in undefined behavior.

We don't currently call ngx_ssl_send_chain() with empty chain and buffer.
This check handles the case of a chain with total data size that is
a multiple of NGX_SSL_BUFSIZE, and with the special buffer at the end.

In practice such cases resulted in premature connection close and critical
error "SSL_write() failed (SSL:)" in the error log.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to documentation, calling SSL_write() with num=0 bytes to be sent
results in undefined behavior.

We don't currently call ngx_ssl_send_chain() with empty chain and buffer.
This check handles the case of a chain with total data size that is
a multiple of NGX_SSL_BUFSIZE, and with the special buffer at the end.

In practice such cases resulted in premature connection close and critical
error "SSL_write() failed (SSL:)" in the error log.
</pre>
</div>
</content>
</entry>
</feed>
