stammw
a61c960586
H3: set quic connection error from top driver level
2019-11-30 20:34:46 +01:00
stammw
24a10baecd
H3: replace all driver error repetitive impls
2019-11-30 20:34:46 +01:00
stammw
a36ffb824d
H3: DriverError to carry connection level error
...
Along with regular Error to pass to the user when driver terminates
2019-11-30 20:34:46 +01:00
stammw
418b0a7f63
H3: Let internal error messages be strings
2019-11-30 20:34:46 +01:00
stammw
8c85c411a2
H3: move actual drive impl to ConnectionInner
2019-11-30 20:34:46 +01:00
stammw
d184b18845
H3: Add QPACK error codes
2019-11-30 20:34:46 +01:00
stammw
71b72eb1a9
H3: move connection constants to the bottom
2019-11-30 20:34:46 +01:00
stammw
96011ca890
H3: enable QPACK by default
2019-11-30 20:34:46 +01:00
stammw
dff7eeed20
H3: fix and optimize new StreamType decoding
2019-11-30 20:34:46 +01:00
stammw
a8e93949aa
H3: do not ack headers not containing encode refs
2019-11-30 20:34:46 +01:00
stammw
81f1fd2a45
H3: Send decoder stream after decoding a block
2019-11-30 20:34:46 +01:00
stammw
5e6b83b0c4
H3: receive decoder stream
2019-11-30 20:34:46 +01:00
stammw
aebada353b
QPACK: do increment largest known received ref
2019-11-30 20:34:46 +01:00
stammw
e07b70ea91
H3: unblock streams on encoder receive mechanism
2019-11-30 20:34:46 +01:00
stammw
4572499048
H3: pass required ref to connection's decoding
2019-11-30 20:34:46 +01:00
stammw
77d32c3352
H3: Set encoder settings on receive
2019-11-30 20:34:46 +01:00
stammw
807ae068cf
QPACK: rename mem_limit to max_size, as in specs
2019-11-30 20:34:46 +01:00
stammw
4921821a7d
H3: resolve encoder and decoder streams
2019-11-30 20:34:46 +01:00
stammw
5b67dedf84
QPACK: prevent substraction underflow in VAS
2019-11-30 20:34:46 +01:00
stammw
fe6935d3f2
H3: move Connection::default to tests
2019-11-30 20:34:46 +01:00
stammw
daf9dc3153
H3: manage all Uni stream transmits the same way
2019-11-30 20:34:46 +01:00
stammw
8b405240b7
H3: lock ConnectionInner once per drive
...
By moving all the polling functions into ConnectionInner's impl
2019-11-30 20:34:46 +01:00
stammw
a87e1a9cf7
H3: Replace SendControlStream with a generic impl
2019-11-30 20:34:46 +01:00
Benjamin Saunders
70540c04fb
Add another note re: stream data ordering
2019-11-29 22:14:16 +01:00
Benjamin Saunders
f48aa59512
Document a NewConnection footgun and the meaning of server_name
...
Non-obvious details identified in the course of assisting a new user.
2019-11-29 22:14:16 +01:00
Benjamin Saunders
0c8489b134
Export the datagrams stream type
2019-11-29 20:30:54 +01:00
Dirkjan Ochtman
68cb67ca37
Update the dependency on http to a rebased commit
...
The 0.2.x branch got rebased to master, invalidating the commit we were
depending on previously. Depend on an older commit that has the HTTP 3
version but has not upgraded to bytes-0.5 for now.
2019-11-28 10:07:04 +01:00
Dirkjan Ochtman
d78c4b7520
Fix large_initial() test failure from merge
2019-11-25 07:55:28 -08:00
Benjamin Saunders
4db1d2bdab
Accept PING frames during handshake
2019-11-25 15:08:39 +01:00
Benjamin Saunders
25cab1ed61
Draft 24 key update labels
2019-11-25 15:08:39 +01:00
Benjamin Saunders
97faaf24ea
Per-space PTO
2019-11-25 15:08:39 +01:00
Benjamin Saunders
66481a9728
Tweak time threshold computation
2019-11-25 15:08:39 +01:00
Benjamin Saunders
8d3a5958f4
Update version to draft 24
2019-11-25 15:08:39 +01:00
Benjamin Saunders
d0fcdba9d6
Introduce KEY_UPDATE_ERROR
2019-11-25 15:08:39 +01:00
Benjamin Saunders
97bf76a5aa
Defend against spoofed key updates by precomputing keys
2019-11-25 15:08:39 +01:00
Benjamin Saunders
9ea837c3e2
Add missing NEW_CONNECTION_ID validation cases
2019-11-25 15:08:39 +01:00
Benjamin Saunders
773972815d
Validate token populatedness
2019-11-25 15:08:39 +01:00
Benjamin Saunders
93f2329974
Validate stream offsets wrt. maximum
2019-11-25 15:08:39 +01:00
Benjamin Saunders
63bf72c26e
Discard Retry packets with illegal source CID
2019-11-25 15:08:39 +01:00
Benjamin Saunders
fc7334d8d9
Rename handle_connected_inner to process_decrypted_packet
...
This more accurately reflects the role it's arrived at.
2019-11-25 15:08:39 +01:00
Benjamin Saunders
d01f31db4c
Support multi-packet first flights
2019-11-25 15:08:39 +01:00
Benjamin Saunders
a91553c8fe
Validate reserved bits in initial packets
2019-11-25 15:08:39 +01:00
Benjamin Saunders
3b850c1fd3
Style tweak
2019-11-25 15:08:39 +01:00
Benjamin Saunders
b639f308cc
Only check reset tokens from legitimate addresses
2019-11-25 15:08:39 +01:00
Benjamin Saunders
2a24440c06
Ensure temporary retry CIDs don't collide with existing connections
...
Collisions with future connections are still possible, but unlikely,
and are difficult to prevent without defeating the point of stateless
retries.
2019-11-25 15:08:39 +01:00
Benjamin Saunders
d2bb7f76f0
Update comment
2019-11-25 15:08:39 +01:00
Benjamin Saunders
0e10a0de0c
CONNECTION_CLOSE is no longer ack-eliciting
2019-11-25 15:08:39 +01:00
Benjamin Saunders
29288aed19
Path challenges and datagrams are ack-eliciting too
2019-11-25 15:08:39 +01:00
Benjamin Saunders
575de71226
s/ack_only/ack_eliciting/ for clarity
2019-11-25 15:08:39 +01:00
Benjamin Saunders
8d9a9e1ae1
Update EndpointConfig::local_cid_len documentation
2019-11-25 15:08:39 +01:00