Mercurial > hg > nginx-quic
annotate docs/GNUmakefile @ 8086:9ffef6054abf quic
HTTP/3: fixed handling request body eof.
While for HTTP/1 unexpected eof always means an error, for HTTP/3 an eof right
after a DATA frame end means the end of the request body. For this reason,
since adding HTTP/3 support, eof no longer produced an error right after recv()
but was passed to filters which would make a decision. This decision was made
in ngx_http_parse_chunked() and ngx_http_v3_parse_request_body() based on the
b->last_buf flag.
Now that since 0f7f1a509113 (1.19.2) rb->chunked->length is a lower threshold
for the expected number of bytes, it can be set to zero to indicate that more
bytes may or may not follow. Now it's possible to move the check for eof from
parser functions to ngx_http_request_body_chunked_filter() and clean up the
parsing code.
Also, in the default branch, in case of eof, the following three things
happened, which were replaced with returning NGX_ERROR while implementing
HTTP/3:
- "client prematurely closed connection" message was logged
- c->error flag was set
- NGX_HTTP_BAD_REQUEST was returned
The change brings back this behavior for HTTP/1 as well as HTTP/3.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 16 Sep 2020 18:59:25 +0100 |
parents | f303f3e43f7b |
children |
rev | line source |
---|---|
681 | 1 |
775 | 2 VER= $(shell grep 'define NGINX_VERSION' src/core/nginx.h \ |
5147
864030a4ff2a
Configure: unified nginx version computation constructs.
Ruslan Ermilov <ru@nginx.com>
parents:
4831
diff
changeset
|
3 | sed -e 's/^.*"\(.*\)".*/\1/') |
681 | 4 NGINX= nginx-$(VER) |
5 TEMP= tmp | |
5585
f303f3e43f7b
Docs: switched from java XSLScript to xslscript.pl.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5147
diff
changeset
|
6 XSLS?= xslscript.pl |
681 | 7 |
8 | |
4187
b9dade63fcc2
The reference documentation is moving elsewhere.
Ruslan Ermilov <ru@nginx.com>
parents:
4110
diff
changeset
|
9 all: changes |
4068
22364b1f61c9
Initial English translation of Core and HTTP Core modules.
Ruslan Ermilov <ru@nginx.com>
parents:
4013
diff
changeset
|
10 |
681 | 11 changes: $(TEMP)/$(NGINX)/CHANGES.ru \ |
12 $(TEMP)/$(NGINX)/CHANGES | |
13 | |
14 | |
4831
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
4776
diff
changeset
|
15 $(TEMP)/$(NGINX)/CHANGES.ru: docs/dtd/changes.dtd \ |
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
4776
diff
changeset
|
16 docs/xml/nginx/changes.xml \ |
4013
b427290fb6bc
- Added missing dependencies for the CHANGES{,ru} targets.
Ruslan Ermilov <ru@nginx.com>
parents:
3999
diff
changeset
|
17 docs/xml/change_log_conf.xml \ |
681 | 18 docs/xslt/changes.xslt |
19 | |
4776
3032f4854b81
Simplified makefile that builds CHANGES.
Ruslan Ermilov <ru@nginx.com>
parents:
4187
diff
changeset
|
20 mkdir -p $(TEMP)/$(NGINX) |
681 | 21 |
4831
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
4776
diff
changeset
|
22 xmllint --noout --valid docs/xml/nginx/changes.xml |
4013
b427290fb6bc
- Added missing dependencies for the CHANGES{,ru} targets.
Ruslan Ermilov <ru@nginx.com>
parents:
3999
diff
changeset
|
23 xsltproc --stringparam lang ru \ |
4776
3032f4854b81
Simplified makefile that builds CHANGES.
Ruslan Ermilov <ru@nginx.com>
parents:
4187
diff
changeset
|
24 -o $@ docs/xslt/changes.xslt docs/xml/nginx/changes.xml |
681 | 25 |
26 | |
4831
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
4776
diff
changeset
|
27 $(TEMP)/$(NGINX)/CHANGES: docs/dtd/changes.dtd \ |
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
4776
diff
changeset
|
28 docs/xml/nginx/changes.xml \ |
4013
b427290fb6bc
- Added missing dependencies for the CHANGES{,ru} targets.
Ruslan Ermilov <ru@nginx.com>
parents:
3999
diff
changeset
|
29 docs/xml/change_log_conf.xml \ |
681 | 30 docs/xslt/changes.xslt |
31 | |
4776
3032f4854b81
Simplified makefile that builds CHANGES.
Ruslan Ermilov <ru@nginx.com>
parents:
4187
diff
changeset
|
32 mkdir -p $(TEMP)/$(NGINX) |
681 | 33 |
4831
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
4776
diff
changeset
|
34 xmllint --noout --valid docs/xml/nginx/changes.xml |
4013
b427290fb6bc
- Added missing dependencies for the CHANGES{,ru} targets.
Ruslan Ermilov <ru@nginx.com>
parents:
3999
diff
changeset
|
35 xsltproc --stringparam lang en \ |
4776
3032f4854b81
Simplified makefile that builds CHANGES.
Ruslan Ermilov <ru@nginx.com>
parents:
4187
diff
changeset
|
36 -o $@ docs/xslt/changes.xslt docs/xml/nginx/changes.xml |
681 | 37 |
38 | |
5585
f303f3e43f7b
Docs: switched from java XSLScript to xslscript.pl.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5147
diff
changeset
|
39 docs/xslt/changes.xslt: docs/xsls/changes.xsls |
681 | 40 |
5585
f303f3e43f7b
Docs: switched from java XSLScript to xslscript.pl.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5147
diff
changeset
|
41 $(XSLS) -o $@ $< |