aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssl/include/internal/quic_record_rx.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/include/internal/quic_record_rx.h')
-rw-r--r--crypto/openssl/include/internal/quic_record_rx.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/openssl/include/internal/quic_record_rx.h b/crypto/openssl/include/internal/quic_record_rx.h
index 8e0cd6a2c927..24143f91f2f3 100644
--- a/crypto/openssl/include/internal/quic_record_rx.h
+++ b/crypto/openssl/include/internal/quic_record_rx.h
@@ -168,6 +168,17 @@ int ossl_qrx_provide_secret(OSSL_QRX *qrx,
size_t secret_len);
/*
+ * Utility function to update the pn space from a src to a dst qrx.
+ * Occasionally we use a temporary qrx to do packet validation on quic frames
+ * that are not yet associated with a channel, and in the event a validation is
+ * successful AND we allocate a new qrx for the newly created channel, we need
+ * to migrate the largest_pn values recorded in the tmp qrx to the channel qrx.
+ * If we don't then PN decoding fails in cases where the initial PN is a large value.
+ * This function does that migration for us
+ */
+void ossl_qrx_update_pn_space(OSSL_QRX *src, OSSL_QRX *dst);
+
+/*
* Informs the QRX that it can now discard key material for a given EL. The QRX
* will no longer be able to process incoming packets received at that
* encryption level. This function is idempotent and succeeds if the EL has