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

	Release 2.1.11.
	+ commit cb46b787571ef149856be03b8c3481bb79871698


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

	g10: Fix print_keygrip for smartcard.
	+ commit 627839ea88da11a9e8d033e3c91bdf5a048b15c3
	* g10/card-util.c (print_keygrip): Use tty_fprintf.

2018-11-05  Werner Koch  <wk@gnupg.org>

	wks: New option --with-colons for gpg-wks-client.
	+ commit 66e0bd37ee3dd5ab534b2664493576ef6ad15a08
	* tools/gpg-wks.h (opt): Add field with_colons.
	* tools/gpg-wks-client.c (oWithColons): New const.
	(opts, parse_arguments): Add option --with-colons.
	(main): Change aSupported to take several domains in --with-colons
	mode.
	(command_send): Factor policy getting code out to ...
	(get_policy_and_sa): New function.
	(command_supported): Make use of new function.

	speedo: Remove obsolete configure option of gpgme.
	+ commit 593895a5e495c4647efa7db164356f3cae3d5759
	* build-aux/speedo.mk (speedo_pkg_gpgme_configure): Remove
	--disable-w32-qt option.

	dirmngr: In verbose mode print the OCSP responder id.
	+ commit 50756927ce6247abc2fadefbc76c58b75c8a7586
	* dirmngr/ocsp.c (ocsp_isvalid): Print the responder id.

	(cherry picked from commit 0a7f446c189201ca6e527af08b44da756b343209)

	tools: Replace duplicated code in mime-maker.
	+ commit d5f540e7a9b3a723ba787e3a587fcd1b0948f105
	* tools/rfc822parse.c (HEADER_NAME_CHARS): New.  Taken from
	mime-maker.c.
	(rfc822_valid_header_name_p): New.  Based on code from mime-maker.c.
	(rfc822_capitalize_header_name): New.  Copied from mime-maker.c.
	(capitalize_header_name): Remove.  Replace calls by new func.
	(my_toupper, my_strcasecmp): New.
	* tools/mime-maker.c: Include rfc822parse.h.
	(HEADER_NAME_CHARS, capitalize_header_name): Remove.
	(add_header): Replace check and capitalization by new functions.

	gpg: Don't take the a TOFU trust model from the trustdb,
	+ commit 82cd7556fdce989aaacf91e0d369a62e4652f224
	* g10/tdbio.c (tdbio_update_version_record): Never store a TOFU model.
	(create_version_record): Don't init as TOFU.
	(tdbio_db_matches_options): Don't indicate a change in case TOFU is
	stored in an old trustdb file.

	dirmngr: Emit SOURCE status also on NO_DATA.
	+ commit ab7a907a184f37ddafaa0dc7200c76b735ba4853
	* dirmngr/ks-engine-hkp.c (ks_hkp_search): Send SOURCE status also on
	NO DATA error.
	(ks_hkp_get): Ditto.
	* g10/call-dirmngr.c (gpg_dirmngr_ks_search): Print "data source" info
	also on error.
	(gpg_dirmngr_ks_get): Ditto.

	dirmngr: Fix LDAP port parsing.
	+ commit 5ab58d3001b0342aecaf691b1af70b1f76426f55
	* dirmngr/misc.c (host_and_port_from_url): Fix bad port parsing and a
	segv for a missing slash after the host name.

2018-10-26  Werner Koch  <wk@gnupg.org>

	build: By default build wks-tools on all Unix platforms.
	+ commit 8a33d5c9c699d2145d39b362d580df67571c5f36
	(cherry picked from commit b83fed64f8051279a8f36e024c1f12f7f13c4716)

	wkd: Add option --directory to the server.
	+ commit 839426104a0c829f0182b22048fdc51cf295beb7
	* tools/gpg-wks-server.c (opts): Add '--directory',
	(main): Explain how to set correct permissions.
	(command_list_domains): Create an empty policy file and remove the
	warning for an empty policy file.

2018-10-25  Werner Koch  <wk@gnupg.org>

	dirmngr: Fix out of scope use of a var in the keyserver LDAP code.
	+ commit 26ebb15bec897a105b248680c1ddf1806592b1eb
	* dirmngr/ks-engine-ldap.c (extract_attributes): Don't use a variabale
	out of scope and cleanup the entire pgpKeySize block.

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

	agent: Fix possible uninitalized use of CTX in simple_pwquery.
	+ commit e53253485cd7ceb7012505a629d2cd997167ccab
	* common/simple-pwquery.c (agent_open): Clear CTX even on early error.

	agent: Fix possible release of unitialize var in a genkey error case.
	+ commit 62c75271173f83c5770576aae7b84f55a9ccbc16
	* agent/command.c (cmd_genkey): Initialize 'value'.

	ssh: Fix possible infinite loop in case of an read error.
	+ commit 147e59b7815daafb32b570a96f1d1925d0f37008
	* agent/command-ssh.c (ssh_handler_add_identity): Handle other errors
	than EOF.

	tools: Fix FILE memory leak in gpg-connect-agent.
	+ commit f1561e5196e54f11b18050eeaeda50e786d188c2
	* tools/gpg-connect-agent.c (do_open): dup the fileno and close the
	stream.

	(cherry picked from commit 378719f25fe00d46393541f4a4f79e04484c3000)

	sm: Use the correct string in an error message.
	+ commit 1b9b0fc54b9bcd5eb1e63816bd3222d7ac7572a7
	* sm/gpgsm.c (main): Fix error message.

2018-10-24  Andre Heinecke  <aheinecke@intevation.de>

	dirmngr: Only print info for no ldapserver file.
	+ commit 01baee2b0ef4f81ac6ffa55480e91168dd27b430
	* dirmngr/dirmngr.c (parse_ldapserver_file): Only print info
	for ENOENT.

2018-10-23  Andre Heinecke  <aheinecke@intevation.de>

	sm: Fix dirmngr loadcrl for intermediate certs.
	+ commit 6b36c16f77722d17f4f317c788701cbc1e9552b2
	* sm/call-dirmngr.c (run_command_inq_cb): Support ISTRUSTED.
	(inq_certificate): Distinguish unsupported inquiry error.

2018-10-22  Werner Koch  <wk@gnupg.org>

	dirmngr: Prepare for updated WKD specs with ?l= param.
	+ commit a2bd4a64e5b057f291a60a9499f881dd47745e2f
	* dirmngr/server.c (proc_wkd_get): Tack the raw local address to the
	request.

	gpg: Fix extra check for sign usage of a data signature.
	+ commit b0d6e26bf3c8decaa568c9e4a5b2451d9af0b25b
	* g10/sig-check.c (check_signature_end_simple):

2018-10-15  NIIBE Yutaka  <gniibe@fsij.org>

	scd: Fix signing authentication status.
	+ commit 7e2b0488d13561be2b754e28801de654747a8dcc
	* scd/app-openpgp.c (do_sign): Clear DID_CHV1 after signing.

2018-10-02  NIIBE Yutaka  <gniibe@fsij.org>

	common: Fix gnupg_reopen_std.
	+ commit 8f844ae1cd16e27ad07d45784b1f0ff2917da2b8
	* common/sysutils.c (gnupg_reopen_std): Use fcntl instead of fstat.

2018-09-10  NIIBE Yutaka  <gniibe@fsij.org>

	common: Use iobuf_get_noeof to avoid undefined behaviors.
	+ commit 0383e7fed7b2a45c7f0ae4c11415c6a9a3a3ddb7
	* common/iobuf.c (block_filter): Use iobuf_get_noeof.

	agent: Fix error code check from npth_mutex_init.
	+ commit 213379debe5591dad6339aa95aa7282e0de620f9
	* agent/call-pinentry.c (initialize_module_call_pinentry): It's an
	error when npth_mutex_init returns non-zero.

2018-09-07  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix memory leak.
	+ commit 91f8a9b33a1282cbf00cb4b71b177088f0d923d7
	* g10/import.c (read_block): Call free_packet to skip the packet.

2018-09-06  NIIBE Yutaka  <gniibe@fsij.org>

	Fix use of strncpy, which is actually good to use memcpy.
	+ commit f0fdee2e24a25f57a84e1684984ce3921d923e0a
	* common/ssh-utils.c (get_fingerprint): Use memcpy.
	* g10/build-packet.c (string_to_notation): Use memcpy.

2018-08-30  Werner Koch  <wk@gnupg.org>

	Release 2.2.10.
	+ commit 24697074f44c18eeeedbc1e09d35f56504c57a1f


2018-08-30  Ineiev  <ineiev@gnu.org>

	po: Update Russian translation.
	+ commit 2f5ba3a6c19b7a514488be01b7683287d74545d3


2018-08-29  Werner Koch  <wk@gnupg.org>

	gpg: Explain error message in key generation with --batch.
	+ commit a9931b3c052ee9025705a8ef1f0cdd5f20aeda70
	* g10/keygen.c (generate_keypair): Show more info.

	gpg: Remove unused function get_pubkeys.
	+ commit 719fc941b6eceb75c2326335d9d73011823ff3f9
	* g10/getkey.c (get_pubkeys): Remove.
	(pubkey_free): Remove and use code directly ...
	(pubkeys_free): ... here.

	(cherry picked from commit ed8fe21e6612401846fc4af8631f0136dc633c67)

	gpg: New option --known-notation.
	+ commit a59a9962f48f828ea7d22362dfa6d82841551110
	* g10/gpg.c (oKnownNotation): New const.
	(opts): Add option --known-notation.
	(main): Set option.
	* g10/parse-packet.c (known_notations_list): New local var.
	(register_known_notation): New.
	(can_handle_critical_notation): Rewrite to handle the new feature.
	Also print the name of unknown notations in verbose mode.

2018-08-28  Ineiev  <ineiev@gnu.org>

	po: Update Russian translation.
	+ commit b02ad56a9041273df58ded4cc70cf5ffa9e58c16


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

	assuan: Fix exponential decay for first second.
	+ commit 38eb7c360bc4867cbaf37e3c2c0865bc6452ba4a
	* common/asshelp.c (wait_for_sock): Round SECSLEFT.
	* dirmngr/dirmngr.c (main): Take care of --debug-wait also in dameon
	mode.
	* common/sysutils.c (gnupg_usleep) [HAVE_NANOSLEEP]: Fix nanosleep use.

2018-08-28  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	assuan: Use exponential decay for first 1s of spinlock.
	+ commit 1189df2cd7d4b6896ba22aa204c159ff2a425ead
	* common/asshelp.c (wait_for_sock): instead of checking the socket
	every second, we check 10 times in the first second (with exponential
	decay).

	assuan: Reorganize waiting for socket.
	+ commit a22a55b994e06dd06157fbdabf5a402d8daf69c2
	* common/asshelp.c (wait_for_sock): New function, collecting
	codepaths from...
	(start_new_gpg_agent) here and...
	(start_new_dirmngr) here.

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

	gpg: Refresh expired keys originating from the WKD.
	+ commit 0709f358cd13abc82e0f97f055fcaa712f0fd44f
	* g10/getkey.c (getkey_ctx_s): New field found_via_akl.
	(get_pubkey_byname): Set it.
	(only_expired_enc_subkeys): New.
	(get_best_pubkey_byname): Add support to refresh expired keys from the
	WKD.

	gpg: Remove unused arg from a function.
	+ commit 11a9fe1c5820b97d7e0f4b3e91f016df9dc466a9
	* g10/getkey.c (get_best_pubkey_byname): Remove unused arg 'no_akl'.
	Change both callers.

	(cherry picked from commit db67ccb759426c1173761574b14bdfe6a76394c2)

2018-08-10  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix undefined behavior when EOF in parsing packet for S2K.
	+ commit 822c633845066756b6442ca67b93b4b5c4316ca0
	* g10/parse-packet.c (parse_symkeyenc): Use iobuf_get_noeof.
	(parse_key): Likewise.

2018-07-29  Werner Koch  <wk@gnupg.org>

	gpg: Set a limit for a WKD import of 256 KiB.
	+ commit f1c0d9bb6506eee6a3ad93ef432fe6aa5b72aabd
	* g10/call-dirmngr.c (MAX_WKD_RESULT_LENGTH): New.
	(gpg_dirmngr_wkd_get): Use it.

	dirmngr: Validate SRV records in WKD queries.
	+ commit 8a98aa25bb4bdbfe53afd4534f6624454ca01ab0
	* dirmngr/server.c (proc_wkd_get): Check the returned SRV record names
	to mitigate rogue DNS servers.

	common: New function to validate domain names.
	+ commit 4f59187a17f16d559e37a375501a0add1ca7eee8
	* common/mbox-util.c (is_valid_domain_name): New.
	* common/t-mbox-util.c (run_dns_test): New test.

	(cherry picked from commit ddee9f9409fb5a089883eab0fadef7b9b7e61e72)

2018-07-29  Jiří Keresteš  <jiri.kerestes@trustica.cz>

	scd: Add support for Trustica Cryptoucan.
	+ commit d43248af9242d30e95f58285e4f2a2e927aae937
	(cherry picked from commit 967d3649d24aba623133808e8d01675dff389fbb)

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

	Release 2.2.9.
	+ commit 2b82db61ccfe57d077dff43e0d732b51c73e1a45


2018-07-09  Werner Koch  <wk@gnupg.org>

	gpg: Remove multiple subkey bindings during export-clean.
	+ commit 61562fe00027a4263f53661ad279072bd0b0133e
	* g10/key-clean.c (clean_one_subkey_dupsigs): New.
	(clean_all_subkeys): Call it.

	gpg: Let export-clean remove expired subkeys.
	+ commit 8055f186a32e628028de897b7ee4705cd8e999b7
	* g10/key-clean.h (KEY_CLEAN_NONE, KEY_CLEAN_INVALID)
	(KEY_CLEAN_ENCR, KEY_CLEAN_AUTHENCR, KEY_CLEAN_ALL): New.
	* g10/key-clean.c (clean_one_subkey): New.
	(clean_all_subkeys): Add arg CLEAN_LEVEL.
	* g10/import.c (import_one): Call clean_all_subkeys with
	KEY_CLEAN_NONE.
	* g10/export.c (do_export_stream): Call clean_all_subkeys depedning on
	the export clean options.

	gpg: Split key cleaning function for clarity.
	+ commit 046276db3a04f1907ddcf77c3771832613918226
	* g10/key-clean.c (clean_key): Rename to clean_all_uids and split
	subkey cleaning into ...
	(clean_all_subkeys): new.  Call that always after the former clean_key
	invocations.

	gpg: Move key cleaning functions to a separate file.
	+ commit 40bf383f72b5629de739e30c9c35bbcb628273e8
	* g10/trust.c (mark_usable_uid_certs, clean_sigs_from_uid)
	(clean_uid_from_key, clean_one_uid, clean_key): Move to ...
	* g10/key-clean.c: new file.
	* g10/key-clean.h: New.
	* g10/Makefile.am (gpg_sources): Add new files.
	* g10/export.c, g10/import.c, g10/keyedit.c, g10/trustdb.c: Include
	new header.
	* g10/trustdb.h (struct key_item, is_in_klist): Move to ...
	* g10/keydb.h: here.

2018-07-06  Werner Koch  <wk@gnupg.org>

	gpg: Allow decryption using several passphrases in may cases.
	+ commit b4599a0449ead7dc5c0d922aa78b6168e625e15e
	* g10/mainproc.c (symkey_decrypt_seskey): Check for a valid algorithm.
	(proc_symkey_enc): Clear passpharse on error from above function.

2018-07-05  Werner Koch  <wk@gnupg.org>

	po: Add flag options for xgettext.
	+ commit 833738a316977ee774399bd658d535216dff22e9
	* po/Makevars (XGETTEXT_OPTIONS): Add --flag options.

	gpg: Prepare for signatures with ISSUER_FPR but without ISSUER.
	+ commit 221af19351addcdc28a1cd533c8628cfa3841671
	* g10/getkey.c (get_pubkey_for_sig): New.
	(get_pubkeyblock_for_sig): New.
	* g10/mainproc.c (issuer_fpr_raw): Give global scope.
	(check_sig_and_print): Use get_pubkeyblock_for_sig.
	* g10/pkclist.c (check_signatures_trust): Use get_pubkey_for_sig.
	* g10/sig-check.c (check_signature2): Ditto.
	(check_signature_over_key_or_uid): Ditto.

2018-07-04  Andre Heinecke  <aheinecke@intevation.de>

	po: Fix bug in german translation.
	+ commit 063cf45c142f33815bc0f31d0fb3e1b25ca57b8c
	* po/de.po (decryption forced to fail!): Fix translation.

2018-07-04  Werner Koch  <wk@gnupg.org>

	gpg: Ignore too large user ids during import.
	+ commit cb6b925f94b42c91fe8a7ed8bb22d98984538efc
	* g10/import.c (read_block): Add special treatment for bad user ids
	and comment packets.

	gpg: Extra check for sign usage when verifying a data signature.
	+ commit ef50fdf82a459894ed3da7b9be83f89658f1eaba
	* g10/sig-check.c (check_signature_end_simple): Check sign usage.

2018-07-03  Werner Koch  <wk@gnupg.org>

	gpg: Print revocation reason for "rev" records.
	+ commit 04fb76684d8b2c9cda2e5c35bad6edec521cffa5
	* g10/main.h: Add prototype.
	* g10/keylist.c (list_keyblock_print): Print revocation info.
	(list_keyblock_colon): Ditto.

	* g10/test-stubs.c (get_revocation_reason): New stub.
	* g10/gpgv.c (get_revocation_reason): New stub.

	gpg: Print revocation reason for "rvs" records.
	+ commit a8e24addcc4e0fdff7d07acdd7e13bf6febf97d2
	* g10/import.c (get_revocation_reason): New.
	(list_standalone_revocation): Extend function.

	gpg: Let --show-keys print revocation certificates.
	+ commit 5c67ee160d4969b1ef94642ac602e1aed4d9a6d7
	* g10/import.c (list_standalone_revocation): New.
	(import_revoke_cert): Call new function.

2018-07-03  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix memory leak for PKT_signature.
	+ commit 2809be1f97a447171a9e8b40079851740b15341a
	* g10/getkey.c (buf_to_sig): Free by free_seckey_enc.
	* g10/gpgcompose.c (signature): Likewise.
	* g10/sign.c (write_signature_packets): Likewise.

2018-07-02  NIIBE Yutaka  <gniibe@fsij.org>

	libdns: For SOCKS connection, just fails.
	+ commit cca92ca5348999a3564dd54d7b0a103cc9e7640c
	* dirmngr/dns.c (dns_res_exec): If it's DNS_SO_SOCKS_CONN, don't
	iterate to other server, but return the error immediately.

2018-06-20  NIIBE Yutaka  <gniibe@fsij.org>

	libdns: Let kernel to decide the local port.
	+ commit 72a35ffee022f1bf180d02250c5be6a4edb599e7
	* dirmngr/dns.c (LEAVE_SELECTION_OF_PORT_TO_KERNEL): New.
	(dns_socket): Don't select ephemeral port in user space.

2018-06-18  NIIBE Yutaka  <gniibe@fsij.org>

	libdns: Fix for non-FQDN hostname.
	+ commit 87d0ecf8a1b80139a6cab2a79f1ca6e287207999
	* dirmngr/dns.c (dns_resconf_open): Clear search[0] for non-FQDN
	hostname.

	libdns: Fix connect and try next nameserver when ECONNREFUSED.
	+ commit 699fe4b36f62b0f4d4e21a85ee7c9ae13377d6cb
	* dirmngr/dns.c (dns_so_check): When EINVAL, release the association
	by connect with AF_UNSPEC and try again.  Also try again for
	ECONNREFUSED.
	(dns_res_exec): Try next nameserver when ECONNREFUSED.

	libdns: Clear struct sockaddr_storage by zero.
	+ commit 0c05b08e8b5c1f120fe5f3ed5c061f034f7496a0
	* dirmngr/dns.c (dns_resconf_pton): Clear SS.
	(dns_resconf_setiface): Clear ->IFACE.
	(dns_hints_root, send_query): Clear SS.

	libdns: Sync to upstream.
	+ commit 20c289606f89803929948ddd18910acff2acc9eb
	* dirmngr/dns.c (dns_nssconf_loadfile): Handle exclamation mark.

	dirmngr: Fix recursive resolver mode.
	+ commit 13320db678675246f4bb5a3fb6ece143f37c34a4
	* dirmngr/dns-stuff.c (libdns_init): Initialize options.recurse.

2018-06-12  Werner Koch  <wk@gnupg.org>

	gpg: Do not import revocations with --show-keys.
	+ commit e8f439e0547463c24f3c10008fee73e6c4259f52
	* g10/import.c (import_revoke_cert): Add arg 'options'.  Take care of
	IMPORT_DRY_RUN.

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

	gpg: Add new usage option for drop-subkey filters.
	+ commit 86b64876bef0d8c4be8e309fcf3e2ce21e65a947
	* g10/import.c (impex_filter_getval): Add new "usage" property for
	drop-subkey filter.

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

	gpg: Set some list options with --show-keys.
	+ commit cbb84b3361263504dcb958208bc20177cb97cebd
	* g10/gpg.c (main): Set some list options.

2018-06-08  Werner Koch  <wk@gnupg.org>

	gpg: Allow building with older libgpg-error.
	+ commit 18274db32b5dea7fe8db67043a787578c975de4d
	* g10/mainproc.c (proc_encrypted): Use constant from logging.h

	Release 2.2.8.
	+ commit cd9aaa7862955846f8adf819cd89d0db33e9c08c


2018-06-08  Ineiev  <ineiev@gnu.org>

	po: Update Russian translation.
	+ commit 77ab99f80a5b0fbc60e05230185a54cd200d5e65


2018-06-08  Werner Koch  <wk@gnupg.org>

	gpg: Sanitize diagnostic with the original file name.
	+ commit 210e402acd3e284b32db1901e43bf1470e659e49
	* g10/mainproc.c (proc_plaintext): Sanitize verbose output.

2018-06-07  Werner Koch  <wk@gnupg.org>

	gpg: Improve import's repair-key duplicate signature detection.
	+ commit 6a87a0bd2501d82f4a6263608e4856e841305caf
	* g10/key-check.c (key_check_all_keysigs): Factor some code out to ...
	(remove_duplicate_sigs): new.
	(key_check_all_keysigs): Call remove_duplicate_sigs again after
	reordering.

	gpg: Fix import's repair-key duplicate signature detection.
	+ commit cedd754fcb03f6dad6e462efc3d347bcef4ec83a
	* g10/packet.h (PKG_siganture): Add field 'help_counter'.
	* g10/key-check.c (sig_comparison): Take care of HELP_COUNTER.
	(key_check_all_keysigs): De-duplicate on a per-block base.

	gpg: Improve verbose output during import.
	+ commit 36cc730fa516b3a197f3bb1eb6f3881dd128fbb7
	* g10/import.c (chk_self_sigs): Print the subkeyid in addition to the
	keyid.
	(delete_inv_parts): Ditto.

	(cherry picked from commit 1bc6b5174248ba4d83d648ef6d6f4550540d1f20)

2018-06-06  Werner Koch  <wk@gnupg.org>

	agent: Add DBUS_SESSION_BUS_ADDRESS et al. to the startup list.
	+ commit c5c8fb1ec7c8690495de6189ec2c3a322db4e881
	* agent/gpg-agent.c (agent_copy_startup_env): Replace explicit list
	with the standard list.

	gpg: Also detect a plaintext packet before an encrypted packet.
	+ commit 054a187f24b19313cec59414fa924640e1b8c79c
	* g10/mainproc.c (proc_encrypted): Print warning and later force an
	error.

	gpg: New command --show-keys.
	+ commit dc87a3341f28ddac1113e90a3861d062be2610e2
	* g10/gpg.c (aShowKeys): New const.
	(opts): New command --show-keys.
	(main): Implement command.
	* g10/import.c (import_keys_internal): Don't print stats in show-only
	mode.
	(import_one): Be silent in show-only mode.

2018-05-31  Werner Koch  <wk@gnupg.org>

	gpg: Print a hint on how to decrypt a non-mdc message anyway.
	+ commit 825909e9cd5f344ece6c0b0ea3a9475df1d643de
	* g10/mainproc.c (proc_encrypted): Print a hint for legacy ciphers w/o
	MDC.  Also print a dedicated status error code

	(cherry picked from commit 874e391665405fc413a69f2ffacdb94bb08da7ff)

	gpg: Detect multiple literal plaintext packets more reliable.
	+ commit 2f2b1d1da949e8fce28d3c4a934b4097d6f24295
	* g10/mainproc.c (proc_encrypted): Bump LITERALS_SEEN.

	gpg: Remove MDC options.
	+ commit 866667765f38bf65b612191209d0f0a87fb16393
	* g10/gpg.c: Turn options --force-mdc, --no-force-mdc, --disable-mdc
	and --no-disable-mdc into NOPs.
	* g10/encrypt.c (use_mdc): Simplify.  MDC is now almost always used.
	* g10/cipher.c (write_header): Include extra hint and make
	translatable.
	* g10/options.h (struct opt): Remove fields force_mdc and disable_mdc.

	gpg: Hard fail on a missing MDC even for legacy algorithms.
	+ commit 3db1b48a2da42942cb5a57281441167901bdcdc8
	* g10/mainproc.c (proc_encrypted): Require an MDC or AEAD
	* tests/openpgp/defs.scm (create-gpghome): Use --ignore-mdc-error to
	allow testing with the current files.

	gpg: Turn --no-mdc-warn into a NOP.
	+ commit 26c0d3a3fc903c1a0de644ebcc99d3e665a80941
	* g10/gpg.c (oNoMDCWarn): Remove.
	(opts): Make --no-mdc-warn a NOP.
	(main): Don't set var.
	* g10/options.h (struct opt): Remove 'no_mdc_var'.
	* g10/cipher-cfb.c (write_header): Assume opt.no_mdc_warn is false.
	* g10/mainproc.c (proc_encrypted): Ditto.

2018-05-07  Ineiev  <ineiev@gnu.org>

	doc: Update description of displayed trust values.
	+ commit ed12a1dabaf928e8620fc26ca426c935e1a8a880
	* doc/trust-values.texi: New file.
	* doc/Makefile.am (EXTRA_DIST): Add trust-values.texi.
	* doc/gnupg.texi (Trust Values): New chapter.
	* doc/gpg.texi (OpenPGP Key Management): Update the description
	of how trust values are displayed, replace table with a reference
	to Trust Values.
	* doc/gpg.texi (GPG Examples): Add @mansect trust values.

2018-05-02  Werner Koch  <wk@gnupg.org>

	Release 2.2.7.
	+ commit d31d149196832ed6b8849017d8bcd0852c6ca96c


	gpg: Fix minor memory leak in the compress filter.
	+ commit d26363e4f1933781c86cbe87077fbf1b9a2b64d8
	* g10/compress.c (push_compress_filter2): Return an error if no filter
	was pushed.
	(push_compress_filter): Ditto.
	(handle_compressed): Free CFX if no filter was pushed.
	* g10/import.c (read_block): Ditto.

	gpg: Fix "Too many open files" when using --multifile.
	+ commit f7f3043653abe699602f910ddd09c1405675c7f6
	* common/miscellaneous.c (is_file_compressed): Don't cache the file.

	dirmngr: Implement timeout for dirmngr_ldap under Windows.
	+ commit 007dde93cc3971cb51d08e8c082e172506ae7f80
	* dirmngr/dirmngr_ldap.c (alarm_thread) [W32]: New.
	(set_timeout): Implement for W32.

	build: New configure option to help with nPth debugging.
	+ commit ddfd39e91a532fd31cd0c20c5d4cf9643acc58bd
	* configure.ac: Add option --enable-npth-debug

2018-05-02  Andre Heinecke  <aheinecke@intevation.de>

	common,w32: Hide spawned processes by default.
	+ commit 3bd793256e2e4be52075d50ccf2df70c4a2e1a0f
	* common/exechelp-w32.c (gnupg_spawn_process): Use SW_HIDE
	instead of SW_MINIMIZE.

2018-04-30  Werner Koch  <wk@gnupg.org>

	dirmngr: Sleep in the ldap wrapper thread.
	+ commit a598bbeeafa30f7854230eed212b76d5c5c77f86
	* dirmngr/ldap-wrapper.c (wrapper_list): Rename to reaper_list.
	(ldap_reaper_thread): Protect all list modification with a mutex.  Use
	a condition var to wake up the reaper thread.

2018-04-27  Werner Koch  <wk@gnupg.org>

	dirmngr: Use the LDAP wrapper process also for Windows.
	+ commit f9fbfc64e402bd41815a68426f55565fa6d5c726
	* dirmngr/ldap-wrapper.c: Revamp module to make use of es_poll for
	portability.
	* configure.ac: Always use the ldap wrapper.

	dirmngr: Silence log output from dirmngr_ldap.
	+ commit d22506a343cec61b7d1a48c970b63a8458b267ab
	* dirmngr/dirmngr_ldap.c: Remove assert.h.
	(main): Replace assert by log_assert.
	* dirmngr/ldap.c (run_ldap_wrapper): Use debug options to pass
	verbose options to dirmngr_ldap.
	(start_cert_fetch_ldap): Ditto.

2018-04-26  Werner Koch  <wk@gnupg.org>

	dirmngr: Lower the dead host resurrection time to 1.5h.
	+ commit 5789afc840cf79ba2a8cebd9d772ef9c3868c5e9
	* dirmngr/ks-engine-hkp.c (RESURRECT_INTERVAL): Decrease.
	(INITIAL_HOSTTABLE_SIZE): Increase because the old values was likely
	for development.

	dirmngr: Fix handling of CNAMEed keyserver pools.
	+ commit cc66108253c58583d6bad3d1e2da2b004701d0f0
	* dirmngr/ks-engine-hkp.c (map_host): Don't use the cname for HTTPHOST.
	* dirmngr/server.c (make_keyserver_item): Map keys.gnupg.net.

2018-04-25  Werner Koch  <wk@gnupg.org>

	dirmngr: Add the used TLS library to the debug output.
	+ commit bb8894760fe87cf46a42599f11eab7e7c7a8eb71
	* dirmngr/http.c (send_request): Print the used TLS library in debug
	mode.

	dirmngr: Allow redirection from https to http for CRLs.
	+ commit 1de4462974113ac18cf98f903e97cd1127fa842f
	* dirmngr/ks-engine.h (KS_HTTP_FETCH_NOCACHE): New flag.
	(KS_HTTP_FETCH_TRUST_CFG): Ditto.
	(KS_HTTP_FETCH_NO_CRL): Ditto.
	(KS_HTTP_FETCH_ALLOW_DOWNGRADE): Ditto.
	* dirmngr/ks-engine-http.c (ks_http_fetch): Replace args send_no_cache
	and extra_http_trust_flags by a new flags arg.  Allow redirectiong
	from https to http it KS_HTTP_FETCH_ALLOW_DOWNGRADE is set.
	* dirmngr/loadswdb.c (fetch_file): Call with KS_HTTP_FETCH_NOCACHE.
	* dirmngr/ks-action.c (ks_action_get): Ditto.
	(ks_action_fetch): Ditto.
	* dirmngr/crlfetch.c (crl_fetch): Call with the appropriate flags.

	dirmngr: Implement CRL fetching via https.
	+ commit 705d8e9cf0d109005b3441766270c0e584f7847d
	* dirmngr/http.h (HTTP_FLAG_TRUST_CFG): New flag.
	* dirmngr/http.c (http_register_cfg_ca): New.
	(http_session_new) [HTTP_USE_GNUTLS]: Implement new trust flag.
	* dirmngr/certcache.c (load_certs_from_dir): Call new function.
	(cert_cache_deinit): Ditto.
	* dirmngr/http-ntbtls.c (gnupg_http_tls_verify_cb): Ditto.
	* dirmngr/ks-engine-http.c (ks_http_fetch): Add new args
	'send_no_cache' and 'extra_http_trust_flags'.  Change all callers to
	provide the default value.
	* dirmngr/crlfetch.c (crl_fetch): Rewrite to make use of
	ks_http_fetch.

2018-04-25  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix printing the keygrip with --card-status.
	+ commit 71903eee89496e3f1d0a24536bced6ff16df6783
	* g10/card-util.c (current_card_status): Keygrip for Auth is 3.

2018-04-24  Werner Koch  <wk@gnupg.org>

	dirmngr: Fallback to CRL if no default OCSP responder is configured.
	+ commit 460e3812be711bd18195053d74aa736215f21eee
	* dirmngr/server.c (cmd_isvalid): Use option second arg to trigger
	OCSP checkibng.  Fallback to CRL if no default OCSP responder has been
	configured.
	* sm/call-dirmngr.c (gpgsm_dirmngr_isvalid): Adjust accordingly.

2018-04-20  Andre Heinecke  <aheinecke@intevation.de>

	dirmngr: More binary I/O on Windows for CRLs.
	+ commit 64c1fddb253061a9773c6c4ed2a9c5a54702d21b
	* dirmngr/crlcache.c (lock_db_file, crl_cache_insert): Open cache
	file in binary mode.

	doc: Remove unneccesary empty flags in vsndf.prf.
	+ commit a44ed3d9a1ad5bd96694f10ea5523c517982017e
	* doc/examples/vsnfd.prf (max-cache-ttl): Remove empty flags.

2018-04-16  emma peel  <emma.peel@aktivix.org>

	po: more updates to Spanish translation.
	+ commit acd6d5ff7436bb7fba171ced3294046a14fb777d


	po: correct attribution for Spanish translation.
	+ commit 21b2e88a7e6c3d7313773c9ffb3e0d1fb2af45df


	po: correct label tags in Polish translation.
	+ commit a5290dace7f85d66272af3e14f9f2bc43d2a4af8


	po: correct label tags in Finnish translation.
	+ commit e12475429578add12a53fb2232cb45dc9e2aae1b


2018-04-15  Werner Koch  <wk@gnupg.org>

	build: New target "release" to automate the release process.
	+ commit 3b1ee413a65bf566aa8e5f29a5a2cd5a94e66faa
	* Makefile.am (RELEASE_ARCHIVE_DIR): New.
	(RELEASE_SIGNING_KEY): New.
	(AM_DISTCHECK_CONFIGURE_FLAGS): Remove removed --enable-gpg2-is-gpg,
	(RELEASE_NAME, RELEASE_W32_STEM_NAME): New.
	(release, sign-release): New.

2018-04-13  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix memory leak in check_sig_and_print.
	+ commit f747b8f0734338baa1e608b193b213aca2c577e8
	* g10/mainproc.c (check_sig_and_print): Free the public key.

	g10: Push compress filter only if compressed.
	+ commit c31abf84659dbda5503dd9f3aa3449520bcd1b84
	* g10/compress.c (handle_compressed): Fix memory leak.

2018-04-12  Werner Koch  <wk@gnupg.org>

	gpg: Extend the "sig" record in --list-mode.
	+ commit 69c3e7acb744e1e5606a4d946e3b948704cfbbae
	* g10/getkey.c (get_user_id_string): Add arg R_NOUID.  Change call
	callers.
	(get_user_id): Add arg R_NOUID.  Change call callers.
	* g10/mainproc.c (issuer_fpr_string): Make global.
	* g10/keylist.c (list_keyblock_colon): Print a '?' for a missing key
	also in --list-mode.  Print the "issuer fpr" field also if there is an
	issuer fingerprint subpacket.

	gpg: Extend the ERRSIG status line with a fingerprint.
	+ commit 23a714598c247d78cfda46a6dc338b17e17cc194
	* g10/mainproc.c (issuer_fpr_raw): New.
	(issuer_fpr_string): Re-implement using issuer_fpr_rtaw.
	(check_sig_and_print): Don't free ISSUER_FPR.  Use ISSUER_FPR_RAW.
	Use write_status_printf.  Extend ERRSIG status.

	gpg: Relax printing of STATUS_FAILURE.
	+ commit e2bd152a928d79ddfb95fd2f7911c80a1a8d5a21
	* g10/gpg.c (g10_exit): Print STATUS_FAILURE only based on passed
	return code and not on the presence of any call to log_error.

	agent,dirmngr: Add "getenv" to the getinfo command.
	+ commit bbb5bfacc0d1f179cfec94fd32fee01a09df0f1d
	* agent/command.c (cmd_getinfo): Add sub-command getenv.
	* dirmngr/server.c (cmd_getinfo): Ditto.

2018-04-12  Andre Heinecke  <aheinecke@intevation.de>

	build: Update getswdb version check to 2.2.
	+ commit 327fece0aed2c9974659c72304f9fd1f461d460c
	* build-aux/getswdb.sh: Check for gnupg22_ver gnupg21_ver no
	longer exists.

2018-04-11  Werner Koch  <wk@gnupg.org>

	gpg: New option --no-symkey-cache.
	+ commit 789d240cb40ab36406a7c57ad49897e0bafbb41e
	* g10/gpg.c (oNoSymkeyCache): New.
	(opts): Add that option.
	(main): Set var.
	* g10/options.h (struct opt): New field no_symkey_cache.
	* g10/passphrase.c (passphrase_to_dek): Implement that feature.

2018-04-10  Werner Koch  <wk@gnupg.org>

	agent: Improve the unknown ssh flag detection.
	+ commit 9f69dbeb902ac447adbc92937cd451c4e909f234
	* agent/command-ssh.c (ssh_handler_sign_request): Simplify detection
	of flags.

2018-04-10  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	agent: unknown flags on ssh signing requests cause an error.
	+ commit 381c46818ffa4605d0ca39818fe317de445eb6de
	* agent/command-ssh.c (ssh_handler_sign_request): if a flag is passed
	during an signature request that we do not know how to apply, return
	GPG_ERR_UNKNOWN_OPTION.

	agent: change documentation reference for ssh-agent protocol.
	+ commit 55435cdd4fe4fbfbcba1098bb715ecd6171ba2d8
	* agent/command-ssh.c: repoint documentation reference.

2018-04-09  Werner Koch  <wk@gnupg.org>

	Release 2.2.6.
	+ commit 6fbe2ddbaf5123ae444c95fdf8da67840f794c76


	gpg,w32: Fix empty homedir when only a drive letter is used.
	+ commit 6da7aa1e7c80d214bd9dccb21744919ae191f2c8
	* common/homedir.c (copy_dir_with_fixup): New.
	(default_homedir): Use here.
	(gnupg_set_homedir): And here .

	doc: Document --key-edit:change-usage.
	+ commit a4e26f2ee852003707857ab0635b783acb89a2f8
	* g10/keyedit.c (menu_changeusage): Make strings translatable.

2018-04-06  Werner Koch  <wk@gnupg.org>

	gpg: Check that a key may do certifications.
	+ commit 1a5d95e7319e7e6f0dd11064a26cbbc371b05214
	* g10/sig-check.c (check_signature_end_simple): Check key usage for
	certifications.
	(check_signature_over_key_or_uid): Request usage certification.

	gpg: Emit FAILURE stati now in almost all cases.
	+ commit 0336e5d1a7b9d46e06c838e6a98aecfcc9542882
	* g10/cpr.c (write_status_failure): Make it print only once.
	* g10/gpg.c (wrong_args): Bump error counter.
	(g10_exit): Print a FAILURE status if we ever did a log_error etc.
	(main): Use log_error instead of log_fatal at one place.  Print a
	FAILURE status for a bad option.  Ditto for certain exit points so
	that we can see different error locations.

	gpg: Re-indent sig-check.c and use signature class macros.
	+ commit 5ba74a134db431530884f03eea5410a68dbfe0f5
	* g10/keydb.h (IS_BACK_SIG): New.
	* g10/sig-check.c: Re-indent and use macros.

2018-04-06  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Support SSH signature flags.
	+ commit 80b775bdbb852aa4a80292c9357e5b1876110c00
	* agent/command-ssh.c (SSH_AGENT_RSA_SHA2_256): New.
	(SSH_AGENT_RSA_SHA2_512): New.
	(ssh_handler_sign_request): Override SPEC when FLAGS
	is specified.

2018-04-05  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Let card-edit/key-attr show message when change.
	+ commit 870527df0dd704c994928348c8c2910030776680
	* g10/card-util.c (ask_card_rsa_keysize): Don't show message here.
	(ask_card_keyattr): Show message when change, also for ECC.

2018-04-04  NIIBE Yutaka  <gniibe@fsij.org>

	tests: Fix no gpg-agent upon removal of GNUPGHOME.
	+ commit 83529e1bd14a6d39f2a8ecab9fb6aa4c1f344c73
	* tests/gpgscm/gnupg.scm (with-ephemeral-home-directory): Add
	teadown-fn.
	* tests/gpgsm/export.scm: Use -no-atexit version and stop-agent.
	* tests/openpgp/decrypt-session-key.scm: Likewise.
	* tests/openpgp/decrypt-unwrap-verify.scm: Likewise.
	* tests/openpgp/defs.scm (have-opt-always-trust): Likewise.
	(setup-environment-no-atexit): New.
	(start-agent): Support no use of atexit.
	* tests/gpgsm/gpgsm-defs.scm (setup-gpgsm-environment-no-atexit): New.
	* tests/migrations/common.scm (untar-armored): Follow the change
	of with-ephemeral-home-directory.

2018-04-03  NIIBE Yutaka  <gniibe@fsij.org>

	scd: Writing KDF resets auth state.
	+ commit cb1731c23cddfa524d3f51cfd82029bff853a073
	* scd/app-openpgp.c (do_setattr): Clear auth state.

2018-04-02  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix filtering by PK->REQ_USAGE.
	+ commit a17d2d1f690ebe5d005b4589a5fe378b6487c657
	* g10/getkey.c (get_pubkey_byfprint): Filter by PK->REQ_USAGE.

2018-03-30  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Fix card-edit/kdf-setup for single salt.
	+ commit 130ad98240c066383fa0a99bcf5e0ec72bc0dff9
	* g10/card-util.c (gen_kdf_data): Use SALT_USER.

	g10,scd: Support single salt for KDF data object.
	+ commit 0c097575a9cd923f648fb5bb695893d46400c3ad
	* g10/card-util.c (gen_kdf_data): Support single salt.
	(kdf_setup): Can have argument for single salt.
	* scd/app-openpgp.c (pin2hash_if_kdf): Support single salt.

	g10: Add "key-attr" command for --card-edit.
	+ commit 820380335a20391e0998fb1ba32ebfb9accedc5b
	* g10/card-util.c (key_attr): New explicit command.
	(generate_card_keys, card_generate_subkey): Don't ask key attr change.
	(card_edit): Add for cmdKEYATTR.

	scd: Support changing key attribute back to RSA.
	+ commit 29692718768c28c524be6306081ab1852e75fe07
	* scd/app-openpgp.c (change_rsa_keyattr): Try usual RSA.

2018-03-29  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Support key attribute change at --card-edit/generate.
	+ commit a1515b3bbc10a210040dda3b482bcdb933fa8d7c
	* g10/card-util.c (ask_card_rsa_keysize): Drop support for magic
	number 25519 for ed25519/cv25519.  Rename from ask_card_keyattr.
	(ask_card_keyattr): Support ECC, as well as RSA.
	(do_change_keyattr): Support ECC dropping magical number 25519.
	* g10/keygen.c (ask_curve): Allow call from outside, adding last arg
	of CURRENT.
	(generate_keypair): Follow the change of ask_curve.
	(generate_subkeypair): Likewise.

	g10: check_pin_for_key_operation should be just before genkey.
	+ commit 02d7bb819ff44cc90212568dd6ce24ae1dc5d17f
	* g10/card-util.c (generate_card_keys): Check PIN later.
	(card_generate_subkey): Likewise.

2018-03-28  NIIBE Yutaka  <gniibe@fsij.org>

	g10: Change ask_curve so that it can be used outside.
	+ commit e610d51f0de11154050915b951bcc5c53c940f5e
	* g10/call-agent.h (struct key_attr): New.
	* g10/keygen.c (ask_curve): Return const char *.  No allocation.
	(quick_generate_keypair): Follow the change.
	(generate_keypair, generate_subkeypair): Likewise.
	(parse_algo_usage_expire): Return const char *.

2018-03-27  NIIBE Yutaka  <gniibe@fsij.org>

	agent,scd: Use pointer to represent HANDLE.
	+ commit 96918346beeca7a46de9f03f19502373994c21bc
	* agent/call-scd.c [HAVE_W32_SYSTEM] (start_scd): Format with %p.
	* scd/command.c [HAVE_W32_SYSTEM] (option_handler): Use void *.

2018-03-27  Werner Koch  <wk@gnupg.org>

	agent: Make the request origin a part of the cache items.
	+ commit 02dce8c0cc57deb2095a9b06aeb8f4dea34eef7e
	* agent/cache.c (agent_put_cache): Add arg 'ctrl' and change all
	callers to pass it.
	(agent_get_cache): Ditto.

	* agent/cache.c (struct cache_items_s): Add field 'restricted'.
	(housekeeping): Adjust debug output.
	(agent_flush_cache): Ditto.
	(agent_put_cache): Ditto.  Take RESTRICTED into account.
	(agent_get_cache): Ditto.

2018-03-26  Werner Koch  <wk@gnupg.org>

	gpg: Auto-fix a broken trustdb with just the version record.
	+ commit eb68c2d3d1b03a18cd24406fa46d4c30cb13d9f7
	* g10/tdbio.c (get_trusthashrec): Create hashtable on error.

	gpg: Pass CTRL arg to get_trusthashrec.
	+ commit a750ebebf35a392f1c72d6aee5618df0d9f25ff7
	* g10/tdbio.c (get_trusthashrec): Add arg CTRL.
	(tdbio_search_trust_byfpr): Ditto.
	(tdbio_search_trust_bypk): Ditto.

	gpg: Return better error codes in case of a too short trustdb.
	+ commit 403aa70c52e56614d65490dea9344113f9cf3d29
	* g10/tdbio.c (tdbio_read_record): Return GPG_ERR_EOF.
	(tdbio_new_recnum): Never return on error.
	(lookup_hashtable): Print a more descriptive error in case of !TABLE.

	gpg: Fix trustdb updates without lock held.
	+ commit 456a3a8e93ea14f821e0e98fb515f284ece98685
	* g10/tdbio.c (is_locked): Turn into a counter.
	(take_write_lock, release_write_lock): Implement recursive locks.

	gpg: Disable unused code parts in tdbio.c.
	+ commit 5f00531463ebc0e606c502696962426007545bb7
	* g10/tdbio.c (in_transaction): Comment this var.
	(put_record_into_cache): Comment the transaction code.
	(tdbio_sync): Ditto

2018-03-23  Werner Koch  <wk@gnupg.org>

	sm: Add OPTION request-origin.
