<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/core, branch release-1.5.10</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Core: added ngx_encode_base64url().</title>
<updated>2014-02-04T00:59:21+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-02-04T00:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7ac48da41dbbe67ac74a3740c4ad89b9f481a4c2'/>
<id>7ac48da41dbbe67ac74a3740c4ad89b9f481a4c2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: handle getsockopt(TCP_FASTOPEN) failures.</title>
<updated>2014-01-30T22:58:21+00:00</updated>
<author>
<name>Piotr Sikora</name>
<email>piotr@cloudflare.com</email>
</author>
<published>2014-01-30T22:58:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2e57e0609b8cc352fb51df0b0e05309d1cf9589d'/>
<id>2e57e0609b8cc352fb51df0b0e05309d1cf9589d</id>
<content type='text'>
Linux returns EOPNOTSUPP for non-TCP sockets and ENOPROTOOPT for TCP
sockets, because getsockopt(TCP_FASTOPEN) is not implemented so far.

While there, lower the log level from ALERT to NOTICE to match other
getsockopt() failures.

Signed-off-by: Piotr Sikora &lt;piotr@cloudflare.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linux returns EOPNOTSUPP for non-TCP sockets and ENOPROTOOPT for TCP
sockets, because getsockopt(TCP_FASTOPEN) is not implemented so far.

While there, lower the log level from ALERT to NOTICE to match other
getsockopt() failures.

Signed-off-by: Piotr Sikora &lt;piotr@cloudflare.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed TCP_DEFER_ACCEPT handling (ticket #353).</title>
<updated>2014-01-28T11:40:46+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-01-28T11:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c94c24b1773e39e610ad81e46872fc2a58c7a88d'/>
<id>c94c24b1773e39e610ad81e46872fc2a58c7a88d</id>
<content type='text'>
Backed out 05a56ebb084a, as it turns out that kernel can return connections
without any delay if syncookies are used.  This basically means we can't
assume anything about connections returned with deferred accept set.

To solve original problem the 05a56ebb084a tried to solve, i.e. to don't
wait longer than needed if a connection was accepted after deferred accept
timeout, this patch changes a timeout set with setsockopt(TCP_DEFER_ACCEPT)
to 1 second, unconditionally.  This is believed to be enough for speed
improvements, and doesn't imply major changes to timeouts used.

Note that before 2.6.32 connections were dropped after a timeout.  Though
it is believed that 1s is still appropriate for kernels before 2.6.32,
as previously tcp_synack_retries controlled the actual timeout and 1s results
in more than 1 minute actual timeout by default.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backed out 05a56ebb084a, as it turns out that kernel can return connections
without any delay if syncookies are used.  This basically means we can't
assume anything about connections returned with deferred accept set.

To solve original problem the 05a56ebb084a tried to solve, i.e. to don't
wait longer than needed if a connection was accepted after deferred accept
timeout, this patch changes a timeout set with setsockopt(TCP_DEFER_ACCEPT)
to 1 second, unconditionally.  This is believed to be enough for speed
improvements, and doesn't imply major changes to timeouts used.

Note that before 2.6.32 connections were dropped after a timeout.  Though
it is believed that 1s is still appropriate for kernels before 2.6.32,
as previously tcp_synack_retries controlled the actual timeout and 1s results
in more than 1 minute actual timeout by default.
</pre>
</div>
</content>
</entry>
<entry>
<title>Version bump.</title>
<updated>2014-01-23T14:32:25+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-01-23T14:32:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=bb40c4ed2f937ac5f2eb276954e67216cd09c473'/>
<id>bb40c4ed2f937ac5f2eb276954e67216cd09c473</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: improved ngx_reset_pool() (ticket #490).</title>
<updated>2014-01-17T02:24:53+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-01-17T02:24:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0bfb68eea0f41cfbada5a0e86d525027ed2f21e4'/>
<id>0bfb68eea0f41cfbada5a0e86d525027ed2f21e4</id>
<content type='text'>
Previously pool-&gt;current wasn't moved back to pool, resulting in blocks
not used for further allocations if pool-&gt;current was already moved at the
time of ngx_reset_pool().  Additionally, to preserve logic of moving
pool-&gt;current, the p-&gt;d.failed counters are now properly cleared.  While
here, pool-&gt;chain is also cleared.

This change is essentially a nop with current code, but generally improves
things.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously pool-&gt;current wasn't moved back to pool, resulting in blocks
not used for further allocations if pool-&gt;current was already moved at the
time of ngx_reset_pool().  Additionally, to preserve logic of moving
pool-&gt;current, the p-&gt;d.failed counters are now properly cleared.  While
here, pool-&gt;chain is also cleared.

This change is essentially a nop with current code, but generally improves
things.
</pre>
</div>
</content>
</entry>
<entry>
<title>SPDY: body filter was replaced by c-&gt;send_chain() function.</title>
<updated>2014-01-14T12:24:45+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2014-01-14T12:24:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=8c01a95d989fac71164375d76a59b21c42f371fe'/>
<id>8c01a95d989fac71164375d76a59b21c42f371fe</id>
<content type='text'>
It allows to use ngx_http_write_filter() and all its rate limiting logic.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It allows to use ngx_http_write_filter() and all its rate limiting logic.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: added support for domain names with a trailing dot.</title>
<updated>2014-01-10T19:22:14+00:00</updated>
<author>
<name>Yichun Zhang</name>
<email>agentzh@gmail.com</email>
</author>
<published>2014-01-10T19:22:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2e2c9dba1666c6a762e5e7f9e4d57a99c9abc305'/>
<id>2e2c9dba1666c6a762e5e7f9e4d57a99c9abc305</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allowed up to two EBUSY errors from sendfile().</title>
<updated>2014-01-03T23:31:58+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-01-03T23:31:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9a72030c2507a635d9c17a76a992cec21067dbcf'/>
<id>9a72030c2507a635d9c17a76a992cec21067dbcf</id>
<content type='text'>
Fallback to synchronous sendfile() now only done on 3rd EBUSY without
any progress in a row.  Not falling back is believed to be better
in case of occasional EBUSY, though protection is still needed to
make sure there will be no infinite loop.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fallback to synchronous sendfile() now only done on 3rd EBUSY without
any progress in a row.  Not falling back is believed to be better
in case of occasional EBUSY, though protection is still needed to
make sure there will be no infinite loop.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed the first argument to getsockopt().</title>
<updated>2013-12-19T09:43:18+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2013-12-19T09:43:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=bf800822dfd27e75a610f8474a672860ec9145d4'/>
<id>bf800822dfd27e75a610f8474a672860ec9145d4</id>
<content type='text'>
While here, always initialize the last argument.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While here, always initialize the last argument.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: use minimum TTL for caching (ticket #329).</title>
<updated>2013-12-16T15:12:23+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2013-12-16T15:12:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=85e6d211d0dcfa0f62fac568df52d23b2d8e4faa'/>
<id>85e6d211d0dcfa0f62fac568df52d23b2d8e4faa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
