3277 Commits

Author SHA1 Message Date
Floris Bruynooghe 57b9014683 bump version numbers iroh-quinn-0.10.3 0.10.7 iroh-quinn-proto-0.10.7 2024-05-03 10:22:48 +01:00
Floris Bruynooghe d4f068954b feat: Allow resetting of the congestion controller state of a connection (#2)
This gives access to a low-level handle for a connection which allows resetting of the congestion
controller state.  This is helpful when there is out-of-band knowledge about changes to the
underlying network pat.
2024-05-03 10:30:05 +02:00
Floris Bruynooghe 75acb9a406 refactor: Rename crates (#3)
Renames the crates to not conflict with upstream.
2024-05-02 17:11:35 +02:00
Floris Bruynooghe a237a59225 ci: Adapt some initial CI (#1)
This is mostly copied from upstream, with a bit of changes inspired by
our own usual CI setup.
2024-05-02 15:25:03 +02:00
Floris Bruynooghe c0622ebfc5 Update the readme, explain our fork and branches 2024-05-02 12:15:32 +01:00
Nazar Mokrynskyi db2df614fc Bump quinn-proto version 0.10.6 2023-11-07 10:14:59 +01:00
Nazar Mokrynskyi 8d07b88df7 Downgrade duplicate packet message to debug level
(cherry picked from commit ca0fae8896)
2023-11-07 10:14:59 +01:00
Dirkjan Ochtman bd171f823d Set workspace resolver explicitly 2023-10-21 14:27:39 +02:00
Dirkjan Ochtman 60da97e8af Avoid redundant link target in docs 2023-10-21 14:27:39 +02:00
Dirkjan Ochtman d8b016c2cd Use or_default() as suggested by clippy 2023-10-21 14:27:39 +02:00
Dirkjan Ochtman da2e193288 Silence clippy false positive 2023-10-21 14:27:39 +02:00
Jerome Gravel-Niquet fbd1c6c369 Don't pre-allocate memory for every possible stream per connection 2023-10-21 14:27:39 +02:00
Jerome Gravel-Niquet f65925819e streams: extract max_send_data() helper 2023-10-21 14:27:39 +02:00
Dirkjan Ochtman 53830b6b30 Bump quinn-proto version to 0.10.5 0.10.5 2023-09-20 14:09:17 -07:00
Dirkjan Ochtman c31f62be07 More principled error handling for invalid frames 2023-09-20 14:09:17 -07:00
Benjamin Saunders 948025bd48 proto: Bump version 0.10.4 2023-08-23 22:11:55 -07:00
Benjamin Saunders dfe9176b3c proto: detect stateless resets in authed and unprotected packets
RFC9000 says: endpoints MUST treat any packet ending in a valid
stateless reset token as a Stateless Reset

Previously, we did not detect stateless resets that appeared to be
unprotected packets (e.g. Retry or Version Negotiation) or which were
successfully decrypted (astronomically unlikely with TLS, but possible
with custom cryptographic layers).

(cherry picked from commit 7f26029284)
2023-08-23 22:11:55 -07:00
Benjamin Saunders 487bae6ef2 proto: bump to 0.10.3 0.10.3 2023-08-20 16:01:13 -07:00
Benjamin Saunders f0b4a31ef4 Bump versions 2023-08-20 15:54:41 -07:00
Benjamin Saunders b1655c248b udp: disable GSO on EINVAL
Linux 5.15 was observed to emit an EINVAL when attempting to transmit
UDP with GSO over IPv6 on a virtio net interface. 6.1 was also
observed to emit EINVAL, though only after EIO. In both cases, EINVAL
was suppressed by disabling GSO.

(cherry picked from commit a0dd5ff2fa8c5ba6f64c20d6f8a5f21424b8c62b)
2023-08-20 15:54:41 -07:00
Benjamin Saunders 94065f2552 proto: Allow GSO to be manually disabled
(cherry picked from commit 22a59133dc92a6d57f12b526667dcb8743efa208)
2023-08-20 15:54:41 -07:00
Benjamin Saunders 023f10376d Reduce default maximum UDP payload size to the ethernet MTU
Drastically reduces the size and sparsity of the quinn receive buffer
for no performance cost in typical applications.
0.10.2
2023-07-31 14:02:21 -07:00
Lijun Wang ab9bbe3342 bump versions to 0.10.2 (#1606) 2023-07-20 09:46:42 +02:00
Benjamin Saunders 72e9e3bbcc Replace .rev().next() with .next_back() 2023-07-19 23:37:24 +02:00
Lijun Wang 53083f4c48 Backport supress stateless packet to 0.10.x (#1598) 2023-07-12 18:02:36 -07:00
Dirk Stolle c700d2ff34 Replace unmaintained actions-rs/* actions in CI workflows
Basically all of the `actions-rs/*` actions are unmaintained. See
<https://github.com/actions-rs/toolchain/issues/216> for more
information. Due to their age they generate several warnings in
CI runs.

To get rid of those warnings the occurrences of
`actions-rs/toolchain` are replaced by `dtolnay/rust-toolchain`,
and the occurrences of `actions-rs/cargo` are replaced by direct
invocations of `cargo`.
2023-06-13 11:05:09 -07:00
Dirk Stolle 6bb36a217c Update actions/checkout in GitHub Actions workflows to v3 2023-06-13 11:05:09 -07:00
Benjamin Saunders 57c1c24e52 Merge redundant impl Connecting blocks 2023-06-13 11:05:09 -07:00
Benjamin Saunders 3bd6f93a28 Fix panic on redundant finish calls 2023-06-13 11:05:09 -07:00
Jonathan Johnson 723218727e Added Endpoint::reject_new_connections (#1585)
This commit adds a new function that refuses new connections without
impacting existing connections. Internally, this just sets the
connection limit to 0, which causes incoming connections to be rejected.
This is the same approach that was taken in 0.8.5 when `Incoming` was
dropped.
2023-06-13 11:05:09 -07:00
Benjamin Saunders 1d8ba9b513 Remove redundant/obsolete Endpoint::reject_new_connections
This was previously used by the `quinn` layer to stop accepting
connections when the `Incoming` stream was dropped. That stream has
since been replaced by an async function. Users who still want this
can use set_server_config directly.
2023-06-13 11:05:09 -07:00
Daniel McCarney 4b309cd46b bump quinn, quinn-proto crate versions. 0.10.1 2023-05-11 23:06:29 +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
ljedrz c0b9d4233e docs: update the MSRV in the README
Signed-off-by: ljedrz <ljedrz@gmail.com>
2023-05-11 14:49:44 +02:00
Benjamin Saunders 044eab53ff Update clap 2023-05-11 14:10:19 +02:00
Dirkjan Ochtman a66ee19797 Only check libraries against MSRV 0.10.0 2023-05-11 04:47:59 +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
Dirkjan Ochtman 9e26ea98bd Fix visibility warnings on non-Unix platforms 2023-05-11 04:47:59 +02:00
dignifiedquire 7d006c0d58 switch to Bytes to allow cheap cloning 2023-05-09 17:15:40 +02:00
dignifiedquire d08ad01e40 perf: specialize slice extension in Datagram::encode 2023-05-09 17:15:40 +02:00
dignifiedquire 89b527c9a1 feat: use BytesMut for Transmit content 2023-05-09 17:15:40 +02:00
Maksim Vykhota 37e7b742cb Fail FreeBSD CI if any step fails 2023-05-06 11:29:28 -07:00
Maksim Vykhota aeda2e2146 Fix build and tests on FreeBSD 2023-05-06 11:06:43 -07:00
Benjamin Saunders a55fd51c95 Delete redundant set_socket_option 2023-05-06 08:05:17 +02:00
Benjamin Saunders 092a7686a4 Enable PMTUD by default when appropriate 2023-05-06 08:05:17 +02:00
Benjamin Saunders f4384e6edb udp: expose whether IP_DONTFRAG semantics apply 2023-05-06 08:05:17 +02:00
Benjamin Saunders 23b1416a01 udp: improve fragmentation suppression on *nix 2023-05-06 08:05:17 +02:00
Benjamin Saunders f6c1bb3b93 Add missing exports of stats types 2023-05-04 10:26:24 +02:00
Benjamin Saunders 99e462f8c8 Rename min_guaranteed_mtu to min_mtu for clarity 2023-05-03 12:30:50 +02:00