<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/event, branch release-1.11.3</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Events: support for EPOLLEXCLUSIVE.</title>
<updated>2016-07-15T12:18:57+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2016-07-15T12:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=5c2dd3913aad5c4bf7d9056e1336025c2703586b'/>
<id>5c2dd3913aad5c4bf7d9056e1336025c2703586b</id>
<content type='text'>
This flag appeared in Linux 4.5 and is useful for avoiding thundering herd
problem.

The current Linux kernel implementation walks the list of exclusive waiters,
and queues an event to each epfd, until it finds the first waiter that has
threads blocked on it via epoll_wait().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This flag appeared in Linux 4.5 and is useful for avoiding thundering herd
problem.

The current Linux kernel implementation walks the list of exclusive waiters,
and queues an event to each epfd, until it finds the first waiter that has
threads blocked on it via epoll_wait().
</pre>
</div>
</content>
</entry>
<entry>
<title>Style: sorted epoll flags.</title>
<updated>2016-07-15T12:18:57+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2016-07-15T12:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=b60534e0d8f943740fb6847ac0a1ff3091a373d0'/>
<id>b60534e0d8f943740fb6847ac0a1ff3091a373d0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Events: the "accept_mutex" directive is turned off by default.</title>
<updated>2016-07-15T12:18:57+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2016-07-15T12:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=46dd747c9e2bc47c0689f62f9cba3d470d898b43'/>
<id>46dd747c9e2bc47c0689f62f9cba3d470d898b43</id>
<content type='text'>
Now it is believed that the accept mutex brings more harm than benefits.
Especially in various benchmarks it often results in situation where only
one worker grabs all connections.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now it is believed that the accept mutex brings more harm than benefits.
Especially in various benchmarks it often results in situation where only
one worker grabs all connections.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed unused flag accept_context_updated from ngx_event_t.</title>
<updated>2016-06-29T11:30:00+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2016-06-29T11:30:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=fb6c764921dff3322b33ed2f5169b4c23f84bd9c'/>
<id>fb6c764921dff3322b33ed2f5169b4c23f84bd9c</id>
<content type='text'>
Also, removed practically unused flag accept_context_updated from
ngx_connection_t.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also, removed practically unused flag accept_context_updated from
ngx_connection_t.
</pre>
</div>
</content>
</entry>
<entry>
<title>Stream: set SO_REUSEADDR for UDP upstream sockets.</title>
<updated>2016-06-20T09:48:47+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2016-06-20T09:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=4c03c80e12158bd6daf3c6608aca3e3acce56640'/>
<id>4c03c80e12158bd6daf3c6608aca3e3acce56640</id>
<content type='text'>
The option is only set if the socket is bound to a specific port to allow
several such sockets coexist at the same time.  This is required, for example,
when nginx acts as a transparent proxy and receives two datagrams from the same
client in a short time.

The feature is only implemented for Linux.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The option is only set if the socket is bound to a specific port to allow
several such sockets coexist at the same time.  This is required, for example,
when nginx acts as a transparent proxy and receives two datagrams from the same
client in a short time.

The feature is only implemented for Linux.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduced ngx_inet_get_port() and ngx_inet_set_port() functions.</title>
<updated>2016-06-20T08:50:39+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2016-06-20T08:50:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=5b201ac31f968d13f1165e7f29967e5826ccb9a1'/>
<id>5b201ac31f968d13f1165e7f29967e5826ccb9a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.</title>
<updated>2016-06-20T07:41:17+00:00</updated>
<author>
<name>Andrei Belov</name>
<email>defan@nginx.com</email>
</author>
<published>2016-06-20T07:41:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=72d4e5d7930a07a8753640061bbe9210c6a1f890'/>
<id>72d4e5d7930a07a8753640061bbe9210c6a1f890</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: ngx_ssl_ciphers() to set list of ciphers.</title>
<updated>2016-06-15T20:05:30+00:00</updated>
<author>
<name>Tim Taubert</name>
<email>tim@timtaubert.de</email>
</author>
<published>2016-06-15T20:05:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=4f578bfcab740fcfbbb8824822803ad9b3f176cc'/>
<id>4f578bfcab740fcfbbb8824822803ad9b3f176cc</id>
<content type='text'>
This patch moves various OpenSSL-specific function calls into the
OpenSSL module and introduces ngx_ssl_ciphers() to make nginx more
crypto-library-agnostic.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch moves various OpenSSL-specific function calls into the
OpenSSL module and introduces ngx_ssl_ciphers() to make nginx more
crypto-library-agnostic.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduced the ngx_sockaddr_t type.</title>
<updated>2016-05-23T13:37:20+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2016-05-23T13:37:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=fd064d3b88e59ee71aec508687403539b01d643c'/>
<id>fd064d3b88e59ee71aec508687403539b01d643c</id>
<content type='text'>
It's properly aligned and can hold any supported sockaddr.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's properly aligned and can hold any supported sockaddr.
</pre>
</div>
</content>
</entry>
<entry>
<title>SSL: removed default DH parameters.</title>
<updated>2016-05-19T11:46:32+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2016-05-19T11:46:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=61ec58a9bed5ec0cae60c3f3b8d46382beecc5c6'/>
<id>61ec58a9bed5ec0cae60c3f3b8d46382beecc5c6</id>
<content type='text'>
Using the same DH parameters on multiple servers is believed to be subject
to precomputation attacks, see http://weakdh.org/.  Additionally, 1024 bits
are not enough in the modern world as well.  Let users provide their own
DH parameters with the ssl_dhparam directive if they want to use EDH ciphers.

Note that SSL_CTX_set_dh_auto() as provided by OpenSSL 1.1.0 uses fixed
DH parameters from RFC 5114 and RFC 3526, and therefore subject to the same
precomputation attacks.  We avoid using it as well.

This change also fixes compilation with OpenSSL 1.1.0-pre5 (aka Beta 2),
as OpenSSL developers changed their policy after releasing Beta 1 and
broke API once again by making the DH struct opaque (see ticket #860).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using the same DH parameters on multiple servers is believed to be subject
to precomputation attacks, see http://weakdh.org/.  Additionally, 1024 bits
are not enough in the modern world as well.  Let users provide their own
DH parameters with the ssl_dhparam directive if they want to use EDH ciphers.

Note that SSL_CTX_set_dh_auto() as provided by OpenSSL 1.1.0 uses fixed
DH parameters from RFC 5114 and RFC 3526, and therefore subject to the same
precomputation attacks.  We avoid using it as well.

This change also fixes compilation with OpenSSL 1.1.0-pre5 (aka Beta 2),
as OpenSSL developers changed their policy after releasing Beta 1 and
broke API once again by making the DH struct opaque (see ticket #860).
</pre>
</div>
</content>
</entry>
</feed>
