gnupg/doc
Werner Koch 915297705a
kbx: Redefine the UBID which is now the primary fingerprint.
* common/util.h (UBID_LEN): New.  Use it at all places.
* kbx/keybox-blob.c (create_blob_finish): Do not write the UBID item.
* kbx/keybox-dump.c (print_ubib): Remove.
(_keybox_dump_blob): Do not print the now removed ubid flag.
* kbx/keybox-search-desc.h (struct keydb_search_desc): Use constants
for the size of the ubid and grip.
* kbx/keybox-search.c (blob_cmp_ubid): New.
(has_ubid): Make it a simple wrapper around blob_cmp_ubid.
(keybox_get_data): Add arg 'r_ubid'.

* kbx/frontend.h (enum kbxd_store_modes): New.
* kbx/kbxserver.c (cmd_store): Add new option --insert.

* kbx/backend-cache.c (be_cache_initialize): New.
(be_cache_add_resource): Call it here.
* kbx/backend-kbx.c (be_kbx_seek): Remove args 'fpr' and 'fprlen'.
(be_kbx_search): Get the UBID from keybox_get_data.
* kbx/backend-support.c (be_fingerprint_from_blob): Replace by ...
(be_ubid_from_blob): new.  Change all callers.

* kbx/frontend.c (kbxd_add_resource): Temporary disable the cache but
use the new cache init function.
(kbxd_store): Replace arg 'only_update' by 'mode'.  Seek using the
ubid.  Take care of the mode.
--

It turned out that using the hash of the entire blob was not helpful.
Thus we redefine the Unique-Blob-ID (UBID) as the primary fingerprint
of the blob.  In case this is a v5 OpenPGP key a left truncated
version of the SHA-256 hash is used; in all other cases the full SHA-1
hash.  Using a SHA-256 hash does not make sense because v4 keys are
and will for some time be the majority of keys and thus padding them
with zeroes won't make any difference.  Even if fingerprint collisions
can eventually be created we will assume that the keys are bogus and
that it does not make sense to store its twin also in our key storage.
We can also easily extend the update code to detect a collision and
reject the update.

Signed-off-by: Werner Koch <wk@gnupg.org>
2019-11-28 11:16:13 +01:00
..
examples Merge branch 'STABLE-BRANCH-2-2' into master 2018-05-13 13:29:40 +02:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
DCO Add missing file. 2013-04-17 11:26:27 +02:00
DETAILS kbx: Redefine the UBID which is now the primary fingerprint. 2019-11-28 11:16:13 +01:00
FAQ doc: Fix FAQ stub and remove faq build rules. 2015-03-04 15:10:52 +01:00
HACKING doc: fix spelling mistakes 2018-10-24 14:39:56 -04:00
KEYSERVER Migrated more stuff to doc/ 2006-08-21 20:20:23 +00:00
Makefile.am doc: Fix distchek for generated eps file 2019-09-10 10:07:19 +02:00
Notes all: fix more spelling errors 2018-10-25 16:53:05 -04:00
OpenPGP gpg: Remove all support for v3 keys and always create v4-signatures. 2014-10-17 13:32:16 +02:00
TRANSLATE Clean up word replication. 2017-02-21 13:11:46 -05:00
a-decade-of-gnupg.txt doc: Typo fixes. 2014-12-14 12:15:21 +01:00
announce-2.0.txt sm/ 2006-11-14 10:23:21 +00:00
announce-2.1.txt doc: Revert the bug reporting address to bugs.gnupg.org 2017-07-24 10:43:27 +02:00
com-certs.pem Remove all expired common CA certificates. 2014-11-04 21:47:03 +01:00
contrib.texi doc: Fix Martin Hellman's name. 2016-09-20 09:32:25 +09:00
debugging.texi doc: Fix a debug hint on the keybox format. 2019-07-18 14:11:55 +02:00
dirmngr.texi doc,dirmngr: Clarify --standard-resolver. 2019-11-23 20:29:34 +01:00
faq.org doc: fix spelling mistakes 2018-10-24 14:39:56 -04:00
fdl.texi Taken from NewPG 2003-01-09 13:24:01 +00:00
glossary.texi doc: Fix typos. 2016-09-20 09:56:22 +09:00
gnupg-badge-openpgp.eps * preset-passphrase.c (preset_passphrase): Handle --passphrase. 2004-12-21 19:05:15 +00:00
gnupg-badge-openpgp.jpg * preset-passphrase.c (preset_passphrase): Handle --passphrase. 2004-12-21 19:05:15 +00:00
gnupg-badge-openpgp.pdf Made make distcheck work again 2006-06-20 17:47:10 +00:00
gnupg-card-architecture.fig Changed to GPLv3. 2007-07-04 19:49:40 +00:00
gnupg-logo-tr.png Beautified the online html manual 2011-08-12 14:40:47 +02:00
gnupg-logo.eps Add new logo. 2007-03-08 18:31:56 +00:00
gnupg-logo.pdf doc: Add gnupg-logo.pdf 2014-07-03 11:03:22 +02:00
gnupg-logo.png doc: Improve the rendering of the manual 2014-06-25 11:15:45 +02:00
gnupg-module-overview.svg doc: Add a gnupg-module-overview picture. 2016-02-16 13:01:17 +01:00
gnupg.texi card: Rename gpg-card-tool to gpg-card. 2019-02-25 09:34:30 +01:00
gnupg7.texi Include dirmngr manual 2010-06-10 10:39:44 +00:00
gpg-agent.texi doc: Update description of --debug 2019-09-05 13:12:14 +02:00
gpg-card.texi doc: Minor change to the included yat2m. 2019-04-04 12:52:09 +02:00
gpg.texi gpg: Fix a potential loss of key sigs during import with self-sigs-only. 2019-11-07 15:07:25 +01:00
gpgsm.texi gpgsm: Allow sepcification of ldaps servers. 2019-11-09 11:29:59 +01:00
gpgv.texi gpgv: Improve documentation for keyring choices 2019-03-07 07:54:29 +01:00
gpl.texi Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.be.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.ca.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.cs.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.da.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.de.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.el.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.eo.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.es.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.et.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.fi.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.fr.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.gl.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.hu.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.id.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.it.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.ja.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.nb.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.pl.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.pt.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.pt_BR.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.ro.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.ru.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.sk.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.sv.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.tr.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.txt gpg: In a list of card keys show the standard keys. 2019-08-21 15:26:34 +02:00
help.zh_CN.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
help.zh_TW.txt Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
howto-create-a-server-cert.texi gpgsm: default to 3072-bit keys. 2017-09-08 11:37:42 -04:00
howtos.texi Add a howto section. 2007-05-08 13:59:41 +00:00
instguide.texi doc: Do not end section names with "." 2016-09-20 16:15:19 +09:00
mkdefsinc.c doc: Escape file names in generated macros. 2016-07-06 19:35:15 +02:00
mksamplekeys Adjust awk to not add trailing whitespace. 2012-11-30 12:43:34 -05:00
opt-homedir.texi doc: Fix typos. 2016-09-20 09:56:22 +09:00
samplekeys.asc Refresh sample keys 2012-11-30 12:47:49 -05:00
scdaemon.texi doc: Update description of --debug 2019-09-05 13:12:14 +02:00
see-also-note.texi More man pages. Added include files for 2 common paragraphs. 2006-08-18 13:05:39 +00:00
specify-user-id.texi gpg: Implement searching keys via keygrip. 2019-01-29 20:10:11 +01:00
sysnotes.texi doc: Do not end section names with "." 2016-09-20 16:15:19 +09:00
texi.css Beautified the online html manual 2011-08-12 14:40:47 +02:00
tools.texi tools: New option --keyboxd for gpg-connect-agent. 2019-08-06 14:57:07 +02:00
trust-values.texi doc: Update description of displayed trust values. 2018-05-07 08:07:07 +02:00
vuln-announce-2007-multiple-message.txt Clean up word replication. 2017-02-21 13:11:46 -05:00
vuln-announce-2010-kbx-realloc.txt Some work on the dirmngr 2010-07-23 16:16:14 +00:00
vuln-announce-cve-2006-6235.txt 2006-12-06 16:38:34 +00:00
whats-new-in-2.1.txt Release 2.2.0 2017-08-28 11:18:26 +02:00
wks.texi doc: fix minor spelling and tense errors 2019-08-20 15:16:19 -04:00
yat2m.c doc: Minor change to the included yat2m. 2019-04-04 12:52:09 +02:00