dependabot-preview[bot]
a141a16e0d
Update proptest requirement from 0.9.1 to 0.10.0
...
Updates the requirements on [proptest](https://github.com/altsysrq/proptest ) to permit the latest version.
- [Release notes](https://github.com/altsysrq/proptest/releases )
- [Changelog](https://github.com/AltSysrq/proptest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/altsysrq/proptest/compare/v0.9.1...0.10.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2020-06-01 21:20:54 -07:00
Benjamin Saunders
605a5a5f19
Style tweak
2020-06-01 11:52:34 +02:00
Benjamin Saunders
8250afc34f
Simplify stream state disposal
...
We dispose of stream states when a receive stream is fully read or
reset or a send stream's finish or reset is acked. There are no subtle
qualifiers, so we can take immediate unconditional action.
2020-06-01 11:52:34 +02:00
Benjamin Saunders
df390ddf07
Remove transport-layer implicit reset on stop
...
Defers responsibility for closing send streams to the
application. This simplifies the stream lifecycle, because we no
longer need to track whether a stop was observed in a write error and
potentially free stream state after returning one. Fixes a stream
state leak for applications which don't necessarily observe write
errors.
2020-06-01 11:52:34 +02:00
Benjamin Saunders
cf7f492631
Clarify method name
2020-06-01 11:52:34 +02:00
Benjamin Saunders
64d357650c
Remove obsolete comment
2020-06-01 11:52:34 +02:00
Benjamin Saunders
888b617c16
Decouple incoming STOP_SENDING and outgoing RESET_STREAM handling
2020-06-01 11:52:34 +02:00
Benjamin Saunders
949068138f
Factor stop_reason out of SendState
2020-06-01 11:52:34 +02:00
Benjamin Saunders
333c3acb19
Reduce duplication
2020-05-29 16:04:52 +02:00
Benjamin Saunders
de44b35393
Additional RangeSet docs
2020-05-29 16:04:52 +02:00
Benjamin Saunders
fe10e89409
Return a read error on ordered-after-unordered reads
2020-05-29 16:04:52 +02:00
Benjamin Saunders
f5c01d4d8d
Insurance against panic on reading a closed stream
...
This was probably unreachable as we dispose of closed receive streams
immediately after they become such, but if that ever changes we still
don't want to panic.
2020-05-29 16:04:52 +02:00
Benjamin Saunders
39e370e785
Rename Assembler::limit to Assembler::end for clarity
2020-05-29 16:04:52 +02:00
Benjamin Saunders
de4323ed24
Proactively deduplicate stream data when using unordered reads
...
Ensures we don't yield the same data to the application repeatedly,
and only issue flow control credit in response to new data.
2020-05-29 16:04:52 +02:00
Benjamin Saunders
bdedc0ab2e
Remove unused fine-grained received range tracking
2020-05-29 16:04:52 +02:00
Benjamin Saunders
a604266fa7
Remove redundant receive stream state
...
DataRecvd was used to identify when all data has been received but not
yet read by the application, but we can determine that on-demand in
the Recvd state.
2020-05-29 16:04:52 +02:00
Benjamin Saunders
dbe26a7ba1
Fix incorrect initial offset in Assembler::defragment
...
When there's a leading gap in the buffered data or unordered reads are
in use, `self.offset` does not represent the starting point of the
first chunk.
2020-05-29 16:04:52 +02:00
Benjamin Saunders
cdb3074402
Fix miscounting of unordered bytes read
2020-05-29 16:04:52 +02:00
Jean-Christophe BEGUE
cbbd76ec60
H3: poll for STOP_SENDING
2020-05-29 15:22:26 +02:00
Jean-Christophe BEGUE
58a3c057c4
Stopped event for SendStream
2020-05-29 15:22:26 +02:00
Benjamin Saunders
29b3bba38f
More generous default receive buffer size
2020-05-29 07:37:28 +02:00
Dirkjan Ochtman
01bb2f1162
Clarify documentation on setting up mTLS ( fixes #772 )
2020-05-27 18:53:52 -07:00
Benjamin Saunders
ed6a8ac778
Fold reset/retry tokens into the same module
2020-05-25 06:22:35 +02:00
Benjamin Saunders
a0b7e19aeb
Apply our usual contractions to transport parameter names
2020-05-25 06:22:35 +02:00
Benjamin Saunders
17dae925f0
Clarify token payload
2020-05-25 06:22:35 +02:00
Benjamin Saunders
bd217aecf1
Shorter retry token
...
A well-behaved client sends retried Initial packets to the source
CID provided in the Retry packet, i.e. the retry_src_cid. Just like
the source address, this means that it's present in the incoming
packet already so we don't need to encode it explicitly in the retry
token, just authenticate it.
2020-05-25 06:22:35 +02:00
Benjamin Saunders
14920a516b
Remove unnecessary unwrap
2020-05-25 06:22:35 +02:00
Benjamin Saunders
d0d6afbffe
Refactor transport parameter CID encode/decode
2020-05-25 06:22:35 +02:00
Benjamin Saunders
f2178ff91c
Factor out common connection ID encode/decode logic
2020-05-25 06:22:35 +02:00
Benjamin Saunders
47dad2292e
Bundle retry token payload into a struct
2020-05-25 06:22:35 +02:00
Benjamin Saunders
ca689d33d6
Update version numbers for draft 28
2020-05-25 06:22:35 +02:00
Benjamin Saunders
075fbb2ab9
Don't reset PTO backoff when our address need not be validated
2020-05-25 06:22:35 +02:00
Benjamin Saunders
8c81bb7c6e
Remove dead state
2020-05-25 06:22:35 +02:00
Benjamin Saunders
7f7717ba46
Correct errors on illegal stream limits
2020-05-25 06:22:35 +02:00
Benjamin Saunders
5329a047ab
Discard spurious version negotiation packets
2020-05-25 06:22:35 +02:00
Benjamin Saunders
f9ef94f155
Discard Retry packets after successfully decrypting anything else
2020-05-25 06:22:35 +02:00
Benjamin Saunders
b5021d46dd
Don't leak application close details during handshake
2020-05-25 06:22:35 +02:00
Benjamin Saunders
f5d4ab5624
Capture connection ID from preferred address TP
...
Previously, that slot in the active connection ID limit would be
leaked.
2020-05-25 06:22:35 +02:00
Benjamin Saunders
1d7a32f70f
Simplify sending of initial close packets
2020-05-25 06:22:35 +02:00
Benjamin Saunders
085236b2f4
Fix inverted 0-RTT transport parameter validation
2020-05-25 06:22:35 +02:00
Benjamin Saunders
e15b2be713
Rename Connection.params to peer_params for clarity
2020-05-25 06:22:35 +02:00
Benjamin Saunders
b4ae98b0b3
Move retry token logic into a dedicated module
2020-05-25 06:22:35 +02:00
Benjamin Saunders
0422deada1
Draft 28 transport parameters
2020-05-25 06:22:35 +02:00
Benjamin Saunders
9085f457e8
Update rustls for interop fixes
2020-05-24 11:03:11 -07:00
Benjamin Saunders
d92a567034
Return UnknownStream from Connection::reset for closed/reset streams
...
Improves consistency with other stream interfaces. H3 logic was
updated to ignore errors to preserve existing behavior, but future
work might want to insert some unwraps there if static correctness
guarantees are available.
2020-05-23 19:08:46 +02:00
Benjamin Saunders
cd63774c0b
Don't reference a hidden interface in documentation
2020-05-23 19:08:46 +02:00
Dirkjan Ochtman
de5dc88782
Move DecodeHeaders into data module
2020-05-22 15:21:36 +02:00
Dirkjan Ochtman
7117e01929
Move WriteFrame into data module
2020-05-22 15:21:36 +02:00
Dirkjan Ochtman
aa1ebbab76
H3: simplify ownership of SendStream ( fixes #768 )
2020-05-22 15:21:36 +02:00
Jean-Christophe BEGUE
68b866bc63
H3: Ignore unknown incoming uni stream
2020-05-21 10:42:26 +02:00