diff options
author | Matt Caswell <matt@openssl.org> | 2023-10-31 16:24:44 +0000 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-11-01 19:07:09 +0100 |
commit | d13488b93690121bd50c97599760a19ead6bcd1f (patch) | |
tree | c45f885ff5c88950d5248d174b18d8215458791c /ssl | |
parent | 3ffc6c644c3494b3d5237073cc22c35737f9698a (diff) |
Don't create an ack frame if one isn't wanted for this pn_space
The txp->want_ack value has different bit values for different pn_space
values. Make sure we take that into account when we read it.
Fixes #22568
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22579)
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/quic/quic_txp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ssl/quic/quic_txp.c b/ssl/quic/quic_txp.c index ce59900f14..2af385af0f 100644 --- a/ssl/quic/quic_txp.c +++ b/ssl/quic/quic_txp.c @@ -1786,7 +1786,7 @@ static int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp, /* ACK Frames (Regenerate) */ if (a->allow_ack && tx_helper_get_space_left(h) >= MIN_FRAME_SIZE_ACK - && (txp->want_ack + && (((txp->want_ack & (1UL << pn_space)) != 0) || ossl_ackm_is_ack_desired(txp->args.ackm, pn_space)) && (ack = ossl_ackm_get_ack_frame(txp->args.ackm, pn_space)) != NULL) { WPACKET *wpkt = tx_helper_begin(h); |