rustup icon indicating copy to clipboard operation
rustup copied to clipboard

Tracking: Simplify download and/or TLS backends

Open rami3l opened this issue 1 year ago • 1 comments

Part of https://github.com/rust-lang/rustup/issues/1611.

Motivation

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. https://github.com/rust-lang/rustup/pull/3478, https://github.com/rust-lang/rustup/pull/3668, 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

https://github.com/rust-lang/rustup/pull/3788#issuecomment-2076819462

Goal

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.

https://github.com/rust-lang/rustup/pull/3788#issuecomment-2076679922

Tasks

  • https://github.com/rust-lang/rustup/pull/3793
  • https://github.com/rust-lang/rustup/pull/3868
  • https://github.com/rust-lang/rustup/pull/3803
  • https://github.com/rust-lang/rustup/pull/3879
  • https://github.com/rust-lang/rustup/pull/3873
  • https://github.com/rust-lang/rustup/pull/3871
  • https://github.com/rust-lang/rustup/pull/3877
  • https://github.com/rust-lang/rustup/pull/3891
  • https://github.com/rust-lang/rustup/pull/3798
  • https://github.com/rust-lang/rustup/pull/3903
  • https://github.com/rust-lang/rustup/pull/3815
  • https://github.com/rust-lang/rustup/pull/3788
  • #4277

rami3l avatar Apr 26 '24 11:04 rami3l

Also, many benefits from rustls just being more secure by default than OpenSSL.

djc avatar Apr 26 '24 11:04 djc