[pkg-gnupg-maint] Debian gnupg2 (2.1.11-7+exp1) experimental
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Fri Apr 22 14:59:29 UTC 2016
On Fri 2016-04-22 09:18:59 -0400, Julian Andres Klode wrote:
> IIRC, APT needs to merge keyrings die to gpg's number of keyrings
> limit
hang on -- this kind of begs the question: we need gpg because we need
to merge keyrings for gpg? :)
I think you're saying that we need to merge keyrings because of gpgv's
limit of 40 keyrings, is that right?
i suppose i can imagine some vaguely sane system that wants 40 keyrings
-- maybe the system pulls packages from 10 repos, and each repo has 4
different keys, and they're all placed separately. What kind of limit
would you prefer?
As an aside: why is there a limit anyway?
g10/keydb.c contains:
#define MAX_KEYDB_RESOURCES 40
which is used to define a static array of keyrings; each instantiated
keyring itself apparently includes a comparably-sized static array, so
the size of RAM consumed grows with the square of the number of keyrings
used. I confess i don't understand this arrangement; perhaps it could
be refactored upstream eventually to remove the hard limit. Werner, can
you explain the situation here?
In the meantime, I'd be happy to boost this to a reasonable number
(something that would satisfy the apt team) in the debian packaging even
if upstream decides to keep it at 40. what do y'all think is "a
reasonable number" ?
(even further aside: for gpgv, the list of keyrings should be much
simpler to maintain than for gpg, since gpgv is never expected to modify
any of the keyrings; the real complications here for gpgv lie in the
reuse of the code between gpg and gpgv; if it were possible to have a
separate codepath for keyring loading for gpgv, i think it would be much
simpler)
Finally, if merging is still necessary for other reasons, you should be
able to use /bin/cat to merge binary-format transferable keyrings.
> and adding keys the old way with apt-key should work too.
you mean that someone should be able to do "apt-key add $filename",
right?
Why should this require the full gpg? why wouldn't it just do something
like:
cp -a $filename $(mktemp --suffix=.gpg /etc/apt/trusted.gpg.d/added-key.XXXXXX)
Alternately, if this isn't acceptable for some reason, can we move gnupg
to Recommends: and then if someone invokes apt-key add, and gpg isn't
available, it can fail with an error message that suggests either:
a) install the gnupg package and try again, or
b) move the file into /etc/apt/trusted.gpg.d/
Archive signature verification really just requires public key
operations, it would be nice to not require any of the secret key
machinery if we don't need to.
--dkg
PS i note that sm/keydb.c also has a MAX_KEYDB_RESOURCES, but it is
#defined to 20. Since this isn't relevant to apt, i'll leave it alone
for now :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 948 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnupg-maint/attachments/20160422/1cbca5de/attachment.sig>
More information about the pkg-gnupg-maint
mailing list