Skip to content

chore(quest): quinn's provider-neutral PR waits on quinn-rs/quinn#2701 - #469

Merged
kixelated merged 2 commits into
mainfrom
quest/m2/adoption/quinn
Nov 7, 2026
Merged

kixelated merged 2 commits into
mainfrom
quest/m2/adoption/quinn

Conversation

@kixelated

@kixelated kixelated commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Claims quest/m2/adoption/quinn.md and rewrites it to what remains: the upstream change can't start until quinn-rs/quinn#2701 lands, so the quest now records the upstream state and waits on that PR.

Verdict: still worth it, though no longer urgent

The ring patch from moq-dev/rind#444 and moq-dev/rind#456 already runs quinn 0.11 on rind, but it has limits:

  • It only works in a binary that adds a git [patch].
  • Under it, quinn uses rustls's ring provider over rind-ring, not rind-rustls.
  • A library on quinn (reqwest's HTTP/3, hickory, libp2p) can't use it, so it can't offer rind-rustls from crates.io.

Only the upstream change fixes that last point. quinn's maintainers already want it on main: drop the provider features in favor of an explicit provider (djc and Ralith on quinn-rs/quinn#2671). That makes acceptance likely, and it means quinn may do the work itself.

Upstream state (2026-11-06)

  • quinn-rs/quinn#2341 is still open. quinn-proto's crypto::rustls module only compiles with rustls-ring or rustls-aws-lc-rs.
  • quinn-rs/quinn#2678 (rustls-no-provider) was closed. djc pointed main at the route above and refused any RustCrypto dependency.
  • quinn-rs/quinn#2701 is open, active, and built on rustls's git main. It moves main to rustls 0.24 and puts the Retry tag on rustls's PacketKey, which is ctz's first WIP commit. rustls 0.24 itself is unreleased (0.24.0-dev.2).
  • After #2701, three things still call ring or aws-lc-rs directly:
    • the reset key's HMAC
    • the token key's HKDF and AES-256-GCM (quinn-proto/src/crypto/ring_like.rs)
    • the default_provider() calls
  • ctz's second commit (34cc6531) covers the reset key. Nothing yet covers the token key.
  • A 0.11.x backport is ruled out: rustls 0.23 cannot build the Retry tag's 16-byte AES-128 key through a provider (AeadKey::with_length is crate-private).

Upstream post (maintainer decision)

quinn's AI policy welcomes AI-written code but requires the PR body and comments to be in the contributor's own words. So there is no drafted text here, only facts for a comment on quinn-rs/quinn#2341:

  • Offer to send the explicit-provider PR djc proposed in #2671's review, once #2701 lands.
  • Scope:
    • one Arc<CryptoProvider> replaces rustls-ring and rustls-aws-lc-rs
    • the reset key is signed by the provider's HKDF hmac_sign (ctz's 34cc6531)
    • the token key comes from the provider's HKDF plus an AEAD from its QUIC Algorithm
    • a provider lacking a needed suite is a config error
  • Question for them: should a ring or aws-lc-rs default remain? Ralith mentioned "a reasonable default".

The quest's ## Waiting records this as a Maintainer: item, recommended.

Choices made without asking

  • I did not prepare the quinn code yet. It would stack on #2701, which builds on rustls's git main and is still changing, and quinn's workflow amends commits in review, so a branch prepared now would go stale before it could be posted.
  • I didn't add a Required link to the rustls 0.24 release quest. #2701 decides when quinn moves, and could merge on a 0.24 pre-release.

Public API

None. This only changes a quest file.

Validation

quest check --base origin/main and just check passed.

Follow-ups

Models

Size: M
Implementer: Claude Code, claude-opus-5-5, high effort

Review

Rewritten by quest review after each round.

  • Reviewer: Codex, gpt-6.1-sol, high effort
  • Session: 01a1b4e5-53c8-7503-aeb5-658aa06750a5, round 1
  • Head: a4575fa
  • Base: origin/main at 6dbdebd
  • Score: 10/10, The documentation-only change matches the verified upstream direction, introduces no executable paths, and passes git diff --check; no actionable defects were found.
  • Findings: none

(Written by Claude Opus 5.5 with high)

kixelated and others added 2 commits November 6, 2026 23:21
Quest-Claim: 8d93f6378c67d9ec
The ring patch already runs quinn 0.11 on rind in a binary, but only the
upstream change lets libraries on quinn offer rind-rustls from crates.io.
quinn's maintainers want it on main after the rustls 0.24 move, so the
quest now waits on that PR and records what is left to call the provider.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title quinn's rustls support works with any provider chore(quest): quinn's provider-neutral PR waits on quinn-rs/quinn#2701 Nov 7, 2026
@kixelated
kixelated marked this pull request as ready for review November 7, 2026 07:26
@pullfrog

pullfrog Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

Your OpenCode Go account is out of credit. Top it up, then re-trigger Pullfrog.

OpenCode Go's response
provider error: Insufficient account funds

Top up OpenCode Go →

Pullfrog  | Rerun failed job ➔ | View workflow run | via Pullfrog | Using glm-5.3

@coderabbitai

coderabbitai Bot commented Nov 7, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 44 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f92efae4-e612-43cc-8205-3966fc98c015
Commits

Reviewing files that changed from the base of the PR and between 6dbdebd and a4575fa.

Files selected for processing: 1

  • quest/m2/adoption/quinn.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@kixelated
kixelated added this pull request to the merge queue Nov 7, 2026
Merged via the queue into main with commit 7af4efb Nov 7, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant