rust: forward intercepted HTTP via hyper+native-tls to drop ring - #1973
rust: forward intercepted HTTP via hyper+native-tls to drop ring#1973Shivam60 wants to merge 5 commits into
Conversation
Two fixes so this actually drops ring and passes CI: - Commit the regenerated Cargo.lock. Cargo.toml had already moved off reqwest to the hyper stack, but the lockfile was not updated, so ring/rustls/reqwest were still locked (the whole point is to remove them) and the lock was out of sync with the manifest, failing the Rust test jobs. Regenerating removes ring, rustls, hyper-rustls, tokio-rustls and untrusted. - Rewrite OAuthMcpServer::requests over the hyper-util legacy Client. The previous version called hyper::body::to_bytes, which no longer exists in hyper 1.x, and had trailing whitespace that failed cargo fmt --check. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot encountered an error: Your billing is not configured or you have Copilot licenses from multiple standalone organizations or enterprises. To use premium requests, select a billing entity via the GitHub site, under Settings > Copilot > Features.
stephentoub
left a comment
There was a problem hiding this comment.
Does this no longer respect proxy configuration, e.g. HTTP_PROXY, HTTPS_PROXY, and NO_PROXY?
Manual validation: HTTP/2 regression reproducedI independently reproduced a functional regression in
Likely cause: setting ALPN preferences ( Why this is merge-blocking: Suggested paths forward:
Either way, please add an e2e regression test against a real or mocked HTTP/2-only upstream before merging, so this doesn't silently regress again. I'm converting this to draft for now — please mark it ready for review again once the HTTP/2 handling is fixed and validated against an HTTP/2-only endpoint. |
reqwest (forward_http) pins rustls/hyper-rustls optionals in Cargo.lock, dragging in ring (CG High, MVS-2022-374v-6mvc) even though only native-TLS is used and ring is never compiled. Replace reqwest with its underlying hyper+hyper-tls native-TLS stack (native-tls ALPN preserves HTTP/2). Removes ring/rustls entirely; all tests pass, clippy clean.