提交 dfd8176f 编写于 作者: H Hugo Landau 提交者: Pauli

QUIC WIRE: Utility function to determine if PN is in an ACK frame

Reviewed-by: NTomas Mraz <tomas@openssl.org>
Reviewed-by: NMatt Caswell <matt@openssl.org>
Reviewed-by: NPaul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21029)
上级 5633a323
......@@ -159,6 +159,9 @@ typedef struct ossl_quic_frame_ack_st {
unsigned int ecn_present : 1;
} OSSL_QUIC_FRAME_ACK;
/* Returns 1 if the given frame contains the given PN. */
int ossl_quic_frame_ack_contains_pn(const OSSL_QUIC_FRAME_ACK *ack, QUIC_PN pn);
/* QUIC Frame: STREAM */
typedef struct ossl_quic_frame_stream_st {
uint64_t stream_id; /* Stream ID */
......
......@@ -15,6 +15,18 @@
OSSL_SAFE_MATH_UNSIGNED(uint64_t, uint64_t)
int ossl_quic_frame_ack_contains_pn(const OSSL_QUIC_FRAME_ACK *ack, QUIC_PN pn)
{
size_t i;
for (i = 0; i < ack->num_ack_ranges; ++i)
if (pn >= ack->ack_ranges[i].start
&& pn <= ack->ack_ranges[i].end)
return 1;
return 0;
}
/*
* QUIC Wire Format Encoding
* =========================
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册