You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The direct motivation of this change is to simplify Rustup's building process in order to make Rustup more cross-build friendly and prevent surprise stable-only CI build errors like the ones we've encountered while bumping OpenSSL to v3, i.e. #3478, #3668, #4707, etc.
Status quo
The default currently is to use reqwest with native-tls (OpenSSL on Linux, native stacks on macOS and Windows)
If RUSTUP_USE_CURL is set, we use the curl backend, which defaults to openssl
If RUSTUP_USE_RUSTLS is set, we use reqwest with rustls
The eventual goal would be removing RUSTUP_USE_CURL and/or RUSTUP_USE_RUSTLS, leaving a single stack "in favor of maximally-Rust solutions", while "making sure we minimize the risk of getting users stuck".
To minimize frictions during this change, some necessary refactoring patches will be developed in the meantime, with a primary focus on improving Rustup's observability by interfacing with the tracing ecosystem.
Activity
djc commentedon Apr 26, 2024
Also, many benefits from rustls just being more secure by default than OpenSSL.
[-]Simplify download and/or TLS backends[/-][+]Tracking: Simplify download and/or TLS backends[/+]reqwestbackend withrustls#3806dev-guideaccording to recentProcessAPI changes #3970RUSTUP_LOGfortracingusages instead ofRUST_LOG#3875rustup installbehind a corporate proxy fails with TLS handshake eof #4305rustup installbehind a corporate proxy fails with TLS handshake eof #4305STATUS_ACCESS_VIOLATION#4173