#
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
3e5a47d4 |
| 18-Apr-2023 |
Hugo Landau |
QUIC Dispatch: Add simple way to determine if SSL object is QUIC-related Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https:/
QUIC Dispatch: Add simple way to determine if SSL object is QUIC-related 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 ...
|
#
f8636c7e |
| 18-Apr-2023 |
Hugo Landau |
QUIC Dispatch: Introduce the QUIC_XSO object The QUIC_XSO (external stream object) is to a QUIC stream what a QUIC_CONNECTION is to a QUIC connection. Both are SSL objects. The QUIC_
QUIC Dispatch: Introduce the QUIC_XSO object The QUIC_XSO (external stream object) is to a QUIC stream what a QUIC_CONNECTION is to a QUIC connection. Both are SSL objects. The QUIC_CONNECTION type is the internal representation of a QUIC connection SSL object (QCSO) and the QUIC_XSO type is the internal representation of a QUIC stream SSL object (QSSO) type. The name QUIC_XSO has been chosen to be distinct from the existing QUIC_STREAM type which is our existing internal stream type. QUIC_XSO is to a QUIC_STREAM what QUIC_CONNECTION is to a QUIC_CHANNEL; in other words, QUIC_CONNECTION and QUIC_XSO objects form part of the API personality layer, whereas QUIC_CHANNEL and QUIC_STREAM objects form part of the QUIC core and are distinct from the API personality layer. 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 ...
|
#
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 ...
|
#
c4208a6a |
| 23-Feb-2023 |
Hugo Landau |
QUIC Thread Assisted Mode: Fix typos and use of CRYPTO_RWLOCK type Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://githu
QUIC Thread Assisted Mode: Fix typos and use of CRYPTO_RWLOCK type 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 ...
|
#
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 ...
|
#
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 ...
|
#
e8043229 |
| 13-Dec-2022 |
Hugo Landau |
QUIC: Refine SSL_shutdown and begin to implement SSL_shutdown_ex Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.
QUIC: Refine SSL_shutdown and begin to implement SSL_shutdown_ex Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19897)
show more ...
|
#
2723d705 |
| 18-Nov-2022 |
Matt Caswell |
Replace use of the Dummy Handshake Layer with the real one We start using the QUIC TLS implementation rather than the dummy one. Reviewed-by: Hugo Landau <hlandau@openssl.org> R
Replace use of the Dummy Handshake Layer with the real one We start using the QUIC TLS implementation rather than the dummy one. Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19748)
show more ...
|
#
22d53c88 |
| 17-Nov-2022 |
Hugo Landau |
QUIC Front-End I/O API Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19703)
|
#
a17c713a |
| 26-Oct-2022 |
Tomas Mraz |
Plug the QUIC_RSTREAM to the RX depacketizer Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/opens
Plug the QUIC_RSTREAM to the RX depacketizer Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19351)
show more ...
|
#
d5ab48a1 |
| 06-Sep-2022 |
Richard Levitte |
Move the QUIC_CONNECTION typedef to internal headers Also add internal functionality to get a QUIC_CONNECTION pointer from an SSL pointer, and setters / getters for the GQX and ACKM fiel
Move the QUIC_CONNECTION typedef to internal headers Also add internal functionality to get a QUIC_CONNECTION pointer from an SSL pointer, and setters / getters for the GQX and ACKM fields. Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18838)
show more ...
|
#
f0131dc0 |
| 29-Aug-2022 |
Pauli |
ssl: modify libssl so that it uses OSSL_TIME This is instead of time_t and struct timeval. Some public APIs mandate a presence of these two types, but they are converted to OSSL_TIME in
ssl: modify libssl so that it uses OSSL_TIME This is instead of time_t and struct timeval. Some public APIs mandate a presence of these two types, but they are converted to OSSL_TIME internally. Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19082)
show more ...
|
#
d7fed97e |
| 20-Jun-2022 |
Richard Levitte |
RX depacketizer (QUIC) The same-ish module as the TX packetizer, handling the opposite direction. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Matt Caswell <matt@open
RX depacketizer (QUIC) The same-ish module as the TX packetizer, handling the opposite direction. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18610)
show more ...
|
#
38b051a1 |
| 20-Jun-2022 |
Tomas Mraz |
SSL object refactoring using SSL_CONNECTION object Make the SSL object polymorphic based on whether this is a traditional SSL connection, QUIC connection, or later to be implemented
SSL object refactoring using SSL_CONNECTION object Make the SSL object polymorphic based on whether this is a traditional SSL connection, QUIC connection, or later to be implemented a QUIC stream. It requires adding if after every SSL_CONNECTION_FROM_SSL() call which itself has to be added to almost every public SSL_ API call. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18612)
show more ...
|
#
08e49012 |
| 16-May-2022 |
Tomas Mraz |
Add a test_ssl_new testcase This requires some code being pulled into the empty protocol implementation so the state machinery works. Reviewed-by: Matt Caswell <matt@openssl.org
Add a test_ssl_new testcase This requires some code being pulled into the empty protocol implementation so the state machinery works. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18307)
show more ...
|
#
e44795bd |
| 13-May-2022 |
Tomas Mraz |
First working empty protocol test Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18307)
|
#
99e1cc7b |
| 13-May-2022 |
Tomas Mraz |
Add empty implementations of quic method functions Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/ope
Add empty implementations of quic method functions Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18307)
show more ...
|