annotate src/core/ngx_murmurhash.h @ 8496:278ab0ed24f2
quic
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.
author |
Roman Arutyunyan <arut@nginx.com> |
date |
Fri, 11 Jun 2021 12:11:08 +0300 |
parents |
709d7d24239d |
children |
|
rev |
line source |
3891
|
1
|
|
2 /*
|
|
3 * Copyright (C) Igor Sysoev
|
4412
|
4 * Copyright (C) Nginx, Inc.
|
3891
|
5 */
|
|
6
|
|
7
|
|
8 #ifndef _NGX_MURMURHASH_H_INCLUDED_
|
|
9 #define _NGX_MURMURHASH_H_INCLUDED_
|
|
10
|
|
11
|
|
12 #include <ngx_config.h>
|
|
13 #include <ngx_core.h>
|
|
14
|
|
15
|
|
16 uint32_t ngx_murmur_hash2(u_char *data, size_t len);
|
|
17
|
|
18
|
4575
|
19 #endif /* _NGX_MURMURHASH_H_INCLUDED_ */
|