<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/http/modules/ngx_http_dav_module.c, branch release-1.28.2</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>All known output headers can be linked lists now.</title>
<updated>2022-05-30T18:25:45+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2022-05-30T18:25:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e59c2096ae9d561997ad2d64d61094503e6be4c3'/>
<id>e59c2096ae9d561997ad2d64d61094503e6be4c3</id>
<content type='text'>
The h-&gt;next pointer properly provided as NULL in all cases where known
output headers are added.

Note that there are 3rd party modules which might not do this, and it
might be risky to rely on this for arbitrary headers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The h-&gt;next pointer properly provided as NULL in all cases where known
output headers are added.

Note that there are 3rd party modules which might not do this, and it
might be risky to rely on this for arbitrary headers.
</pre>
</div>
</content>
</entry>
<entry>
<title>Location header escaping in redirects (ticket #882).</title>
<updated>2021-05-24T18:55:20+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2021-05-24T18:55:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=41a241b3ef74dbbe3d82ab2ebbe682919e4a0b90'/>
<id>41a241b3ef74dbbe3d82ab2ebbe682919e4a0b90</id>
<content type='text'>
The header is escaped in redirects based on request URI or
location name (auto redirect).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The header is escaped in redirects based on request URI or
location name (auto redirect).
</pre>
</div>
</content>
</entry>
<entry>
<title>Dav: added checks for chunked to body presence conditions.</title>
<updated>2019-12-23T17:39:27+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2019-12-23T17:39:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=5e5fa2e9e57b713e445b1737005ff6a202bda8ad'/>
<id>5e5fa2e9e57b713e445b1737005ff6a202bda8ad</id>
<content type='text'>
These checks were missed when chunked support was introduced.  And also
added an explicit error message to ngx_http_dav_copy_move_handler()
(it was missed for some reason, in contrast to DELETE and MKCOL handlers).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These checks were missed when chunked support was introduced.  And also
added an explicit error message to ngx_http_dav_copy_move_handler()
(it was missed for some reason, in contrast to DELETE and MKCOL handlers).
</pre>
</div>
</content>
</entry>
<entry>
<title>Saved some memory allocations.</title>
<updated>2019-12-16T12:19:01+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2019-12-16T12:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=be45a3aa590a5f7e64c6d55e8e0f78565adf4823'/>
<id>be45a3aa590a5f7e64c6d55e8e0f78565adf4823</id>
<content type='text'>
In configurations when "root" has variables, some modules unnecessarily
allocated memory for the "Location" header value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In configurations when "root" has variables, some modules unnecessarily
allocated memory for the "Location" header value.
</pre>
</div>
</content>
</entry>
<entry>
<title>Dav: fixed Location in successful MKCOL response.</title>
<updated>2019-12-16T12:19:01+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2019-12-16T12:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=6dc0c880e5b94dc507795369196dec5c2f9d2cc2'/>
<id>6dc0c880e5b94dc507795369196dec5c2f9d2cc2</id>
<content type='text'>
Instead of reducing URI length to not include the terminating '\0'
character in 6ddaac3e0bf7, restore the terminating '/' character.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of reducing URI length to not include the terminating '\0'
character in 6ddaac3e0bf7, restore the terminating '/' character.
</pre>
</div>
</content>
</entry>
<entry>
<title>Dav: removed dead store after 8e7a5de61664.</title>
<updated>2018-08-02T10:19:48+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2018-08-02T10:19:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=a6baf5e508cad9d3561ed71a637127deb1e3f40d'/>
<id>a6baf5e508cad9d3561ed71a637127deb1e3f40d</id>
<content type='text'>
Found by Clang Static Analyzer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found by Clang Static Analyzer.
</pre>
</div>
</content>
</entry>
<entry>
<title>Dav: changed COPY of a file to preserve access mask.</title>
<updated>2018-07-31T23:12:21+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2018-07-31T23:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=04a6d9d3c963f1a22e510ff9f7b0d797dffec33d'/>
<id>04a6d9d3c963f1a22e510ff9f7b0d797dffec33d</id>
<content type='text'>
The behaviour is now in line with COPY of a directory with contents,
which preserves access masks on individual files, as well as the "cp"
command.

Requested by Roman Arutyunyan.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The behaviour is now in line with COPY of a directory with contents,
which preserves access masks on individual files, as well as the "cp"
command.

Requested by Roman Arutyunyan.
</pre>
</div>
</content>
</entry>
<entry>
<title>Dav: added error logging.</title>
<updated>2018-02-07T13:44:29+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2018-02-07T13:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d31d547dba886fcbc3738e649b1667e65170e6e1'/>
<id>d31d547dba886fcbc3738e649b1667e65170e6e1</id>
<content type='text'>
Previously, when request body was not available or was previously read in
memory rather than a file, client received HTTP 500 error, but no explanation
was logged in error log.  This could happen, for example, if request body was
read or discarded prior to error_page redirect, or if mirroring was enabled
along with dav.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, when request body was not available or was previously read in
memory rather than a file, client received HTTP 500 error, but no explanation
was logged in error log.  This could happen, for example, if request body was
read or discarded prior to error_page redirect, or if mirroring was enabled
along with dav.
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleaned up r-&gt;headers_out.headers allocation error handling.</title>
<updated>2017-04-20T15:26:37+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2017-04-20T15:26:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9ecf8428645579cf66adc5ba939bf1267924c5bc'/>
<id>9ecf8428645579cf66adc5ba939bf1267924c5bc</id>
<content type='text'>
If initialization of a header failed for some reason after ngx_list_push(),
leaving the header as is can result in uninitialized memory access by
the header filter or the log module.  The fix is to clear partially
initialized headers in case of errors.

For the Cache-Control header, the fix is to postpone pushing
r-&gt;headers_out.cache_control until its value is completed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If initialization of a header failed for some reason after ngx_list_push(),
leaving the header as is can result in uninitialized memory access by
the header filter or the log module.  The fix is to clear partially
initialized headers in case of errors.

For the Cache-Control header, the fix is to postpone pushing
r-&gt;headers_out.cache_control until its value is completed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed missing "Location" field with some relative redirects.</title>
<updated>2016-12-22T08:58:52+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2016-12-22T08:58:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f02170672926e6afe273340fefb44bd1cc1d6ed4'/>
<id>f02170672926e6afe273340fefb44bd1cc1d6ed4</id>
<content type='text'>
Relative redirects did not work with directory redirects and
auto redirects issued by nginx.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Relative redirects did not work with directory redirects and
auto redirects issued by nginx.
</pre>
</div>
</content>
</entry>
</feed>
