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
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
7e495e2909
Make max_guaranteed_udp_payload_size user-configurable
...
Sponsored by Stormshield
2023-05-03 09:29:12 +02:00
Adolfo Ochagavía
bef7198e96
Notify congestion controllers of MTU updates
...
Sponsored by Stormshield
2023-05-03 09:29:12 +02:00
Adolfo Ochagavía
f02dfc2f26
Detect black holes based on loss bursts for robustness
...
Sponsored by Stormshield
2023-05-03 09:29:12 +02:00
Adolfo Ochagavía
bbc13413b2
Use 65527 instead of 1480 as default max_udp_payload_size
...
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
link2xt
ec7a459174
Bump quinn-udp version to 0.4.0
...
It includes a fallback for old Linux and Android systems
which do not support setting ECN flag on UDP packets.
2023-04-19 19:50:13 +02:00
Dirkjan Ochtman
aaa58fc501
udp: avoid warning about unused set_sendmsg_einval() method
2023-04-19 10:59:06 +02:00
Dirkjan Ochtman
297f875065
Duplicate Transmit and EcnCodepoint across -proto and -udp
...
This removes the dependency from -udp -> -proto, which seems more correct.
2023-04-19 10:59:06 +02:00
Dirkjan Ochtman
3eb26361db
quinn: take Arc<dyn Runtime> directly
2023-04-14 16:08:01 -07:00
Benjamin Saunders
bffa86dcfb
Remove unnecessary pubs from quinn-udp fallback logic
2023-04-14 07:24:25 +02:00
Dirkjan Ochtman
1cd3343b73
Fix use_self suggestions for MTU discovery additions
2023-04-11 10:47:44 +02:00