<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/http/modules, branch release-1.15.8</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Autoindex: fixed possible integer overflow on 32-bit systems.</title>
<updated>2018-12-25T09:59:24+00:00</updated>
<author>
<name>Vladimir Homutov</name>
<email>vl@nginx.com</email>
</author>
<published>2018-12-25T09:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=910f330ad0caa49fe901e9426ef00d95d45ba32c'/>
<id>910f330ad0caa49fe901e9426ef00d95d45ba32c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: removed NGX_DIR_MASK concept.</title>
<updated>2018-12-24T18:07:05+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2018-12-24T18:07:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=aa741f87273f2137d9a52080593c5fe6f1d1b0ea'/>
<id>aa741f87273f2137d9a52080593c5fe6f1d1b0ea</id>
<content type='text'>
Previous interface of ngx_open_dir() assumed that passed directory name
has a room for NGX_DIR_MASK at the end (NGX_DIR_MASK_LEN bytes).  While all
direct users of ngx_dir_open() followed this interface, this also implied
similar requirements for indirect uses - in particular, via ngx_walk_tree().

Currently none of ngx_walk_tree() uses provides appropriate space, and
fixing this does not look like a right way to go.  Instead, ngx_dir_open()
interface was changed to not require any additional space and use
appropriate allocations instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previous interface of ngx_open_dir() assumed that passed directory name
has a room for NGX_DIR_MASK at the end (NGX_DIR_MASK_LEN bytes).  While all
direct users of ngx_dir_open() followed this interface, this also implied
similar requirements for indirect uses - in particular, via ngx_walk_tree().

Currently none of ngx_walk_tree() uses provides appropriate space, and
fixing this does not look like a right way to go.  Instead, ngx_dir_open()
interface was changed to not require any additional space and use
appropriate allocations instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Userid: using stub for AF_UNIX addresses.</title>
<updated>2018-12-24T16:55:00+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2018-12-24T16:55:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=499bb2655ee16e4659d571b413b1ea54fd19dcd1'/>
<id>499bb2655ee16e4659d571b413b1ea54fd19dcd1</id>
<content type='text'>
Previously, AF_UNIX addresses misbehaved as AF_INET, which typically resulted
in $uid_set composed from the middle of sun_path.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, AF_UNIX addresses misbehaved as AF_INET, which typically resulted
in $uid_set composed from the middle of sun_path.
</pre>
</div>
</content>
</entry>
<entry>
<title>Geo: fixed handling of AF_UNIX client addresses (ticket #1684).</title>
<updated>2018-12-14T15:11:06+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2018-12-14T15:11:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ce4a23d144762cfa27c0e4b13f74cada2f7486a8'/>
<id>ce4a23d144762cfa27c0e4b13f74cada2f7486a8</id>
<content type='text'>
Previously, AF_UNIX client addresses were handled as AF_INET, leading
to unexpected results.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, AF_UNIX client addresses were handled as AF_INET, leading
to unexpected results.
</pre>
</div>
</content>
</entry>
<entry>
<title>Mp4: fixed possible pointer overflow on 32-bit platforms.</title>
<updated>2018-11-21T17:23:16+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2018-11-21T17:23:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f5708e66c7187c2489a7d0b39918f6d0fe4c6645'/>
<id>f5708e66c7187c2489a7d0b39918f6d0fe4c6645</id>
<content type='text'>
On 32-bit platforms mp4-&gt;buffer_pos might overflow when a large
enough (close to 4 gigabytes) atom is being skipped, resulting in
incorrect memory addesses being read further in the code.  In most
cases this results in harmless errors being logged, though may also
result in a segmentation fault if hitting unmapped pages.

To address this, ngx_mp4_atom_next() now only increments mp4-&gt;buffer_pos
up to mp4-&gt;buffer_end.  This ensures that overflow cannot happen.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On 32-bit platforms mp4-&gt;buffer_pos might overflow when a large
enough (close to 4 gigabytes) atom is being skipped, resulting in
incorrect memory addesses being read further in the code.  In most
cases this results in harmless errors being logged, though may also
result in a segmentation fault if hitting unmapped pages.

To address this, ngx_mp4_atom_next() now only increments mp4-&gt;buffer_pos
up to mp4-&gt;buffer_end.  This ensures that overflow cannot happen.
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit req: "delay=" parameter.</title>
<updated>2018-11-21T15:56:50+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2018-11-21T15:56:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=aedc37fb3e7fb4550c17c4ec7aed3d33c73aab43'/>
<id>aedc37fb3e7fb4550c17c4ec7aed3d33c73aab43</id>
<content type='text'>
This parameter specifies an additional "soft" burst limit at which requests
become delayed (but not yet rejected as it happens if "burst=" limit is
exceeded).  Defaults to 0, i.e., all excess requests are delayed.

Originally inspired by Vladislav Shabanov
(http://mailman.nginx.org/pipermail/nginx-devel/2016-April/008126.html).
Further improved based on a patch by Peter Shchuchkin
(http://mailman.nginx.org/pipermail/nginx-devel/2018-October/011522.html).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This parameter specifies an additional "soft" burst limit at which requests
become delayed (but not yet rejected as it happens if "burst=" limit is
exceeded).  Defaults to 0, i.e., all excess requests are delayed.

Originally inspired by Vladislav Shabanov
(http://mailman.nginx.org/pipermail/nginx-devel/2016-April/008126.html).
Further improved based on a patch by Peter Shchuchkin
(http://mailman.nginx.org/pipermail/nginx-devel/2018-October/011522.html).
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit req: fixed error message wording.</title>
<updated>2018-11-21T15:56:44+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2018-11-21T15:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=56dffac3e3a47b4809a1c8007ddd5beb1ca36239'/>
<id>56dffac3e3a47b4809a1c8007ddd5beb1ca36239</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gRPC: limited allocations due to ping and settings frames.</title>
<updated>2018-11-06T13:29:59+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2018-11-06T13:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=42043b4ef7e60eabed114164f36c1d2314faef1a'/>
<id>42043b4ef7e60eabed114164f36c1d2314faef1a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mp4: fixed reading 64-bit atoms.</title>
<updated>2018-11-06T13:29:18+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2018-11-06T13:29:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9cd9526ba68a3dcfc763a3f7693ccb4f48e855fb'/>
<id>9cd9526ba68a3dcfc763a3f7693ccb4f48e855fb</id>
<content type='text'>
Previously there was no validation for the size of a 64-bit atom
in an mp4 file.  This could lead to a CPU hog when the size is 0,
or various other problems due to integer underflow when calculating
atom data size, including segmentation fault or worker process
memory disclosure.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously there was no validation for the size of a 64-bit atom
in an mp4 file.  This could lead to a CPU hog when the size is 0,
or various other problems due to integer underflow when calculating
atom data size, including segmentation fault or worker process
memory disclosure.
</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream: proxy_socket_keepalive and friends.</title>
<updated>2018-10-03T11:08:51+00:00</updated>
<author>
<name>Vladimir Homutov</name>
<email>vl@nginx.com</email>
</author>
<published>2018-10-03T11:08:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1305b8414d22610b0820f6df5841418bf98fc370'/>
<id>1305b8414d22610b0820f6df5841418bf98fc370</id>
<content type='text'>
The directives enable the use of the SO_KEEPALIVE option on
upstream connections.  By default, the value is left unchanged.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The directives enable the use of the SO_KEEPALIVE option on
upstream connections.  By default, the value is left unchanged.
</pre>
</div>
</content>
</entry>
</feed>
