]> git.kaiwu.me - nginx.git/commit
QUIC: refactored long header parsing.
authorSergey Kandaurov <pluknet@nginx.com>
Tue, 17 Nov 2020 21:32:04 +0000 (21:32 +0000)
committerSergey Kandaurov <pluknet@nginx.com>
Tue, 17 Nov 2020 21:32:04 +0000 (21:32 +0000)
commit5e32d82dea03e25c472f8549afe167d827104100
tree1c340df4849e0a853d7002a751cfb3d347001540
parentb1d930b8931d7789cc528b873065d938c781a92b
QUIC: refactored long header parsing.

The largely duplicate type-specific functions ngx_quic_parse_initial_header(),
ngx_quic_parse_handshake_header(), and a missing one for 0-RTT, were merged.
The new order of functions listed in ngx_event_quic_transport.c reflects this.

|_ ngx_quic_parse_long_header    - version-invariant long header fields
\_ ngx_quic_supported_version    - a helper to decide we can go further
\_ ngx_quic_parse_long_header_v1 - QUICv1-specific long header fields

0-RTT packets previously appeared as Handshake are now logged as appropriate:
 *1 quic packet rx long flags:db version:ff00001d
 *1 quic packet rx early len:870

Logging SCID/DCID is no longer duplicated as were seen with Initial packets.
src/event/ngx_event_quic.c
src/event/ngx_event_quic_transport.c
src/event/ngx_event_quic_transport.h