diff options
| author | Roman Arutyunyan <arut@nginx.com> | 2021-06-11 12:11:08 +0300 |
|---|---|---|
| committer | Roman Arutyunyan <arut@nginx.com> | 2021-06-11 12:11:08 +0300 |
| commit | 80a5227617924f666a39f8debf556ab525f420c9 (patch) | |
| tree | faac47f4d79024f75ed8e1cbb6a6c49a4612f62d /src/http/ngx_http_script.c | |
| parent | 9cf6426f6a517919863d0618e6c514f3f180cb8f (diff) | |
| download | nginx-80a5227617924f666a39f8debf556ab525f420c9.tar.gz nginx-80a5227617924f666a39f8debf556ab525f420c9.tar.bz2 | |
HTTP/3: generate more H3_FRAME_UNEXPECTED.
As per quic-http-34, these are the cases when this error should be generated:
If an endpoint receives a second SETTINGS frame
on the control stream, the endpoint MUST respond with a connection
error of type H3_FRAME_UNEXPECTED
SETTINGS frames MUST NOT be sent on any stream other than the control
stream. If an endpoint receives a SETTINGS frame on a different
stream, the endpoint MUST respond with a connection error of type
H3_FRAME_UNEXPECTED.
A client MUST NOT send a PUSH_PROMISE frame. A server MUST treat the
receipt of a PUSH_PROMISE frame as a connection error of type
H3_FRAME_UNEXPECTED; see Section 8.
The MAX_PUSH_ID frame is always sent on the control stream. Receipt
of a MAX_PUSH_ID frame on any other stream MUST be treated as a
connection error of type H3_FRAME_UNEXPECTED.
Receipt of an invalid sequence of frames MUST be treated as a
connection error of type H3_FRAME_UNEXPECTED; see Section 8. In
particular, a DATA frame before any HEADERS frame, or a HEADERS or
DATA frame after the trailing HEADERS frame, is considered invalid.
A CANCEL_PUSH frame is sent on the control stream. Receiving a
CANCEL_PUSH frame on a stream other than the control stream MUST be
treated as a connection error of type H3_FRAME_UNEXPECTED.
The GOAWAY frame is always sent on the control stream.
Diffstat (limited to 'src/http/ngx_http_script.c')
0 files changed, 0 insertions, 0 deletions
