Floris Bruynooghe
deba4ee85f
Merge branch 'main' into multipath-quinn-0.11.x
2025-04-10 12:36:01 +02:00
Lars Eggert
83b48b5b87
feat: Allow changing the UDP send/receive buffer sizes
...
Also includes getters for the current sizes and a test.
Bump version to 0.5.11.
2025-03-25 08:20:27 +00:00
Dirkjan Ochtman
a8807131e4
Switch to 2024 style
2025-02-23 11:52:46 +00:00
Divma
c04b6a9fbb
take advantage of the fact that packet protection with and without multipath is equivalent for Path(0) ( #39 )
2025-01-27 11:56:27 -05:00
Divma
af1b428d4e
include path_id in packet protection ( #36 )
2025-01-24 11:29:06 -05:00
Carl Dong
cc1cf6ff96
Add comments w/re keeping features in sync
2025-01-18 20:56:41 +00:00
Diva M
a935ad4df0
Merge commit '6ee883a2' into iroh-0.11.x
2025-01-14 23:05:01 -05:00
Dirkjan Ochtman
43b74b658b
proto: replace hidden field with From impl
2024-12-20 19:34:28 +00:00
Lars Eggert
f8b8c5032e
chore: Fix cargo clippy issues
2024-11-18 23:31:18 +00:00
Floris Bruynooghe
4e95af240e
Merge commit '2d06eef43fec927b0cf8f960bedb814bf3e4cc79' into iroh-0.11.x
2024-08-07 09:27:20 +02:00
Dirkjan Ochtman
3f489e2eab
Use workspace dependencies for all external dependencies
2024-07-14 22:17:01 -07:00
Floris Bruynooghe
f13a28921a
Rename to iroh-quinn
...
This does the rename to iroh-quinn for the 0.11.2 release code.
2024-06-21 13:00:40 +02: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