Andrew Dinh [Thu, 12 Dec 2024 15:28:52 +0000 (09:28 -0600)]
Encrypt the address validation token
Store an EVP_CIPHER_CTX context with an ephemeral key set in port
and use it to encrypt/decrypt the validation token.
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26165)
Neil Horman [Thu, 12 Dec 2024 14:40:29 +0000 (09:40 -0500)]
modify docker endpoint to not do address validation on transfer test
quic interop uses the transfer test as part of the amplificationlimit
test, and as such we can't do address validation with retry frames
there, as the test requires it
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26178)
Neil Horman [Wed, 4 Dec 2024 21:12:02 +0000 (16:12 -0500)]
Clarify that this validation only relates to retry packets
Disabling server address validation here only relates to new connections
that arrive without a token. Future connections using tokens provided
by the server via NEW_TOKEN frames will still be validated
Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26114)
Neil Horman [Wed, 4 Dec 2024 14:25:12 +0000 (09:25 -0500)]
Add a public flag to disable address validation on listeners
Now that we have the infrastructure to skip address validation, add a
public flag to SSL_new_listener and SSL_new_listener_from to allow the
skipping of address validation on selected quic listener SSL objects
Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26114)
Arrange the logic:
SSL_poll() without SSL_POLL_FLAG_NO_HANDLE_EVENT ticks for each stream
we have in SSL_poll() that prevents the server logic to get all events
Use SSL_poll() with SSL_POLL_FLAG_NO_HANDLE_EVENT and
SSL_handle_events() prevents the problem.
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25859)
Andrew Dinh [Wed, 27 Nov 2024 20:35:16 +0000 (12:35 -0800)]
Augment RETRY validation token
Adds fields to the QUIC RETRY packet validation token:
timestamp, remote_addr, odcid, & rscid.
Also adds functionality to validate the token once returned by the client.
Note that this does not encrypt the token yet.
Also check that the RSCID stored in the RETRY validation
token matches the DCID in the header.
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26048)
Neil Horman [Mon, 11 Nov 2024 22:12:19 +0000 (17:12 -0500)]
Augment quic interop harness to support server side interop tests
the quic-interop-runner that we use for interop testing currently only
supports openssl client testing, as we had previously not had a server
to test with.
This PR rectifies that by doing the following:
1) Adding a quic-hq-interop-server.c file in demos/guide
2) Augmenting our interop Dockerfile and entrypoint to support our
interop containter running in a server role
With these changes we are able to do server side interop testing
Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26000)
Matt Caswell [Tue, 26 Nov 2024 12:36:52 +0000 (12:36 +0000)]
Add the ablity to set a local address for BIO_dgram_pair
BIOs created from a BIO_dgram_pair don't normally have a local BIO_ADDR
associated with them. This allows us to set one.
Fixes openssl/project#933
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26066)
Neil Horman [Fri, 15 Nov 2024 19:32:56 +0000 (14:32 -0500)]
Fixup tests to properly check version negotiation
Currently the quic_multistream_test tests version negotiation..sort of.
It uses a packet injector to force the tserver to send a version
negotiation packet back to the client. Thats no longer needed as the
server will respond to an invalid version properly.
So alter script_74 to, instead of using the injector, use a quic channel
mutator to invalidate the version provided in the initial packet. Then
we attempt to connect. If the server responds with a version
negotiation packet and the client restarts with the proper version, then
the test passes, as the connection is extablished.
Also, while we're in here, update the gen_version_neg function to
properly insert a 0 version into the packet header for script_75, as
version negotiation packets require that to be set, otherwise script_75
will fail now when the server notices this discrepancy.
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25968)
Neil Horman [Fri, 15 Nov 2024 19:31:36 +0000 (14:31 -0500)]
Handle the receipt of version negotiation packets
On the client side, when we get a version negotiation packet, we need to
interrogate the supported version list from the server, and either:
1) drop the connection if we don't see a version we can work with
2) select a supported version and try the negotiation again
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25968)
Neil Horman [Fri, 15 Nov 2024 19:09:16 +0000 (14:09 -0500)]
Add port version negotiation response from server
If the server receives an Initial packet with a version number we don't
support (currently a fixed check for QUIC_VERSION_1), instead of
dropping it, respond with a version negotiation packet to the peer
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25968)
Neil Horman [Fri, 15 Nov 2024 18:55:05 +0000 (13:55 -0500)]
Allow packetizer to accept an arg to set protocol version
In preparation for doing version negotiation, expose the ability to have
the packetiser for QUIC set a configured protocol version. We only set
it to QUIC_VERSION_1 for now, but it allows for us to set different
protocols in the future.
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25968)
Neil Horman [Fri, 15 Nov 2024 18:34:37 +0000 (13:34 -0500)]
Augment ossl_quic_wire_decode_pkt_hdr
In preparation for supporting the handling of version negotiation, we
need to be able to detect why the decoding of quic header failed.
Specifically, ossl_quic_wire_decode_pkt_hdr fails if the version
provided in the header isn't QUIC_VERSION_1. We want to keep that, as
we don't support anything else, but the server code needs to
differentiate when we fail decode because of a version problem, vs some
other more fatal malforming issue.
So add a uint64_t *fail_cause pointer that gets filled out with a
failure cause. We only use VERSION failures right now, but we can
expand this later if needed
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25968)
Neil Horman [Thu, 7 Nov 2024 14:34:29 +0000 (09:34 -0500)]
Include RETRY_CID transport parameter when handling retried connection
After sending a retry frame from a server, the subsequent server hello
record must include the RETRY_SCID transport parameter, as per RFC 9000:
https://datatracker.ietf.org/doc/html/rfc9000#section-7.3
Implement the encoding of said retry_source_connection_id transport
param, and fix up tests to address the impact of that change. Test
changes amount to:
1) quicapitest needs to have its tparam test augmented such that it
doesn't inject the retry_scid on its own, as the quic stack does it
for the test now
2) quicapitest needs to have the ssl_trace test adjusted so the expected
record values are reflected.
Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25890)
Neil Horman [Wed, 6 Nov 2024 13:47:04 +0000 (08:47 -0500)]
Select proper ORIG_DCID when sending server hello over quic
When establishing a connection over quic, if the channel is established
in response to a retry request from the server, the ORIG_DCID transport
parameter must reflect the original dcid sent from the client in the
first inital packet that the server sent the retry request in response
to.
As opposed to establishing a connection without the retry request, when
address validation isn't in use, where the ORIG_DCID parameter just
represents the the dcid that the client sent.
Augment the channel creation code to select the 'right' DCID when
encoding server side transport parameters
Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25890)
Neil Horman [Tue, 5 Nov 2024 21:25:25 +0000 (16:25 -0500)]
Generate initial packet keys based on new dcid for addr validation
When using retry packets in QUIC to implement address validation, the
2nd inital packet that arrives after the server sends the retry frame
will have its CRYPTO packet encrypted using keys derived from the new
dcid, rather than the dcid in the 1st initial packet. Update the
channel creation code to update those keys on the server so that the
CRYPTO packet is decrypted successfully
Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25890)
Saša Nedvědický [Tue, 5 Nov 2024 21:15:55 +0000 (16:15 -0500)]
Implement Server Address validation using retry packets
RFC 9000 describes a method for preforming server address validation on
QUIC using retry packets. Based on:
https://datatracker.ietf.org/doc/html/rfc9000#section-17.2.5.2
We do the following:
1) Client sends an Initial packet without a retry token
2) Server abandons the initial packet and responds with a retry frame
which includes a retry token and integrity tag and new SCID
3) Client send the initial packet again, updating the encryption keys
for the connection based on the SCID sent in (2), using it as the new
DCID, including the retry token/tag provided in (2).
4) Server validates the token in (3) and creates a new connection using
the updated DCID from the client to generate its encryption keys
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25890)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC: Update SSL_poll documentation
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC: Glossary updates
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC RADIX: Use enhanced blocking support when testing
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC RADIX: Test listener polling support
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC RADIX: Test new SSL_poll functionality
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC MULTISTREAM TEST: Remove test that blocking SSL_poll doesn't work
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
RIO: Amend SSL_poll code to correctly register blocking operations for inter-thread notification
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC POLLING: Add support for polling listeners
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
RIO: Amend SSL_poll to support blocking on QUIC objects
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
RIO: Add poll builder to support immediate-mode polling API
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC APL: Add support for registering blocking operations to support polling code
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC REACTOR: Add utility for tracking recursive blocking operations
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Hugo Landau [Mon, 13 May 2024 19:20:23 +0000 (20:20 +0100)]
QUIC REACTOR: Add support for external registration of blocking operations
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25416)
Andrew Dinh [Wed, 11 Sep 2024 10:54:53 +0000 (17:54 +0700)]
Add demo QUIC non-blocking server
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25431)
Matt Caswell [Wed, 9 Oct 2024 10:31:46 +0000 (11:31 +0100)]
Use the reactor from ctx.obj for net read/write desired implementations
The ossl_quic_get_net_write_desired() and
ossl_quic_reactor_net_read_desired() implementations can be used by
listeners. But in that case there is no ctx.qc object present. Instead we
should use the reactor from ctx.obj which will work also for a listener.
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25642)
Matt Caswell [Thu, 12 Sep 2024 14:05:59 +0000 (15:05 +0100)]
Always tick the QUIC_ENGINE regardless of the state of a connection
Just because one connection has not started yet, it does not mean that
we should not tick the QUIC_ENGINE. There may be other connections that do
need ticking.
Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25452)
Andrew Dinh [Mon, 23 Sep 2024 06:25:24 +0000 (23:25 -0700)]
Add a guide for demo QUIC blocking server
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25361)
Matt Caswell [Fri, 13 Sep 2024 15:25:46 +0000 (16:25 +0100)]
Remove an obsolete comment
The comment is no longer accurance so it can be removed
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25457)
Matt Caswell [Fri, 13 Sep 2024 15:00:22 +0000 (16:00 +0100)]
Simplify the QUIC time override handling
Centralise the storage of the override in the QUIC_ENGINE rather than in
the QUIC_CONNECTION. We can now set the override on any type of QUIC SSL
object as needed.
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25457)
Viktor Dukhovni [Wed, 11 Sep 2024 09:44:43 +0000 (19:44 +1000)]
Handle a couple of NULL QUIC ctx.qc values
Now that we also QUIC server (listener) handles, we may have a NULL quic
connection (ctx.qc), and so need to either return early or handle the
NULL `qc` gracefully.
Reviewed-by: Sasa Nedvedicky <sashan@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25432)
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 13 May 2024 18:22:10 +0000 (19:22 +0100)]
Minor fix for Windows
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 29 Apr 2024 11:36:21 +0000 (12:36 +0100)]
QUIC RADIX: Test domain functions as well
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 29 Apr 2024 11:36:01 +0000 (12:36 +0100)]
QUIC: Add basic domain flags test
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 29 Apr 2024 11:35:39 +0000 (12:35 +0100)]
Assorted bugfixes
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 29 Apr 2024 09:52:32 +0000 (10:52 +0100)]
Doc fixes
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 29 Apr 2024 09:24:30 +0000 (10:24 +0100)]
Allow use of socketpair, WSASocketA
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 29 Apr 2024 09:20:39 +0000 (10:20 +0100)]
Minor fixes
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Mon, 29 Apr 2024 09:13:56 +0000 (10:13 +0100)]
RIO NOTIFIER: Fix symbol usage
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 12:52:26 +0000 (13:52 +0100)]
QUIC OBJ: Require blocking support in the domain flags to use blocking mode
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 09:04:25 +0000 (10:04 +0100)]
make update
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 12:22:49 +0000 (13:22 +0100)]
QUIC: Update listener documentation
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 12:20:44 +0000 (13:20 +0100)]
QUIC: Add documentation on concurrency model
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 12:17:06 +0000 (13:17 +0100)]
QUIC: Document SSL_new_domain, etc.
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 12:01:44 +0000 (13:01 +0100)]
QUIC APL: Refine domain flag handling
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 11:47:18 +0000 (12:47 +0100)]
QUIC CHANNEL: Notify other threads when needed
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 11:46:34 +0000 (12:46 +0100)]
QUIC REACTOR: Allow ticks to schedule notifications of other threads
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 11:26:40 +0000 (12:26 +0100)]
QUIC ENGINE: Notify when ticking
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 11:24:22 +0000 (12:24 +0100)]
QUIC REACTOR: Inter-thread notification
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 10:02:11 +0000 (11:02 +0100)]
QUIC APL: Default domain flags
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 09:53:54 +0000 (10:53 +0100)]
QUIC REACTOR: Integrate RIO NOTIFIER
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
Hugo Landau [Wed, 24 Apr 2024 09:53:43 +0000 (10:53 +0100)]
RIO: Add OS notifier
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)