8a12b2ebf9
Closes https://github.com/astral-sh/uv/issues/1709 Closes https://github.com/astral-sh/uv/issues/1371 Tested with the reproduction provided in #1709 which gets past the HTTP 401. Reuses the same copying logic we introduced in https://github.com/astral-sh/uv/pull/1874 to ensure authentication is attached to file URLs with a realm that matches that of the index. I had to move the authentication logic into a new crate so it could be used in `distribution-types`. We will want to something more robust in the future, like track all realms with authentication in a central store and perform lookups there. That's what `pip` does and it allows consolidation of logic like netrc lookups. That refactor feels significant though, and I'd like to get this fixed ASAP so this is a minimal fix.
41 lines
1.3 KiB
TOML
41 lines
1.3 KiB
TOML
[package]
|
|
name = "distribution-types"
|
|
version = "0.0.1"
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
cache-key = { path = "../cache-key" }
|
|
distribution-filename = { path = "../distribution-filename", features = ["serde"] }
|
|
pep440_rs = { path = "../pep440-rs" }
|
|
pep508_rs = { path = "../pep508-rs" }
|
|
platform-tags = { path = "../platform-tags" }
|
|
uv-auth = { path = "../uv-auth" }
|
|
uv-fs = { path = "../uv-fs" }
|
|
uv-git = { path = "../uv-git", features = ["vendored-openssl"] }
|
|
uv-normalize = { path = "../uv-normalize" }
|
|
pypi-types = { path = "../pypi-types" }
|
|
|
|
anyhow = { workspace = true }
|
|
data-encoding = { workspace = true }
|
|
fs-err = { workspace = true }
|
|
itertools = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
rkyv = { workspace = true, features = ["strict", "validation"] }
|
|
rustc-hash = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
urlencoding = { workspace = true }
|