Hugo Landau
64aa8eaf12
Miscellaneous updates
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:41 +10:00
Hugo Landau
e4c2988dc5
Multi-Stream API
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:41 +10:00
Hugo Landau
aef2496127
QUIC API: More minor tweaks
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:06 +10:00
Hugo Landau
0a3fb1fb05
QUIC API: Minor tweaks
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:06 +10:00
Hugo Landau
b7956859cc
QUIC API Overview: Add SSL API triage list
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:06 +10:00
Hugo Landau
9532c51759
QUIC API: Shutdown handling, etc.
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:06 +10:00
Hugo Landau
88e3a640d9
QUIC API Overview: Add Q&A, minor fixes
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:06 +10:00
Hugo Landau
5c0356a240
QUIC API Overview Design Document
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19769 )
2023-06-28 08:05:06 +10:00
Dimitri Papadopoulos
6ea4da6e4d
Fix new typos found by codespell
...
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21210 )
2023-06-18 16:53:09 +10:00
Hugo Landau
5633a323df
QUIC Glossary: TXKU, RXKU, KU
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21029 )
2023-06-16 09:26:27 +10:00
Dimitri Papadopoulos
eb4129e12c
Fix typos found by codespell
...
Typos in doc/man* will be fixed in a different commit.
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20910 )
2023-06-15 10:11:46 +10:00
Hugo Landau
2b5427027b
QUIC Glossary: Add QCTX
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20856 )
2023-05-24 10:34:54 +01:00
Tomas Mraz
95d3c148ca
Initial design for error handling in QUIC
...
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20857 )
2023-05-18 13:24:05 +02:00
Hugo Landau
1c44ed7bd3
QUIC CC: Update CC design document
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20423 )
2023-05-01 11:03:54 +01:00
Hugo Landau
90699176b0
QUIC CC: Major revisions to CC abstract interface
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20423 )
2023-05-01 11:03:54 +01:00
Hugo Landau
0af6523ead
QUIC Glossary
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20803 )
2023-04-27 12:58:48 +10:00
Hugo Landau
c48cc764ed
QUIC I/O Architecture Design: Minor updates
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19770 )
2023-04-26 15:59:37 +01:00
Hugo Landau
dda864793e
QUIC I/O Architecture Design: Add block diagram, tweak wording
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19770 )
2023-04-26 15:59:37 +01:00
Hugo Landau
aed7082419
QUIC I/O Architecture Design Document
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19770 )
2023-04-26 15:59:37 +01:00
Hugo Landau
9cf091a3c5
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 )
2023-03-30 11:14:16 +01:00
Hugo Landau
27c49c06f1
QUIC Thread Assisted Mode: Add design document
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20348 )
2023-03-30 11:14:09 +01:00
Matt Caswell
0c593328fe
Add a simple QUIC test for blocking mode
...
We create "real" sockets for blocking mode so that we can block on them.
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20514 )
2023-03-20 09:35:55 +11:00
Matt Caswell
55ff8fb4ed
Design for the Fault Injector
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19877 )
2023-01-31 11:34:15 +11:00
Hugo Landau
e2212b20bc
QUIC ACKM: Rework probe reporting to allow use for bookkeeping
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19925 )
2023-01-30 09:44:59 +01:00
Hugo Landau
81b6b43c4a
QUIC: Minor comment and editorial fixes
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19703 )
2023-01-13 13:20:22 +00:00
Hugo Landau
97c5c52d6c
QUIC Congestion Control: API to determine deadline at which more credit will be available
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19703 )
2023-01-13 13:20:09 +00:00
Semen Zhydenko
a53d4f83fc
Fixed typos in documentation and comments
...
Fixed typo: accomodate -> accommodate
Fixed typo: analagous -> analogous
Fixed typo: auxilliary -> auxiliary
Fixed typo: eigth -> eighth
Fixed typo: explotation -> exploitation
Fixed typo: originaly -> originally
Fixed typo: simplier -> simpler
Fixed typo: sucessful -> successful
Fixed typo: recievers -> receivers
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19977 )
2023-01-04 12:53:05 +01:00
Hugo Landau
269ad8d571
QUIC Connection State Machine Design Document
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19452 )
2022-12-03 08:14:28 +00:00
Hugo Landau
a73078b79f
QUIC TX Packetiser and Streams Mapper
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19346 )
2022-11-24 08:15:20 +00:00
Matt Caswell
88113f5dc6
Design document for the QUIC-TLS integration
...
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19683 )
2022-11-21 09:53:22 +00:00
Matt Caswell
48cc4e0c20
Update the record layer design based on implementation experience
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17969 )
2022-11-18 07:02:55 +00:00
Matt Caswell
14b54475d1
Add a record layer design document
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17969 )
2022-11-18 07:02:44 +00:00
Tomas Mraz
6f3072212c
Update Stream Receive Buffers design document with implementation details
...
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19351 )
2022-11-14 08:01:58 +00:00
Hugo Landau
0ede517cfa
QUIC FIFD
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19206 )
2022-11-07 18:18:05 +00:00
Hugo Landau
66a6659a24
QUIC Frame-in-Flight Manager Design
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19206 )
2022-11-07 18:18:04 +00:00
Tomas Mraz
fb8bdbe3eb
Add design document for the QUIC Stream Receive Buffers module
...
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19149 )
2022-10-07 20:01:18 +02:00
Richard Levitte
45ada6b92b
Change all references to OpenSSL 3.1 to OpenSSL 3.2 in the master branch
...
3.1 has been decided to be a FIPS 140-3 release, springing from the branch
openssl-3.0, and the master branch to continue with the development of
OpenSSL 3.2.
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19350 )
2022-10-07 10:05:50 +02:00
Hugo Landau
508e087c4c
QUIC Flow Control
...
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19040 )
2022-09-26 08:01:55 +01:00
Richard Levitte
9be2693438
Extend the RX Depacketizer frame table with what packet types they are valid in
...
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 )
2022-09-23 17:55:03 +02:00
Richard Levitte
d5ab48a192
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 )
2022-09-23 17:48:54 +02:00
Pauli
538ee4e097
Add design document for the QUIC connection ID cache.
...
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18824 )
2022-09-23 11:30:02 +01:00
Pauli
4efc969852
update overview with a note about many to one connection ID cache
...
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18824 )
2022-09-23 11:29:58 +01:00
Pauli
fabce8090c
design: TX Packetiser
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18570 )
2022-09-13 21:22:25 +10:00
Tomas Mraz
891b639377
Initial congestion control API design
...
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18018 )
2022-09-07 08:32:37 +01:00
Tomas Mraz
6347b86778
Add design requirements for QUIC packet demuxer
...
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18249 )
2022-08-29 11:44:27 +02:00
Hugo Landau
fa4e92a70a
QUIC ACK Manager, Statistics Manager and Congestion Control API
...
This is the initial implementation of the ACK Manager for OpenSSL's QUIC
support, with supporting design documentation and tests.
Because the ACK Manager also depends on the Statistics Manager, it is
also implemented here. The Statistics Manager is quite simple, so this
does not amount to a large amount of extra code.
Because the ACK Manager depends on a congestion controller, it adds a
no-op congestion controller, which uses the previously workshopped
congestion control API.
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18676 )
2022-08-24 14:05:46 +01:00
Richard Levitte
42a0817d5f
Rename "RX Frame Handler" to "RX Depacketizer" in the overview
...
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18610 )
2022-08-18 07:38:37 +02:00
Richard Levitte
d7fed97e37
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 )
2022-08-18 07:38:37 +02:00
Tomas Mraz
b4ba4c8ee8
Add the LibreOffice Draw source for the QUIC overview graph
...
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18745 )
2022-07-11 09:59:59 +10:00
Hugo Landau
b80395efc9
Add dgram API discussion
...
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18210 )
2022-06-22 11:49:49 +10:00