Benjamin Saunders
f50dd9f54a
Restore NewConnection struct for parts of a connection
...
This enables forwards-compatibility with future extensions such as
a datagram stream.
2019-08-25 14:50:01 -07:00
Dirkjan Ochtman
b70e939893
Upgrade to criterion 0.3
2019-08-25 13:29:44 -07:00
Benjamin Saunders
d8d5a2829a
Improve configuration advice
...
A user reported uncertainty about proceeding without fully
understanding the available options. Quinn tries to be extremely
configurable, so it's important to communicate that most options don't
need to be changed for most applications.
2019-08-19 09:24:42 +02:00
stammw
06d060c0e9
H3: use AsyncRead into the example
2019-08-12 21:21:30 +02:00
stammw
db7a8d3dd3
H3: AsyncRead implementation for recieving body from client
2019-08-12 21:21:30 +02:00
stammw
ded85aa004
H3: reset expected frame size once one have been successfully decoded
2019-08-12 21:21:30 +02:00
Dirkjan Ochtman
01b9d212be
Upgrade to url 2
2019-07-24 21:29:48 +02:00
Benjamin Saunders
fde34da924
Fix panics when a server doesn't issue a stateless reset token
...
Stateless reset tokens are no longer mandatory.
2019-07-23 08:06:03 +02:00
Dirkjan Ochtman
cb4662736b
Check benchmark code in CI
2019-07-22 18:39:45 -07:00
Dirkjan Ochtman
0f9d497b83
Tweak CI config with latest template changes
...
- Run ignored tests, used for slow tests (we used to have this on Travis)
- Run coverage on nightly for now due to (see #336 )
2019-07-22 23:26:49 +02:00
Dirkjan Ochtman
00714f08a8
Add note about platforms CI to README
2019-07-22 07:36:43 -07:00
Dirkjan Ochtman
d2ddc4aede
Use different project for Azure Pipelines
...
In the initial setup, I skimmed too fast over the paragraph that stated that
Azure DevOps projects must be aligned to GitHub organizations/users. Since
I want to use Azure Pipelines for other projects, too, I've reorganized the
setup a bit, which means the badge links need to be updated.
2019-07-22 07:36:43 -07:00
Benjamin Saunders
b9f6c037b5
Quash unused import warning when testing without default features
2019-07-22 08:44:56 +02:00
Benjamin Saunders
4dc90ffbc9
Simplify annotations for test accessors
2019-07-22 08:44:56 +02:00
Benjamin Saunders
475cb60eb3
Don't export VERSION constant
...
It's not clear why downstream code would need this.
2019-07-22 08:44:56 +02:00
Benjamin Saunders
0b3364fe55
Don't panic if a misbehaving peer reuses a reset token
2019-07-22 08:41:04 +02:00
Benjamin Saunders
26abc4bb6e
Replace uses of mem::uninitialized with mem::MaybeUninit
2019-07-22 08:39:47 +02:00
Dirkjan Ochtman
2a29b77c35
Remove Travis configuration
2019-07-21 12:00:53 +02:00
Dirkjan Ochtman
014489ca7d
Change badges from Travis to Azure
2019-07-21 12:00:53 +02:00
Dirkjan Ochtman
1a60157ea6
Set up CI with Azure Pipelines
2019-07-20 15:40:42 -07:00
Dirkjan Ochtman
73b5dad6a2
Fix obsolete import in non-Unix fallback code
2019-07-20 15:40:42 -07:00
stammw
e2ee96de60
H3: Code reformatting from fmt update
2019-07-20 15:40:42 -07:00
Benjamin Saunders
f173375cbc
Remove redundant arguments from Connection::new
...
We only need the server config on incoming connections.
2019-07-11 20:52:19 +02:00
Benjamin Saunders
022c191d40
Clarify IncomingStreams semantics
2019-07-11 20:52:19 +02:00
Benjamin Saunders
fe33e3b956
s/OsRng/StdRng/
...
This is a saner default, removing the need for a syscall for every
bit of randomness generated.
2019-07-11 20:52:19 +02:00
Benjamin Saunders
e7929713cd
Handle unclear interop ALPN
2019-07-11 20:52:19 +02:00
Benjamin Saunders
c2e9cc6c2a
Acknowledge close
...
This allows peers to enter the draining state immediately, which could
reduce resource use.
2019-07-11 20:52:19 +02:00
Benjamin Saunders
7001cac075
Refactor close frame representation
...
APPLICATION_CLOSE and CONNECTION_CLOSE are handled similarly, so
separate cases was gratuitously verbose.
2019-07-11 20:52:19 +02:00
Benjamin Saunders
983579e2b7
Don't report loss of an already-closed connection
...
The Closed state is entered
- at the local application's request;
- at the peer's request;
- or when an error is detected.
In the first case, the application is already aware of the closure. In
the latter cases, connection loss is reported immediately. Hence,
reporting connection loss when a close frame is received in the Closed
state is always redundant.
2019-07-11 20:52:19 +02:00
Benjamin Saunders
3921be6fd9
Don't test key update until after 1-RTT data has been exchanged
2019-07-11 20:52:19 +02:00
Benjamin Saunders
3a47f95f83
Remove involvement of anti-amplification in path validation
...
This wasn't working, and is not required by the spec.
2019-07-11 20:52:19 +02:00
Benjamin Saunders
bab18dad0c
Path validation no longer requires special routing
2019-07-11 20:52:19 +02:00
Benjamin Saunders
df21b2d6a2
Correct max_ack_delay transport parameter value
2019-07-11 20:52:19 +02:00
Benjamin Saunders
66fea29f14
Detect ack of unsent packets
2019-07-11 20:52:19 +02:00
Benjamin Saunders
6feb0fd4fe
Draft 21 NEW_CONNECTION_ID
2019-07-11 20:52:19 +02:00
Benjamin Saunders
5d02342dff
Draft 22 packet headers
2019-07-11 20:52:19 +02:00
Benjamin Saunders
466da6c0ce
Reuse initial cryptographic handshake message on retry
2019-07-11 20:52:19 +02:00
Benjamin Saunders
e873c64ba0
Forbid Retry from clients
2019-07-11 20:52:19 +02:00
Benjamin Saunders
e03751de66
Clarifying assertion
2019-07-11 20:52:19 +02:00
Benjamin Saunders
de415ebeea
Implement active_connection_id_limit transport parameter
2019-07-11 20:52:19 +02:00
Benjamin Saunders
3f7e254a47
Update version numbers and initial salt
2019-07-11 20:52:19 +02:00
Benjamin Saunders
5fbe96f46a
Public VarInt type
...
Ensures correctness of application error codes without panics or
adding new internal failure paths.
2019-07-11 20:52:19 +02:00
Benjamin Saunders
4b0530ba45
Simplify some encoding
2019-07-11 20:52:19 +02:00
Benjamin Saunders
1e40be2b03
Varint application error codes
2019-07-11 20:52:19 +02:00
Benjamin Saunders
22f4edc436
Varint transport error codes
2019-07-11 20:52:19 +02:00
stammw
07eca3d348
H3: Stream response from client
2019-07-09 21:23:08 +02:00
stammw
030f0eb251
Factorize header block decoding into one Future
2019-07-09 21:23:08 +02:00
Benjamin Saunders
3a41544ef5
Spin bit privacy measures
2019-07-09 20:35:04 +02:00
Benjamin Saunders
17f380c720
Don't reset packet numbering on retry
2019-07-09 20:35:04 +02:00
Benjamin Saunders
400dd8503f
Draft 21 recovery logic
2019-07-09 20:35:04 +02:00