-
Notifications
You must be signed in to change notification settings - Fork 882
Comparing changes
Open a pull request
base repository: cloudflare/quiche
base: 0.23.4
head repository: cloudflare/quiche
compare: 0.23.5
- 20 commits
- 25 files changed
- 9 contributors
Commits on Mar 7, 2025
-
Configuration menu - View commit details
-
Copy full SHA for a186a49 - Browse repository at this point
Copy the full SHA a186a49View commit details -
Configuration menu - View commit details
-
Copy full SHA for c6489c8 - Browse repository at this point
Copy the full SHA c6489c8View commit details
Commits on Mar 17, 2025
-
Configuration menu - View commit details
-
Copy full SHA for d0efd2c - Browse repository at this point
Copy the full SHA d0efd2cView commit details
Commits on Mar 26, 2025
-
tokio-quiche: switch from feature to cfg flag for capture_keylogs
Whether to capture keylogs (i.e., secrets) should only be decided by the final binary that incorporates tokio-quiche somewhere in its dependency graph. Using a feature allows any dependency to enable keylog capturing, whereas a cfg flag must be explicitly set in RUSTFLAGS or similar. I've opted to keep the feature flag around for now. We can remove it on the next major bump and this makes the migration a bit easier.
Configuration menu - View commit details
-
Copy full SHA for d447cb3 - Browse repository at this point
Copy the full SHA d447cb3View commit details -
fix now_or_never() spuriously returning None
`now_or_never()` can spuriously return None even if the underlying is Future is ready. This is due to tokio's cooperative scheduler returning Pending if a task's coop budget is exhausted. We can avoid this by wrapping the future in a `tokio::task::unconstrained()`
Configuration menu - View commit details
-
Copy full SHA for 3513025 - Browse repository at this point
Copy the full SHA 3513025View commit details -
properly enable tokio unconstrained()
This was added in tokio 1.44 so we need to bump the minimum tokio version required, and it's gated behing the "rt" feature as well. Not entirely sure why this wasn't caught in CI before, but only by `cargo package`.
Configuration menu - View commit details
-
Copy full SHA for 1065348 - Browse repository at this point
Copy the full SHA 1065348View commit details -
fix: Derive an additional
defaultMissed this in #1931.
Configuration menu - View commit details
-
Copy full SHA for 0002c34 - Browse repository at this point
Copy the full SHA 0002c34View commit details -
Configuration menu - View commit details
-
Copy full SHA for 603b77b - Browse repository at this point
Copy the full SHA 603b77bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1990653 - Browse repository at this point
Copy the full SHA 1990653View commit details
Commits on Mar 27, 2025
-
tls: don't log nullbytes from log_ssl_error
The function was always logging a 1024 byte long buffer padded with nullbytes. This doesn't look intentional, and may cause trouble for some logger implementations that don't expect nulls in &str. See also: rust-mobile/android_logger-rs#90
Configuration menu - View commit details
-
Copy full SHA for db1d0fb - Browse repository at this point
Copy the full SHA db1d0fbView commit details -
tokio-quiche: Clean up packet router logging TODO
I checked the last 7 days of these logs. While there are a few ten thousand of them, they were all instances of `quiche::Error::InvalidPacket`. Those are not unexpected errors, so I added an entry for them to QuicInvalidInitialPacketError. No other unexpected errors were observed at all in the last 7 days. I feel confident to remove the trial logging and pass those errors up to users of tokio-quiche now.
Configuration menu - View commit details
-
Copy full SHA for 7789eff - Browse repository at this point
Copy the full SHA 7789effView commit details
Commits on Mar 28, 2025
-
tokio-quiche: Add error log for failed packet router
So far, server-side `InitialPacketRouter`s that stopped with an error (from the underlying UDP socket) closed without any notice. The only way to observe this is through the `QuicConnectionStream` closing. To help with debugging, this change adds an error log similar to the one we already have for client-side connections.
Configuration menu - View commit details
-
Copy full SHA for a63632b - Browse repository at this point
Copy the full SHA a63632bView commit details
Commits on Mar 31, 2025
-
datagram-socket: add extra fields to SocketStats
- `min_rtt_us` - `rtt_var_us` - `bytes_unsent` - `delivery_rate` `bytes_unsent` has been added for compatibility with TCP sockets but it is currently not provided by quiche.
Configuration menu - View commit details
-
Copy full SHA for 040cdcc - Browse repository at this point
Copy the full SHA 040cdccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8474a6c - Browse repository at this point
Copy the full SHA 8474a6cView commit details
Commits on Apr 1, 2025
-
tokio-quiche: remove unconstrained() call
This partially reverts 3513025 as the change was found to cause regressions on some internal deployments.
Configuration menu - View commit details
-
Copy full SHA for 747abc5 - Browse repository at this point
Copy the full SHA 747abc5View commit details -
tokio-quiche: Allow user-provided SocketCapabilities in connect
We used to always apply maximum `SocketCapabilities` to UDP sockets passed into `connect_with_config()`. However, some NICs don't support hardware GSO and Linux currently doesn't provide a software fallback. To better support those setups, we now allow users to specify capabilities manually in our connected `Socket` struct. This matches the interface we have for server-side `QuicListener`s. The default changes to not apply any capabilities to avoid surprises. Client-side usage doesn't benefit as much from the capabilities anyway.
Configuration menu - View commit details
-
Copy full SHA for 670aa3a - Browse repository at this point
Copy the full SHA 670aa3aView commit details -
tokio-quiche: fix private documentation
Our CI jobs run lints on rustdoc. Warnings and errors get inserted inline into unrelated PRs, which is annoying. This change fixes doc warnings as best I could figure out. Run locally using: ``` cargo doc --document-private-items ```
Configuration menu - View commit details
-
Copy full SHA for 40c5446 - Browse repository at this point
Copy the full SHA 40c5446View commit details -
Configuration menu - View commit details
-
Copy full SHA for 145e3f0 - Browse repository at this point
Copy the full SHA 145e3f0View commit details -
add mechanism to change connection settings from BoringSSL handshake …
…callbacks It can be useful to tweak a specific connection's configuration based on information like SNI. However this is only available after the client's ClientHello is fully processed, which is not entirely apparent from an application PoV (e.g. ClientHello can be split across multiple Initial packets). BoringSSL provides a number of callbacks called during the TLS handshake and sometimes even before any packet has been sent (e.g. `select_cert_cb`) which is useful to tweak congestion control settings or transport parameters, that provide the required information, but the underlying quiche connection is not exposed to application code from inside these callbacks currently. This change adds a mechanism to allow applications to change specific connection settings from inside these BoringSSL callbacks.
Configuration menu - View commit details
-
Copy full SHA for fd5c01a - Browse repository at this point
Copy the full SHA fd5c01aView commit details -
Configuration menu - View commit details
-
Copy full SHA for fde75a2 - Browse repository at this point
Copy the full SHA fde75a2View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.23.4...0.23.5