<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src, branch release-1.9.14</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>HTTP/2: support for unbuffered upload of request body.</title>
<updated>2016-04-01T12:57:10+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2016-04-01T12:57:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=74ee55ec1b49266865646d488026f3e6802e1b85'/>
<id>74ee55ec1b49266865646d488026f3e6802e1b85</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>HTTP/2: rewritten handling of request body.</title>
<updated>2016-04-01T12:56:03+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2016-04-01T12:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=948eeca222c67dc6954ec0e68bf5c18e97e1a784'/>
<id>948eeca222c67dc6954ec0e68bf5c18e97e1a784</id>
<content type='text'>
There are two improvements:

  1. Support for request body filters;

  2. Receiving of request body is started only after
     the ngx_http_read_client_request_body() call.

The last one fixes the problem when the client_max_body_size value might not be
respected from the right location if the location was changed either during the
process of receiving body or after the whole body had been received.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are two improvements:

  1. Support for request body filters;

  2. Receiving of request body is started only after
     the ngx_http_read_client_request_body() call.

The last one fixes the problem when the client_max_body_size value might not be
respected from the right location if the location was changed either during the
process of receiving body or after the whole body had been received.
</pre>
</div>
</content>
</entry>
<entry>
<title>HTTP/2: sending RST_STREAM with NO_ERROR to discard request body.</title>
<updated>2016-04-01T12:56:03+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2016-04-01T12:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=cedba685a1eb18ca960b2eab3fafdc2afdbd624a'/>
<id>cedba685a1eb18ca960b2eab3fafdc2afdbd624a</id>
<content type='text'>
RFC 7540 states that "A server can send a complete response prior to the client
sending an entire request if the response does not depend on any portion of the
request that has not been sent and received.  When this is true, a server MAY
request that the client abort transmission of a request without error by sending
a RST_STREAM with an error code of NO_ERROR after sending a complete response
(i.e., a frame with the END_STREAM flag)."

This should prevent a client from blocking on the stream window, since it isn't
maintained for closed streams.  Currently, quite big initial stream windows are
used, so such blocking is very unlikly, but that will be changed in the further
patches.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC 7540 states that "A server can send a complete response prior to the client
sending an entire request if the response does not depend on any portion of the
request that has not been sent and received.  When this is true, a server MAY
request that the client abort transmission of a request without error by sending
a RST_STREAM with an error code of NO_ERROR after sending a complete response
(i.e., a frame with the END_STREAM flag)."

This should prevent a client from blocking on the stream window, since it isn't
maintained for closed streams.  Currently, quite big initial stream windows are
used, so such blocking is very unlikly, but that will be changed in the further
patches.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: removed incorrect GCC 2.7 check.</title>
<updated>2016-04-01T10:17:12+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-04-01T10:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7cee215f15cf91e40fe5709485e60655292e2c67'/>
<id>7cee215f15cf91e40fe5709485e60655292e2c67</id>
<content type='text'>
It was broken since introduction (__GNU__ instead of __GNUC__) and did
nothing.  Moreover, GCC 2.7 is happy with the normal version of the code.

Reported by Joel Cunningham,
http://mailman.nginx.org/pipermail/nginx-devel/2016-March/007964.html.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was broken since introduction (__GNU__ instead of __GNUC__) and did
nothing.  Moreover, GCC 2.7 is happy with the normal version of the code.

Reported by Joel Cunningham,
http://mailman.nginx.org/pipermail/nginx-devel/2016-March/007964.html.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: SSLeay_version() is deprecated in OpenSSL 1.1.0.</title>
<updated>2016-03-31T20:38:38+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-03-31T20:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2e251b1c342370b8b3365cf30eca2cf61d9ef559'/>
<id>2e251b1c342370b8b3365cf30eca2cf61d9ef559</id>
<content type='text'>
SSLeay_version() and SSLeay() are no longer available if OPENSSL_API_COMPAT
is set to 0x10100000L.  Switched to using OpenSSL_version() instead.

Additionally, we now compare version strings instead of version numbers,
and this correctly works for LibreSSL as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SSLeay_version() and SSLeay() are no longer available if OPENSSL_API_COMPAT
is set to 0x10100000L.  Switched to using OpenSSL_version() instead.

Additionally, we now compare version strings instead of version numbers,
and this correctly works for LibreSSL as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: X509 was made opaque in OpenSSL 1.1.0.</title>
<updated>2016-03-31T20:38:37+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2016-03-31T20:38:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d8fbce1deb24a174f327786684f862cc39b5ac0a'/>
<id>d8fbce1deb24a174f327786684f862cc39b5ac0a</id>
<content type='text'>
To increment reference counters we now use newly introduced X509_up_ref()
function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To increment reference counters we now use newly introduced X509_up_ref()
function.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: EVP_MD_CTX was made opaque in OpenSSL 1.1.0.</title>
<updated>2016-03-31T20:38:36+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2016-03-31T20:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=66feb8c6f01a682e93f11e2c80c59bf425d70af9'/>
<id>66feb8c6f01a682e93f11e2c80c59bf425d70af9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: RSA_generate_key() is deprecated in OpenSSL 1.1.0.</title>
<updated>2016-03-31T20:38:34+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-03-31T20:38:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=8fc90404fb9c7ead8666a74519035e2b6a2333a7'/>
<id>8fc90404fb9c7ead8666a74519035e2b6a2333a7</id>
<content type='text'>
OpenSSL removed support for all 40 and 56 bit ciphers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenSSL removed support for all 40 and 56 bit ciphers.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: initialization changes for OpenSSL 1.1.0.</title>
<updated>2016-03-31T20:38:33+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-03-31T20:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e6f04424affb4c16db9d9c65487ed47459abba7f'/>
<id>e6f04424affb4c16db9d9c65487ed47459abba7f</id>
<content type='text'>
OPENSSL_config() deprecated in OpenSSL 1.1.0.  Additionally,
SSL_library_init(), SSL_load_error_strings() and OpenSSL_add_all_algorithms()
are no longer available if OPENSSL_API_COMPAT is set to 0x10100000L.

The OPENSSL_init_ssl() function is now used instead with appropriate
arguments to trigger the same behaviour.  The configure test changed to
use SSL_CTX_set_options().

Deinitialization now happens automatically in OPENSSL_cleanup() called
via atexit(3), so we no longer call EVP_cleanup() and ENGINE_cleanup()
directly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OPENSSL_config() deprecated in OpenSSL 1.1.0.  Additionally,
SSL_library_init(), SSL_load_error_strings() and OpenSSL_add_all_algorithms()
are no longer available if OPENSSL_API_COMPAT is set to 0x10100000L.

The OPENSSL_init_ssl() function is now used instead with appropriate
arguments to trigger the same behaviour.  The configure test changed to
use SSL_CTX_set_options().

Deinitialization now happens automatically in OPENSSL_cleanup() called
via atexit(3), so we no longer call EVP_cleanup() and ENGINE_cleanup()
directly.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: get_session callback changed in OpenSSL 1.1.0.</title>
<updated>2016-03-31T20:38:32+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-03-31T20:38:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=93c2749fae7c9516c7dde73543df0ca93cba92b4'/>
<id>93c2749fae7c9516c7dde73543df0ca93cba92b4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
