<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/http/ngx_http_request_body.c, branch release-1.29.7</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Proxy: proxy_pass_trailers directive.</title>
<updated>2024-09-13T12:47:56+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2024-09-10T12:48:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1a64c196a7d43f83a14fec20ce8936e599c92865'/>
<id>1a64c196a7d43f83a14fec20ce8936e599c92865</id>
<content type='text'>
The directive allows to pass upstream response trailers to client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The directive allows to pass upstream response trailers to client.
</pre>
</div>
</content>
</entry>
<entry>
<title>QUIC: modified HTTP version test.</title>
<updated>2022-01-12T08:54:39+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2022-01-12T08:54:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=109166e4fa41cb35a91107b0be075aec22a567eb'/>
<id>109166e4fa41cb35a91107b0be075aec22a567eb</id>
<content type='text'>
The new condition produces smaller diff to the default branch and is similar to
HTTP/2 case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new condition produces smaller diff to the default branch and is similar to
HTTP/2 case.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merged with the default branch.</title>
<updated>2021-11-03T08:22:07+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2021-11-03T08:22:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=bbd05ae252bce1907173d13c6e48d1bed71cd9ea'/>
<id>bbd05ae252bce1907173d13c6e48d1bed71cd9ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merged with the default branch.</title>
<updated>2021-09-01T07:57:25+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2021-09-01T07:57:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=72af057584ac7cb3822e4898f5566f7d27c70ebd'/>
<id>72af057584ac7cb3822e4898f5566f7d27c70ebd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: reading body buffering in filters.</title>
<updated>2021-08-29T19:22:02+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-08-29T19:22:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=67d160bf25e02ba6679bb6c3b9cbdfeb29b759de'/>
<id>67d160bf25e02ba6679bb6c3b9cbdfeb29b759de</id>
<content type='text'>
If a filter wants to buffer the request body during reading (for
example, to check an external scanner), it can now do so.  To make
it possible, the code now checks rb-&gt;last_saved (introduced in the
previous change) along with rb-&gt;rest == 0.

Since in HTTP/2 this requires flow control to avoid overflowing the
request body buffer, so filters which need buffering have to set
the rb-&gt;filter_need_buffering flag on the first filter call.  (Note
that each filter is expected to call the next filter, so all filters
will be able set the flag if needed.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a filter wants to buffer the request body during reading (for
example, to check an external scanner), it can now do so.  To make
it possible, the code now checks rb-&gt;last_saved (introduced in the
previous change) along with rb-&gt;rest == 0.

Since in HTTP/2 this requires flow control to avoid overflowing the
request body buffer, so filters which need buffering have to set
the rb-&gt;filter_need_buffering flag on the first filter call.  (Note
that each filter is expected to call the next filter, so all filters
will be able set the flag if needed.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: introduced rb-&gt;last_saved flag.</title>
<updated>2021-08-29T19:21:03+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-08-29T19:21:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2a709213800fd3fd2809881374eb110562b53c08'/>
<id>2a709213800fd3fd2809881374eb110562b53c08</id>
<content type='text'>
It indicates that the last buffer was received by the save filter,
and can be used to check this at higher levels.  To be used in the
following changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It indicates that the last buffer was received by the save filter,
and can be used to check this at higher levels.  To be used in the
following changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: added alert to catch duplicate body saving.</title>
<updated>2021-08-29T19:20:54+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-08-29T19:20:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=fd9d43b087b4247f8cb5f91845be46bd624c175a'/>
<id>fd9d43b087b4247f8cb5f91845be46bd624c175a</id>
<content type='text'>
If due to an error ngx_http_request_body_save_filter() is called
more than once with rb-&gt;rest == 0, this used to result in a segmentation
fault.  Added an alert to catch such errors, just in case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If due to an error ngx_http_request_body_save_filter() is called
more than once with rb-&gt;rest == 0, this used to result in a segmentation
fault.  Added an alert to catch such errors, just in case.
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: missing comments about initialization.</title>
<updated>2021-08-29T19:20:49+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2021-08-29T19:20:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=aa02695f5ea70f6628317b56f93e7e8733d4a029'/>
<id>aa02695f5ea70f6628317b56f93e7e8733d4a029</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Request body: do not create temp file if there's nothing to write.</title>
<updated>2021-09-10T09:59:22+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2021-09-10T09:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=adbd28b7a9843ebce895f9903f19c5a740d61db4'/>
<id>adbd28b7a9843ebce895f9903f19c5a740d61db4</id>
<content type='text'>
Do this only when the entire request body is empty and
r-&gt;request_body_in_file_only is set.

The issue manifested itself with missing warning "a client request body is
buffered to a temporary file" when the entire rb-&gt;buf is full and all buffers
are delayed by a filter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do this only when the entire request body is empty and
r-&gt;request_body_in_file_only is set.

The issue manifested itself with missing warning "a client request body is
buffered to a temporary file" when the entire rb-&gt;buf is full and all buffers
are delayed by a filter.
</pre>
</div>
</content>
</entry>
<entry>
<title>HTTP/3: refactored request body parser.</title>
<updated>2021-01-25T13:16:47+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2021-01-25T13:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=6f3c821d1f28c433f778fcc843bb764e45194f5c'/>
<id>6f3c821d1f28c433f778fcc843bb764e45194f5c</id>
<content type='text'>
The change reduces diff to the default branch for
src/http/ngx_http_request_body.c.

Also, client Content-Length, if present, is now checked against the real body
size sent by client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The change reduces diff to the default branch for
src/http/ngx_http_request_body.c.

Also, client Content-Length, if present, is now checked against the real body
size sent by client.
</pre>
</div>
</content>
</entry>
</feed>
