<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/http, branch release-1.2.7</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Merge of r5027, r5028, r5029: fastcgi_keep_conn fixes.</title>
<updated>2013-02-11T16:11:14+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T16:11:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7eafb7761e3220b4e882e6c474fc7bebd3190dc7'/>
<id>7eafb7761e3220b4e882e6c474fc7bebd3190dc7</id>
<content type='text'>
*) FastCGI: fixed wrong connection close with fastcgi_keep_conn.

   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.

*) FastCGI: unconditional state transitions.  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.

*) FastCGI: proper handling of split fastcgi end request.  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>
*) FastCGI: fixed wrong connection close with fastcgi_keep_conn.

   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.

*) FastCGI: unconditional state transitions.  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.

*) FastCGI: proper handling of split fastcgi end request.  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>Merge of r5018: secure link: fixed configuration inheritance.</title>
<updated>2013-02-11T16:09:35+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T16:09:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=61312182f5b08cafc33bd4ebe15d3c2defb4a998'/>
<id>61312182f5b08cafc33bd4ebe15d3c2defb4a998</id>
<content type='text'>
The "secure_link_secret" directive was always inherited from the outer
configuration level even when "secure_link" and "secure_link_md5" were
specified on the inner level.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "secure_link_secret" directive was always inherited from the outer
configuration level even when "secure_link" and "secure_link_md5" were
specified on the inner level.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r5014, r5015, r5016, r5030: geoip ipv6 support.</title>
<updated>2013-02-11T15:34:30+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T15:34:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=431111e8d814280b2208d5910f4618b228f5af7d'/>
<id>431111e8d814280b2208d5910f4618b228f5af7d</id>
<content type='text'>
*) Configure: fixed style of include directories.

*) Configure: fixed GeoIP library detection.

*) GeoIP: IPv6 support.  When using IPv6 databases, IPv4 addresses are
   looked up as IPv4-mapped IPv6 addresses.  Mostly based on a patch
   by Gregor Kališnik (ticket #250).

*) GeoIP: removed pseudo-support of "proxy" and "netspeed" databases.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*) Configure: fixed style of include directories.

*) Configure: fixed GeoIP library detection.

*) GeoIP: IPv6 support.  When using IPv6 databases, IPv4 addresses are
   looked up as IPv4-mapped IPv6 addresses.  Mostly based on a patch
   by Gregor Kališnik (ticket #250).

*) GeoIP: removed pseudo-support of "proxy" and "netspeed" databases.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r5013: proxy: fixed proxy_method to always add space.</title>
<updated>2013-02-11T15:31:10+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T15:31:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e8ef9ea62b0b393455bf6fcd588c8ccf5ff72e74'/>
<id>e8ef9ea62b0b393455bf6fcd588c8ccf5ff72e74</id>
<content type='text'>
Before the patch if proxy_method was specified at http{} level the code
to add trailing space wasn't executed, resulting in incorrect requests
to upstream.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before the patch if proxy_method was specified at http{} level the code
to add trailing space wasn't executed, resulting in incorrect requests
to upstream.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r4999, r5003: detect duplicate "events" and "keepalive".</title>
<updated>2013-02-11T14:58:25+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T14:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=635dae7cadfdc67f439f7c7cb79a1c7f51285f4e'/>
<id>635dae7cadfdc67f439f7c7cb79a1c7f51285f4e</id>
<content type='text'>
*) Upstream keepalive: detect duplicate "keepalive" directive.  A
   failure to detect duplicate "keepalive" directive resulted in
   stack exhaustion.

*) Events: added check for duplicate "events" directive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*) Upstream keepalive: detect duplicate "keepalive" directive.  A
   failure to detect duplicate "keepalive" directive resulted in
   stack exhaustion.

*) Events: added check for duplicate "events" directive.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r4992: off-by-one with 32/64 upstream backup servers.</title>
<updated>2013-02-11T14:56:14+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T14:56:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ff145c057451bfe40b5d59c5873091df07964831'/>
<id>ff145c057451bfe40b5d59c5873091df07964831</id>
<content type='text'>
Fixed off-by-one during upstream state resetting when switching to
backup servers if there were exactly 32 (64 on 64-bit platforms)
backup servers configured.

Based on patch by Thomas Chen (ticket #257).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed off-by-one during upstream state resetting when switching to
backup servers if there were exactly 32 (64 on 64-bit platforms)
backup servers configured.

Based on patch by Thomas Chen (ticket #257).
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r4991: fixed proxied HEAD requests with gzip enabled.</title>
<updated>2013-02-11T14:39:49+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T14:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=6b070a4d216eb2083a96b3a3f24996f43940c4cd'/>
<id>6b070a4d216eb2083a96b3a3f24996f43940c4cd</id>
<content type='text'>
Fixed HEAD requests handling when proxying is used (ticket #261).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed HEAD requests handling when proxying is used (ticket #261).
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r4985, r4986, r4987, r4988, r4989, r5002: access_log gzip.</title>
<updated>2013-02-11T14:34:00+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T14:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=eef05677eb4a6b59ce0e9705aa66f0b796c08493'/>
<id>eef05677eb4a6b59ce0e9705aa66f0b796c08493</id>
<content type='text'>
*) Access log: fixed redundant buffer reallocation.  Previously a new
   buffer was allocated for every "access_log" directive with the same
   file path and "buffer=" parameters, while only one buffer per file
   is used.

*) Reopening log files code moved to a separate function.  The code
   refactored in a way to call custom handler that can do appropriate
   cleanup work (if any), like flushing buffers, finishing compress
   streams, finalizing connections to log daemon, etc..

*) Access log: the "flush" parameter of the "access_log" directive.

*) Configure: added the NGX_ZLIB define.  This was introduced for
   conditional compilation of the code that requires the zlib library.

*) Access log: the "gzip" parameter of the "access_log" directive.
   Note: this requires zlib version 1.2.0.4 or above to work.

*) The data pointer in ngx_open_file_t objects must be initialized.
   Uninitialized pointer may result in arbitrary segfaults if access_log
   is used without buffer and without variables in file path.
   Patch by Tatsuhiko Kubo (ticket #268).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*) Access log: fixed redundant buffer reallocation.  Previously a new
   buffer was allocated for every "access_log" directive with the same
   file path and "buffer=" parameters, while only one buffer per file
   is used.

*) Reopening log files code moved to a separate function.  The code
   refactored in a way to call custom handler that can do appropriate
   cleanup work (if any), like flushing buffers, finishing compress
   streams, finalizing connections to log daemon, etc..

*) Access log: the "flush" parameter of the "access_log" directive.

*) Configure: added the NGX_ZLIB define.  This was introduced for
   conditional compilation of the code that requires the zlib library.

*) Access log: the "gzip" parameter of the "access_log" directive.
   Note: this requires zlib version 1.2.0.4 or above to work.

*) The data pointer in ngx_open_file_t objects must be initialized.
   Uninitialized pointer may result in arbitrary segfaults if access_log
   is used without buffer and without variables in file path.
   Patch by Tatsuhiko Kubo (ticket #268).
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r4979, r4982: image filter configuration inheritance.</title>
<updated>2013-02-11T13:59:08+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T13:59:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=8fea19793236c9a21ac13599aafb3cec746640fd'/>
<id>8fea19793236c9a21ac13599aafb3cec746640fd</id>
<content type='text'>
*) Image filter: configuration inheritance fixes.

   The image_filter_jpeg_quality, image_filter_sharpen and
   "image_filter rotate" were inherited incorrectly if a directive
   with variables was defined, and then redefined to a literal value,
   i.e. in configurations like

       image_filter_jpeg_quality $arg_q;

       location / {
           image_filter_jpeg_quality 50;
       }

   Patch by Ian Babrou, with minor changes.

*) Image filter: fixed image_filter rotate inheritance.

   Configurations like

       location /i/ {
           image_filter resize 200 200;
           image_filter rotate 180;

           location /i/foo/ {
               image_filter resize 200 200;
           }
      }

   resulted in rotation incorrectly applied in the location /i/foo,
   without any way to clear it.  Fix is to handle conf-&gt;angle/conf-&gt;acv
   consistently with other filter variables and do not try to inherit
   them if there are transformations defined for current location.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*) Image filter: configuration inheritance fixes.

   The image_filter_jpeg_quality, image_filter_sharpen and
   "image_filter rotate" were inherited incorrectly if a directive
   with variables was defined, and then redefined to a literal value,
   i.e. in configurations like

       image_filter_jpeg_quality $arg_q;

       location / {
           image_filter_jpeg_quality 50;
       }

   Patch by Ian Babrou, with minor changes.

*) Image filter: fixed image_filter rotate inheritance.

   Configurations like

       location /i/ {
           image_filter resize 200 200;
           image_filter rotate 180;

           location /i/foo/ {
               image_filter resize 200 200;
           }
      }

   resulted in rotation incorrectly applied in the location /i/foo,
   without any way to clear it.  Fix is to handle conf-&gt;angle/conf-&gt;acv
   consistently with other filter variables and do not try to inherit
   them if there are transformations defined for current location.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge of r4976: let add_header affect 201 responses (ticket #125).</title>
<updated>2013-02-11T13:52:13+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-02-11T13:52:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=fba705e4f54d608db58e456bc52b4c9cdd1d9e88'/>
<id>fba705e4f54d608db58e456bc52b4c9cdd1d9e88</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
