Commit Graph

3211 Commits

Author SHA1 Message Date
Dirkjan Ochtman e1674feb92 Warn on clippy's use_self lint 2023-04-05 10:08:26 +02:00
Adolfo Ochagavía 2d48482180 Use PLPMTUD in bench, perf and examples
Sponsored by Stormshield
2023-04-04 17:40:20 -07:00
Adolfo Ochagavía ddc7ee16b5 Implement PLPMTUD
Sponsored by Stormshield
2023-04-04 17:40:20 -07:00
Adolfo Ochagavía d3e752c32a Process all endpoint events in TestEndpoint::drive before returning
Sponsored by Stormshield
2023-04-04 17:40:20 -07:00
dependabot[bot] fdd590fecc Update hex-literal requirement from 0.3.0 to 0.4.0
Updates the requirements on [hex-literal](https://github.com/RustCrypto/utils) to permit the latest version.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.0...hex-literal-v0.4.0)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 16:32:58 +02:00
dependabot[bot] 76d4405b20 Update windows-sys requirement from 0.45.0 to 0.48.0
Updates the requirements on [windows-sys](https://github.com/microsoft/windows-rs) to permit the latest version.
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/compare/0.45.0...0.48.0)

---
updated-dependencies:
- dependency-name: windows-sys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 16:31:34 +02:00
Benjamin Saunders 07b1405bbd Don't rely on sleeping in 0-RTT test
This is unnecessarily racy, at least in principle.
2023-04-03 13:43:50 +02:00
Daniel McCarney b56d60bbec quinn-proto: bump version 0.9.3 -> 0.10.0.
As part of upgrading the quinn-proto rustls dependency we must do
a semver incompatible version bump since rustls is exposed as part of
the public API.
2023-04-01 12:18:23 -07:00
Daniel McCarney 5d1f7bccf2 deps: upgrade rustls v0.20.3 -> v0.21.0.
This commit updates Quinn's dependency on Rustls from v0.20.3 to
v0.21.0.

This release includes a handful of small breaking changes which are
resolved alongside the upgrade.
2023-04-01 12:18:23 -07:00
Nathan Mittler ef20b50608 Bump quinn-proto version
Provides API changes needed by https://github.com/quinn-rs/quinn-boring/pull/2.
2023-03-28 09:32:23 +02:00
dignifiedquire 75524fcb0b refactor: do not require &mut self in AsyncUdpSocket::poll_send 2023-03-24 10:16:50 +01:00
Nathan Mittler 88897e7122 Support external crypto implementations.
These changes are needed for the BoringSSL crypto provider (#1488),
which will reside in a separate repository.
2023-03-22 10:39:43 +01:00
Florian Uekermann 93e726980e Getters for stream concurrency metrics and related documentation 2023-03-21 10:18:31 +01:00
link2xt 11b34a7b26 Fallback to not using ECN if IP_TOS is not supported (#1516)
On Linux <3.13 sendmsg/sendmmsg system calls
return EINVAL without sending anything if they encounter
an `IP_TOS` cmsg. To ensure we can still send
on such systems, remember if we got an EINVAL error
and switch to "fallback mode" in which we do not try
to transmit ECN at all and only use well-supported features.
2023-03-17 23:15:15 +01:00
Dirkjan Ochtman d31597f181 Apply suggestions from clippy 1.68 2023-03-15 18:11:11 -07:00
Dirkjan Ochtman 02037e72fa Switch CI coverage test to use cargo-llvm-cov 2023-03-08 10:26:54 -08:00
Dirkjan Ochtman 25a067bc88 Update maintenance branches in CI config 2023-03-08 10:26:54 -08:00
link2xt e6f184489e Implement fallback for sendmmsg and recvmmsg
Some Android phones use older 2.x kernels
and do not support `sendmmsg`
which is available only since Linux 3.0.

Similarly, `recvmmsg` is only available
since Linux 2.6.34.
2023-03-08 12:22:14 +01:00
Benjamin Saunders 7424372f49 Bump version 2023-03-05 08:52:31 +01:00
Benjamin Saunders 90a99193a9 Borrow self in read_to_end, rather than consuming
Allows `RecvStream::stop` to be called with custom error codes if
`ReadToEndError::TooLong` is encountered.
2023-03-05 08:52:31 +01:00
Floris Bruynooghe dfc1f33886 better wording 2023-02-28 16:40:50 -08:00
Floris Bruynooghe 03f615ab05 Properly fix up example code 2023-02-28 16:40:50 -08:00
Floris Bruynooghe 06e1a1a8c5 Update quinn/src/recv_stream.rs
Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
2023-02-28 16:40:50 -08:00
Floris Bruynooghe b95e50fb1f Update quinn/src/recv_stream.rs
Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
2023-02-28 16:40:50 -08:00
Floris Bruynooghe 162032d184 improve description of effect of calling stop 2023-02-28 16:40:50 -08:00
Floris Bruynooghe b833c0e626 Remove EOF terminology completely 2023-02-28 16:40:50 -08:00
Floris Bruynooghe 9f6f6e78e0 Use read_to_end 2023-02-28 16:40:50 -08:00
Floris Bruynooghe 01fa7a4eaa improve wording, correct example 2023-02-28 16:40:50 -08:00
Floris Bruynooghe 69348e54f1 Apply suggestions from code review
Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
2023-02-28 16:40:50 -08:00
Floris Bruynooghe 88bf165b1f Document how to close a stream correctly
It is not trivial to correctly close a stream without errors and
knowing everything is fully acknowledged.  Describe some details
around this.
2023-02-28 16:40:50 -08:00
Dirkjan Ochtman f4ecf1baab Add comment about outdated dependency 2023-02-27 07:34:35 +01:00
Dirkjan Ochtman cbe4b4604d Consistently set rust-version in Cargo metadata 2023-02-27 07:34:35 +01:00
Dirkjan Ochtman 3cc7efbe55 Apply remaining clippy suggestions from clippy 1.67 2023-02-27 07:34:35 +01:00
Dirkjan Ochtman f7354ef6ac Inline format arguments 2023-02-27 07:34:35 +01:00
Max Inden c17315fa10 docs(quinn): remove restriction to tokio
With https://github.com/quinn-rs/quinn/pull/1364 `quinn` is no longer restricted
to `tokio`. Commit updates the crate heading accordingly.
2023-02-24 10:34:34 -08:00
Damien Deville 390f2ebeba Add a special crypto session to perf binaries to disable packet
encryption / decryption. It can be enabled using --no-protection
command line option. This can be use when doing performance
tests to reveal other hotspots than packet encryption and
decryption.
2023-01-26 22:47:53 -08:00
Dezhi Wu 6e1442370b Fix usage message 2023-01-26 22:38:52 -08:00
Benjamin Saunders d00a71c695 Improve error when connecting with an unsupported version
If the cryptographic layer supports a version not in the local
endpoint's supported versions list, a connection could have been
initiated with that version for which all packets returned by a
compatible peer would hav ebeendropped. This is a relatively easy
configuration error to make.
2023-01-24 22:06:21 -08:00
dependabot[bot] e5a5d3eeb8 Update windows-sys requirement from 0.42.0 to 0.45.0
Updates the requirements on [windows-sys](https://github.com/microsoft/windows-rs) to permit the latest version.
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/compare/0.42.0...0.45.0)

---
updated-dependencies:
- dependency-name: windows-sys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 15:14:36 +01:00
Benjamin Saunders af4c4caeb2 Fix racy Endpoint::wait_idle 2023-01-08 06:37:22 +01:00
XOR-op c88a6ecd7b reexport whole quinn-udp module 2023-01-07 21:59:19 +01:00
XOR-op 50a474d7ab reexport udp::{RecvMeta, UdpState} for AsyncUdpSocket 2023-01-07 21:59:19 +01:00
Benjamin Saunders 49cdfa553e Route logs via log crate by default when tracing isn't used 2022-12-24 21:37:50 +01:00
Benjamin Saunders 05dabf17f8 Fail gracefully on attempts to connect to an unspecified IP address 2022-12-24 21:19:59 +01:00
Dirkjan Ochtman 2c6aa43610 Apply clippy suggestions from Rust 1.66 2022-12-19 10:13:01 -08:00
Dan Shields 088f244e2a Update deny.toml
https://github.com/qnighy/yasna.rs/issues/63 is resolved
2022-12-18 22:13:01 -08:00
Zicklag dea7f84a22 Update Wording About Quick Being a Draft 2022-12-13 10:24:13 +01:00
StygianLightning 389d7ce506 Remove unnecessary casts. 2022-12-10 11:07:03 -08:00
StygianLightning 943b78cbd1 Use Box::default() 2022-12-10 11:07:03 -08:00
StygianLightning 019affdf9f Use clamp instead of a local re-implementation. 2022-12-10 11:07:03 -08:00