nix copy
doesn't heal missing ca information in the receiving store (requiring trusted user and ignore-signatures) #956
Labels
No labels
Affects/CppNix
Affects/Nightly
Affects/Only nightly
Affects/Stable
Area/build-packaging
Area/cli
Area/evaluator
Area/fetching
Area/flakes
Area/language
Area/lix ci
Area/nix-eval-jobs
Area/profiles
Area/protocol
Area/releng
Area/remote-builds
Area/repl
Area/repl/debugger
Area/store
bug
Context
contributors
Context
drive-by
Context
maintainers
Context
RFD
crash 💥
Cross Compilation
devx
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
imported
Language/Bash
Language/C++
Language/NixLang
Language/Python
Language/Rust
Needs Langver
OS/Linux
OS/macOS
performance
regression
release-blocker
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
testing/flakey
Topic/Large Scale Installations
ux
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lix-project/lix#956
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I ran this:
Source machine:
Dest machine:
Note the lost ca field here. Now, I don't know if this is cppnix being busted or us being busted, but we do need to double check if we are copying store path ca correctly as it's supported on the existing protocol to do it, but we might be calling the wrong stuff.
so far we've failed to reproduce this with
ssh-ng://localhost?remote-store=/somewhere
,ssh-ng://elsewhere?remote-store=/somewhere
,ssh-ng://elsewhere?remote-store=/somewhere&remote-program=/nix/store/snafuuuuuyougettheidea-nix-2.28.4/bin/nix-daemon
, and a nixos installer iso with cppnix 2.28.4.we're running
nix (Lix, like Nix) 2.94.0-dev-pre20250729-fde2a4b
for these testsI'll have to try to repro this again. It's very possible that somehow it got messed up in a weird way.
Okay I found the problem (and it explains perfectly why it was gaslighting us): that path was already there on a fresh iso (nixos-minimal-25.05.807313.59e69648d345-aarch64-linux), but was registered without ca information because it was already on the iso from the beginning (which probably was done via some method like nix-store --import or whatever that loses the metadata).
Ideally, this would be a self-healing condition, imo, but it may be impossible to fix under the current protocol (I don't know!): either we:
tonix copy
seems to not copy paths' ca details over ssh-ngnix copy
doesn't heal missing ca information in the receiving store (requiring trusted user and ignore-signatures)