Commit Graph

879 Commits

Author SHA1 Message Date
Phoenix Kahlo eebccff309 quinn: Fix missing re-exports 2024-11-13 05:22:22 +00:00
Ross Younger 9be256e1c4 feat: enable rustls logging, gated by rustls-log feature flag 2024-11-10 11:03:28 +00:00
Lars Eggert 5dd3497107 chore: cargo +nightly clippy --fix 2024-10-25 20:04:11 +00:00
stormshield-gt 184568ea59 Fix example std::net imports 2024-10-17 18:56:55 +00:00
stormshield-gt 4aca580cb4 Adapt tests to the aws-lc-rs feature 2024-10-17 18:56:55 +00:00
Jakub Kubík aae5bdc3fa feat(quinn, quinn-proto): add aws-lc-rs-fips feature flag
Adds support for aws-lc-rs FIPS mode using a feature flag in quinn and quinn-proto.
2024-10-12 20:19:43 +00:00
Lars Eggert 15a4dcef42 chore: Replace IP strings with address types
Avoids a bunch of parsing and checking.
2024-10-09 08:05:22 +00:00
Floris Bruynooghe 2330895383 Export SendDatagram struct to the public API
This is retunred by the public API but was not being provided.  This
export this publicly.
2024-09-26 16:02:15 +00:00
Dirkjan Ochtman 9a656d2d0b Enable use of aws-lc-rs instead of ring 2024-09-24 07:33:03 +00:00
LAN Xingcan 52a088b72a Expose orignial dest cid 2024-09-24 06:55:26 +00:00
Cayman 43a9d768be quinn: export endpoint::EndpointStats 2024-09-19 08:32:18 +00:00
Finn Bear 59bccd2e7e Version bump quinn to enforce patched quinn-proto 2024-09-03 08:10:58 +00:00
Benjamin Saunders c26e8cd2f7 Bump versions 2024-09-02 08:34:10 +00:00
Max Inden 1e00247360 ci: add Android job 2024-08-19 11:43:46 +00:00
Floris Bruynooghe c0b1e281e3 Update Connection::close docs for better guidance
The existing docs were no longer correct and also the suggested
approach is still error prone.  This describes the intricasies of
closing a QUIC connection a bit more.
2024-08-09 08:32:24 +00:00
Benjamin Saunders 79489cb959 Revert "Expose the Handshake Confirmed state"
This was an unintended breaking change.

This reverts commit 391824b9df.
2024-08-04 20:01:39 +00:00
Benjamin Saunders 476f50a4d0 Don't define lints workspace-wide
This seems to break publishing on crates.io.
2024-08-04 06:46:27 +00:00
Dirkjan Ochtman b3f149386f quinn: bump version to 0.11.3 2024-08-02 22:05:45 +00:00
Benjamin Saunders cf445befd3 Exclude metrics with freestanding getters from EndpointStats
The remaining counters are purely monotonic and more conveniently
grouped.
2024-07-29 06:18:10 +00:00
Benjamin Saunders 391824b9df Expose the Handshake Confirmed state
This is convenient for some client authentication use cases, and for
tests to know when it's safe to force a key update.
2024-07-28 23:42:29 +00:00
ryleung-solana a385630eff Introduce EndpointStats 2024-07-28 16:36:16 -07:00
Max Inden 9dbaff0ea1 chore: move common package data to workspace Cargo.toml 2024-07-26 23:46:17 +00:00
Max Inden ce97879e8d refactor: move rust-version to workspace Cargo.toml
Follow-up to suggestion in
https://github.com/quinn-rs/quinn/pull/1939#discussion_r1690309715.
2024-07-25 17:42:33 +00:00
Max Inden 2de91cfd7f chore(quinn): feature flag socket2 imports
The `socket2` imports are only used by the feature flagged `client` function.
Move the imports into the function to be feature flagged as well.

Avoids the following warning:

```
  --> quinn/src/endpoint.rs:28:15
   |
28 | use socket2::{Domain, Protocol, Socket, Type};
   |               ^^^^^^  ^^^^^^^^  ^^^^^^  ^^^^
   |
   = note: `#[warn(unused_imports)]` on by default
```
2024-07-25 17:41:04 +00:00
Dirkjan Ochtman 78fbceecf9 Remove now unused tarpaulin cfgs 2024-07-25 17:37:15 +00:00
Dirkjan Ochtman b8bd3d542d Set unexpected_cfgs for fuzzing 2024-07-25 17:37:15 +00:00
Dirkjan Ochtman 55fd192343 Bump MSRV to 1.70 following tokio 1.39 2024-07-24 20:46:55 -07:00
Max Inden 8712910a4c deps(udp): make tracing optional and add optional log
This commit makes the `tracing` dependency in `quinn-udp` optional, but enabled
by default. In additional it adds optional logging via the `log` crate, enabled
through the `direct-log` feature. `tracing` takes precedence over `native-log`.
2024-07-19 09:58:07 -07:00
TirushOne 411abe9e1c Fix lack of reexport of ConnectionStats and ResetError (#1920) 2024-07-17 17:03:07 +02:00
Dirkjan Ochtman 3f489e2eab Use workspace dependencies for all external dependencies 2024-07-14 22:17:01 -07:00
Dirkjan Ochtman 32c2d914ad Bump MSRV to 1.67 (for cc) 2024-07-12 22:41:01 +02:00
Phoenix Kahlo 693c9b7cfb quinn: Make Endpoint::client dual-stack V6 by default 2024-07-03 17:32:25 -07:00
Phoenix Kahlo 02ed62142d docs(quinn): Revise SendStream.stopped docs comment 2024-07-01 11:24:50 -07:00
Phoenix Kahlo 9366f5e80b docs: Revise and add additionall 0-rtt doc comments 2024-07-01 11:24:50 -07:00
Phoenix Kahlo 715416a025 Fix unnecessary Incoming warning on Endpoint drop 2024-06-30 16:15:13 -07:00
Dirkjan Ochtman c445e9b8ff Upgrade to rustc-hash 2 2024-06-24 13:54:26 -07:00
Benjamin Saunders bc150927d8 Wake blocked streams on 0-RTT rejection 2024-06-23 10:07:03 -07:00
Dirkjan Ochtman 70f5194fc8 quinn: introduce wake_stream() helper 2024-06-23 09:59:12 -07:00
Dirkjan Ochtman 0273e0a704 quinn: introduce wake_all() helper 2024-06-23 09:59:12 -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
Dirkjan Ochtman 7b97a3fbd8 Apply clippy suggestions from Rust 1.79 2024-06-13 10:59:05 -07:00
Dirkjan Ochtman 253e63aba4 Bump version numbers (quinn 0.11.2, -proto 0.11.3) 2024-06-07 13:51:24 -07:00
Benjamin Saunders 809cf79336 Resolve stopped/received_reset futures on lost connections
If a connection is lost before a stream becomes closed, these would
otherwise never complete.
2024-06-07 06:41:58 +02:00
Floris Bruynooghe 72ef0c0f16 Support netbsd
NetBSD does not support DONTFRAG or ECN on IPv4, but does for IPv6.
It has recvmmsg.
2024-06-02 11:23:22 -07:00
Benjamin Saunders b55ec29251 Fix panic on multiple incoming connections w/ zero-length IDs 2024-05-30 10:08:41 +02:00
Benjamin Saunders 3437e19a59 Convert test EndpointFactory from tuple struct to braced struct
Groundwork for expanding configurability of common test setup logic.
2024-05-30 10:08:41 +02:00
Benjamin Saunders 772c269c8d Fix panic in example due to unset default crypto provider 2024-05-24 20:43:35 +02:00
Benjamin Saunders fc22ddd7f8 quinn: Introduce RecvStream::received_reset 2024-05-22 14:41:13 -07:00
Benjamin Saunders d38854b0a6 quinn: Return ReadError::Reset persistently
Improves symmetry with `WriteError::Stopped`. The proto layer can't
provide this behavior because it discards stream state, but we have
our own application-owned state and need to defer error reporting
sometimes anyway, so we might as well make this more intuitive.
2024-05-22 14:41:13 -07:00