Skip to content

Tracking: Simplify download and/or TLS backends #3790

@rami3l

Description

@rami3l

Part of #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. #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

#3788 (comment)

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.

#3788 (comment)

Tasks

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementmetaThis issue is related to project management.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions