nix copy should warn early if you forgot --no-check-sigs #1002

Open
opened 2025-10-03 19:12:38 +00:00 by vriska · 1 comment
Member

If nix copy is missing --no-check-sigs, this is only apparent at the end of copying. This is very frustrating when copying large closures.

Describe the solution you'd like

Ideally, it would fail early as soon as it tries to copy an untrusted derivation.

Describe alternatives you've considered

An alternative that would likely be easier to implement would be to warn if the path being copied doesn't have any signatures on the source.

## Is your feature request related to a problem? Please describe. If `nix copy` is missing `--no-check-sigs`, this is only apparent at the end of copying. This is very frustrating when copying large closures. ## Describe the solution you'd like Ideally, it would fail early as soon as it tries to copy an untrusted derivation. ## Describe alternatives you've considered An alternative that would likely be easier to implement would be to warn if the path being copied doesn't have any signatures on the source.
Owner

I looked into this and this is not obvious to me what could we do here.

In general, checking signature can only happen quite late because of all the asyncness, as soon as we find one and you did not pass --keep-going, we will cancel the transfer.

The best that can happen is either to warn on unsigned derivations (why just unsigned?) or throw on unsigned derivations.

I need to think more on this.

I looked into this and this is not obvious to me what could we do here. In general, checking signature can only happen quite late because of all the asyncness, as soon as we find one and you did not pass --keep-going, we will cancel the transfer. The best that can happen is either to warn on **unsigned** derivations (why just unsigned?) or throw on **unsigned** derivations. I need to think more on this.
pennae added this to the 2.97 milestone 2025-12-01 14:51:11 +00:00
pennae modified the milestone from 2.97 to 2.95 2025-12-01 14:52:00 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lix-project/lix#1002
No description provided.