Skip to content

feat(libstore/filetransfer): add username/password authentication support#14190

Merged
github-merge-queue[bot] merged 1 commit intoNixOS:masterfrom
lovesegfault:filetransfer-username-auth
Oct 8, 2025
Merged

feat(libstore/filetransfer): add username/password authentication support#14190
github-merge-queue[bot] merged 1 commit intoNixOS:masterfrom
lovesegfault:filetransfer-username-auth

Conversation

@lovesegfault
Copy link
Member

@lovesegfault lovesegfault commented Oct 8, 2025

Motivation

Add a UsernameAuth struct and optional usernameAuth field to
FileTransferRequest to support programmatic username/password
authentication.

This uses curl's CURLOPT_USERNAME/CURLOPT_PASSWORD options, which
works with multiple protocols (HTTP, FTP, etc.) and is not specific to
any particular authentication scheme.

The primary motivation is to enable S3 authentication refactoring where
AWS credentials (access key ID and secret access key) can be passed
through this general-purpose mechanism, reducing the amount of
S3-specific code behind #if NIX_WITH_CURL_S3 guards.

Context

This is a carve-out #14170 which is a carve-out of #13752


Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@lovesegfault lovesegfault force-pushed the filetransfer-username-auth branch 3 times, most recently from 1449ecb to a357722 Compare October 8, 2025 19:43
@lovesegfault lovesegfault requested a review from xokdvium October 8, 2025 19:44
…port

Add a `UsernameAuth` struct and optional `usernameAuth` field to
`FileTransferRequest` to support programmatic username/password
authentication.

This uses curl's `CURLOPT_USERNAME`/`CURLOPT_PASSWORD` options, which
works with multiple protocols (HTTP, FTP, etc.) and is not specific to
any particular authentication scheme.

The primary motivation is to enable S3 authentication refactoring where
AWS credentials (access key ID and secret access key) can be passed
through this general-purpose mechanism, reducing the amount of
S3-specific code behind `#if NIX_WITH_CURL_S3` guards.
@lovesegfault lovesegfault force-pushed the filetransfer-username-auth branch from a357722 to 3c1e2e5 Compare October 8, 2025 20:10
@Ericson2314 Ericson2314 enabled auto-merge October 8, 2025 20:14
@Ericson2314 Ericson2314 added this pull request to the merge queue Oct 8, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Oct 8, 2025
@github-merge-queue github-merge-queue bot merged commit 3c1e2e5 into NixOS:master Oct 8, 2025
18 checks passed
@edolstra edolstra mentioned this pull request Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants