2017-12-20  Werner Koch  <wk@gnupg.org>

	Release 2.2.4.
	+ commit 558b17593ae97b8a07d06bf0d6af1a626b304501


2017-12-19  Petr Pisar  <petr.pisar@atlas.cz>

	po: Update Czech translation.
	+ commit 43aaf60449036e870cc25b77fbb7312cf3fb534c


2017-12-19  Ineiev  <ineiev@gnu.org>

	po: Update Russian translation.
	+ commit c7b8ec6c8e57797f0b77dbf7fca85fb600323328


2017-12-19  Werner Koch  <wk@gnupg.org>

	wks: New server options --check, --with-dir, with-file.
	+ commit 7449063b1af2eef73d621a69cdb2fb713ab1ae6c
	* tools/gpg-wks-server.c (aCheck, oWithDir, oWithFile): New const.
	(opts): New options --check, --with-dir, and --with-file.
	(main): Call command_check_key.
	(command_list_domains): Implement option --with-dir.
	(fname_from_userid): New.
	(command_check_key): New.
	(command_remove_key): Implement existsing command.
	(command_revoke_key): Call command_remove_key as a simple
	implementation.

2017-12-18  Werner Koch  <wk@gnupg.org>

	conf: New option --status-fd.
	+ commit 482e000b8a7e336f342a7fac3b7379257e944b6e
	* tools/gpgconf.c (oStatusFD): New const.
	(opts): New option --status-fd.
	(statusfp): New var.
	(set_status_fd): New.
	(gpgconf_write_status): New.
	(gpgconf_failure): New.
	(main): Set status fd and replace exit by gpgconf_failure.
	* tools/gpgconf-comp.c: Repalce exit by gpgconf_failure.
	(gc_process_gpgconf_conf): Print a few warning status messages.

	gpgconf: Show --compliance in expert mode.
	+ commit d74c40cef0a97cd98aa05f13b1541a94eda502a6
	* tools/gpgconf-comp.c (gc_options_gpg): Set compliance to expert.
	(gc_options_gpgsm): Ditto.

	sm: Allow explicit setting of the default --compliance=gnupg.
	+ commit 8c878ae4c9dfa9fe26aa15f4f9db3e86833575e9
	* sm/gpgsm.c (main): Allow setting of the default compliance.
	* tools/gpgconf-comp.c (gc_options_gpgsm): Add "compliance".

2017-12-18  NIIBE Yutaka  <gniibe@fsij.org>

	po: Update Japanese translation.
	+ commit e3ddeff66e8c08a37ddf8b6510d69579c245e192
	* po/ja.po: Fix message with no "%s".

2017-12-13  Werner Koch  <wk@gnupg.org>

	gpg: Print a warning for too much data encrypted with 3DES et al.
	+ commit 416cf9e9be5d2daf0ef629208031989699b3653f
	* g10/filter.h (cipher_filter_context_t): Remove unused filed
	'create_mdc'.  Turn field 'header' into a bit field.  Add new fields
	'short_blklen_warn' and 'short_blklen_count'.
	* g10/cipher.c (write_header): Print a warning if MDC is not used.
	(cipher_filter): Print a warning for long messages encrypted with a
	short block length algorithm.

	gpg: Simplify cipher:write_header.
	+ commit b5333e13cbc9db354ed90762190bf70605a02d1f
	* g10/cipher.c (write_header): Use write_status_printf.

	gpg: Simplify default_recipient().
	+ commit 9f641430dcdecbd7ee205d407cb19bb4262aa95d
	* g10/pkclist.c (default_recipient): Use hexfingerprint.

	gpg: Return an error from hexfingerprint on malloc error.
	+ commit cd26c5482b10bee7658959ae913f2ddb83190587
	* g10/keyid.c (hexfingerprint): Return NULL on malloc failure.  Chnage
	all callers.

	gpg: Remove some xmallocs.
	+ commit 29119a6492eda5dd7920e45e7f2faa043d436591
	* g10/getkey.c (get_pubkeys): Do not use xmalloc.

2017-12-12  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	gpg: default-preference-list: prefer SHA512.
	+ commit 8ede3ae29a39641a2f98ad9a4cf61ea99085a892
	* g10/keygen.c (keygen_set_std_prefs): when producing default internal
	personal-digest-preferences, keep the same order.  When publishing
	external preferences, state preference for SHA512 first.

2017-12-12  Werner Koch  <wk@gnupg.org>

	Change backlog from 5 to 64 and provide option --listen-backlog.
	+ commit c81a447190d2763ac4c64b2e74e22e824da8aba3
	* agent/gpg-agent.c (oListenBacklog): New const.
	(opts): New option --listen-backlog.
	(listen_backlog): New var.
	(main): Parse new options.
	(create_server_socket): Use var instead of 5.
	* dirmngr/dirmngr.c: Likewise.
	* scd/scdaemon.c: Likewise.

	build: New configure option --enable-run-gnupg-user-socket.
	+ commit 17efcd2a2acdc3b7f00711272aa51e5be2476921
	* configure.ac: (USE_RUN_GNUPG_USER_SOCKET): New ac_define.
	* common/homedir.c (_gnupg_socketdir_internal): Add extra directories.

2017-12-11  Werner Koch  <wk@gnupg.org>

	dirmngr: Check for WKD support at session end.
	+ commit 20b52be9ca29b0bc843fc68a279cb72728ede72f
	* dirmngr/domaininfo.c (insert_or_update): Copy the name.
	* dirmngr/misc.c (copy_stream): Allow arg OUT to be NULL.
	* dirmngr/server.c (set_error): Protect CTX.
	(dirmngr_status): Protect against missing ASSUAN_CTX.
	(dirmngr_status_help): Ditto.
	(dirmngr_status_printf): Ditto.
	(cmd_wkd_get): Factor code out to ...
	(proc_wkd_get): new func.  Support silent operation with no CTX.
	(task_check_wkd_support): New.

	dirmngr: Add a background task framework.
	+ commit f2997adee0455c8c0fa391a853ec1b0c9fc43342
	* dirmngr/workqueue.c: New.
	* dirmngr/Makefile.am (dirmngr_SOURCES): Add new file.
	* dirmngr/server.c (server_local_s): New field session_id.
	(cmd_wkd_get): Add a task.
	(task_check_wkd_support): New stub function.
	(cmd_getinfo): New sub-commands "session_id" and "workqueue".
	(start_command_handler): Add arg session_id and store it in
	SERVER_LOCAL.
	(dirmngr_status_helpf): New.
	* dirmngr/dirmngr.h (wqtask_t): New type.
	* dirmngr/dirmngr.c (main): Pass 0 as session_id to
	start_command_handler.
	(start_connection_thread): Introduce a session_id and pass it to
	start_command_handler.  Run post session tasks.
	(housekeeping_thread): Run global workqueue tasks.

	dirmngr: Limit the number of cached domains for WKD.
	+ commit 7a663c296e687f12ccd9a21d414de780feb4dfcf
	* dirmngr/domaininfo.c (MAX_DOMAINBUCKET_LEN): New.
	(insert_or_update): Limit the length of a bucket chain.
	(domaininfo_print_stats): Print just one summary line.

	(cherry picked from commit 26f08343fbccdbaa177c3507a3c5e24a5cf94a2d)

	dirmngr: Keep track of domains used for WKD queries.
	+ commit 6c1dcd79cf0977844179d9a7b189c10af5e42a7e
	* dirmngr/domaininfo.c: New file.
	* dirmngr/Makefile.am (dirmngr_SOURCES): Add file.
	* dirmngr/server.c (cmd_wkd_get): Check whether the domain is already
	known and tell domaininfo about the results.

2017-12-08  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Fix description of shadow format.
	+ commit 5c121d44443b0a96ec6ea82b90717e3dbafd2cc5
	* agent/keyformat.txt, agent/protect.c, agent/t-protect.c: Fix.

2017-12-07  Werner Koch  <wk@gnupg.org>

	build: Do not define logging.h constants for libgpg-error dev versions.
	+ commit 2fedf8583bcc493f587c90bc9632d25dfd10bd10
	* common/logging.h [GPGRT_LOG_WITH_PREFIX]: Do not define the log
	constants.

2017-12-07  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Change intialization of assuan socket system hooks.
	+ commit b9677ba16f6b386896781a751e4b2fc839e3ec81
	* agent/gpg-agent.c (initialize_modules): Add hook again.
	(main): Remove setting of the system houk but add scoket system hook
	setting after assuan initialization.

2017-12-06  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Set assuan system hooks before call of assuan_sock_init.
	+ commit 1524ba9656f0205d8c6ef504f773b832a7a12ab9
	* agent/gpg-agent.c (initialize_modules): Move assuan_set_system_hooks.
	(main): ... here, just before assuan_sock_init.

2017-12-04  NIIBE Yutaka  <gniibe@fsij.org>
	    Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	g10: Fix regexp sanitization.
	+ commit 0d0b9eb0d4f99e8d293a4ce4b90921a879905115
	* g10/trustdb.c (sanitize_regexp): Only escape operators.

2017-11-26  Werner Koch  <wk@gnupg.org>

	gpg: Do not read from uninitialized memory with --list-packets.
	+ commit 4cf3cc6e3d48c8400466ca29c3f1c22ed2da6c2c
	* g10/parse-packet.c (parse_plaintext): Fill up the allocated NAME.

2017-11-24  Werner Koch  <wk@gnupg.org>

	agent: New option --auto-expand-secmem.
	+ commit 18af15249de5f826c3fa8d1d40e876734adcd0cf
	* agent/gpg-agent.c (oAutoExpandSecmem): New enum value.
	(opts): New option --auto-expand-secmem.
	(main): Implement that option.

2017-11-22  Werner Koch  <wk@gnupg.org>

	gpg: Fix memory leaking for long inputs via --command-fd.
	+ commit ea28ea18f3ee6c9f5e69986f39848398b58e242e
	* g10/cpr.c (do_get_from_fd): Free the old buffer.

2017-11-21  NIIBE Yutaka  <gniibe@fsij.org>

	scd: Enable card removal check after select_application.
	+ commit 0bb7fd0cab2d53cd0d44b21301b23edfe817e66b
	* scd/apdu.c (open_ccid_reader): Fix error handling of ccid_get_atr.
	* scd/app.c (select_application): Always kick the loop if new APP.
	* scd/ccid-driver.c (ccid_open_usb_reader): Don't setup at open.
	(ccid_slot_status): Setup interrupt transfer when !ON_WIRE.

2017-11-20  Werner Koch  <wk@gnupg.org>

	Release 2.2.3.
	+ commit 97f4feaaca8da4dcf1ca09a2016693155016f06b


	build: Use -Werror only for the check.
	+ commit 04d9833e71cc9d0c087faec091c29b0b6cf69488
	* configure.ac: Do not add -Werror to mycflags.

	gpg-agent: Avoid getting stuck in shutdown pending state.
	+ commit 7ffedfab8909a45a4b0347a5f7b52222e8439f1d
	* agent/gpg-agent.c (handle_connections): Always check inotify fds.

2017-11-20  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Use clock or clock_gettime for calibration.
	+ commit 760aa8aadafb747f33a1461ab0c2570b5ae43716
	* agent/protect.c (calibrate_get_time): Use clock or clock_gettime.

	build: Check -Wlogical-op flag availability with -Werror.
	+ commit 3ecd1a41be7c880976987d13e88342c98f37e064
	* configure.ac: Use -Werror.

	build: BSD make support for yat2m.
	+ commit e1984969cac06a88c7e6f5e49e5c3104d10a847d
	* configure.ac (YAT2M): Only define when found.
	* doc/Makefile.am: Portability fix.

2017-11-17  Werner Koch  <wk@gnupg.org>

	dirmngr: Fix double free of a hash context in the error case.
	+ commit 2aa106d6a4e2b09c257e8d769895d93ebb7f7edf
	* dirmngr/crlcache.c: Clearly document that this fucntions takes
	ownership of MD.
	(abort_sig_check): Allow NULL for MD.
	(crl_parse_insert): Immediately set MD to NULL.  Remove check for md
	before a calling abort_sig_check.

2017-11-15  Andre Heinecke  <aheinecke@intevation.de>

	w32: Fix default registry path.
	+ commit 4f5afaf1fdb5cb13859aca390ccb5a1ba1dba00c
	* configure.ac (GNUPG_REGISTRY_DIR): Remove leading backslash.

	gpgtar: Prefer --set-filename over implicit name.
	+ commit 878b8bfdcc3a8becfc46b9287a2d14cd3c875f28
	* tools/gpgtar-extract.c: Prefer opt.filename over filename
	for the directory prefix.

2017-11-15  Werner Koch  <wk@gnupg.org>

	gpg: Print AKL info only in verbose mode.
	+ commit b062ea5bc25157c942047b3fe7f5182a06106340
	* g10/getkey.c (get_pubkey_byname): Print info only in verbose mode.

2017-11-14  Andre Heinecke  <aheinecke@intevation.de>

	sm, w32: Fix initial keybox creation.
	+ commit 5ecef193bc2144e6d51a6bd5727bfd08a0d28b66
	* sm/keydb.c (maybe_create_keybox): Open new keybox in bin mode.

2017-11-07  Werner Koch  <wk@gnupg.org>

	Release 2.2.2.
	+ commit 5bd515005032f9340bd73e4346bbd0aef8518074


	dirmngr: Reduce default LDAP timeout to 15 seconds.
	+ commit 30f21f8b0fa6844a9bba3f24dc41b3ac32170109
	* dirmngr/dirmngr.c (DEFAULT_LDAP_TIMEOUT): Change to 15.
	* dirmngr/dirmngr_ldap.c (DEFAULT_LDAP_TIMEOUT): Ditto.

	(cherry picked from commit ab7ac827041b5cd97bbca7a75b0930072dd6611f)

	speedo: Include software versions in the W32 README.
	+ commit 23bfac6d1a8bd2d0af5a6fac3ba3a6e986d6c9e8
	(cherry picked from commit f9f72ffbfa9fd7d1a7a1823697d116d76155b407)

2017-11-07  Ineiev  <ineiev@gnu.org>

	po: Update Russian translation.
	+ commit 1941287c9d2c9e666bad1bd330db169f0e3d6b6c


2017-11-07  NIIBE Yutaka  <gniibe@fsij.org>

	po: Update Japanese translation.
	+ commit 96d441b315ec5c9f329596cfda28ac13a8bfa21a


2017-11-06  Werner Koch  <wk@gnupg.org>

	agent: New GETINFO sub-commands "s2k_count_cal" and "s2k_time".
	+ commit 3607ab2cf382296cb398a92d5ec792239960bf7b
	* agent/command.c (cmd_getinfo): New sub-commands.
	* agent/protect.c (get_standard_s2k_count): Factor some code out to ...
	(get_calibrated_s2k_count): new.
	(get_standard_s2k_time): New.

	(cherry picked from commit 52d41c8b0f4af6278d18d8935399ddad16a26856)

	agent: New option --s2k-count.
	+ commit 78a6d0ce88ae14d8324fbab3aee3286b17e49259
	* agent/agent.h (opt): New field 's2k_count'.
	* agent/gpg-agent.c (oS2KCount): New enum value.
	(opts): New option --s2k-count.
	(parse_rereadable_options): Set opt.s2k_count.

2017-11-06  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Unattended key generation "Key-Grip" and "Subkey-Grip".
	+ commit 680161647ad56d1ca92988f80bcc4d6fcb20b1eb
	* g10/keygen.c (pSUBKEYGRIP): New.
	(read_parameter_file): Add "Key-Grip" and "Subkey-Grip".
	(do_generate_keypair): Support pSUBKEYGRIP.

	g10: Simplify "factory-reset" procedure.
	+ commit f183b9768b42a6792c55a6129488bd8fbf5e8e6d
	* g10/card-util.c (factory_reset): Simplify.

2017-11-02  Ineiev  <ineiev@gnu.org>

	po: Update Russian translation.
	+ commit 6070f5a61d4d17ff437c69e1b708d49d107c22dc


2017-11-02  Werner Koch  <wk@gnupg.org>

	gpg: Introduce magic value 25519 to switch a card to ECC.
	+ commit acb300543422c660c87ac2f0211a42f792a65cc4
	* g10/card-util.c (ask_card_keyattr): Handle special value 25519.
	(do_change_keyattr): Allow changing to cv25519/ed25519.
	(generate_card_keys): Ditto.
	(card_generate_subkey): Ditto.

	gpg: Rename two card related functions in card-util.
	+ commit de3a740c2e1156e58d2f94faa85c051740c8988e
	* g10/card-util.c (ask_card_rsa_keysize): Rename to ask_card_keyattr.
	(do_change_rsa_keysize): Rename to do_change_keyattr.

2017-11-02  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Fix returning GPG_ERR_NOT_FOUND wrongly.
	+ commit 3da47d19df89d302c0ea25921f4bd8ce55705afe
	* agent/learncard.c (agent_handle_learn): Find SERIALNO.

2017-11-01  NIIBE Yutaka  <gniibe@fsij.org>

	common: Accept the Z-suffix for yymmddThhmmssZ format.
	+ commit 0e5bd473a07f188615c4fce26b73bb452d689d68
	* common/gettime.c (isotime_p): Accept the Z suffix.

2017-10-27  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Clean up pinentry access locking.
	+ commit 3924e1442c6625a2b57573a1a634a5ec56b09a29
	* agent/agent.h (struct server_control_s): Rename PINENTRY_ACTIVE.
	* agent/call-pinentry.c (entry_owner): Remove.
	(agent_reset_query): Use thread private object of PINENTRY_ACTIVE.
	(unlock_pinentry): Add CTRL to arguments to access thread private.
	Check and decrement PINENTRY_ACTIVE for recursive use.
	(start_pinentry): Check and increment PINENTRY_ACTIVE for recursion.
	(agent_askpin): Follow the change of unlock_pinentry API.
	(agent_get_passphrase, agent_get_confirmation): Likewise.
	(agent_show_message, agent_popup_message_start): Likewise.
	(agent_popup_message_stop, agent_clear_passphrase): Likewise.

	agent: Allow recursive use of pinentry.
	+ commit 4738256f2e0d22302377c9ec7b2ae3999338e6c6
	* agent/agent.h (struct server_control_s): Add pinentry_level.
	* agent/call-pinentry.c (agent_popup_message_stop): Not clear
	ENTRY_CTX here.
	(unlock_pinentry): Handle recursion.  Clear ENTRY_CTX here.
	(start_pinentry): Allow recursive use.

2017-10-26  NIIBE Yutaka  <gniibe@fsij.org>

	agent, tests: Support --disable-scdaemon build case.
	+ commit 05cb87276c21c3a47226c75026fa46a955553dd9
	* agent/command.c (cmd_scd): Support !BUILD_WITH_SCDAEMON.
	* tests/openpgp/defs.scm (create-gpghome): Likewise.
	* tests/gpgsm/gpgsm-defs.scm (create-gpgsmhome): Likewise.

	Fix comment of configure.
	+ commit b13972dfbf7224478652038725ab0d2cb41b7303
	* configure.ac (BUILD_WITH_DIRMNGR): Comment fix.

2017-10-24  Werner Koch  <wk@gnupg.org>

	gpg: Avoid superfluous sig check info during import.
	+ commit 84af859e391a757877c9a1d78e35face983e6d23
	* g10/key-check.c (print_info): New.
	(key_check_all_keysigs): Print sig checking results only in debug
	mode.  Prettify the stats info and suppress them in quiet mode.

	build: New configure option --enable-werror.
	+ commit 812fe29bff42cf7dbd07e0becc55b2ada340dd97
	* configure.ac: Implement that option.

	build: Do not mess with CFLAGS in configure.
	+ commit e417aaf69817fcb4a73c38077853dc940a2deabc
	* configure.ac: Do not mess with the user provided CFLAGS.

2017-10-24  Rainer Perske  <rainer.perske@uni-muenster.de>

	sm: Do not expect X.509 keyids to be unique.
	+ commit 1067403c8a7fb51decf30059e46901b5ee9f5b37
	* sm/certlist.c (gpgsm_find_cert): Add arg allow_ambiguous and use it.
	* sm/call-dirmngr.c (inq_certificate): Pass true to ALLOW_AMBIGUOUS
	(run_command_inq_cb): Ditto.
	* sm/gpgsm.c (main): Pass false.
	* sm/server.c (cmd_passwd): Pass false.

2017-10-24  Werner Koch  <wk@gnupg.org>

	gpgconf: Ignore non-installed components with --apply-profile.
	+ commit 6e808ae4700dc5e95bf4cc2d5c063df582c234d0
	* tools/gpgconf-comp.c (retrieve_options_from_program): Add arg
	only_installed.
	(gc_component_retrieve_options): Use this if we want to process all
	components.

	gpg: Improve the "secret key available" notice in keyedit.c.
	+ commit 560d85ecff4246133d185dc29395f07c918b5556
	* g10/keyedit.c (KEYEDIT_NEED_SUBSK): New.
	(cmds): Add this flag to keytocard, bkuptocard, expire, and passwd.
	(keyedit_menu): Check whether only subkeys are available and take care
	of that in the command check and in the HELP listing.  Also print a
	different notice if only subkeys are available.

	gpg: Remove unused flags from keyedit.c.
	+ commit 016538d82867c40a21bc7cbf44ec386f4699077f
	* g10/keyedit.c (KEYEDIT_NOT_SK, KEYEDIT_ONLY_SK): Remove.
	(cmds): Remove them.

2017-10-19  Werner Koch  <wk@gnupg.org>

	gpg: Fix creating on-disk subkey with on-card primary key.
	+ commit 44fb3fbc85b32552c91f32f099b6b246c12ce0cc
	* g10/keygen.c (generate_subkeypair): Ignore error code issued for
	trying to verify a card based key.

	gpg: Print sec/sbb with --import-option import-show or show-only.
	+ commit 2c7dccca9b617780a3ea760adf460bb3b77f90f3
	* g10/import.c (import_one): Pass FROM_SK to list_keyblock_direct.

	gpg: Make --dry-run and show-only work for secret keys.
	+ commit 68c8619114fd5f24cb6bfb9e0f25c428a8805323
	* g10/import.c (import_secret_one): Check for dry-run before
	transferring keys.

2017-10-19  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	dirmngr: Do not follow https-to-http redirects.
	+ commit 1ba308aa0356a57c21c4c8c2dac75b4d62b8aac3
	* dirmngr/ks-engine-http.c (ks_http_fetch): Forbid redirects from
	a https URI to a http URI.

2017-10-19  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix find_and_check_key for multiple keyrings.
	+ commit d07de3862710d88bc80d6f6c5ca8da5cf38ff0eb
	* g10/pkclist.c (find_and_check_key): Call get_validity on a specific
	keyblock.

2017-10-19  Werner Koch  <wk@gnupg.org>

	gpg: Keep a lock during the read-update/insert cycle in import.
	+ commit 7c73db3d31c6457dfbdc82a8dc89951c023f0603
	* g10/keydb.c (keydb_handle): New field 'keep_lock'.
	(keydb_release): Clear that flag.
	(keydb_lock): New function.
	(unlock_all): Skip if KEEP_LOCK is set.
	* g10/getkey.c (get_keyblock_byfprint_fast): Call keep_lock if
	requested.

	gpg: Improve keydb handling in the main import function.
	+ commit 8448347b5bdee56e6f9938a93ea92fe4d3c8800c
	* g10/getkey.c (get_pubkey_byfprint_fast): Factor most code out to ...
	(get_keyblock_byfprint_fast): .. new function.
	* g10/import.c (revocation_present): s/int rc/gpg_error_t err/.
	(import_one): Use get_keyblock_byfprint_fast to get the keyblock and a
	handle.  Remove the now surplus keyblock fetch in the merge branch.

	gpg: Simplify keydb handling of the main import function.
	+ commit 752cae6dd2ee8982a34c796a3f168ae538f7938c
	* g10/import.c (import_keys_internal): Return gpg_error_t instead of
	int.  Change var names.
	(import_keys_es_stream): Ditto.
	(import_one): Ditto.  Use a single keydb_new and simplify the use of
	of keydb_release.

	sm: Fix colon listing of fields > 12 in crt records.
	+ commit 1bf5cbd3ef01b7f5fdcfa30c882047b924dcf3f0
	* sm/keylist.c (print_capabilities): Move colon printing ...
	(list_cert_colon): to here.

2017-09-28  Werner Koch  <wk@gnupg.org>

	gpg: Workaround for junk after --trusted-key.
	+ commit b509d81cab030cca6abf0d878e1fc884eda344e6
	* g10/trust.c (register_trusted_key): Cut off everthing starting as a
	hash sign.

2017-09-19  Werner Koch  <wk@gnupg.org>

	Release 2.2.1.
	+ commit 355ca9e9498740fb6294eec451507b4891ae01ec


2017-09-18  Werner Koch  <wk@gnupg.org>

	dirmngr: Use system certs if --hkp-cacert is not used.
	+ commit df692a6167be5486f9a29da003a00292fd895176
	* dirmngr/certcache.c (any_cert_of_class): New var.
	(put_cert): Set it.
	(cert_cache_deinit): Clear it.
	(cert_cache_any_in_class): New func.
	* dirmngr/http-ntbtls.c (gnupg_http_tls_verify_cb): Add hack to
	override empty list of HKP certs.

	wks: Create a new user id if provider wants mailbox-only.
	+ commit 50c8b6c88f5d9f4b6c4e9c03aee31fe29afa94b8
	* tools/gpg-wks-client.c (get_key): Add arg 'exact'.
	(add_user_id): New.
	(command_send): Create new user id.

	wks: Send only the newest UID to the server.
	+ commit 7f7f5d06fa5aa3a3c5ab8d2e59ee76207bfdeaa0
	* tools/wks-util.c (list_key_status_cb): Rename to key_status_cb.
	(wks_filter_uid): New.
	(wks_list_key): Allow FPR to be NULL.  Return an error if no
	fingerprint was found.
	* tools/gpg-wks-server.c (process_new_key)
	(check_and_publish): Remove now useless extra check for FPR.
	* tools/gpg-wks-client.c (command_check): Ditto.
	(command_send): Filter out the newest uid.

	wks: Print the UID creation time with gpg-wks-client --check.
	+ commit a0035986a8615df056182bb9af775b8b7b22003d
	* tools/gpg-wks.h (uidinfo_list_s): Add field 'created'.
	* tools/wks-util.c (append_to_uidinfo_list): Add arf 'created'.
	(wks_list_key): Pass timestamp to append_to_uidinfo_list.
	* tools/gpg-wks-client.c (command_check): Print UID creation time.

	wks: Use dedicated type to convey user ids.
	+ commit 4e0696de897cac6a34d55a69d8889faf26f1a923
	* tools/gpg-wks.h (uidinfo_list_s, uidinfo_list_t): New.
	* tools/wks-util.c (append_to_uidinfo_list): New.
	(free_uidinfo_list): New.
	(wks_list_key): Change arg r_mboxes to uidinfo_list_t.  Use
	append_to_uidinfo_list.
	* tools/gpg-wks-server.c (sserver_ctx_s): Replace strlist_t by
	uidinfo_list_t.
	(process_new_key): Ditto.
	(check_and_publish): Ditto.
	(command_receive_cb): Replace free_strlist by free_uidinfo_list.
	* tools/gpg-wks-client.c (command_check): Replace strlist_t by
	uidinfo_list_t.  Also print user id in verbose mode.

2017-09-13  Werner Koch  <wk@gnupg.org>

	gpgv: Initialize compliance checker.
	+ commit 006ca124ed95845d43af8c14d7ab2bc085b47b4c
	* g10/gpgv.c (main): Call gnupg_initialize_compliance.

2017-09-12  Werner Koch  <wk@gnupg.org>

	wks: Add hack for the broken posteo system.
	+ commit a821b4f5567d02c3329c2b94a73dcbe12e6699a2
	* tools/gpg-wks-client.c (command_send): Additional hack for posteo.
	Check the protocol-version flag.

	wks: Add new policy flag protocol-version.
	+ commit 332c9eaa2a3c7cae90b389cdaa2c149c5595fb4d
	* tools/gpg-wks.h (policy_flags_s): Add field protocol_version.
	* tools/wks-util.c (wks_parse_policy): Add new policy flag.

	gpg: Fix "Fix key generation with only an email part".
	+ commit 8b5a2474f21dd4f1aa2a283e2f57d75e42742af5
	* g10/keygen.c (proc_parameter_file): Don't check the result of
	stpcpy.

	wks: Use unencrypted draft-1 mode for posteo.de.
	+ commit c65a7bba7331975d20910f90cf648b6ecc5410f0
	* tools/gpg-wks-client.c (command_send): Allow sending in draft-1
	mode.

	tools: New function mime_maker_add_body_data.
	+ commit 7d15ee88980f88ca62fc7de9492dd08e54d0f0f1
	* tools/mime-maker.c (mime_maker_add_body_data): New.

2017-09-11  NIIBE Yutaka  <gniibe@fsij.org>

	tests: Fix a test which specifies expiration date.
	+ commit a172759b5088ae086c0caa2e7d4d0ea346b28a90
	* tests/openpgp/quick-key-manipulation.scm: Fix expiration time
	comparison.

	scd: Fix for large ECC keys.
	+ commit 827abe01a72a50eab1cdcde78985b42a4a8480fb
	* scd/app-openpgp.c (do_decipher): Support larger length.

2017-09-11  Werner Koch  <wk@gnupg.org>

	gpg: Fix key generation with only an email part.
	+ commit 7089dcc54099a4909ce7d386c07ab87e1398e2eb
	* g10/keygen.c (proc_parameter_file): Special case the email only
	case.

2017-08-28  Werner Koch  <wk@gnupg.org>

	Release 2.2.0.
	+ commit 9d80fb8e000189e61c173c39f1e1ca417566a7fc


2017-08-27  Werner Koch  <wk@gnupg.org>
	    Arnaud Fontaine  <arnaud.fontaine@ssi.gouv.fr>

	scd: Convey the correct length for Le.
	+ commit 45d5f5800afe6613f338a26f361cb5e03e861129
	* scd/app-openpgp.c (determine_rsa_response): Round bits up.

2017-08-24  Werner Koch  <wk@gnupg.org>

	gpg: Fix memory leak while running --check-trustdb.
	+ commit 13821e15fb9bdddfce79d88731c0f151724b2371
	* g10/trustdb.c (update_min_ownertrust): Free PK.

	gpg: Fix memory leak in sig-check.
	+ commit b065a696344eac3007dbd5642143ecaaeebab43a
	* g10/sig-check.c (check_signature_over_key_or_uid): Remove useless
	condition.  Actually free when SIGNER was allocated by us.

	build: Remove obsolete option from autogen.rc.
	+ commit 02a5df614a369519ad7781f95dc977e24a0d4277
	* autogen.rc: Remove --enable-gpg2-is-gpg.

2017-08-23  Werner Koch  <wk@gnupg.org>

	gpgconf: Swap "auto-key-retrieve" and "no-auto-key-retrieve".
	+ commit 565e486b8028f9e3cc51ebc5202666b598042175
	* g10/gpg.c (gpgconf_list): Announce "auto-key-retrieve".
	(main): Simplify setting of KEYSERVER_AUTO_KEY_RETRIEVE.
	* tools/gpgconf-comp.c: Make "no-auto-key-retrieve" invisible.  Make
	"auto-key-retrieve" an expert option.

	tests: Do not run trust-pgp-4.scm.
	+ commit b917cb66b79597520788cd9264889942247a3377
	* tests/openpgp/Makefile.am (XTESTS): Remove test.
	(EXTRA_DIST): Add test file.

	build: Change SWDB tag "gnupg21" to "gnupg22".
	+ commit 008ae0bd868cb49ad4d67fc8c71707cd2a162137
	* configure.ac (GNUPG_SWDB_TAG): New ac_define.  Set it to "gnupg22".
	* tools/gpgconf.c (query_swdb): Use it.
	* build-aux/speedo.mk: Change tag "gnupg21" to "gnupg22".
	* Makefile.am (distcheck-hook): Ditto.

2017-08-23  Åka Sikrom  <a4@hush.com>

	po: Update Norwegian translation.
	+ commit fd0e5b60bed1cfc2aed7b2e13cc449f355eac051


2017-08-23  Andre Heinecke  <aheinecke@intevation.de>

	agent: Fix string translation for Windows.
	+ commit 6158811304937b592601ef30c29c5a5cdbaa88ea
	* agent/agent.h (L_): Define agent_Lunderscore when simple
	gettext is used.

2017-08-22  NIIBE Yutaka  <gniibe@fsij.org>

	po: Update Japanese translation.
	+ commit e6fa6b0ce823effd721c807b2b292287af91c642


2017-08-21  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	tests: Add tests for the PGP trust model.
	+ commit c23a69970ba38edae9d3b2603825d18fbb732423
	* tests/openpgp/trust-pgp-1.scm: New file.
	* tests/openpgp/trust-pgp-2.scm: New file.
	* tests/openpgp/trust-pgp-3.scm: New file.
	* tests/openpgp/trust-pgp-4.scm: New file.
	* tests/openpgp/trust-pgp/common.scm: New file.
	* tests/openpgp/trust-pgp/scenario1.asc: New file.
	* tests/openpgp/trust-pgp/scenario2.asc: New file.
	* tests/openpgp/trust-pgp/scenario3.asc: New file.
	* tests/openpgp/trust-pgp/scenario4.asc: New file.
	* tests/openpgp/trust-pgp/alice.sec.asc: New file.
	* tests/openpgp/trust-pgp/bobby.sec.asc: New file.
	* tests/openpgp/trust-pgp/carol.sec.asc: New file.
	* tests/openpgp/trust-pgp/david.sec.asc: New file.
	* tests/openpgp/trust-pgp/frank.sec.asc: New file.
	* tests/openpgp/trust-pgp/grace.sec.asc: New file.
	* tests/openpgp/trust-pgp/heidi.sec.asc: New file.
	* tests/openpgp/Makefile.am (XTESTS): Add new tests.
	(TEST_FILES): Add new files.
	(EXTRA_DIST): Add new common file.

	tests: Move some functions into a common module.
	+ commit cbe54b28bf3610204e12c50c0606df37337a1156
	* tests/openpgp/tofu.scm (gettrust): Moved to the common defs.scm
	module.
	(checktrust): Likewise.
	* tests/openpgp/defs.scm (gettrust): New function.
	(checktrust): Likewise.

	gpgconf: Make WoT settings configurable by gpgconf.
	+ commit 0161225457e0609509d0d5f4b80a60a1071b4b48
	* tools/gpgconf-comp.c (gc_options_gpg): Add max-cert-depth,
	completes-needed, and marginals-needed options.
	* g10/gpg.c (gpgconf_list): Likewise.

2017-08-21  Justus Winter  <justus@g10code.com>

	gpgscm: Fix -Wimplicit-fallthrough warnings.
	+ commit 6e596b2a745ae7a75a69038cf00ab4bbae1cebaa
	* tests/gpgscm/scheme.c (CASE): Rearrange so that the case statement
	is at the front.
	(Eval_Cycle): Improve fallthrough annotations.

2017-08-11  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	gpg: default to --no-auto-key-retrieve.
	+ commit e6f84116abca2ed49bf14b2e28c3c811a3717227
	* g10/gpg.c (main): remove KEYSERVER_AUTO_KEY_RETRIEVE from the
	default keyserver options.
	* doc/gpg.texi: document this change.

2017-08-10  Justus Winter  <justus@g10code.com>

	tests: Improve documentation.
	+ commit 23107ba20f8b4eb5482b480ad6a8af6b39d2bfeb
	* tests/openpgp/README: Add quickstart instructions, how to use
	shell.scm, remove no longer used MKDATA.

2017-08-09  Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>

	g10: Write status error on error of --quick-revoke-uid.
	+ commit 977fc5f0eb9fdee19e66bea8cd2eb5414789b485
	* g10/keyedit.c (keyedit_quick_revuid): Write status error on error.

2017-08-09  Werner Koch  <wk@gnupg.org>

	Release 2.1.23.
	+ commit e8ffa9a6ca5d76660b67207cd1157068e48483de


	po: Update German translation.
	+ commit 2059dbf201963c6f229698ae80c6c774b1f686c8


2017-08-08  Werner Koch  <wk@gnupg.org>

	build: New configure option --enable-all-tests.
	+ commit fb21aa8b50367e2afa13bad73fc21d6f01a97e18
	* configure.ac: New option --enable-all-tests.
	* tests/gpgscm/ffi.c (ffi_init): New gloabl var *run-all-tests*.
	* tests/openpgp/all-tests.scm (all-tests): Use that var instead
	of *maintainer-mode*.
	* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Add --enable-all-tests.

	gpgscm: Make the test summary stand out.
	+ commit 0bd19dae1161a71053d794e4f75e66f70445f9f0
	* tests/gpgscm/tests.scm (test-pool): Add delimiter lines.

	sm: Always print the keygrip in colon mode.
	+ commit 0a8e20c4c639f0c491e2af5ac5fb97005196422b
	* sm/keylist.c (list_cert_colon): Always print the keygrip as
	described in the manual.

2017-08-08  Justus Winter  <justus@g10code.com>

	gpg: Add option '--disable-dirmngr'.
	+ commit c4506f624ed6854aa0ba1629aa2d1d43eb26900d
	* doc/gpg.texi: Document new option.
	* g10/call-dirmngr.c (create_context): Fail if option is given.
	* g10/gpg.c (cmd_and_opt_values): New value.
	(opts): New option.
	(gpgconf_list): Add new option.
	(main): Handle new option.
	* g10/options.h (struct opt): New field 'disable_dirmngr'.
	* tools/gpgconf-comp.c (gc_options_gpg): New option.

2017-08-07  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	systemd-user: Drop redundant After=*.socket.
	+ commit 81074c3b0211854a2dc94600dc892224201536f5
	* doc/examples/systemd-user/*.service: Drop redundant After=*.socket
	directive.

	systemd-user: Drop RefuseManualStart=true.
	+ commit 407da18254dfebcacfaee16952ef0b617b1626ea
	* doc/examples/systemd-user/*.service: drop RefuseManualStart=true

2017-08-07  Justus Winter  <justus@g10code.com>

	tests: Do not run all tests unless in maintainer mode.
	+ commit b0112dbca91e720a4ff622ad0e88d99eba56203a
	* configure.ac: Leak the maintainer mode flag into 'config.h'.
	* tests/gpgscm/ffi.c: Pass it into the scheme environment.
	* tests/openpgp/all-tests.scm: Only run tests against non-default
	configurations (keyring, extended-key-format) in maintainer mode.

2017-08-07  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	Fix spelling.
	+ commit a611cba142470c52f3303c512f77ae7d195cc41f
	* doc/gpg.texi: s/occured/occurred/

	Simple typo fix.
	+ commit f011d8763a009612c858a287cf7cc6a1f1a6d32a
	* agent/gpg-agent.c: Correct spelling in comment.

2017-08-05  Werner Koch  <wk@gnupg.org>

	gpg: Install gpg by default under the name gpg.
	+ commit a69464b0b6dac88b360a13d3faf19dd7f2a0e02b
	* configure.ac: Remove option --enable-gpg2-is-gpg.  Add option
	--enable-gpg-is-gpg2.
	* build-aux/speedo.mk (speedo_pkg_gnupg_configure): Remove
	--enable-gpg2-is-gpg.

	gpg: gpgconf needs to support the now default --auto-key-retrieve.
	+ commit 69e97d909d586160cc0631c9a6f4d3f24bb0c682
	* tools/gpgconf-comp.c (gc_options_gpg): Re-add "auto-key_retrieve".

2017-08-04  Werner Koch  <wk@gnupg.org>

	gpg: Fix memory leak in parse_auto_key_locate.
	+ commit b70e86fd1050fc6da07a177ed142ae9882b4dd0d
	* g10/getkey.c (parse_auto_key_locate): Fix freeing of OPTIONS.

	tests: Adjust tests for changed --auto-key-locate default.
	+ commit 0767eada1479c0fa9d4b75781a8c2afb67bdbf90
	* tests/openpgp/defs.scm (create-gpghome): Disable new defaults.

	gpg: Make --no-auto-key-retrieve gpgconf-igurable.
	+ commit 9bb13a0e819334681caca38c9074bd7bfc04e45e
	* g10/gpg.c (gpgconf_list): Print no-auto-key-retrieve instead of
	auto-key-retrieve.
	* tools/gpgconf-comp.c (gc_options_gpg): Replace auto-key-retrieve by
	no-auto-key-retrieve and chnage level from invisible to advanced.

	gpg: Default to --auto-key-locate "local,wkd" and --auto-key-retrieve.
	+ commit 7e1fe791d188b078398bf83c9af992cb1bd2a4b3
	* g10/gpg.c (main): Add KEYSERVER_AUTO_KEY_RETRIEVE to the default
	keyserver options.  Set the default for --auto-key-locate to
	"local,wkd".  Reset that default iff --auto-key-locate has been given
	in the option file or in the commandline.
	* g10/getkey.c (parse_auto_key_locate): Work on a copy of the arg.

	agent: Make --no-grab the default.
	+ commit 3d78ae4d3de08398fabae5821045a3a1da6dadbe
	* agent/gpg-agent.c (oGrab): New const.
	(opts): New option --grab.  Remove description for --no-grab.
	(parse_rereadable_options): Make --no-grab the default.
	(finalize_rereadable_options): Allow --grab to override --no-grab.
	(main) <gpgconflist>: Add "grab".
	* tools/gpgconf-comp.c (gc_options_gpg_agent): Add "grab".

	gpg: Avoid double fingerprint printing with import-show.
	+ commit b54d75fb1dcfa2cebb3a2497b81ffb49acac2056
	* g10/import.c (import_one) <IMPORT_SHOW>: Take care of fingerprint
	options.

	gpg: New import option show-only.
	+ commit d9fabcc1989d7235ea0294874803295a30f8711b
	* g10/options.h (IMPORT_DRY_RUN): New.
	* g10/import.c (parse_import_options): Add "show-only".
	(import_one): use that as alternative to opt.dry_run.

2017-08-03  Werner Koch  <wk@gnupg.org>

	wks: Allow gpg-wks-client --supported with just the domain name.
	+ commit 6cba56d436b56ea5e60042144a8a75a2e80007c8
	* tools/gpg-wks-client.c (command_supported): Hack for missing local
	part.

2017-08-02  Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>

	g10: Always save standard revocation certificate in file.
	+ commit dcfb01959802b27869528dda1d9a4f5e79574bb5
	* g10/revoke.c (gen_standard_revocation): Set opt.outfile to NULL
	temporarily to create certificate in right place.

2017-08-01  Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>

	Revert "g10: Always save standard revocation certificate in file."
	+ commit 624cd2d0bf6cc6dd1b79654295dc76f5b2d6d70b
	This reverts commit ebc65ff459e6c228fb7406e375819a9fe5637abe.

	g10: Always save standard revocation certificate in file.
	+ commit ebc65ff459e6c228fb7406e375819a9fe5637abe
	* g10/main.h (open_outfile): New parameter NO_OUTFILE.
	* g10/openfile.c (open_outfile): New parameter NO_OUTFILE.  If given,
	never use opt.outfile.
	* g10/revoke.c (create_revocation): If FILENAME is true, also set
	NO_OUTFILE to true (for standard revocation certificates).
	* g10/dearmor.c, g10/encrypt.c, g10/export.c, g10/revoke.c,
	g10/sign.c: Adjust all other callers.

	artwork: Add icons.
	+ commit a8d0b8d2333ddab703d1e346e06c106eeeedfd53
	* artwork/icons/index.css: New file.
	* artwork/icons/index.html: New file.
	* artwork/icons/lock-12.png: New file.
	* artwork/icons/lock-128.png: New file.
	* artwork/icons/lock-16.png: New file.
	* artwork/icons/lock-24.png: New file.
	* artwork/icons/lock-256.png: New file.
	* artwork/icons/lock-32.png: New file.
	* artwork/icons/lock-48.png: New file.
	* artwork/icons/lock-64.png: New file.
	* artwork/icons/lock-wing-12.png: New file.
	* artwork/icons/lock-wing-128.png: New file.
	* artwork/icons/lock-wing-16.png: New file.
	* artwork/icons/lock-wing-24.png: New file.
	* artwork/icons/lock-wing-256.png: New file.
	* artwork/icons/lock-wing-32.png: New file.
	* artwork/icons/lock-wing-48.png: New file.
	* artwork/icons/lock-wing-64.png: New file.
	* artwork/icons/lock-wing.svg: New file.
	* artwork/icons/lock.svg: New file.
	* artwork/icons/wing-12.png: New file.
	* artwork/icons/wing-128.png: New file.
	* artwork/icons/wing-16.png: New file.
	* artwork/icons/wing-24.png: New file.
	* artwork/icons/wing-256.png: New file.
	* artwork/icons/wing-32.png: New file.
	* artwork/icons/wing-48.png: New file.
	* artwork/icons/wing-64.png: New file.
	* artwork/icons/wing.svg: New file.

2017-08-01  Werner Koch  <wk@gnupg.org>

	gpg,sm: Error out on compliance mismatch while decrypting.
	+ commit 4e117f206beb38287ddcd3251fb7baabadfbddbb
	* g10/pubkey-enc.c (get_session_key): Bail out if the algo is not
	allowed in the current compliance mode.
	* sm/decrypt.c (gpgsm_decrypt): Ditto.

2017-08-01  NIIBE Yutaka  <gniibe@fsij.org>

	Simple typo fix.
	+ commit fde9a8cc6c849fb21f3e6782dbd5c6bc863357eb
	* tools/rfc822parse.c: Fix.

	po: Update Japanese translation.
	+ commit 02b571947b9442604faa7509478cd8577c2c0b9c


2017-07-31  Werner Koch  <wk@gnupg.org>

	dirmngr,w32: Fix http connection timeout problem.
	+ commit 482fd5758c1b7e1b33c4cb50656e586a3ae16815
	* dirmngr/http.c (connect_with_timeout) [W32]: Take care of EAGAIN.

	Explain the "server is older than xxx warning".
	+ commit 4ad5bc1b6d72483123963c894ee1412b2ceb99b4
	* g10/call-agent.c (warn_version_mismatch): Print a note on how to
	restart the servers.
	* g10/call-dirmngr.c (warn_version_mismatch): Ditto.
	* sm/call-agent.c (warn_version_mismatch): Ditto.
	* sm/call-dirmngr.c (warn_version_mismatch): Ditto.

2017-07-28  Werner Koch  <wk@gnupg.org>

	Release 2.1.22.
	+ commit 7d335ff496b129ee6f33c4ca25bd7a6631a4b590
