Commit Graph

3037 Commits

Author SHA1 Message Date
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
Benjamin Saunders fffc513624 Suppress noisy inapplicable advisory 2022-01-02 20:44:13 +01:00
Benjamin Saunders d58177fac7 Delete dead code 2022-01-02 20:44:13 +01:00
Benjamin Saunders 2117e1fec5 Privatize VarInt::size
This method isn't useful for converting between VarInts and regular
integers, and hence serves no purpose in the public API.
2022-01-02 20:44:13 +01:00
Benjamin Saunders 369573482a Revert "Tolerate wide IP_TOS cmsgs"
This has only been observed on WSL1, which is obsolete and not worth
supporting.

This reverts commit 91dd91fa99.
2022-01-01 21:36:29 +01:00
Benjamin Saunders f91f74610c Update example README output samples 2022-01-01 21:36:29 +01:00
Benjamin Saunders 91dd91fa99 Tolerate wide IP_TOS cmsgs 2021-12-29 07:40:15 +01:00
Benjamin Saunders b2c24d957a Drop futures-util dep from benchmarking tools 2021-12-29 07:34:22 +01:00
Benjamin Saunders af93954604 Remove futures-util dependency from quinn-udp 2021-12-29 07:34:22 +01:00
Benjamin Saunders 19b58cc948 Drop futures-util dev-dependency
This wasn't serving any purpose we couldn't more readably accomplish
with async/await.
2021-12-29 07:34:22 +01:00
Benjamin Saunders 510e6789df Make futures-core dependency optional
This was only used to implement Stream, which we don't actually need.
2021-12-29 07:34:22 +01:00
Benjamin Saunders 943c4dfe75 Add inherent async fn next to Datagrams stream
Establishes symmetry with our other async streams, making it usable
without importing a trait from futures-core.
2021-12-29 07:34:22 +01:00
Benjamin Saunders 8e40311837 Replace futures-channel with tokio::sync
We're already using tokio::sync for Notify, so this drops a dep for
free.
2021-12-29 07:34:22 +01:00
Benjamin Saunders 48ed425ddf Add missing feature for tokio::sync::Notify 2021-12-29 07:34:22 +01:00
Benjamin Saunders 4f0f77a20d Fix many_connections test
This was calling `Endpoint::connect_with` outside of a tokio runtime
context.
2021-12-29 07:34:22 +01:00
Benjamin Saunders e39f3f68fc Replace Broadcast helper with tokio::sync::Notify
Drops a chunk of complex and under-audited synchronization code in
favor of a similar, better-tested and more efficient primitive from
tokio.
2021-12-23 10:56:36 +01:00
Benjamin Saunders fab202d56e Factor out common stream open logic 2021-12-23 10:56:36 +01:00