Subject: Re: [bug#41767] [PATCH 0/9] Authenticate channels

From: zimoun <[email-masked]>
Date: Tue, 9 Jun 2020 12:52:38 +0200

Hi Ludo

([email-masked])

On Mon, 8 Jun 2020 at 23:53, Ludovic Courtès <[email-masked]> wrote:

> I would much welcome feedback!  I’m happy to answer questions if
> anything’s unclear.  Don’t hesitate, because after that it’ll be
> harder to change!

I am sorry to be slow to understand and if I am naive but there are
still points which are unclear [1] to me, especially when 'guix
time-machine' will use this authentication machinery.

[1] https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00057.html

>From my understanding, there are 4 situations

 1- add signed material to a signed channel
 2- introduce authentication to an unsigned channel
 3- add unsigned material to a signed channel
 4- add unsigned material to unsigned channel

And I am interested by how it works for the situation #3.  For a
concrete example of 3., e.g.,

--8<---------------cut here---------------start------------->8---
git clone https://git.savannah.gnu.org/git/guix.git
git worktree add -b foo wk/foo
cd wk/foo
# add my unready stuff
./pre-inst-env guix pull --branch=foo --url=$PWS -p /tmp/foo
/tmp/foo/bin/guix install unready-stuff
--8<---------------cut here---------------end--------------->8---

In this case, do I have to use the option '--disable-authentication'?
And this is the scenario for almost all the patches on guix-patches;
even if 'pull' is generally not necessary when testing the patch. :-)

Another example is let consider that this channel [2] -- or any other
public one used by labs to publish specific tools; I am not aware
about one by INRIA ;-) -- and let imagine that this channel is
authenticated, i.e., there is a '.guix-authorizations' file.  Now, can
I fork this channel and my unsigned material without entering in the
security dance?  Do I need to use the option
'--disable-authentication'?

Moreover, if this forked channel is added to
'~/.config/guix/channels.scm', i.e., in addition to
'%default-channel', what happens for pulling?  Well, it is not
possible to pull a signed channel and an "unauthorized fork from a
signed channel" in only one command, right?

[2] https://github.com/BIMSBbioinfo/guix-bimsb

Well, I am sorry to be insistent but this authentication machinery
seems having an hard implication in my workflow and I would like to be
prepared.

All the best,
simon