gnupg/common
Werner Koch f40e9d6a52
kbx: Add support for 32 byte fingerprints.
* common/userids.c (classify_user_id): Support 32 byte fingerprints.
* kbx/keybox-search-desc.h (KEYDB_SEARCH_MODE_FPR32): New.
(struct keydb_search_desc): Add field fprlen.
* kbx/keybox-defs.h (struct _keybox_openpgp_key_info): Add field
version and increase size of fpr to 32.
* kbx/keybox-blob.c: Define new version 2 for PGP and X509 blobs.
(struct keyboxblob_key): Add field fprlen and increase size of fpr.
(pgp_create_key_part_single): Allow larger fingerprints.
(create_blob_header): Implement blob version 2 and add arg want_fpr32.
(_keybox_create_openpgp_blob): Detect the need for blob version 2.
* kbx/keybox-search.c (blob_get_first_keyid): Support 32 byte
fingerprints.
(blob_cmp_fpr): Ditto.
(blob_cmp_fpr_part): Ditto.
(has_fingerprint): Add arg fprlen and pass on.
(keybox_search): Support KEYDB_SEARCH_MODE_FPR32 and adjust for
changed has_fingerprint.
* kbx/keybox-openpgp.c (parse_key): Support version 5 keys.
* kbx/keybox-dump.c (_keybox_dump_blob): Support blob version 2.

* g10/delkey.c (do_delete_key): Support KEYDB_SEARCH_MODE_FPR32.
* g10/export.c (exact_subkey_match_p): Ditto.
* g10/gpg.c (main): Ditto.
* g10/getkey.c (get_pubkey_byfprint): Adjust for changed
KEYDB_SEARCH_MODE_FPR.
* g10/keydb.c (keydb_search_desc_dump): Support
KEYDB_SEARCH_MODE_FPR32 and adjust for changed KEYDB_SEARCH_MODE_FPR.
(keydb_search): Add new arg fprlen and change all callers.
* g10/keyedit.c (find_by_primary_fpr): Ditto.
* g10/keyid.c (keystr_from_desc): Ditto.
* g10/keyring.c (keyring_search): Ditto.
* g10/keyserver.c (print_keyrec): Ditto.
(parse_keyrec): Ditto.
(keyserver_export): Ditto.
(keyserver_retrieval_screener): Ditto.
(keyserver_import): Ditto.
(keyserver_import_fprint): Ditto.
(keyidlist): Ditto.
(keyserver_get_chunk): Ditto.

* g10/keydb.c (keydb_search): Add new arg fprlen and change all
callers.

* sm/keydb.c (keydb_search_fpr): Adjust for changed
KEYDB_SEARCH_MODE_FPR.
--

This prepares the support for OpenPGP v5 keys.  The new version 2 blob
format is needed for the longer fingerprints and we also use this
opportunity to prepare for storing the keygrip in the blob for faster
lookup by keygrip.  Right now this is not yet functional.

Signed-off-by: Werner Koch <wk@gnupg.org>
2019-03-14 11:26:54 +01:00
..
ChangeLog-2011 Fix typos 2015-10-28 10:20:17 +01:00
ChangeLog-2011.include Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
ChangeLog.jnlib common: Remove JNLIB from boiler plate (jnlib merge). 2015-04-24 16:42:28 +02:00
Makefile.am gpg: Move S2K encoding function to a shared file. 2019-01-26 23:10:38 +01:00
README common: Update README. 2016-03-02 14:27:30 +01:00
agent-opt.c agent: New OPTION pretend-request-origin 2018-03-23 08:37:14 +01:00
all-tests.scm tests: Make it possible to run all tests using our infrastructure. 2017-05-11 18:12:37 +02:00
argparse.c all: fix spelling and typos 2018-10-24 15:56:18 -04:00
argparse.h Change license of argparse.c back to LGPLv2.1 2018-03-21 09:15:13 +01:00
asshelp.c Adjust for changed macro names in libgpg-error master. 2017-12-11 10:42:23 +01:00
asshelp.h common: Use new function to print status strings. 2018-02-14 12:21:44 +01:00
asshelp2.c common: Use new function to print status strings. 2018-02-14 12:21:44 +01:00
audit.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
audit.h headers: fix spelling 2018-10-25 16:53:05 -04:00
b64dec.c g10, sm, dirmngr, common: Add comment for fall through. 2017-05-10 11:13:12 +09:00
b64enc.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
call-gpg.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
call-gpg.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ccparray.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ccparray.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
common-defs.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
compliance.c gpg: Remove PGP6 compliance mode. 2018-05-29 13:01:12 +02:00
compliance.h gpg: Remove PGP6 compliance mode. 2018-05-29 13:01:12 +02:00
convert.c all: fix spelling and typos 2018-10-24 15:56:18 -04:00
dotlock.c all: fix spelling and typos 2018-10-24 15:56:18 -04:00
dotlock.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
dynload.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
exaudit.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
exechelp-posix.c doc: Update copyright notices for common/exechelp*. 2017-11-29 11:32:42 +01:00
exechelp-w32.c Merge branch 'STABLE-BRANCH-2-2' into master 2018-05-13 13:29:40 +02:00
exechelp-w32ce.c doc: Update copyright notices for common/exechelp*. 2017-11-29 11:32:42 +01:00
exechelp.h doc: Update copyright notices for common/exechelp*. 2017-11-29 11:32:42 +01:00
exectool.c common: Add kludge to allow silencing gnupg_exec_tool_stream. 2019-01-30 14:38:37 +01:00
exectool.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
exstatus.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
fwddecl.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gc-opt-flags.h gpg: Add option --dirmngr-program. 2014-03-12 18:35:36 +01:00
get-passphrase.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
get-passphrase.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gettime.c common: Accept the Z-suffix for yymmddThhmmssZ format. 2017-11-01 18:35:29 +01:00
gettime.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gnupg.ico w32: Add icons and version information. 2013-05-07 21:35:48 +02:00
gpgrlhelp.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
helpfile.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
homedir.c gpg,w32: Fix empty homedir when only a drive letter is used. 2018-04-09 14:44:21 +02:00
host2net.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
i18n.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
i18n.h Fix typos found using codespell. 2015-11-17 12:50:22 +01:00
init.c Some preparations to eventuallt use gpgrt_argparse. 2018-06-12 16:11:19 +02:00
init.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
iobuf.c common/iobuf: fix memory wiping in iobuf_copy 2018-12-01 13:43:10 +02:00
iobuf.h iobuf: Increase the size of the buffer. Add iobuf_set_buffer_size. 2018-01-24 18:38:17 +01:00
isascii.c common: Change license of isascii.c to all-premissive, 2015-12-14 16:21:19 +01:00
keyserver.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ksba-io-support.c common: Rename remaining symbols in ksba-io-support. 2017-02-16 17:21:05 +01:00
ksba-io-support.h common: Rename remaining symbols in ksba-io-support. 2017-02-16 17:21:05 +01:00
localename.c common: Fix warning for portability. 2017-03-07 10:42:46 +09:00
logging.h Require libgpg-error 1.29 and remove internal logging functions. 2018-06-12 13:46:00 +02:00
mapstrings.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mbox-util.c common: Prepare for parsing mail sub-addresses. 2018-11-12 07:44:33 +01:00
mbox-util.h common: Prepare for parsing mail sub-addresses. 2018-11-12 07:44:33 +01:00
membuf.c Clean up word replication. 2017-02-21 13:11:46 -05:00
membuf.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
miscellaneous.c common: New function decode_c_string. 2019-01-30 08:28:56 +01:00
mischelp.c common/mischelp: use platform memory zeroing function for wipememory 2018-12-01 13:43:09 +02:00
mischelp.h common/mischelp: use platform memory zeroing function for wipememory 2018-12-01 13:43:09 +02:00
mkdir_p.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mkdir_p.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mkerrors all: fix more spelling errors 2018-10-25 16:53:05 -04:00
mkerrtok all: fix more spelling errors 2018-10-25 16:53:05 -04:00
mkstrtable.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
name-value.c Clean up word replication. 2017-02-21 13:11:46 -05:00
name-value.h build: Remove duplicates from AC_CHECK_FUNCS 2018-06-21 12:58:29 +02:00
openpgp-oid.c common: New helper functions for OpenPGP curve OIDs. 2019-01-29 18:19:05 +01:00
openpgp-s2k.c gpg: Move S2K encoding function to a shared file. 2019-01-26 23:10:38 +01:00
openpgpdefs.h common: Provide some convenient OpenPGP related constants. 2019-01-29 18:20:34 +01:00
percent.c common: Extend function percent_data_escape. 2019-01-24 10:02:52 +01:00
pkscreening.c gpg,sm: New option --with-key-screening. 2017-10-17 21:10:19 +02:00
pkscreening.h gpg,sm: New option --with-key-screening. 2017-10-17 21:10:19 +02:00
recsel.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
recsel.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
server-help.c common: New functions get_option_value and ascii_strupr. 2019-02-08 11:13:33 +01:00
server-help.h common: New functions get_option_value and ascii_strupr. 2019-02-08 11:13:33 +01:00
session-env.c Clean up word replication. 2017-02-21 13:11:46 -05:00
session-env.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
sexp-parse.h headers: fix spelling 2018-10-25 16:53:05 -04:00
sexputil.c common: Provide function to get public key algo names in our format. 2019-02-08 12:10:45 +01:00
shareddefs.h agent: New OPTION pretend-request-origin 2018-03-23 08:37:14 +01:00
signal.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
simple-pwquery.c all: fix spelling and typos 2018-10-24 15:56:18 -04:00
simple-pwquery.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
ssh-utils.c Fix use of strncpy, which is actually good to use memcpy. 2018-09-06 11:41:13 +09:00
ssh-utils.h common: Support different digest algorithms for ssh fingerprints. 2017-05-24 17:01:48 +02:00
status.c common: Add generic status print function. 2019-01-22 09:02:17 +01:00
status.h common: Add generic status print function. 2019-01-22 09:02:17 +01:00
stringhelp.c common: New functions get_option_value and ascii_strupr. 2019-02-08 11:13:33 +01:00
stringhelp.h common: New functions get_option_value and ascii_strupr. 2019-02-08 11:13:33 +01:00
strlist.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
strlist.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
sysutils.c common: Fix gnupg_reopen_std. 2018-10-02 14:22:24 +09:00
sysutils.h common: New functions gnupg_daemon_rootdir and gnupg_chdir. 2017-07-25 12:43:37 +02:00
t-b64.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-ccparray.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-convert.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-dotlock.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-exechelp.c all: fix spelling and typos 2018-10-24 15:56:18 -04:00
t-exectool.c tests: Avoid skipping exectool tests. 2016-12-20 18:39:30 +01:00
t-gettime.c tests: Fix t-gettime for a time_t of 64 and a long of 32 bit. 2017-01-12 10:39:19 +01:00
t-helpfile.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-iobuf.c Replace use of variable-length-arrays. 2017-01-02 13:29:18 +01:00
t-mapstrings.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-mbox-util.c common: Prepare for parsing mail sub-addresses. 2018-11-12 07:44:33 +01:00
t-name-value.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-openpgp-oid.c common: New helper functions for OpenPGP curve OIDs. 2019-01-29 18:19:05 +01:00
t-percent.c common: Extend function percent_data_escape. 2019-01-24 10:02:52 +01:00
t-recsel.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-session-env.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
t-sexputil.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-ssh-utils.c common: Correctly render SHA256-based ssh fingerprints. 2017-05-24 17:07:13 +02:00
t-stringhelp.c common: New function split_fields_colon. 2017-07-17 15:53:16 +02:00
t-strlist.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-support.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-support.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-sysutils.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-timestuff.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-w32-reg.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-zb32.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
tlv.c Silence two -Wlogical-op warnings. 2017-01-05 20:43:40 +01:00
tlv.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ttyio.c common: Minor rework of tty_get. 2019-03-07 14:11:46 +01:00
ttyio.h common: Remove unused function tty_print_string. 2017-01-17 10:19:06 +01:00
types.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
userids.c kbx: Add support for 32 byte fingerprints. 2019-03-14 11:26:54 +01:00
userids.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
utf8conv.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
utf8conv.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
util.h scd: For PIV cards used NO_AUTH instead of BAD_PIN. 2019-02-11 09:07:54 +01:00
utilproto.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
w32-reg.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
w32help.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
w32info-rc.h.in Release 2.2.5 2018-02-22 15:32:36 +01:00
xasprintf.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
xreadline.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
yesno.c Clean up word replication. 2017-02-21 13:11:46 -05:00
zb32.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
zb32.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00

README

Common functionality used by all modules of GnuPG.