#
8a90df34 |
| 18-Apr-2023 |
Hugo Landau |
QUIC DISPATCH/APL: Add SSL_set_incoming_stream_reject_policy (unwired) Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://g
QUIC DISPATCH/APL: Add SSL_set_incoming_stream_reject_policy (unwired) Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
8b7be3aa |
| 18-Apr-2023 |
Hugo Landau |
QUIC DISPATCH/APL: Implement SSL_set_default_stream_mode, default XSO refactor Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from h
QUIC DISPATCH/APL: Implement SSL_set_default_stream_mode, default XSO refactor Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
19cb0887 |
| 18-Apr-2023 |
Hugo Landau |
QUIC DISPATCH/APL: Implement SSL_get_stream_id Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openss
QUIC DISPATCH/APL: Implement SSL_get_stream_id Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
1bca3f1b |
| 18-Apr-2023 |
Hugo Landau |
QUIC DISPATCH/APL: Implement SSL_get_stream_type Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/open
QUIC DISPATCH/APL: Implement SSL_get_stream_type Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
020d0389 |
| 18-Apr-2023 |
Hugo Landau |
QUIC DISPATCH/APL: Implement SSL_get0_connection Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/open
QUIC DISPATCH/APL: Implement SSL_get0_connection Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
21c80696 |
| 18-Apr-2023 |
Hugo Landau |
QUIC APL: Defer default XSO creation QUIC in single-stream mode could be used with a protocol where the server writes first or the client writes first. This determines whether the si
QUIC APL: Defer default XSO creation QUIC in single-stream mode could be used with a protocol where the server writes first or the client writes first. This determines whether the single stream would be client or server initiated, which affects the stream ID allocated to the stream. We should support both client-sends-first and server-sends-first application protocols. Thus, defer default XSO creation until the point in time at which we know whether a client-first or server-first application protocol is being used. We do this by taking whether SSL_read() or SSL_write() is called first as a cue. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
f20fdd16 |
| 18-Apr-2023 |
Hugo Landau |
QUIC CHANNEL: Handle incoming remotely-created streams Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openss
QUIC CHANNEL: Handle incoming remotely-created streams Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
2dbc39de |
| 18-Apr-2023 |
Hugo Landau |
QUIC APL: Add stream creation APIs Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
|
#
cb5c208b |
| 18-Apr-2023 |
Hugo Landau |
QUIC APL: Refactor stream-related code into QUIC_XSO object Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/o
QUIC APL: Refactor stream-related code into QUIC_XSO object Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
23c04709 |
| 18-Apr-2023 |
Hugo Landau |
QUIC APL: Create QUIC CHANNEL up front rather than deferring creation We switch to instantiating the QUIC_CHANNEL up front at QCSO instantiation time. This creates the QUIC_STREAM_MAP ea
QUIC APL: Create QUIC CHANNEL up front rather than deferring creation We switch to instantiating the QUIC_CHANNEL up front at QCSO instantiation time. This creates the QUIC_STREAM_MAP early and makes it easy for us to allocate streams prior to connection initiation. The role (client or server) is determined at QCSO allocation time and cannot be changed. SSL_set_connect/accept_state() are still modelled but their usage must be consistent with the chosen SSL_METHOD which dictates which role is being used. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
dfb9ae14 |
| 18-Apr-2023 |
Hugo Landau |
QUIC: Base client/server identity on SSL method, not SSL_set_connect/accept_state In QUIC, we have an architectural need (in future, when we implement 0-RTT, etc.) to be able to create s
QUIC: Base client/server identity on SSL method, not SSL_set_connect/accept_state In QUIC, we have an architectural need (in future, when we implement 0-RTT, etc.) to be able to create streams before we start connecting. This requires we allocate a stream, including a stream ID, after creating a QCSO but prior to connecting. However stream IDs are dependent on whether the endpoint is in the client or server role, therefore we must know whether we are going to be a client or server before any pre-connection streams are created. Moreover, the originally defined QUIC_client_method() and QUIC_server_method() functions heavily implied the original plan was to have different SSL_METHODs for clients and servers. Up until now we had been relying on SSL_set_connect/accept_state() instead. Solve these problems by basing client/server identity on whether QUIC_server_method() is used (in future, when we support servers). This ensures that once a QCSO is created its client/server identity are fixed and cannot change, allowing pre-connection stream IDs, etc. to be allocated. Client/server uncertainty was the primary reason why QUIC_CHANNEL creation was deferred until connection time up until now, so this enables further refactoring to facilitate eager allocation of the QUIC_CHANNEL at QCSO allocation time. This is important as allocating a stream including its write buffers is hard without having the QUIC_CHANNEL (which owns the QUIC_STREAM_MAP) in existence. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
072328dd |
| 18-Apr-2023 |
Hugo Landau |
QUIC Dispatch: Refactor APL interface to use SSL pointers not QC pointers We now refactor the interface between ssl_lib.c frontend functions and the QUIC API Personality Layer so that th
QUIC Dispatch: Refactor APL interface to use SSL pointers not QC pointers We now refactor the interface between ssl_lib.c frontend functions and the QUIC API Personality Layer so that the respective functions comprising the interface use SSL object pointers rather than raw QUIC_CONNECTION pointers. This is in preparation for stream support since once streams are supported, calls to e.g. ossl_quic_write() may be made on a QUIC_CONNECTION or a QUIC_XSO (that is, a stream object). Thus we take a uniform approach across all functions comprising the interface between the ssl_lib.c frontend and the QUIC API Personality Layer of using SSL pointers always. This provides a uniform approach and ensures that any function of the API personality layer can be easily adapted to support being called on a stream object in the future. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
e88cdb8e |
| 18-Apr-2023 |
Hugo Landau |
QUIC Dispatch: Enhance SSL object unwrapping functions (core) Uniform changes to all dispatch functions to use the new dispatch functionality follows this commit. Separated into a core c
QUIC Dispatch: Enhance SSL object unwrapping functions (core) Uniform changes to all dispatch functions to use the new dispatch functionality follows this commit. Separated into a core commit and a commit containing the uniform pattern (monotonous) changes for ease of review. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
show more ...
|
#
5129e594 |
| 24-Mar-2023 |
Hugo Landau |
QUIC: Ensure locking when injecting datagrams Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl
QUIC: Ensure locking when injecting datagrams Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
9cf091a3 |
| 21-Mar-2023 |
Hugo Landau |
QUIC Thread Assisted mode: miscellaneous fixes Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openss
QUIC Thread Assisted mode: miscellaneous fixes Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
20f45743 |
| 23-Feb-2023 |
Hugo Landau |
QUIC Thread Assisted Mode: Refactor locking to be infallible Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/
QUIC Thread Assisted Mode: Refactor locking to be infallible Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
dbe7b51a |
| 22-Feb-2023 |
Hugo Landau |
Minor fixes to thread assisted mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2034
Minor fixes to thread assisted mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
3b1ab5a3 |
| 21-Feb-2023 |
Hugo Landau |
Enhance quic_tserver test to fully test thread assisted mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/
Enhance quic_tserver test to fully test thread assisted mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
b212d554 |
| 21-Feb-2023 |
Hugo Landau |
QUIC CHANNEL: Allow time source to be overridden Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/open
QUIC CHANNEL: Allow time source to be overridden Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
ffce2946 |
| 21-Feb-2023 |
Hugo Landau |
Switch to using ossl_crypto_mutex from CRYPTO_RWLOCK Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/
Switch to using ossl_crypto_mutex from CRYPTO_RWLOCK Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
ccd31037 |
| 21-Feb-2023 |
Hugo Landau |
Add channel-only tick mode and use it for thread assisted mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.co
Add channel-only tick mode and use it for thread assisted mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
f2f7c4f1 |
| 21-Feb-2023 |
Hugo Landau |
Front End for QUIC Thread Assisted Mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/
Front End for QUIC Thread Assisted Mode Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|
#
4a530180 |
| 21-Feb-2023 |
Hugo Landau |
Fix handshake locking Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
|
#
a8489257 |
| 21-Feb-2023 |
Hugo Landau |
Add locking to QUIC front-end Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
|
#
4847599b |
| 21-Feb-2023 |
Hugo Landau |
Move channel mutex out of QUIC_CHANNEL for init/teardown flexibility Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://git
Move channel mutex out of QUIC_CHANNEL for init/teardown flexibility Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20348)
show more ...
|