Mercurial > hg > nginx
diff src/event/ngx_event_quic_transport.h @ 8319:29354c6fc5f2 quic
TLS Key Update in QUIC.
Old keys retention is yet to be implemented.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 06 Apr 2020 14:54:08 +0300 |
parents | fdda518d10ba |
children | 1cdd53532309 |
line wrap: on
line diff
--- a/src/event/ngx_event_quic_transport.h +++ b/src/event/ngx_event_quic_transport.h @@ -19,6 +19,7 @@ #define NGX_QUIC_PKT_ZRTT 0xD0 /* 17.2.3 */ #define NGX_QUIC_PKT_HANDSHAKE 0xE0 /* 17.2.4 */ #define NGX_QUIC_PKT_RETRY 0xF0 /* 17.2.5 */ +#define NGX_QUIC_PKT_KPHASE 0x04 /* 17.3 */ #define ngx_quic_pkt_in(flags) (((flags) & 0xF0) == NGX_QUIC_PKT_INITIAL) #define ngx_quic_pkt_zrtt(flags) (((flags) & 0xF0) == NGX_QUIC_PKT_ZRTT) @@ -237,6 +238,7 @@ typedef struct { ngx_log_t *log; struct ngx_quic_secret_s *secret; + struct ngx_quic_secret_s *next; uint64_t number; uint8_t num_len; uint32_t trunc; @@ -258,8 +260,9 @@ typedef struct { u_char *plaintext; ngx_str_t payload; /* decrypted data */ - ngx_uint_t need_ack; - /* unsigned need_ack:1; */ + unsigned need_ack:1; + unsigned key_phase:1; + unsigned key_update:1; } ngx_quic_header_t;