Commit Graph

1209 Commits

Author SHA1 Message Date
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