[openssl/openssl] c2e0cb: quic: move the RXE definition to a local header
"'Jakub Zelenka' via openssl-commits" <[email protected]>
| Newsgroups | gmane.comp.encryption.openssl.cvs |
|---|---|
| Message-ID | <openssl/openssl/push/refs/heads/master/[email protected]> |
Branch: refs/heads/master
Home: https://github.com/openssl/openssl
Commit: c2e0cbdd8e2467231c5c5216240435af9ba10c91
https://github.com/openssl/openssl/commit/c2e0cbdd8e2467231c5c5216240435af9ba10c91
Author: Jakub Zelenka <[email protected]>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M ssl/quic/quic_record_rx.c
A ssl/quic/quic_record_rx_local.h
Log Message:
-----------
quic: move the RXE definition to a local header
The RXE structure carries the reference count of a received packet and
embeds the OSSL_QRX_PKT handed out to the users of the QRX as its first
member. It is defined in quic_record_rx.c, so a test that wants to build
a packet without a QRX behind it cannot allocate one or look at its
reference count, and would have to guess the size of the structure and
the offset of the fields it needs.
Move the definition to a local header, following the other local headers
in ssl/quic, so that a test can include it and construct a packet of its
own rather than the library having to provide a constructor for it.
Assisted-by: Claude:claude-opus-5
Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Saša Nedvědický <[email protected]>
MergeDate: Fri Aug 28 14:03:45 2026
(Merged from https://github.com/openssl/openssl/pull/32515)
Commit: e9b031b1bcb3991b848446458093683adc261dbb
https://github.com/openssl/openssl/commit/e9b031b1bcb3991b848446458093683adc261dbb
Author: Jakub Zelenka <[email protected]>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M test/quic_stream_test.c
Log Message:
-----------
test: cover the packet pinning path of QUIC stream reassembly
Until now every rstream test queued data with a NULL packet, so the
production path where received chunks pin their OSSL_QRX_PKT via
reference counting was never exercised by any unit test. A NULL packet
is never passed in production, so the tests now always queue data in a
mock packet rather than toggling it.
Have test_rstream_simple and test_rstream_random queue every frame in a
mock packet, and add a new test_rstream_pkt which asserts the reference
counting behaviour directly: references held while chunks are buffered,
shared packets referenced once per frame, references released when frames
are consumed, dropped by overlapping frames, moved to the ring buffer or
freed with the stream, and cleansing of a packet backed chunk wiping
exactly the chunk data.
Assisted-by: Claude:claude-fable-5
Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Saša Nedvědický <[email protected]>
MergeDate: Fri Aug 28 14:03:46 2026
(Merged from https://github.com/openssl/openssl/pull/32515)
Commit: 4ffef6491996fc4aab919ea8a6bc05f7aaa15b33
https://github.com/openssl/openssl/commit/4ffef6491996fc4aab919ea8a6bc05f7aaa15b33
Author: Jakub Zelenka <[email protected]>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M test/quic_stream_test.c
Log Message:
-----------
test: cover a long lagging read of packet backed stream data
Queue many small contiguous frames that each pin their own packet while
the reader stays behind, so a large number of packets are held at once and
then released as the data is finally consumed. This exercises the packet
reference lifecycle at a scale the other tests do not reach, and gives a
reassembly that copies data out of packets under memory pressure something
to run against.
Assisted-by: Claude:claude-opus-4-8
Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Saša Nedvědický <[email protected]>
MergeDate: Fri Aug 28 14:03:47 2026
(Merged from https://github.com/openssl/openssl/pull/32515)
Commit: 6b2ced985e6c6305431888aef532b5de625ea02e
https://github.com/openssl/openssl/commit/6b2ced985e6c6305431888aef532b5de625ea02e
Author: Jakub Zelenka <[email protected]>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M test/quic_stream_test.c
Log Message:
-----------
test: reassemble small out of order frames and check the bytes
Deliver a buffer as small packet backed frames in a random order with
overlapping retransmits, each carrying its own copy of its bytes, then
read it back and compare. The random order drives insertion at the head,
the tail and the middle of the reassembly, and the frame size is swept
across the boundary where a design may change how it stores a chunk, so
short frames and their overlaps are exercised in every combination with
and without cleanse. It passes on the current implementation and would
catch a reassembly that mishandles any of those.
Assisted-by: Claude:claude-opus-4-8
Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Saša Nedvědický <[email protected]>
MergeDate: Fri Aug 28 14:03:49 2026
(Merged from https://github.com/openssl/openssl/pull/32515)
Compare: https://github.com/openssl/openssl/compare/b350fb268564...6b2ced985e6c
To unsubscribe from these emails, change your notification settings at https://github.com/openssl/openssl/settings/notifications
--
You received this message because you are subscribed to the Google Groups "openssl-commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-commits/openssl/openssl/push/refs/heads/master/b350fb-6b2ced%40github.com.