Skip to content

Tracking: Simplify download and/or TLS backends #3790

Open
3 of 4 issues completed
Open
3 of 4 issues completed
@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, 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

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementmetaThis issue is related to project management.trackingThis is a tracking issue

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions