Hugo Landau
57eee469f7
QUIC APL: Add feature query implementation
...
Fixes https://github.com/openssl/project/issues/412
Fixes https://github.com/openssl/project/issues/415
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23360 )
2024-02-08 16:50:00 +00:00
Hugo Landau
ecff7ca4c1
QUIC CHANNEL: Add idle timeout configuration and stream count APIs
...
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23360 )
2024-02-08 16:50:00 +00:00
Hugo Landau
a774062466
QUIC RXFC: Add accessor for credit
...
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23360 )
2024-02-08 16:50:00 +00:00
Hugo Landau
b58abf9822
QUIC QLOG: Use set0
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:30 +00:00
Hugo Landau
1aeab15f46
QUIC QLOG: Minor doc updates
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:30 +00:00
Hugo Landau
26e4bac4db
QUIC QLOG: Record implementation version
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:30 +00:00
Hugo Landau
6cb0026c63
QUIC QLOG: Allow PID to be overridden
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:30 +00:00
Hugo Landau
572c449a10
QUIC TXP: Allow QLOG instance to be changed after instantiation
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:29 +00:00
Hugo Landau
4a3a9257db
QUIC QTX: Allow QLOG instance to be changed after instantiation
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:29 +00:00
Hugo Landau
484b8bd0f5
QUIC FIFD: Allow QLOG instance to be changed after instantiation
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:29 +00:00
Hugo Landau
de60b122b2
QLOG: Editorial fixes (QLOG is spelled 'qlog')
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:29 +00:00
Hugo Landau
39b9345234
JSON_ENC: Minor tweaks
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:50:03 +00:00
Hugo Landau
5b8f7ae354
QLOG: Remove vestigial abort code
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
29bd1e2d24
QLOG: Minor updates
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
b3706fd7e2
QLOG: JSON Encoder: Rename JSON_ENC
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
5849dbe52e
QLOG: Events: Implement transport:packet_received
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
fff66adfc8
QLOG: Events: Implement transport:packet_sent
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
434d52a4b6
QLOG: Wiring: QUIC QTX
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
fb1a0bb97a
QLOG: Wire title-setting code to QUIC_CHANNEL and SSL_CTX
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
407bcc8d55
QLOG: QUIC CHANNEL: Allow a log title to be specified
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
faf0912a2f
QLOG: Events: Implement recovery:packet_lost
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
40c835dac7
QLOG: Wiring: QUIC TXPIM: Record the packet type
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
3e52878039
QLOG: Wiring: QUIC FIFD
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
285a76bda0
QLOG: Wiring: QUIC QRX: Report the datagram ID from the DEMUX
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
266a827d81
QLOG: Wiring: QUIC DEMUX: Report a monotonically increasing datagram ID
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
a0a3a94912
QLOG: Events: Implement connectivity:connection_closed
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
da6a9a2e33
QLOG: Events: Implement transport:parameters_set
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
8fbac4d70e
QLOG: Events: Implement connectivity:connection_state_updated
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
4cecbc5400
QLOG: Events: Implement connectivity:connection_started
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
2031c0e928
QLOG: Wiring: QUIC CHANNEL
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
00b27f33e6
QLOG: Frontend: Implementation
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
c127e76445
QLOG: Frontend: API Definition
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Hugo Landau
8a123d4342
QLOG: JSON Encoder: Design
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037 )
2024-02-02 11:49:34 +00:00
Neil Horman
d0e1a0ae70
RCU lock implementation
...
Introduce an RCU lock implementation as an alternative locking mechanism
to openssl. The api is documented in the ossl_rcu.pod
file
Read side implementaiton is comparable to that of RWLOCKS:
ossl_rcu_read_lock(lock);
<
critical section in which data can be accessed via
ossl_derefrence
>
ossl_rcu_read_unlock(lock);
Write side implementation is:
ossl_rcu_write_lock(lock);
<
critical section in which data can be updated via
ossl_assign_pointer
and stale data can optionally be scheduled for removal
via ossl_rcu_call
>
ossl_rcu_write_unlock(lock);
...
ossl_synchronize_rcu(lock);
ossl_rcu_call fixup
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22729 )
2024-02-01 08:33:25 -05:00
Matt Caswell
20ddfe78e9
Fix compilation on Windows using icc
...
The parameter list for CRYPTO_DOWN_REF for the icc on windows build was
incorrect.
This issue was introduced by 99fd5b2b10
Fixes #23414
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23415 )
2024-01-31 10:24:50 +00:00
Hugo Landau
113be15a5e
QUIC APL: Implement optimised FIN API
...
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23343 )
2024-01-23 14:20:06 +00:00
Matt Caswell
2cac2feff2
Fix a FreeBSD build failure when KTLS is enabled
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23182 )
2024-01-18 15:20:18 +00:00
Hugo Landau
9eabb30ab4
QUIC RCIDM: Minor updates
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23022 )
2024-01-11 11:16:27 +01:00
Hugo Landau
9575b21851
QUIC RCIDM: Add counters to support RCID count enforcement
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23022 )
2024-01-11 11:14:18 +01:00
Hugo Landau
63f77f0454
QUIC RCIDM: Add RCIDM
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23022 )
2024-01-11 11:14:18 +01:00
Dimitri Papadopoulos
164a541b93
Fix new typos found by codespell
...
Reviewed-by: Paul Yang <kaishen.yy@antfin.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23133 )
2023-12-29 10:12:05 +01:00
Hugo Landau
fdd60dacc4
Minor updates
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
33ca076372
Minor fixes
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
22739cc3ac
QUIC APL, TSERVER: Start using a QUIC_ENGINE object
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
53f78eb721
QUIC ENGINE: Add unused QUIC_ENGINE object
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
ff3a26b24f
QUIC Refactor: Fix ANSI - struct definition duplications
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
4df4add22d
QUIC PORT: Allow errors to be tracked at port level
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
0225d42bce
QUIC PORT: Formalise states of a port
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
6d76d13e54
QUIC DEMUX: Remove obsolete SRT handling code
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:06 +00:00
Hugo Landau
29fbdfafaf
QUIC CHANNEL, LCIDM: Factor duplicate CID generation function
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674 )
2023-12-21 08:12:00 +00:00