Tomas Volf <~@wolfsden.cz> writes:

> Currently Guix uses *intersection* of keys from all parents.  I would
> like to suggest modifying the check to use an *union* of:
>
> 1. *Intersection* of keys from all parents (the current logic).
> 2. Keys listed in $GUIX_AUTHENTICATE_EXTRA_KEYS.
>
> (and, if you are soft-forking Guix, you could also add your key to:)
>
> 3. Keys listed in new variable ((@ (guix git-authenticate) extra-keys).
>
> This, while much less elegant compared to your solution, seems much
> easier to reason about.

Agreed.  I think it's important to not change 1.  Adding an additional
"allow list" is an effective approach to allow soft-forks without
compromising security.

> It still requires you to add the actual keys to keyring branch, but
> that branch does not use authentication, so that should not be a
> problem.

+1

> It would *not* be an error to have a key listed in the environment
> variable which does not have actual key material (on the keyring
> branch), it would just be silently skipped.

To be clear, when you say "silently skipped", it's as if said key had
not been a part of 2 above?

-- 
Suhail

Reply via email to