Benjamin Saunders
cada5cc194
Update quinn/src/lib.rs
...
Review incorporated
Co-Authored-By: ustulation <ustulation@gmail.com >
2019-03-21 11:10:34 +01:00
ustulation
e468390802
API for obtaining our local endpoint
...
This is especially useful if we were binding to port 0 intending the OS to allocate us a random port. Then we would like to know what port was actually allocated. Besides it's a useful API anyway as it's natural to want to know this detail from a bound socket for completeness.
2019-03-21 11:10:34 +01:00
Benjamin Saunders
0a967f66e2
Relax 0-RTT frame type restrictions
2019-03-15 16:32:35 +01:00
Dirkjan Ochtman
f5b066574a
Move maybe_cleanup() method into Streams
2019-03-06 10:14:45 -08:00
Dirkjan Ochtman
65c3f2c7c6
Let Connection handle stream cleanup if necessary
2019-03-06 10:14:45 -08:00
Benjamin Saunders
27b5dfe541
Account for all UDP datagram bytes in anti-amplification
...
Authentication/correctness is an independent concern. Improves
behavior when coalesced 0-RTT is rejected.
2019-03-05 06:49:15 +01:00
Benjamin Saunders
5a3034b957
Update persistent congestion detection logic
2019-02-28 13:22:09 +01:00
Benjamin Saunders
7da5188ba8
Enable backtraces in CI
2019-02-28 13:17:09 +01:00
Benjamin Saunders
d50edb67fb
Expand ECN support
...
libc's CMSG macros got built out to many more platforms. There may
remain some obscure platforms where this will still fail to build, but
we can account for them as they show up in practice.
2019-02-28 13:17:09 +01:00
Dirkjan Ochtman
92deb61f60
Move Streams type into stream module
2019-02-27 19:13:45 +01:00
Dirkjan Ochtman
694b94a877
Reduce duplication of logic in stream read handling
2019-02-27 19:13:45 +01:00
Dirkjan Ochtman
a22d79d6d2
Don't panic on reads of unknown streams
2019-02-27 19:13:45 +01:00
Benjamin Saunders
53143ad12a
Limit volume of unacked stream data
...
This prevents a memory exhaustion DoS if a peer issues large amounts
of flow control credit without acknowledging stream data.
2019-02-27 09:20:38 +01:00
Benjamin Saunders
1585247830
Reduce send/recv starvation when CPU bound
2019-02-23 20:19:13 +01:00
Benjamin Saunders
7512d17e94
Don't rely on type inference in assert
...
This makes rustc nightly happier.
2019-02-23 19:38:18 +01:00
Benjamin Saunders
f6563b26b9
Ensure cmsg buffer alignment
2019-02-23 19:38:18 +01:00
Benjamin Saunders
feafacbf45
More robust cmsg handling
2019-02-23 19:38:18 +01:00
Benjamin Saunders
cbf87e401f
Fix version negotiation on outgoing connections
2019-02-23 19:33:15 +01:00
Benjamin Saunders
aa8c293f1d
Refactor cmsg write helper
...
Ancillary messages aren't necessarily singular.
2019-02-12 06:12:14 +01:00
Benjamin Saunders
455322e4a5
Fix sending ECN for IPv4 peers on dual-stack sockets
2019-02-12 06:12:14 +01:00
Jean-Christophe BEGUE
663650cca1
Merge pull request #233 from djc/dependabot/cargo/proptest-0.9.1
...
Update proptest requirement from 0.6.0 to 0.9.1
2019-02-11 08:43:14 +01:00
dependabot[bot]
90b5311fff
Update proptest requirement from 0.6.0 to 0.9.1
...
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/commits )
Signed-off-by: dependabot[bot] <support@dependabot.com >
2019-02-11 04:48:21 +00:00
stammw
547fda3d6f
Remove stale proptest dir
2019-02-09 11:15:50 +01:00
stammw
9c1128aa3f
Remove useless assert
2019-02-08 20:33:17 +01:00
stammw
7c1664c86c
Update draft number in ALPNs
2019-02-08 20:33:17 +01:00
stammw
d99f332dd3
Use a separate client for H3 interop test
2019-02-08 20:33:17 +01:00
stammw
f939f8ebe4
H3: StreamType for unidirectional streams
2019-02-08 20:33:17 +01:00
stammw
f874a8dad6
QIF: use max blocked stream in encoding and check validity on decoding
2019-02-08 20:33:17 +01:00
stammw
5561effe56
Simple H3 get for the interop tool
2019-02-08 20:33:17 +01:00
stammw
dafe685995
QPACK: use err_derive for public errors
2019-02-08 20:33:17 +01:00
stammw
2fec389480
QPACK: fix visibilities
2019-02-08 20:33:17 +01:00
stammw
eca2af1604
QPACK: remove dead_code
2019-02-08 20:33:17 +01:00
stammw
550bf55717
QPACK: fix typo
2019-02-08 20:33:17 +01:00
stammw
fd2940c5da
Add jc.begue contributor name
2019-02-08 20:33:17 +01:00
stammw
b3263c38ec
QPACK: rename HeaderBloc{,k}Field
2019-02-08 20:33:17 +01:00
stammw
d62b5fe06a
QPACK: fix prefix string byte count when it fits 8 bit multiple
2019-02-08 20:33:17 +01:00
stammw
15b3cbb346
QIF: Handle blocked streams
2019-02-08 20:33:17 +01:00
stammw
e56758dcac
QPACK: fix 0 required ref case on encoding block
2019-02-08 20:33:17 +01:00
stammw
bdb3f557ac
QPACK: fix a prefi_int bug when integer encoding has a perfect fit
2019-02-08 20:33:17 +01:00
stammw
9dc05fe5d8
QIF: use cli args when encoding a single file
2019-02-08 20:33:17 +01:00
stammw
98a06b336f
QPACK: remove evicted fields from dynamic reference map
2019-02-08 20:33:17 +01:00
stammw
7b47683347
QPACK: know if an index has been evicted, drop one by one
2019-02-08 20:33:17 +01:00
stammw
0c37a8a994
QIF: get encoder settings from cli args
2019-02-08 20:33:17 +01:00
stammw
b710fcc1a5
QIF: gather encoding results
2019-02-08 20:33:17 +01:00
stammw
b76271280b
QIF: handle encoded files for all impls, generalize failure display
2019-02-08 20:33:17 +01:00
stammw
177b817591
QPACK: guard against substract overflow
2019-02-08 20:33:17 +01:00
stammw
a1cc9caebb
QIF: implement acknowledgement mode
2019-02-08 20:33:17 +01:00
stammw
3bdb41fbfa
QPACK: do not fail when encoder insertion try fails
2019-02-08 20:33:17 +01:00
stammw
06654e2e7f
QIF: iterate over qif sir and generate all encode cases
2019-02-08 20:33:17 +01:00
stammw
7fb4356410
QPACK: tracked blocked streams, do not insert if max reached
2019-02-08 20:33:17 +01:00