<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/http, branch release-1.13.4</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Upstream: copy peer data in shared memory.</title>
<updated>2017-08-04T14:03:10+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-08-04T14:03:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c9a81b29b5a7699f3c25c83b6ee9e0c2a07f5f79'/>
<id>c9a81b29b5a7699f3c25c83b6ee9e0c2a07f5f79</id>
<content type='text'>
This, in addition to 1eb753aa8e5e, fixes "upstream zone" on Windows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This, in addition to 1eb753aa8e5e, fixes "upstream zone" on Windows.
</pre>
</div>
</content>
</entry>
<entry>
<title>Referer: fixed $invalid_referer.</title>
<updated>2017-08-04T05:01:55+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-08-04T05:01:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c09bba400d233331f1b405e18c6912a30502dee9'/>
<id>c09bba400d233331f1b405e18c6912a30502dee9</id>
<content type='text'>
The variable was considered non-existent in the absence of any
valid_referers directives.

Given the following config snippet,

    location / {
        return 200 $invalid_referer;
    }

    location /referer {
        valid_referers server_names;
    }

"location /" should work identically and independently on other
"location /referer".

The fix is to always add the $invalid_referer variable as long
as the module is compiled in, as is done by other modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The variable was considered non-existent in the absence of any
valid_referers directives.

Given the following config snippet,

    location / {
        return 200 $invalid_referer;
    }

    location /referer {
        valid_referers server_names;
    }

"location /" should work identically and independently on other
"location /referer".

The fix is to always add the $invalid_referer variable as long
as the module is compiled in, as is done by other modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream zone: store peers-&gt;name and its data in shared memory.</title>
<updated>2017-08-01T16:12:10+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-08-01T16:12:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d846f27638525f478ea07f5574b5569ce2ab1ac2'/>
<id>d846f27638525f478ea07f5574b5569ce2ab1ac2</id>
<content type='text'>
The shared objects should generally be allocated from shared memory.
While peers-&gt;name and the data it points to allocated from cf-&gt;pool
happened to work on UNIX, it broke on Windows.  On UNIX this worked
only because the shared memory zone for upstreams is re-created for
every new configuration.

But on Windows, a worker process does not inherit the address space
of the master process, so the peers-&gt;name pointed to data allocated
from cf-&gt;pool by the master process, and was invalid.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The shared objects should generally be allocated from shared memory.
While peers-&gt;name and the data it points to allocated from cf-&gt;pool
happened to work on UNIX, it broke on Windows.  On UNIX this worked
only because the shared memory zone for upstreams is re-created for
every new configuration.

But on Windows, a worker process does not inherit the address space
of the master process, so the peers-&gt;name pointed to data allocated
from cf-&gt;pool by the master process, and was invalid.
</pre>
</div>
</content>
</entry>
<entry>
<title>Variables: macros for null variables.</title>
<updated>2017-08-01T11:28:33+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-08-01T11:28:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=b992f7259ba4763178f9d394b320bcc5de88818b'/>
<id>b992f7259ba4763178f9d394b320bcc5de88818b</id>
<content type='text'>
No functional changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No functional changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Browser: style.</title>
<updated>2017-08-01T11:27:23+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-08-01T11:27:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=83be971bc78c17fdaf254ea54d5166d4829f8b3e'/>
<id>83be971bc78c17fdaf254ea54d5166d4829f8b3e</id>
<content type='text'>
Removed custom variable type and renamed function that adds variables.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removed custom variable type and renamed function that adds variables.
</pre>
</div>
</content>
</entry>
<entry>
<title>Cache: fixed max_size on win32.</title>
<updated>2017-07-26T10:13:51+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-07-26T10:13:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=aa953f5346e38e9ac7a005a5c7d6ce0008ece252'/>
<id>aa953f5346e38e9ac7a005a5c7d6ce0008ece252</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mirror: "off" paramater of the "mirror" directive.</title>
<updated>2017-07-21T16:47:56+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2017-07-21T16:47:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=fb18ba29306042a8b135fb2c6b3862defc34b25a'/>
<id>fb18ba29306042a8b135fb2c6b3862defc34b25a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mirror module.</title>
<updated>2017-07-20T05:50:49+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2017-07-20T05:50:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=3900d1cb3cf39963d909604923f7e7af6ecf99fd'/>
<id>3900d1cb3cf39963d909604923f7e7af6ecf99fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Precontent phase.</title>
<updated>2017-07-20T12:51:11+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2017-07-20T12:51:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=129b06dc5dfab7b4513a4f274b3778cd9b8a6a22'/>
<id>129b06dc5dfab7b4513a4f274b3778cd9b8a6a22</id>
<content type='text'>
The phase is added instead of the try_files phase.  Unlike the old phase, the
new one supports registering multiple handlers.  The try_files implementation is
moved to a separate ngx_http_try_files_module, which now registers a precontent
phase handler.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The phase is added instead of the try_files phase.  Unlike the old phase, the
new one supports registering multiple handlers.  The try_files implementation is
moved to a separate ngx_http_try_files_module, which now registers a precontent
phase handler.
</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream: keep request body file from removal if requested.</title>
<updated>2017-07-19T17:38:17+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2017-07-19T17:38:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=a87e05a3312e06f88809320eb8dc39833ea4cbc3'/>
<id>a87e05a3312e06f88809320eb8dc39833ea4cbc3</id>
<content type='text'>
The new request flag "preserve_body" indicates that the request body file should
not be removed by the upstream module because it may be used later by a
subrequest.  The flag is set by the SSI (ticket #585), addition and slice
modules.  Additionally, it is also set by the upstream module when a background
cache update subrequest is started to prevent the request body file removal
after an internal redirect.  Only the main request is now allowed to remove the
file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new request flag "preserve_body" indicates that the request body file should
not be removed by the upstream module because it may be used later by a
subrequest.  The flag is set by the SSI (ticket #585), addition and slice
modules.  Additionally, it is also set by the upstream module when a background
cache update subrequest is started to prevent the request body file removal
after an internal redirect.  Only the main request is now allowed to remove the
file.
</pre>
</div>
</content>
</entry>
</feed>
