Commit Graph

3653 Commits

Author SHA1 Message Date
Dirkjan Ochtman 838ad7c471 config: make ClientConfig fields private 2022-02-27 11:03:31 -08:00
Dirkjan Ochtman d522b6dd63 config: add ServerConfig::transport_config() builder method 2022-02-27 11:03:31 -08:00
Dirkjan Ochtman c0b50b4a0d bbr: reorder code according to prevailing style 2022-02-27 11:02:55 -08:00
Dirkjan Ochtman 5e0df6c1f1 bbr: change sent_time type to Instant
We rely on this value being set to `Some` in `on_ack()`, which
presumably happens because `on_sent()` is always called before
`on_ack()`. As such, we might as well simplify the type to make
this more obvious to avoid unwrapping, at the expensive of
injecting a fake value at initialization.
2022-02-27 11:02:55 -08:00
Dirkjan Ochtman 60dd3da2a1 bbr: derive default for AckAggregationState 2022-02-27 11:02:55 -08:00
Dirkjan Ochtman 75b2b118ec bbr: implement Default for MinMax 2022-02-27 11:02:55 -08:00
Dirkjan Ochtman 8da9cf55e5 bbr: avoid unwrapping another checked Option value 2022-02-27 11:02:55 -08:00
Dirkjan Ochtman 4630670655 bbr: avoid unwrapping checked Option value 2022-02-27 11:02:55 -08:00
Dirkjan Ochtman a87b3262ff bbr: avoid unwrapping a value we just set 2022-02-27 11:02:55 -08:00
Dirkjan Ochtman 92ab452e1b bbr: apply clippy suggestions to avoid unnecessary late initialization 2022-02-27 11:02:55 -08:00
Benjamin Saunders 7b4b4c31e5 Assert connection success in 0-RTT test 2022-02-21 11:52:43 +01:00
Benjamin Saunders 833e8ba814 Require rustls version with working QUIC 0-RTT support 2022-02-21 11:52:43 +01:00
Benjamin Saunders 067cf896cd tls-rustls feature should imply ring 2022-02-19 22:52:08 +01:00
Benjamin Saunders ce1071195b Relax feature guard on ServerConfig::with_crypto
This constructor doesn't require rustls.
2022-02-19 21:12:44 +01:00
Benjamin Saunders 0d65abd8e0 Identify connections by four-tuple
Fixes association of packets to connections when zero-length
connection IDs are in use and packets are accepted on multiple IP
addresses on the same subnet.
2022-02-18 09:27:55 +01:00
Benjamin Saunders 1825ded393 Remove dead Result 2022-02-18 07:15:58 +01:00
Benjamin Saunders d9672322eb Rely on rustls to check for ALPN failure 2022-02-17 20:57:33 +01:00
Benjamin Saunders fea298d68e Add missing test logging guard 2022-02-17 20:57:33 +01:00
Jonathan Johnson 6b53306861 Add os-poll feature to mio
Closes #1303

This feature flag was always needed, and in some situations, tokio was
enabling that feature flag as well. With the new release of tokio 1.17,
the lack of this flag causes runtime errors because mio 0.7 doesn't have
the required flag as tokio is enabling it in 0.8.
2022-02-17 10:58:51 -08:00
Benjamin Saunders 32db49d2ff Remove unnecessary special case
Duplicates of the in-use remote CID do not need to be handled
differently from duplicates of buffered, unused CIDs.
2022-02-17 10:40:23 -08:00
Benjamin Saunders ea4250dfd7 Inline single-use temporary 2022-02-17 10:40:23 -08:00
Benjamin Saunders 7b79af211a Remove superfluous Result 2022-02-17 10:40:23 -08:00
Benjamin Saunders c59b203dd4 Simplify redundant arithmetic 2022-02-17 10:40:23 -08:00
Benjamin Saunders f7e80a4c29 Limit volume of CIDs retired at peer's request 2022-02-17 10:40:23 -08:00
Benjamin Saunders d1faaafe4e Fix the spin bit becoming immediately disabled for servers
We were disabling it every time we updated the remote CID, and we like
to update the remote CID ASAP for servers to enable client-side
stateless resets. Instead, we should disable it only when switching
remote CIDs due to a migration.
2022-02-17 10:40:23 -08:00
Benjamin Saunders 67738357cf Replace dubious CidQueue::is_active_retired logic
This predicate was based on whether an entry in the circular CID
buffer was unset. However, that entry might have already been
overwritten with newer data. Meanwhile, because we guarantee that the
active CID is always at the start of the sliding window of CID
sequence numbers, we can easily infer whether the previously-active
CID was retired and replaced by retire_prior_to by whether the retired
set it returns is empty.
2022-02-17 10:40:23 -08:00
Benjamin Saunders 7306f1bec9 Don't update remote client CIDs gratuitously
Handling retire_prior_to might have already moved us off the initial
CID.
2022-02-17 10:40:23 -08:00
Dirkjan Ochtman 86780c8f01 Don't build fuzz targets against MSRV 2022-02-11 13:48:07 -08:00
Dirkjan Ochtman 5f394099ec Upgrade rcgen to 0.9.1 2022-02-11 13:48:07 -08:00
dependabot[bot] d8615d9c2b Update rustls-pemfile requirement from 0.2.1 to 0.3.0
Updates the requirements on [rustls-pemfile](https://github.com/rustls/pemfile) to permit the latest version.
- [Release notes](https://github.com/rustls/pemfile/releases)
- [Commits](https://github.com/rustls/pemfile/compare/v/0.2.1...v/0.3.0)

---
updated-dependencies:
- dependency-name: rustls-pemfile
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 14:31:13 +01:00
Joonas Koivunen 8dca9fcc37 ci: check private docs for links as well 2022-01-29 22:46:27 +01:00
Joonas Koivunen ac56221860 doc: match MSRV to 1.53 in readme 2022-01-29 22:46:27 +01:00
Joonas Koivunen c9e1012885 doc: fix broken item links 2022-01-29 22:46:27 +01:00
Joonas Koivunen 8fbbf33440 doc: use automatic links for urls 2022-01-29 22:46:27 +01:00
François Garillot f731019c83 Clean up a few Option/Result patterns that fit an std combinator 2022-01-29 13:00:48 -08:00
sizumita 0730f11aca Destruct new_connection 2022-01-26 10:16:31 +01:00
sizumita aaf97e4d8d Rename variable 2022-01-26 10:16:31 +01:00
sizumita 6cfb8c4475 Fix typo 2022-01-25 10:19:25 +01:00
sizumita 6d0d7bc737 Add mut 2022-01-25 10:19:25 +01:00
Benjamin Saunders a5e33eea19 Randomize fixed bit for compatible peers 2022-01-22 21:54:34 +01:00
Benjamin Saunders 91fcd5ae04 Implement draft-ietf-quic-bit-grease-02 2022-01-22 21:54:34 +01:00
Benjamin Saunders 9575c973ce Bump MSRV to 1.53 2022-01-22 21:54:34 +01:00
Timon a319e66516 Clarify meaning of events. (#1284) 2022-01-15 10:49:22 +01:00
Benjamin Saunders 39d3dadb60 Fix unsound Vec::set_len in test 2022-01-15 08:07:32 +01:00
thekuwayama 28129109cf add ? 2022-01-11 10:07:37 +01:00
thekuwayama 837c153e7d add await 2022-01-11 10:07:37 +01:00
thekuwayama 249f62b187 using with_safe_defaults() & with_single_cert() 2022-01-11 10:07:37 +01:00
thekuwayama ed0512d9ca EndpointBuilder => Endpoint 2022-01-11 10:07:37 +01:00
thekuwayama 412a4775f3 docs: modify rustls ServerCertVerifier link 2022-01-11 10:07:37 +01:00
thekuwayama 6ceb3c63bb docs: rm generic directory 2022-01-11 10:07:37 +01:00