git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Jochen Striepe <jochen@tolot.escape.de>
Cc: Shawn Pearce <spearce@spearce.org>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org,
	James Bottomley <James.Bottomley@hansenpartnership.com>,
	Jeff Garzik <jeff@garzik.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ide@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [git patches] libata updates, GPG signed (but see admin notes)
Date: Wed, 2 Nov 2011 21:13:32 -0700	[thread overview]
Message-ID: <CA+55aFyG4VuiRN3kcyDVF4sw7b89m-2bOBeQLOGWTcd9o3akzQ@mail.gmail.com> (raw)
In-Reply-To: <20111103032205.GA25888@pompeji.miese-zwerge.org>

On Wed, Nov 2, 2011 at 8:22 PM, Jochen Striepe <jochen@tolot.escape.de> wrote:
>
> It seems quite useless and leading to false conclusions in several cases
> where the merger's gpg output differs from someone's checking later on,
> e.g. when
>
>  - the signing key has been revoked in the mean time (for whatever
>   reasons)
>  - the signing key has expired
>  - the public part of the signing key is not available for the general
>   public.

So I don't think those are *big* issues. Sure, you'd want the public
key to be public for it to make any real sense to save, but on the
other hand, they *are* generally public. Yes, yes, you might have keys
that are only used - and only made public - within some particular
organization, but in that case the source code that gets signed with
those keys would tend to be private to that organization too, so..

And yes, keys get revoked or they expire, but that's still a pretty
rare event, so it doesn't really invalidate the argument that making
the original signed content available can quite often be useful - even
if it's not guaranteed to *always* be useful.

No, my main objection to saving the data is that it's ugly and it's
redundant. Sure, in practice you can check the signatures later fine
(with the rare exceptions you mention), but even when you can do it,
what's the big upside?

And there are much bigger real downsides, imho.

For example, let's say that we do eventually end up switching from
SHA1 to SHA256 in git, and we do a full re-import of the tree. Guess
what? All those signatures are now just so much garbage. Sure, you can
recreate them (create some trusted script that you agree does a 1:1
transform, and re-sign everything), but in practice you can't ever
really do that - because all those things are tied to the tree, so you
need to have *everybodys* private keys in one place to do so. And the
people who signed things initially would have to be insane to allow
that.

So I'm actually of the opinion that "internal signatures" are bad
design at a rather fundamental level.

In contrast, the "external signed tags" are fine: it's not just that
there are much fewer of them, it's that they are *independent*. So you
can easily re-generate the signed tags, because each signer can
*individually* decide to validate the newly converted tree, and sign
off on the fact that the conversion was done identically using new
external tags with signatures.

This was one of the reasons I made the signed tags work the way they
do. And it wasn't because I was extremely far-sighted and thought of
all the problems that internal signatures have - it's because monotone
had their internal signatures, and every other email on the monotone
list was about all the problems it caused.

> AFAIK gpg just gives you an error code and a message like e.g. "Key has
> expired" without stating if the key was valid _when signing the commit_.
>
> How do you plan to handle this when keeping the signature in the
> repository? Or am I overlooking something?

So see above - I just wouldn't worry about it. The possible few cases
where it would occur are dwarfed by the cases where it *doesn't*
occur, and those are the ones I'd concentrate on. They are the ones
that need to be important enough that it's even worth carrying the
random noise around.

Are they?

So I do think that there are real upsides at the *process* level where
you can use the signatures to verify that what is pulled is pulled
from the person you thought it was. I don't think anybody disputes
those advantages. But outside of that I think it gets very gray, and
there real disadvantages.

That said, I don't care *that* much. I don't mind polluting the merge
commits with information that I don't think is really worth it. So I'd
be willing to carry the signature information around, although I'd
hope to minimize it and have some sane way to hide it.

            Linus

  reply	other threads:[~2011-11-03  4:14 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20111026202235.GA20928@havoc.gtf.org>
     [not found] ` <1319969101.5215.20.camel@dabdike>
     [not found]   ` <CA+55aFx1NGWfNJAKDTvZfsHDDKiEtS4t4RydSgHurBeyGPyhXg@mail.gmail.com>
2011-10-31  8:40     ` [git patches] libata updates, GPG signed (but see admin notes) Ingo Molnar
2011-10-31  8:40     ` Ingo Molnar
2011-10-31 22:03       ` Junio C Hamano
     [not found]     ` <1320049150.8283.19.camel@dabdike>
     [not found]       ` <CA+55aFz3=cbciRfTYodNhdEetXYxTARGTfpP9GL9RZK222XmKQ@mail.gmail.com>
2011-10-31 18:23         ` Junio C Hamano
2011-10-31 20:30           ` Ted Ts'o
2011-10-31 20:53             ` Junio C Hamano
2011-10-31 22:18           ` Linus Torvalds
2011-10-31 22:20             ` H. Peter Anvin
2011-10-31 22:30               ` Linus Torvalds
2011-10-31 22:33                 ` H. Peter Anvin
2011-10-31 22:38                   ` Linus Torvalds
2011-10-31 22:51                     ` Junio C Hamano
2011-10-31 22:56                       ` Linus Torvalds
2011-11-02  9:11                         ` Ingo Molnar
2011-11-02 11:20                           ` Jochen Striepe
2011-10-31 23:09                       ` Junio C Hamano
2011-10-31 22:44                   ` Junio C Hamano
2011-10-31 22:47                     ` H. Peter Anvin
2011-10-31 22:49                     ` Ted Ts'o
2011-10-31 22:51                       ` H. Peter Anvin
2011-10-31 22:52                     ` Linus Torvalds
2011-10-31 22:54                       ` H. Peter Anvin
2011-10-31 23:03                         ` Linus Torvalds
2011-11-01  5:39                       ` James Bottomley
2011-10-31 23:55                     ` Jeff Garzik
2011-11-01  0:42                       ` H. Peter Anvin
2011-10-31 22:33               ` Jiri Kosina
2011-11-01 19:47             ` Junio C Hamano
2011-11-01 21:21               ` Linus Torvalds
2011-11-01 21:56                 ` Junio C Hamano
2011-11-02 20:04                   ` Linus Torvalds
2011-11-02 21:13                     ` Junio C Hamano
2011-11-03  1:02                     ` Shawn Pearce
2011-11-03  1:19                       ` Linus Torvalds
2011-11-03  1:45                         ` Linus Torvalds
2011-11-03  2:14                           ` Shawn Pearce
2011-11-03  2:25                             ` Linus Torvalds
2011-11-03  3:22                               ` Jochen Striepe
2011-11-03  4:13                                 ` Linus Torvalds [this message]
2011-11-10 13:51                                   ` David Woodhouse
2011-11-10 15:23                                     ` Marc Branchaud
2011-11-03  2:31                             ` Linus Torvalds
2011-11-03  2:19                           ` Linus Torvalds
2011-11-04 20:16                             ` Junio C Hamano
2011-11-04 21:22                               ` Junio C Hamano
2011-11-04 23:10                                 ` Linus Torvalds
2011-11-05  3:55                                   ` Jeff King
2011-11-05  4:37                                   ` Junio C Hamano
2011-11-03 18:16                           ` Junio C Hamano
2011-11-03 18:52                             ` Junio C Hamano
2011-11-03 19:09                               ` Linus Torvalds
2011-11-04 14:59                                 ` Ted Ts'o
2011-11-04 15:14                                   ` Linus Torvalds
2011-11-07  7:52                                     ` Valdis.Kletnieks
2011-11-07 16:24                                       ` Linus Torvalds
2011-11-05  6:36                                 ` Junio C Hamano
2011-11-05 16:41                                   ` Linus Torvalds
2011-11-05 23:49                                     ` Junio C Hamano
2011-11-06  0:53                                       ` Linus Torvalds
2011-11-09 17:26                                 ` Junio C Hamano
2011-11-10  8:02                                   ` Johan Herland
2011-11-10 15:15                                     ` Junio C Hamano
2011-11-10 16:03                                       ` Johan Herland
2011-11-10 17:18                                         ` Junio C Hamano
2011-11-11  1:17                                           ` Johan Herland
2011-11-11  5:26                                             ` Junio C Hamano
2011-11-10 21:41                                     ` Junio C Hamano
2011-11-03 19:06                             ` Linus Torvalds
2011-11-04 21:12                             ` Junio C Hamano
2011-11-04 23:45                               ` Linus Torvalds
2011-11-03  2:55                       ` Jeff King
2011-11-03  3:16                         ` Robin H. Johnson
2011-11-03 18:29                     ` Junio C Hamano
2011-11-01 22:39                 ` Ted Ts'o
2011-11-02 23:34                 ` Junio C Hamano
2011-11-02 23:41                   ` david
2011-11-02 23:42                   ` Linus Torvalds
2011-11-10 13:52                 ` David Woodhouse
2011-11-02 10:53               ` Michael J Gruber
2011-11-02 18:58                 ` Junio C Hamano
2011-11-02 21:05                   ` Michael J Gruber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+55aFyG4VuiRN3kcyDVF4sw7b89m-2bOBeQLOGWTcd9o3akzQ@mail.gmail.com \
    --to=torvalds@linux-foundation.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jeff@garzik.org \
    --cc=jochen@tolot.escape.de \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).