<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/stream, branch release-1.11.6</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Upstream: do not unnecessarily create per-request upstreams.</title>
<updated>2016-10-31T15:33:36+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2016-10-31T15:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=149fda55f730c38fb9e2c5b63370da92c0ad7c22'/>
<id>149fda55f730c38fb9e2c5b63370da92c0ad7c22</id>
<content type='text'>
If proxy_pass (and friends) with variables evaluates an upstream
specified with literal address, nginx always created a per-request
upstream.

Now, if there's a matching upstream specified in the configuration
(either implicit or explicit), it will be used instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If proxy_pass (and friends) with variables evaluates an upstream
specified with literal address, nginx always created a per-request
upstream.

Now, if there's a matching upstream specified in the configuration
(either implicit or explicit), it will be used instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream: added the ngx_http_upstream_resolved_t.name field.</title>
<updated>2016-10-31T15:33:33+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2016-10-31T15:33:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=3fae83a91c6e5cda012adf6ee2783273e747f613'/>
<id>3fae83a91c6e5cda012adf6ee2783273e747f613</id>
<content type='text'>
This fixes inconsistency in what is stored in the "host" field.
Normally it would contain the "host" part of the parsed URL
(e.g., proxy_pass with variables), but for the case of an
implicit upstream specified with literal address it contained
the text representation of the socket address (that is, host
including port for IP).

Now the "host" field always contains the "host" part of the URL,
while the text representation of the socket address is stored
in the newly added "name" field.

The ngx_http_upstream_create_round_robin_peer() function was
modified accordingly in a way to be compatible with the code
that does not know about the new "name" field.

The "stream" code was similarly modified except for not adding
compatibility in ngx_stream_upstream_create_round_robin_peer().

This change is also a prerequisite for the next change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes inconsistency in what is stored in the "host" field.
Normally it would contain the "host" part of the parsed URL
(e.g., proxy_pass with variables), but for the case of an
implicit upstream specified with literal address it contained
the text representation of the socket address (that is, host
including port for IP).

Now the "host" field always contains the "host" part of the URL,
while the text representation of the socket address is stored
in the newly added "name" field.

The ngx_http_upstream_create_round_robin_peer() function was
modified accordingly in a way to be compatible with the code
that does not know about the new "name" field.

The "stream" code was similarly modified except for not adding
compatibility in ngx_stream_upstream_create_round_robin_peer().

This change is also a prerequisite for the next change.
</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream: removed unnecessary condition in proxy_eval() and friends.</title>
<updated>2016-10-31T15:33:31+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2016-10-31T15:33:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=4e1720b0a21c6f8ad9f459630e270372387207ba'/>
<id>4e1720b0a21c6f8ad9f459630e270372387207ba</id>
<content type='text'>
The first condition added in d3454e719bbb should have just replaced
the second one.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The first condition added in d3454e719bbb should have just replaced
the second one.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: compatibility with BoringSSL.</title>
<updated>2016-10-19T15:36:50+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-10-19T15:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9b8b33bd4a3f44a4d1a23b7fba09a014e0fcc5ab'/>
<id>9b8b33bd4a3f44a4d1a23b7fba09a014e0fcc5ab</id>
<content type='text'>
BoringSSL changed SSL_set_tlsext_host_name() to be a real function
with a (const char *) argument, so it now triggers a warning due to
conversion from (u_char *).  Added an explicit cast to silence the
warning.

Prodded by Piotr Sikora, Alessandro Ghedini.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BoringSSL changed SSL_set_tlsext_host_name() to be a real function
with a (const char *) argument, so it now triggers a warning due to
conversion from (u_char *).  Added an explicit cast to silence the
warning.

Prodded by Piotr Sikora, Alessandro Ghedini.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modules compatibility: removed dependencies on NGX_STREAM_SSL.</title>
<updated>2016-10-10T15:44:17+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-10-10T15:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=78f91756cdf4523a5dd3e71184b09c2265efee6f'/>
<id>78f91756cdf4523a5dd3e71184b09c2265efee6f</id>
<content type='text'>
External structures are now identical regardless of stream SSL module
compiled in or not.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
External structures are now identical regardless of stream SSL module
compiled in or not.
</pre>
</div>
</content>
</entry>
<entry>
<title>Stream ssl_preread: fixed $ssl_preread_server_name variable.</title>
<updated>2016-10-05T15:11:39+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2016-10-05T15:11:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=88dc647481a9280fa6cedb0bed61a34123119b3c'/>
<id>88dc647481a9280fa6cedb0bed61a34123119b3c</id>
<content type='text'>
Made sure to set the variable length only after successful SNI parsing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Made sure to set the variable length only after successful SNI parsing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modules compatibility: removed unneeded NGX_HAVE_REUSEPORT checks.</title>
<updated>2016-10-03T12:58:29+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-10-03T12:58:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=58b85017a4063916b010de75e7c153576cf660ea'/>
<id>58b85017a4063916b010de75e7c153576cf660ea</id>
<content type='text'>
Removed NGX_HAVE_REUSEPORT from the signature accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removed NGX_HAVE_REUSEPORT from the signature accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modules compatibility: removed unneeded IPV6_V6ONLY checks.</title>
<updated>2016-10-03T12:58:25+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-10-03T12:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0a961a09171fc1de3f3a70aa6b15e29d3882f7f0'/>
<id>0a961a09171fc1de3f3a70aa6b15e29d3882f7f0</id>
<content type='text'>
The IPV6_V6ONLY macro is now checked only while parsing appropriate flag
and when using the macro.

The ipv6only field in listen structures is always initialized to 1,
even if not supported on a given platform.  This is expected to prevent
a module compiled without IPV6_V6ONLY from accidentally creating dual
sockets if loaded into main binary with proper IPV6_V6ONLY support.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The IPV6_V6ONLY macro is now checked only while parsing appropriate flag
and when using the macro.

The ipv6only field in listen structures is always initialized to 1,
even if not supported on a given platform.  This is expected to prevent
a module compiled without IPV6_V6ONLY from accidentally creating dual
sockets if loaded into main binary with proper IPV6_V6ONLY support.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduced the NGX_COMPAT macro.</title>
<updated>2016-09-29T12:28:24+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2016-09-29T12:28:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c40de746829971f2edbf9faeae64d4516cb5466e'/>
<id>c40de746829971f2edbf9faeae64d4516cb5466e</id>
<content type='text'>
When enabled, some structures are padded to be size compatible
with their NGINX Plus versions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When enabled, some structures are padded to be size compatible
with their NGINX Plus versions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modules compatibility: down flag promoted to a bitmask.</title>
<updated>2016-09-29T15:06:05+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-09-29T15:06:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c7a6a1816347062f05b5ba4168457a0653efa8fc'/>
<id>c7a6a1816347062f05b5ba4168457a0653efa8fc</id>
<content type='text'>
It is to be used as a bitmask with various bits set/reset when appropriate.
Any bit set means that the peer should not be used, that is, exactly what
current checks do, no additional changes required.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is to be used as a bitmask with various bits set/reset when appropriate.
Any bit set means that the peer should not be used, that is, exactly what
current checks do, no additional changes required.
</pre>
</div>
</content>
</entry>
</feed>
