Mercurial > hg > nginx
comparison src/event/ngx_event_quic_transport.h @ 8383:7ea34e13937f quic
Address validation using Retry packets.
The behaviour is toggled with the new directive "quic_retry on|off".
QUIC token construction is made suitable for issuing with NEW_TOKEN.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 14 May 2020 15:47:18 +0300 |
parents | 9d9531431c8c |
children | 52d0c4832570 |
comparison
equal
deleted
inserted
replaced
8382:b7704303a7e5 | 8383:7ea34e13937f |
---|---|
278 | 278 |
279 u_char *data; /* quic packet */ | 279 u_char *data; /* quic packet */ |
280 size_t len; | 280 size_t len; |
281 | 281 |
282 /* cleartext fields */ | 282 /* cleartext fields */ |
283 ngx_str_t odcid; /* retry packet tag */ | |
283 ngx_str_t dcid; | 284 ngx_str_t dcid; |
284 ngx_str_t scid; | 285 ngx_str_t scid; |
285 uint64_t pn; | 286 uint64_t pn; |
286 u_char *plaintext; | 287 u_char *plaintext; |
287 ngx_str_t payload; /* decrypted data */ | 288 ngx_str_t payload; /* decrypted data */ |
301 ngx_int_t ngx_quic_parse_short_header(ngx_quic_header_t *pkt, | 302 ngx_int_t ngx_quic_parse_short_header(ngx_quic_header_t *pkt, |
302 ngx_str_t *dcid); | 303 ngx_str_t *dcid); |
303 size_t ngx_quic_create_short_header(ngx_quic_header_t *pkt, u_char *out, | 304 size_t ngx_quic_create_short_header(ngx_quic_header_t *pkt, u_char *out, |
304 size_t pkt_len, u_char **pnp); | 305 size_t pkt_len, u_char **pnp); |
305 | 306 |
307 size_t ngx_quic_create_retry_itag(ngx_quic_header_t *pkt, u_char *out, | |
308 u_char **start); | |
309 | |
306 ngx_int_t ngx_quic_parse_initial_header(ngx_quic_header_t *pkt); | 310 ngx_int_t ngx_quic_parse_initial_header(ngx_quic_header_t *pkt); |
307 ngx_int_t ngx_quic_parse_handshake_header(ngx_quic_header_t *pkt); | 311 ngx_int_t ngx_quic_parse_handshake_header(ngx_quic_header_t *pkt); |
308 | 312 |
309 ssize_t ngx_quic_parse_frame(ngx_quic_header_t *pkt, u_char *start, u_char *end, | 313 ssize_t ngx_quic_parse_frame(ngx_quic_header_t *pkt, u_char *start, u_char *end, |
310 ngx_quic_frame_t *frame); | 314 ngx_quic_frame_t *frame); |