QUIC TXP: Remove TX key update handling from TXP

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21029)
This commit is contained in:
Hugo Landau 2023-05-23 12:23:05 +01:00 committed by Pauli
parent a3a51d6ec3
commit b65b0d4ebe
2 changed files with 6 additions and 13 deletions

View File

@ -67,6 +67,11 @@ static ossl_unused ossl_inline QUIC_PN ossl_quic_pn_min(QUIC_PN a, QUIC_PN b)
return a < b ? a : b;
}
static ossl_unused ossl_inline int ossl_quic_pn_valid(QUIC_PN pn)
{
return pn < (((QUIC_PN)1) << 62);
}
/* QUIC connection ID representation. */
# define QUIC_MAX_CONN_ID_LEN 20

View File

@ -1935,7 +1935,7 @@ static int txp_generate_for_el_actual(OSSL_QUIC_TX_PACKETISER *txp,
goto fatal_err;
/* Maximum PN reached? */
if (txp->next_pn[pn_space] >= (((QUIC_PN)1) << 62))
if (!ossl_quic_pn_valid(txp->next_pn[pn_space]))
goto fatal_err;
if ((tpkt = ossl_quic_txpim_pkt_alloc(txp->args.txpim)) == NULL)
@ -2191,18 +2191,6 @@ static int txp_generate_for_el_actual(OSSL_QUIC_TX_PACKETISER *txp,
pkt.pn = txp->next_pn[pn_space];
pkt.flags = OSSL_QTX_PKT_FLAG_COALESCE; /* always try to coalesce */
/* Do TX key update if needed. */
if (enc_level == QUIC_ENC_LEVEL_1RTT) {
uint64_t cur_pkt_count, max_pkt_count;
cur_pkt_count = ossl_qtx_get_cur_epoch_pkt_count(txp->args.qtx, enc_level);
max_pkt_count = ossl_qtx_get_max_epoch_pkt_count(txp->args.qtx, enc_level);
if (cur_pkt_count >= max_pkt_count / 2)
if (!ossl_qtx_trigger_key_update(txp->args.qtx))
goto fatal_err;
}
if (!ossl_assert(h.bytes_appended > 0))
goto fatal_err;