Dirkjan Ochtman
3f489e2eab
Use workspace dependencies for all external dependencies
2024-07-14 22:17:01 -07:00
Max Inden
9e2272a477
refactor: use workspace dependency for tracing and tracing-subscriber
2024-06-20 18:23:04 -07:00
Max Inden
8f3f8242c9
fix: remove unused dependency tracing-attributes
...
Various `quinn*` crates depend on `tracing`. `tracing` in its default feature
set includes `tracing-attributes` in order to expose `#[instrument]` procedural
macro in `tracing::instrument`.
None of `quinn*` make use of the `#[instrument]` macro. Thus the
`tracing-attributes` dependency is unused.
To remove the dependency from the tree, this commit restricts `tracing`'s
`features` to `std`, effectively removing the `attributes` feature.
2024-06-20 18:23:04 -07:00
Benjamin Saunders
b42e21e74d
Make SendStream::finish synchronous
...
`await`ing on this was error-prone and not very useful, since it gave
little insight into application state, and was redundant to `stopped`.
2024-05-03 11:52:44 -07:00
gabrik
ce13559778
proto: validate ServerConfig crypto provider
...
Signed-off-by: gabrik <gabriele.baldoni@gmail.com >
2024-04-22 09:45:53 +02:00
Dirkjan Ochtman
e6d48970af
proto: validate ClientConfig crypto provider
...
Co-authored-by: gabrik <gabriele.baldoni@gmail.com >
2024-04-22 09:45:53 +02:00
Dirkjan Ochtman
3be1ab5ab2
Upgrade to rcgen 0.13
2024-04-22 09:45:53 +02:00
Dirkjan Ochtman
a85a4c12ee
Update rustls to 0.23 and ring to 0.17
2024-04-22 09:45:53 +02:00
Dirkjan Ochtman
f0d1a45639
perf: hoist config construction out of conditionals
2024-04-22 09:45:53 +02:00
Dirkjan Ochtman
85351bc399
proto: remove the Side argument from ServerConfig::initial_keys()
2024-04-22 09:45:53 +02:00
Damien Deville
90118e76b3
perf: change throughput units from MiB/s into Mb/s.
2024-04-18 19:26:36 +02:00
Phoenix Kahlo
54d5d60b42
Allow accept/refuse/retry before handshake begins
...
This commit removes use_retry from the server config and provides a
public API for the user to manually accept/refuse/retry incoming
connections before a handshake begins, and inspect properties such as
an incoming connection's remote address and whether that address is
validated when doing so.
In quinn-proto, Incoming is made public, as well as Endpoint's accept/
refuse/retry methods which operate on it. The
DatagramEvent::NewConnection event is modified to return an incoming
but not yet accepted connection.
In quinn, awaiting Endpoint::accept now yields a new
quinn::Incoming type, rather than quinn::Connecting. The new
quinn::Incoming type has all the methods its quinn_proto equivalent has,
as well as an accept method to (fallibly) transition it into a
Connecting, and also refuse, retry, and ignore methods.
Furthermore, quinn::Incoming implements IntoFuture with the output type
Result<Connection, ConnectionError>>, which is the same as the Future
output type of Connecting. This lets server code which was
straightforwardly awaiting the result of quinn::Endpoint::accept work
with little to no modification.
The test accept_after_close was removed because the functionality it
was testing for no longer exists.
2024-04-03 10:02:29 +02:00
dependabot[bot]
d2e9c58044
Update rcgen requirement from 0.11.1 to 0.12.0
...
Updates the requirements on [rcgen](https://github.com/rustls/rcgen ) to permit the latest version.
- [Commits](https://github.com/rustls/rcgen/compare/v0.11.1...v0.12.0 )
---
updated-dependencies:
- dependency-name: rcgen
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-12-18 13:06:24 -08:00
Benjamin Saunders
e1e1e6e392
Remove explicit rust-version requirement from unpublished crates
2023-09-24 14:22:14 -07:00
Benjamin Saunders
e51f848296
Bump MSRV to 1.65 for let-else
2023-09-24 14:22:14 -07:00
dependabot[bot]
790ff720a9
Update rcgen requirement from 0.10.0 to 0.11.1
...
Updates the requirements on [rcgen](https://github.com/est31/rcgen ) to permit the latest version.
- [Changelog](https://github.com/est31/rcgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/est31/rcgen/compare/v0.10.0...v0.11.1 )
---
updated-dependencies:
- dependency-name: rcgen
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-06-19 16:20:46 +02:00
Daniel McCarney
2f72a5b847
deps: remove webpki dependency.
...
This commit updates the existing Quinn sub-crate dependencies to remove
the explicit `webpki` v0.22 dependency. It's not used by directly
anywhere and can be a transitive dependency through rustls as required.
2023-05-11 23:06:29 +02:00
Benjamin Saunders
044eab53ff
Update clap
2023-05-11 14:10:19 +02:00
Dirkjan Ochtman
1dd88e6883
Update remaining crates to 2021
2023-05-11 04:47:59 +02:00
Dirkjan Ochtman
92ab791486
Upgrade socket2 to 0.5
2023-05-11 04:47:59 +02:00
Benjamin Saunders
092a7686a4
Enable PMTUD by default when appropriate
2023-05-06 08:05:17 +02:00
Adolfo Ochagavía
030a0e8d72
Use mtu instead of max_udp_payload_size in names
...
Sponsored by Stormshield
2023-05-03 09:29:12 +02:00
Adolfo Ochagavía
74d3689962
Fix no-protection option in perf crate
...
Sponsored by Stormshield
2023-04-26 13:18:42 -07:00
Benjamin Saunders
f79b31babf
Bump MSRV to 1.63
...
More than six months old, and required by time 0.3.20.
2023-04-24 07:58:42 +02:00
Dirkjan Ochtman
3eb26361db
quinn: take Arc<dyn Runtime> directly
2023-04-14 16:08:01 -07:00
Adolfo Ochagavía
2d48482180
Use PLPMTUD in bench, perf and examples
...
Sponsored by Stormshield
2023-04-04 17:40:20 -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
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
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
Dirkjan Ochtman
2c6aa43610
Apply clippy suggestions from Rust 1.66
2022-12-19 10:13:01 -08:00
Damien Deville
b80baa008d
Add --initial-max-udp-payload-size command line option for perf
...
client and server binaries to change the initial size of UDP
packet payload.
2022-10-28 09:24:03 +02:00
Damien Deville
cebfb270f6
Add --keylog command line option for perf client and server
...
binaries. This allow dumping crypto keys to disk using
SSLKEYLOGFILE env var.
2022-10-27 17:49:28 -07:00
Benjamin Saunders
7d51d2e57e
Remove Incoming stream in favor of Endpoint::accept
2022-10-23 08:18:42 +02:00
dependabot[bot]
f86dd7596d
Update rcgen requirement from 0.9.1 to 0.10.0
...
Updates the requirements on [rcgen](https://github.com/est31/rcgen ) to permit the latest version.
- [Release notes](https://github.com/est31/rcgen/releases )
- [Changelog](https://github.com/est31/rcgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/est31/rcgen/compare/v0.9.1...v0.10.0 )
---
updated-dependencies:
- dependency-name: rcgen
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-10-03 15:29:41 +02:00
Benjamin Saunders
6e4bcbb2fc
Drop NewConnection in favor of simpler API
2022-09-27 11:08:26 +02:00
Benjamin Saunders
ffa85f2c43
Abstract out async runtime
...
Co-authored-by: Yureka <yuka@yuka.dev >
2022-07-05 09:06:31 -07:00
Benjamin Saunders
fe93a68108
Replace structopt with its successor, clap 3
2022-07-03 21:02:33 +02:00
dependabot[bot]
16769e3fa9
Update rustls-pemfile requirement from 0.3.0 to 1.0.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.3.0...v/1.0.0 )
---
updated-dependencies:
- dependency-name: rustls-pemfile
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-18 15:28:52 +02:00
Benjamin Saunders
c1bd43f3a6
Satisfy clippy
2022-04-08 17:51:22 +02: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
Benjamin Saunders
b2c24d957a
Drop futures-util dep from benchmarking tools
2021-12-29 07:34:22 +01:00
Benjamin Saunders
7ed94be3e4
Provide inherent next methods on streams
...
Allows for convenient use in async blocks by downstream code without a
futures_util dependency.
2021-12-21 07:03:27 +01:00
Dirkjan Ochtman
ee6bbf1d2a
Fix clippy suggestions from 1.57
2021-12-10 10:29:12 -08:00
Benjamin Saunders
1159ae3c65
Non-exhaustive ClientConfig
2021-11-10 11:25:19 +01:00
Benjamin Saunders
b923c4c8b0
Pass SocketAddr by value
...
We always consume this by value in the end, and it's a little more
ergonomic.
2021-10-29 20:12:45 +02:00
Benjamin Saunders
5d1b6a101b
Remove EndpointBuilder
...
Now that rustls configuration is more straightforward, this is not
adding significant value.
2021-10-29 20:12:45 +02:00
Dirkjan Ochtman
78dc23614f
Disable default features for rustls
...
In rustls 0.20, TLS 1.2 is optional but enabled by default. We also
don't need to depend on rustls enabling logging.
2021-10-26 11:05:30 -07:00