Commit Graph

3653 Commits

Author SHA1 Message Date
Ruediger Klaehn 3bd88e48a9 when using GRO/GSO, use a single allocation instead of 32 or whatever 2024-10-16 20:28:18 +03:00
Austin Bonander bcb962b222 proto: remove panic-on-drop from Chunks 2024-09-29 18:08:22 +00:00
Austin Bonander 41989fef33 proto: export ShouldTransmit 2024-09-29 18:08: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
Dirkjan Ochtman 425f147899 proto: abstract more over ring dependency 2024-09-24 07:33:03 +00:00
Dirkjan Ochtman 983920f962 proto: remove unnecessary feature guard 2024-09-24 07:33:03 +00:00
LAN Xingcan 52a088b72a Expose orignial dest cid 2024-09-24 06:55:26 +00:00
Lars Eggert cc7d3bbdd7 Don't notify or comment until three results are uploaded 2024-09-23 08:47:11 +00:00
Lars Eggert 19a5e9dfd0 ci: Check coverage on multiple platforms
In order to get the platform-specific code some coverage testing.
2024-09-23 08:47:11 +00:00
Cayman 43a9d768be quinn: export endpoint::EndpointStats 2024-09-19 08:32:18 +00:00
Dirkjan Ochtman 00df048562 Apply suggestions from clippy 1.81 2024-09-06 18:09:27 +00:00
Max Inden 8bdbf42a54 chore(quinn-udp): increase crate patch version to v0.5.5 quinn-udp-0.5.5 2024-09-03 08:59:37 +00:00
Max Inden 30bc27628b Revert "Implement fallback for sendmmsg and recvmmsg"
This reverts commit e6f184489e.

e6f18448 called `sendmmsg` and `recvmmsg` through `libc::syscall` instead of
`libc::sendmmsg` and `libc::recvmmsg`, thus preventing linking issues on old
Android systems where `libc::sendmmsg` and `libc::recvmmsg` isn't available.

In https://github.com/quinn-rs/quinn/issues/1503#issuecomment-2285962727 the
decision was made to no longer support these old Android systems (API level 16).

This commit reverts e6f18448. Given that `sendmmsg` support was previously
dropped in ee088265, only the `recvmmsg` calls are reverted.
2024-09-03 08:59:37 +00:00
Dirkjan Ochtman 7c09b02073 proto: bump version to 0.11.8 for release (#1981) quinn-0.11.5 quinn-proto-0.11.8 2024-09-03 10:29:58 +02:00
Finn Bear 59bccd2e7e Version bump quinn to enforce patched quinn-proto 2024-09-03 08:10:58 +00:00
Dirkjan Ochtman a8ec510fd1 proto: avoid panicking on rustls server config errors 2024-09-02 16:14:51 +00:00
Benjamin Saunders c26e8cd2f7 Bump versions quinn-0.11.4 quinn-proto-0.11.7 2024-09-02 08:34:10 +00:00
Finn Bear e01609ccd8 Merge commit from fork 2024-09-02 10:36:03 +02:00
Benjamin Saunders c292a3c6a6 Fix and test validation of IDCID length 2024-08-31 17:53:52 +00:00
Max Inden bb02a12a84 fix(.github/android): use API level 26
`ecn_*` unit tests are failing with any Android API version < v26 with:

```
2024-08-22T14:41:30.636494Z  WARN quinn_udp: sendmsg error: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }, Transmit: { destination: 127.0.0.1:50196, src_ip: None, enc: Some(Ect0), len: 5, segment_size: None }
```
2024-08-23 11:11:10 +00:00
Max Inden 5e5cc93645 fix(.github/android): pass matrix.target and increase api to v26
When extracting the emulator script into a separate file, the `matrix.target`
substitution wasn't replaced with an environment variable.

Follow-up to https://github.com/quinn-rs/quinn/pull/1950.
2024-08-23 11:11:10 +00:00
Max Inden cef42cccef fix(udp): typo in sendmsg error log 2024-08-22 06:54:27 +00:00
Max Inden edf16a6f10 ci(rust.yml): add workflow testing feature permutations 2024-08-20 19:02:17 +00:00
Petr Sumbera a003e104e6 Allows build on Solaris (#1877) 2024-08-20 18:26:57 +00:00
Finn Bear b9ce9c8c94 Require slab 0.4.6 2024-08-19 21:41:06 +00:00
dependabot[bot] 1e48a703d5 build(deps): bump actions/setup-java from 3 to 4
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 13:13:03 +00:00
dependabot[bot] abaa2d3b13 build(deps): bump android-actions/setup-android from 2 to 3
Bumps [android-actions/setup-android](https://github.com/android-actions/setup-android) from 2 to 3.
- [Release notes](https://github.com/android-actions/setup-android/releases)
- [Commits](https://github.com/android-actions/setup-android/compare/v2...v3)

---
updated-dependencies:
- dependency-name: android-actions/setup-android
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 13:11:58 +00:00
Max Inden 1e00247360 ci: add Android job 2024-08-19 11:43:46 +00:00
behzad nouri 5e0d96b767 exposes current path MTU discovered in connection stats 2024-08-15 17:14:19 +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 2bbc9186fc Fix min_ack_delay transport parameter ID
This was updated in the draft alongside the frame ID.
2024-08-06 20:24:09 +00:00
dependabot[bot] 91be546738 build(deps): update windows-sys requirement from 0.52 to 0.59
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.52.0...0.59.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 14:06:38 +00:00
Benjamin Saunders 2d06eef43f proto: bump version to 0.11.6 quinn-proto-0.11.6 quinn-0.11.3 2024-08-04 20:01:39 +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 91b5a56424 proto: bump version to 0.11.5 quinn-proto-0.11.5 2024-08-04 06:46:27 +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 quinn-proto-0.11.4 2024-08-02 22:05:45 +00:00
Dirkjan Ochtman 7fdc3514cb Update cargo-deny-action to v2 2024-08-02 21:56:55 +00:00
Max Inden 244b44d8cf refactor(udp): introduce log facade
Add `log` facade that either dispatches to `tracing` or `log`, or to a no-op
implementation.
2024-08-02 21:42:43 +00:00
Benjamin Saunders 2ba4966a7c Revert "proto: yield transport error for Initial packets with no CRYPTO"
This condition can arise due to packet loss or reordering.

This reverts commit 470b2134c4.
2024-08-02 21:29:21 +00:00
Casey Rodarmor da37b3b095 Add expect message to unwrap in PacketBuilder 2024-08-01 21:25:06 +00:00
Benjamin Saunders 169f0c2b43 Fix incorrect initial DCID indexing on retried connections
This could also cause other packets received before the server accepts
the connection to be lost.
2024-07-31 18:19:40 +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