tree 20b8b565cbe54c042fd1a8b361f7252b251c9b2f
parent a8942cd9c48680d7c6839ba8d04b158f5489dbaa
author Frédéric Lécaille <flecaille@haproxy.com> 1660925893 +0200
committer Frédéric Lécaille <flecaille@haproxy.com> 1660926719 +0200

MINOR: quic: Add reusable cipher contexts for header protection

Implement quic_tls_rx_hp_ctx_init() and quic_tls_tx_hp_ctx_init() to initiliaze
such header protection cipher contexts for each RX and TX parts and for each
packet number spaces, only one time by connection.
Make qc_new_isecs() call these two functions to initialize the cipher contexts
of the Initial secrets. Same thing for ha_quic_set_encryption_secrets() to
initialize the cipher contexts of the subsequent derived secrets (ORTT, 1RTT,
Handshake).
Modify qc_do_rm_hp() and quic_apply_header_protection() to reuse these
cipher contexts.
Note that there is no need to modify the key update for the header protection.
The header protection secrets are never updated.
