2020-12-21  Werner Koch  <wk@gnupg.org>

	Release 1.41.
	+ commit 98032624ae89a67ee6fe3b1db5d95032e681d163


	core: Yet another fix to the ignore meta command.
	+ commit 7021b58b0f2d95b94a2bac43e15ec97d89706b7f
	* src/argparse.c (_gpgrt_argparse): Entirely skip ignored sysconf
	commands.  Fix state transitions in the ignore case.

	Release 1.40.
	+ commit c1f4ed561e9d214be9fdc3005134b9d0ed87554f
	* configure.ac: Bump LT version to C31/A31/R0.

	w32: Allow Unicode for internal getusername function.
	+ commit 007cfe8a0ca4c03412f031878d6ce232612a90d8
	* src/sysutils.c (_gpgrt_getusername) [W32]: Use GetUserNameW.

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

	core: Fix the "ignore" meta command of the argparser.
	+ commit 4b09c8c2023d52b97be6069c20897ebfb25f9bca
	* src/argparse.c (_gpgrt_argparse): Factor some code out to ...
	(prepare_arg_return): new.
	(_gpgrt_argparse): No missing arg error in ignore sections.

2020-12-07  NIIBE Yutaka  <gniibe@fsij.org>
	    John Ericson

	build: Use AC_CHECK_TOOL to detect objdump for cross build.
	+ commit 9ee011259f819a3cf50fe7019fa4366dbc437e0e
	* configure.ac (CROSS_HOST_OBJDUMP): Remove, but use AC_CHECK_TOOL.

2020-11-17  NIIBE Yutaka  <gniibe@fsij.org>

	m4: Update with newer autoconf constructs.
	+ commit 8047ca99858a7ee812ef11ed3bd2868e920ac1b7
	* src/gpg-error.m4: Replace AC_HELP_STRING to AS_HELP_STRING.

	build: Update to new autoconf constructs.
	+ commit 41d753e21eaae3e4332e841de2f40e7055f2a68c
	* configure.ac Replace AC_GNU_SOURCE to Use AC_USE_SYSTEM_EXTENSIONS.
	Replace AC_HELP_STRING to AS_HELP_STRING.
	* m4/estream.m4: Replace AC_TRY_LINK to AC_LINK_IFELSE.
	* m4/gnupg-misc.m4: Replace AC_TRY_COMPILE to AC_COMPILE_IFELSE.
	* m4/libtool.m4: Use AC_LANG_PUSH/AC_LANG_POP instead of
	AC_LANG_SAVE/AC_LANG_RESTORE.
	* m4/readline.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
	Fix quote for _combo.
	* m4/threadlib.m4: Replace AC_HELP_STRING to AS_HELP_STRING.

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

	New public function gpgrt_access.
	+ commit 4764c5a3a4d704b3b42bafc5eba3996579030703
	* src/gpg-error.h.in (gpgrt_access): New.
	* src/gpg-error.vers. src/gpg-error.def.in: Add new function.
	* src/sysutils.c (any8bitchar): New.
	(_gpgrt_access): New.
	* src/visibility.c (gpgrt_access): New.

	* src/spawn-w32.c (_gpgrt_spawn_process_detached): Use it.
	* src/argparse.c (try_versioned_conffile): Use it.
	* tests/t-stringutils.c (check_access): New simple test.

2020-10-09  Werner Koch  <wk@gnupg.org>

	w32: Support utf8 also for getcwd.
	+ commit dbedf190969de1a796560cfa15fb4ea986bc79dc
	* src/sysutils.c (_gpgrt_getcwd) [W32]: Implement utf-8 support.
	* src/w32-gettext.c (wchar_to_native): Factor some code out to ..
	(wchar_to_cp): new.
	(_gpgrt_wchar_to_utf8): New.
	* tests/t-stringutils.c: Include windows.h.
	(utf8_to_wchar): New.
	(wchar_to_utf8): New.
	(mygetcwd): Use wchar version for Windows.
	(main): New option --pwd.

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

	Release 1.39.
	+ commit 59d9f8106db3a23cb5d51d01dc6b719413d3f760


2020-08-21  Werner Koch  <wk@gnupg.org>

	core,w32: Add UTF-8 support to gpgrt_fopen, gpgrt_mkdir and gpgrt_chdir.
	+ commit a68c1975bda47b0698b48761a62e95b371095e9a
	* src/protos.h: New.
	* src/Makefile.am (libgpg_error_la_SOURCES): Add file.
	* src/gpgrt-int.h: Include protos.h.
	* src/sysutils.c (_gpgrt_mkdir) [W32]: Make UTF-8 aware.
	(_gpgrt_chdir) [W32]: Ditto.
	* src/w32-gettext.c: Include protos.h.
	(utf8_to_wchar): Allow for strings.
	(_gpgrt_utf8_to_wchar): New.
	(_gpgrt_free_wchar): New.
	* src/estream.c (map_w32_to_errno): Add more error codes.
	(_gpgrt_w32_set_errno): New.
	(any8bitchar) [W32]: New helper.
	(func_file_create) [W32]: Convert file name and use _wopen.

2020-08-21  NIIBE Yutaka  <gniibe@fsij.org>

	argparse: Handle a corner case of wrong ARGC.
	+ commit 87a6b28c0f3b6c5b38e0f8a8533df39d3f0c0f03
	* src/argparse.c (arg_parse): Avoid null dereference when ARGC is wrong.

2020-08-17  Werner Koch  <wk@gnupg.org>

	Fix a current gcc's -fsanitize warning.
	+ commit c5fcdd9a58a2508a20327226c52d155c29ddd5f3
	* src/argparse.c (ARGPARSE_FLAG__INITIALIZED): Make sure it is an
	unsigned int.

2020-08-11  Werner Koch  <wk@gnupg.org>

	core,w32: Use timeout in es_poll even if there are no FDs.
	+ commit fd1340085bc6879436dd2882dc5178c133434675
	* src/w32-estream.c (_gpgrt_w32_poll): Sleep if there are no handles
	to wait for.

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

	Make --lib-version work again.
	+ commit e0dab4843ded8af172c2566b4d7313a1a13e7e26
	* src/gpg-error.c (main): Add printing code.

2020-08-03  NIIBE Yutaka  <gniibe@fsij.org>

	gpgrt-config: Fix handling 'Requires' field.
	+ commit 4192cbc3c58589055de1fb5ccbe42f3d33adb0af
	* src/gpgrt-config.in (get_attr_l): New.
	(all_required_config_files): Use get_attr_l.

2020-07-15  NIIBE Yutaka  <gniibe@fsij.org>

	w32: Add gpgrt_fcancel to the definition.
	+ commit c564d8c5a0e7c1aba9103cb4b6561b61074c60f1
	* src/gpg-error.def.in (gpgrt_fcancel): Add.

2020-06-26  Werner Koch  <wk@gnupg.org>

	estream: Add gpgrt_fcancel.
	+ commit 3413489d25577e3fe7f529b8e610a45d2bd1857c
	* src/estream.c (do_close): Add arg 'cancel_mode' and chnage all
	callers.
	(_gpgrt_fcancel): New.
	* src/gpg-error.def.in, src/gpg-error.vers: Add function.
	* src/visibility.c (gpgrt_fcancel): New.
	* src/gpg-error.h.in (gpgrt_fcancel): New.

2020-06-15  NIIBE Yutaka  <gniibe@fsij.org>

	build: Fix the gpg-error-config test for cross build.
	+ commit 1a4c1f37a1c95a4cfcaab6df3364ee3515a1ea1b
	* src/gpg-error-config-test.sh.in: Clear PKG_CONFIG_SYSROOT_DIR.

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

	build: Fix command-line to make 'src 'dir.
	+ commit 159e394920f6be822d771fe003498de4d93b07c3
	* configure.ac: Mistake, then, fix it.

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

	build: On cross build, detect host's objdump.
	+ commit ce97528fa3dcc58d86e18d4d8820f210a624f63d
	* configure.ac [*-*-linux*] (CROSS_HOST_OBJDUMP): New.

2020-06-03  David Michael  <fedora.dm0@gmail.com>

	build: Fix cross-compiling into a separate build dir.
	+ commit 013720333c6ec1d38791689bc49ba039d98e16b3
	* configure.ac: Create the src directory before writing into it.
	* src/Makefile.am (EXTRA_DIST): Add gen-lock-obj.sh.

2020-05-29  Werner Koch  <wk@gnupg.org>

	Release 1.38.
	+ commit 71d278824c5fe61865f7927a2ed1aa3115f9e439


2020-05-29  Yuri Chornoivan  <yurchor@ukr.net>

	po: Update Ukrainian translation.
	+ commit 1143b2d3619939a60f47af75be2123f3b225b32b


2020-05-29  Ineiev  <ineiev@gnu.org>

	po: Update and proofread Russian translation.
	+ commit a6104a9ab717499d405ff2af61a928a08774466a


2020-05-19  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	syscfg: add 64-bit big-endian MIPS architecture.
	+ commit 0db8c768843db3e85935b972f1ed9d1b98159c46
	* src/syscfg/lock-obj-pub.mips64-unknown-linux-gnuabi64.h: new.
	* src/Makefile.am (lock_obj_pub): Add it.

2020-04-09  NIIBE Yutaka  <gniibe@fsij.org>

	build: Use gen-lock-obj.sh script when possible.
	+ commit 988211d3d4c1f3d5cfa6b460210f65ab636763b5
	* configure.ac (HAVE_GENERATED_LOCK_OBJ_H): New.
	* src/Makefile.am: Support HAVE_GENERATED_LOCK_OBJ_H.

	build: Add a shell script to generate lock-obj-pub.h.
	+ commit 50e62b36ea01ed25d12c443088b85d4f41a2b3e1
	* src/gen-lock-obj.sh: New.

2020-04-03  Werner Koch  <wk@gnupg.org>

	core: Improve the echo and info meta commands of the arg parser.
	+ commit 98d11eff669c042d381ee4f18a42d32bcab256ef
	* src/argparse.c (handle_meta_echo): Substitue some vars.
	(handle_meta_user): Factor some code out to ...
	(assure_username): new.

	core: Implement meta command [user] also for Windows.
	+ commit ef07aedc70992742fcef92811345670777a3047b
	* src/argparse.c (initialize): Clear username.
	* src/sysutils.c (_gpgrt_getusername): Implement for Windows.

	core: Implement meta command [user] for the arg parser.
	+ commit d843d260f5502ba90a2a35dfe202439f32b0e9aa
	* src/sysutils.c (_gpgrt_getusername): New.
	* src/argparse.c (struct _gpgrt_argparse_internal_s): New flags user_*
	and store the current user.
	(initialize): Free new malloced field.  Clear new flags.
	(handle_meta_user): Implement.
	(handle_metacmd): Implement user sections.  Remove "group" meta
	command.
	(_gpgrt_argparse): Implement user sections.
	(finish_read_sys): Reset new vars.

2020-03-06  Werner Koch  <wk@gnupg.org>

	core: Tweak the printing of headers in the --help output.
	+ commit 85b5006d01fc64763a6e1f0d6cbda91c5cb709c1
	* src/argparse.c (show_help): Do not print empty sections between
	headers.

	core: Add features for pretty printing the help.
	+ commit c59bf5824aafe938d5ab0d69079b9d93debc19fe
	* src/gpg-error.h.in (ARGPARSE_OPT_HEADER): New.
	(ARGPARSE_OPT_VERBATIM): New.
	(ARGPARSE_verbatim): New.
	(ARGPARSE_header): New.
	* src/argparse.c (show_help): Implement them.

2020-03-03  Werner Koch  <wk@gnupg.org>

	core: New function gpgrt_reallocarray.
	+ commit 969abd302211262562df93ae5412ee319aae69e6
	* src/init.c (_gpgrt_reallocarray): New.
	* src/visibility.c (gpgrt_reallocarray): New.
	* src/gpg-error.vers, src/gpg-error.def.in: Add new function.
	* src/gpg-error.h.in: Add new interface.
	* tests/t-malloc.c: New.
	* tests/Makefile.am (TESTS): Add new test.

	core: Fix allocation bug introduced with last commit.
	+ commit 72a15bad8f27303475498ce44e34d29b4c2c4593
	* src/argparse.c (initialize): Increase number of extra slots.

2020-03-02  Werner Koch  <wk@gnupg.org>

	core: New internal option --dump-option-table for argparser.
	+ commit db95feab16e32309a4bfb382827c495c2c49920c
	* src/argparse.c (initialize): Add new internal option.
	(arg_parse): Implement that option.
	(dump_option_table): New.
	(show_help): Remove exit and let the caller call my_exit.

	core: Replace fputs by es_fputs in argparser.
	+ commit f816797c87340a6130dea1e4f8f0e130511dfe3f
	* src/argparse.c (writestrings): Use that function to match what we
	are doing in flushstrings.

	core: Allow returning of attributes from gpgrt_argparser.
	+ commit d3661d81e9aafae75680164ede7322cf3d7b6804
	* src/gpg-error.h.in (ARGPARSE_FLAG_WITHATTR): New.
	(ARGPARSE_ATTR_FORCE): New.
	(ARGPARSE_ATTR_IGNORE): New.
	(ARGPARSE_TYPE_MASK): Moved from argparse.c to here.
	* src/argparse.c: Always use macros for constants.
	(_gpgrt_argparse): Handle ARGPARSE_FLAG_WITHATTR.
	(arg_parse): Ditto.
	* tests/t-argparse.c (main): Add commented test case.

2020-02-27  Werner Koch  <wk@gnupg.org>

	core: Implement meta commands for the argparser.
	+ commit 2d1969ab465bad62f73a7c24ddc8bb490ff9fd40
	* src/argparse.c (opttable_t): Add new flags forced, ignore, and
	explicit_ignore.
	(struct _gpgrt_argparse_internal_s): Change flags to bitflags.  Add
	several flags to support meta commands.
	(initialize): Clear them.
	(handle_meta_user): Use the new verbose flag.
	(handle_meta_force): Implement.
	(handle_meta_ignore): Implement.
	(handle_meta_echo): Support "-echo".
	(handle_meta_verbose): New.
	(handle_metacmd): New meta command verbose.  Add always flag and move
	the detection of unexpected meta commands to here.
	(_gpgrt_argparse): Make use of the ignore and forced meta commands.
	(finish_read_sys): New.
	(_gpgrt_argparser): Support the verbose flag.  Call finish_read_sys.
	(arg_parse): Ignore non-explicit ignored and all forced options.

	* tests/t-argparse.c (main): Fix printing of the ARGPARSE_CONFFILE
	case.  New option 'M'.
	* tests/t-argparse.conf, tests/etc/t-argparse.conf: Various changes to
	test the new meta commands.

	indent: Fix indentation in an argparse.c function.
	+ commit ffa21bf5b7066f7fa437119ce6b508b324ea2611
	* src/argparse.c (arg_parse): Fix it here.

2020-02-26  Werner Koch  <wk@gnupg.org>

	core: Add meta command handler stubs to argparse.c.
	+ commit 2f169b341e410924c5d7ee7d76ac67f85f26ed6a
	* src/argparse.c (handle_meta_user): New stub.
	(handle_meta_force): New stub.
	(handle_meta_ignore): New stub.
	(handle_meta_echo): New.
	(handle_metacmd): New.
	(_gpgrt_argparse): Call meta command handler.

	core: Prepare argparse.c to track additional info for options.
	+ commit 9d268891dae6093e5346710a38ba8cd978f24f09
	* src/argparse.c (opttable_t): New.
	(struct _gpgrt_argparse_internal_s): Use this instead of a ppointer to
	gpgrt_opt_t.
	(initialize): Copy options to the new tableand keep an original ordinal.
	(_gpgrt_argparse): Adjust for changes.
	(any_opt_conffile): Ditto.
	(find_long_option): Ditto.
	(arg_parse): Ditto.
	(long_opt_strlen): Adjust args.
	(cmp_ordtbl): New.
	(show_help): Print using the ordinal numbers.

2020-02-25  Werner Koch  <wk@gnupg.org>

	core: Add parser for meta commands to gpgrt_argparser.
	+ commit 6fc2d7cb8ce9e08cb189608466803ee7c8eb6930
	* src/gpg-error.h.in (ARGPARSE_INVALID_META): New
	(ARGPARSE_UNKNOWN_META, ARGPARSE_UNEXPECTED_META): New.
	* src/argparse.c (struct _gpgrt_argparse_internal_s): Add flag
	insysconfig.
	(initialize): Init flag.  Add error strings.
	(_gpgrt_argparser): Set that flag.
	(_gpgrt_argparse): Add parsing of meta commands.

	* tests/etc/t-argparse.conf: Add some test cases.
	* tests/t-argparse.conf: Ditto.
	* tests/t-argparse.c (main): Die only after printing all warnings.

	core: Fold duplicated code from _gpgrt_argparse.
	+ commit ca79d5edee8c6d93575708643ec825f81107e624
	* src/argparse.c (_gpgrt_argparse): Fold common code.

	core: Improve readability of _gpgrt_argparse.
	+ commit 8c185e719860aaa93cc37c0ec91c7bd5e3c2a5ce
	* src/argparse.c (_gpgrt_argparse): Use enum for the states and
	replace continue and break.

	core: New flag ARGPARSE_FLAG_USERVERS to try versioned config files.
	+ commit e9f36cabe157aa046b32dfc0b9f5c175b9808722
	* src/gpg-error.h.in (ARGPARSE_FLAG_USERVERS): New.
	* src/argparse.c: Include unistd.h.
	(try_versioned_conffile): New.
	(_gpgrt_argparser): Use it.

	core: New pseudo option ARGPARSE_PERMISSION_ERROR.
	+ commit f25555aed0da7f0492b68efb789dbe3e03ec7fe8
	* src/gpg-error.h.in (ARGPARSE_PERMISSION_ERROR): New.
	* src/argparse.c (initialize): Add code to print this error.

2020-02-25  NIIBE Yutaka  <gniibe@fsij.org>

	w32: Fix exporting gpgrt_argparser.
	+ commit 732ac9c681a0b6afdee2e8eb6937500850f74986
	* src/gpg-error.def.in (gpgrt_argparser): Fix typo.

2020-02-22  Werner Koch  <wk@gnupg.org>

	core: Extend the way a config file can be specified,
	+ commit b79b2a7fb3ad3ada45d17e8632f1ee4212ce0764
	* src/argparse.c (PATHSEP_C, DIRSEP_C): New.
	(is_absfname, is_twopartfname): New.
	(_gpgrt_argparser): Allow for a two-part config name.

2020-02-20  Werner Koch  <wk@gnupg.org>

	core: Skip cmdline parsing for no or an empty argv.
	+ commit 44258227f7dfb12b3c0faa8ab417a9dc2be46eed
	* src/argparse.c (_gpgrt_argparser): Allow for empty argv.  Also fix
	memory leak.

2020-02-19  Werner Koch  <wk@gnupg.org>

	core: More fixes for the new option/argument parser.
	+ commit 46b3749997da84c41f583b22cda812dd5e42bde0
	* src/argparse.c (arg_parse): Always set opt_flags.  New flag no_init.
	(_gpgrt_argparse): Clear opt_flags at start.
	(_gpgrt_argparser): Call arg_parse directly.  Call arg_parse with
	no_init set.

	core: Some fixes for the new option/argument parser.
	+ commit a264fe9c55251458df558718fae0845928bf225e
	* src/argparse.c (ARGPARSE_FLAG__INITIALIZED): New.
	(initialize): Use a flag bit to track the initialization state.
	(_gpgrt_argparser): Clear some state on switching files.

2020-02-18  Werner Koch  <wk@gnupg.org>

	core: Add a high level option/argument parser.
	+ commit 933eb9346a84c87f83f77d990be2f66e2f7b62e7
	* gpg-error.h.in (GPGRT_CONFDIR_USER, GPGRT_CONFDIR_SYS): New consts.
	(ARGPARSE_FLAG_SYS, ARGPARSE_FLAG_USER, ARGPARSE_FLAG_VERBOSE)
	(ARGPARSE_NO_CONFFILE, ARGPARSE_CONFFILE, ARGPARSE_OPT_CONFFILE): New
	consts.
	(ARGPARSE_conffile, ARGPARSE_noconffile): New macros.
	(gpgrt_set_confdir): New func.
	(gpgrt_argparser): New func.
	* src/argparse.c (confdir): New var.
	(enum argparser_states): New.
	(struct _gpgrt_argparse_internal_s): Add a couple of new fields.
	(initialize): Init them.
	(any_opt_conffile): New.
	(_gpgrt_argparser): New.
	(_gpgrt_set_confdir): New.
	* src/visibility.c (gpgrt_argparser): New.
	(gpgrt_set_confdir): New.
	* src/gpg-error.def.in, src/gpg-error.vers: Add those functions.
	* tests/t-argparse.c (main): Reworked.
	* tests/etc/t-argparse.conf: New file.
	* tests/t-argparse.conf: New file.

	core: Add gpgrt_fnameconcat and gpgrt_absfnameconcat.
	+ commit 5742b8eaf3fa9cda3dfb6b3ad0fea7485fff1a12
	* src/gpg-error.h.in (gpgrt_fnameconcat): New.
	(gpgrt_absfnameconcat): New.
	* src/visibility.c (gpgrt_fnameconcat, gpgrt_absfnameconcat): New.
	* src/stringutils.c: New file.
	(_gpgrt_vfnameconcat): New.
	(_gpgrt_fnameconcat, _gpgrt_absfnameconcat): New.
	* src/gpg-error.def.in: Add new functions.
	* src/gpg-error.vers: Ditto.
	* src/sysutils.c: Include pwd.h.
	(_gpgrt_getpwdir): New.
	* configure.ac: Test for pwd.h, getpwnam, getpwuid, and their _r
	variants.
	* src/Makefile.am (libgpg_error_la_SOURCES): Add new file.

	* tests/t-stringutils.c: New.
	* tests/t-common.h (xmalloc, xstrdup, xfree): New.
	(die): Kludge to avoid compiler warnings.

2020-02-18  NIIBE Yutaka  <gniibe@fsij.org>

	w32: Support static link with -lws2_32.
	+ commit a6ab8e3a710b899ecfb2ff518725314a1e0e64ff
	* configure.ac (GPG_ERROR_CONFIG_LIBS_PRIVATE): New.
	* src/Makefile.am (socklibs): Use GPG_ERROR_CONFIG_LIBS_PRIVATE.
	* src/gpg-error.pc.in: Require @GPG_ERROR_CONFIG_LIBS_PRIVATE@.

2020-02-10  Werner Koch  <wk@gnupg.org>

	logging: Also protect gpgrt_inc_errorcount against counter overflow.
	+ commit d72c1ddfde09ffa69745ec2439c5a16d15e2202f
	* src/logging.c (_gpgrt_inc_errorcount): Protect against counter
	overflow.
	(_gpgrt_logv_internal): Use that function here so that we have only
	one check for counter overflow.

2020-02-07  Werner Koch  <wk@gnupg.org>

	Release 1.37.
	+ commit 36b9924b483198f896c7ca3db233978978141b60


2020-02-06  Werner Koch  <wk@gnupg.org>

	tools: Allow error symbol lookup w/o the GPG_ERR_ prefix.
	+ commit 796b66a9449c442991cc205f8a618dffab54d8a3
	* src/gpg-error.c (get_err_from_codesymbol): New.
	(main): Use it here.

	build: Always pass -no-undefined to libtool.
	+ commit 6e4b5ca624cb7f771c8dd1f12cbad851a5f0d782
	* src/Makefile.am: Remove no_undefined macro.

2020-01-23  NIIBE Yutaka  <gniibe@fsij.org>

	po: Update Japanese Translation.
	+ commit d1e4b4b001b3fd34b91403f880a42c4a474cdb83


2020-01-07  NIIBE Yutaka  <gniibe@fsij.org>

	build: Don't use -O0 which is not portable.
	+ commit a2674207f7fef6d0f96b80838303a2e6a55e7785
	* src/Makefile.am (mkheader): Remove -O0 option.

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

	New error codes for SQLite.
	+ commit 308574372055662c76d27f1681b182afddce9166
	* src/err-codes.h.in: Add GPG_ERR_SQL_ codes.
	* src/gpg-error.h.in (gpg_err_code_from_sqlite): New.

2019-09-24  NIIBE Yutaka  <gniibe@fsij.org>

	Fix gpg-error.c for preprocessor use.
	+ commit f73605e039493ca875f992a45730a6c99430fb14
	* src/gpg-error.c (main): Fix conditional compilation.

2019-09-18  NIIBE Yutaka  <gniibe@fsij.org>

	tests: Fix deallocation of buffer in t-b64.c.
	+ commit 46bb7eb8c5541d62cd90227bde205f663ef0e6d5
	* tests/t-b64.c (test_b64dec_string): De-allocate.

	gpgrt_setenv: Define behavior when value=NULL.
	+ commit 4b8e8ba9f60cb6eb644be5f86b9c19ebf4332763
	* src/sysutils.c (_gpgrt_setenv): Avoid call with value=NULL.

	logging: Fix the case of using socket_dir_cb which may return NULL.
	+ commit 521aeecf1e41e8e34bb354cf51bfd37ff7a900c6
	* src/logging.c (fun_writer): Fix for socket_dir_cb.

	estream: Care about erroneous case for stream close.
	+ commit f41991480aaa79db55e75363dfbb4f278cb8ea21
	* src/estream.c (do_list_remove): Only access ITEM->NEXT when it's not
	null.

2019-09-10  Werner Koch  <wk@gnupg.org>

	core: Fix broken strings (first letter missing)
	+ commit c1e80f6e8e368c271bbf413d9eaea772ef2062d1
	src/err-codes.h.in (GPG_ERR_KEYBOXD): Add missing tabs.

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

	estream: Fix dead assigniment.
	+ commit f7c24427329075adc98eb93d2abb12c087e0f9d2
	* src/estream-printf.c (pr_string): Here.

2019-09-04  NIIBE Yutaka  <gniibe@fsij.org>

	gpgrt-config: Support Libs.private and Requires.private.
	+ commit cb877252c4dc787755fb4e1ffc36757453af12eb
	* src/gpgrt-config.in: Support Libs.private and Requires.private.

2019-08-23  NIIBE Yutaka  <gniibe@fsij.org>

	estream: Fix gpgrt_poll at EOF.
	+ commit 157b9f6fafb6905fd94c21aaa9e2c103d954a9fc
	* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): Catch POLLHUP event
	for want_read.

	estream: Fix gpgrt_poll to prevent waiting indefinitely for others.
	+ commit ab87480fc201ad687153429aee043ab454fed0a3
	* src/estream.c (_gpgrt_poll): Go to leave, when something is ready.

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

	estream: Fix poll condition.
	+ commit fc1a7591bdcd64a3df1d2db29afca8e224f64c0a
	* src/estream.c (_gpgrt_poll): Fix for want_oob.

2019-07-25  NIIBE Yutaka  <gniibe@fsij.org>

	w32: Fix cast to internal fd.
	+ commit f93a0358dc82886db12c91180dc82e8bb1258ef0
	* src/estream.c (tmpfd): Use intptr_t.

	estream: Fix IS_INVALID_FD.
	+ commit 5f9f2c32b038848212bec9d9a95858c18b9a0eee
	* src/estream.c (IS_INVALID_FD): Simply compare to -1.

2019-07-24  NIIBE Yutaka  <gniibe@fsij.org>

	w32: Fix HANDLE to internal fd conversion.
	+ commit 655ed9d83889bbb61d4b96755a2bd676622064c8
	* src/spawn-w32.c (handle_to_fd): Use intptr_t type.

2019-07-18  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	build: Use {CFLAGS,CPPFLAGS, LDFLAGS}_FOR_BUILD for helper programs.
	+ commit 732855a483709345a5c0f49504f45cb8da3f883a
	* doc/Makefile.am: add CPPFLAGS_FOR_BUILD for yat2m-for-build (other
	flags were already present).
	* src/Makefile.am: add {CFLAGS,CPPFLAGS,LDFLAGS}_FOR_BUILD for
	mkhelper, mkw32errmap, and mkerrcodes.

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

	Fix signedness for a single-bit field.
	+ commit 7ffab1750fdec31d6f6f62c3ff50f1a33eacda5c
	* src/gpgrt-int.h (struct _gpgrt_b64state): Use unsigned for bit flags.

2019-06-27  Werner Koch  <wk@gnupg.org>

	estream: Add missing malloc check.
	+ commit 382fddc151fd42cd6d1d02dbedb7b5031cc68958
	* src/estream.c (_gpgrt_poll): Check for malloc error.

2019-06-27  NIIBE Yutaka  <gniibe@fsij.org>

	estream: Don't use variable length array.
	+ commit 70a5ea407c71cf094794d3d3375aab7fc2c4eca6
	* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): No VLA.

2019-06-26  NIIBE Yutaka  <gniibe@fsij.org>

	estream: Use poll(2) when available.
	+ commit a21a7de8c2cf986235382e7e04805744f6df116e
	* configure.ac: Detect poll.h.
	* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): Use poll.

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

	tests: Skip the test when pkg-config is too old.
	+ commit 6c2fc52d72b4dbd9dac44d9c3105dc3e8a4d5605
	* src/gpg-error-config-test.sh.in: Check pkg-config version.

	build: Take care of POSIX shell path.
	+ commit 7a7caf4ba1c460c9c36f754fcd0ebfeb4aa5cc6a
	* configure.ac (INSTALLSHELLPATH): New.
	* src/Makefile.am: Change invocation of gpg-error-config-test.sh.
	* src/gpgrt-config.in (INSTALLSHELLPATH): To be substituted.
	* src/gpg-error-config-test.sh.in: Likewise.

	Portability fix for PID.
	+ commit 10ae655db22321f0d6efb75f88e169b57ce63375
	* src/spawn-posix.c (gpgrt_wait_processes): Cast to int.

	build: Add failure exit for gpg-error-config build.
	+ commit 849ac6abe3ce0001fb11cef0e26df0893468d238
	* src/Makefile.am (gpg-error-config): Exit 1 on failure.

2019-05-29  NIIBE Yutaka  <gniibe@fsij.org>

	Detect to use strerror_s.
	+ commit cd49ee71887cb2e7f2ca422fbc5c28f4bd92b3ca
	* configure.ac [mingw32*] (strerror_s): Detect.
	* src/strerror.c [HAVE_STRERROR_S] (system_strerror_r): Use strerror_s.

2019-05-14  NIIBE Yutaka  <gniibe@fsij.org>

	tests: Fix a memory leak.
	+ commit bdb9561a366fa5afee0e855a22390e9282e1abd5
	* tests/t-logging.c (check_log_info): Free LOGBUF.

2019-05-13  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update m4/iconv.m4.
	+ commit 07b1b3be179883cbd38446f38ae950f6d94a150b
	* m4/iconv.m4: Update from gettext 0.20.1.

2019-04-15  NIIBE Yutaka  <gniibe@fsij.org>

	awk: Prepare for Gawk 5.0.
	+ commit 7865041c77f4f7005282f10f9b6666b19072fbdf
	* src/Makefile.am: Use pkg_namespace (instead of namespace).
	* src/mkerrnos.awk: Likewise.
	* lang/cl/mkerrcodes.awk: Don't escape # in regexp.
	* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto.

2019-03-19  Werner Koch  <wk@gnupg.org>

	Release 1.36.
	+ commit 85f427fd28ae5947277ba02dffc83c53d9da2591
	* configure.ac: Bump LT version to C27/A27/R0.

	estream: Increase buffer size for Windows.
	+ commit e4f460d8e338d6866a6ab457dcd811c63399706a
	* src/gpgrt-int.h (BUFFER_BLOCK_SIZE) [W32]: Increase from 512 to 8k.
	* src/w32-estream.c (READBUF_SIZE, WRITEBUF_SIZE): Increase from 4k to
	8k.

2019-02-04  Werner Koch  <wk@gnupg.org>

	build: Fix for Microsoft MSVC.
	+ commit 21dd885eecdee13da1689519e2fc50fcf64f6ef2
	* src/gpgrt-int.h (_gpgrt_functions_w32_pollable): Declare with extern
	so that strict toolchains don't get confused.

2019-01-23  NIIBE Yutaka  <gniibe@fsij.org>

	gpgscm: Build well even if NDEBUG defined.
	+ commit 8a9397896fd202dcfb3fb46259e43bc05a0ddd2e
	* gpgscm/scheme.c (gc_reservation_failure): Fix adding ";".
	[!NDEBUG] (scheme_init_custom_alloc): Don't init seserved_lineno.

2019-01-16  Werner Koch  <wk@gnupg.org>

	Release 1.34.
	+ commit 8bc75741cadf95e2fac64891cf402cde891afe64
	* configure.ac: Bump LT version to C26/A26/R0.

	build: Fix regression in make distcheck.
	+ commit 5d2b20a04b526d090a2328bd79bc3a76ced327dc
	* doc/Makefile.am (errorref.txt.x):

2019-01-15  NIIBE Yutaka  <gniibe@fsij.org>

	build: Fix for BSD make.
	+ commit fd6f64f1897e00b1d9711463ebb6ec7d099e1995
	* doc/Makefile.am (errorref.txt.x): Don't use $<.

2019-01-14  Andre Heinecke  <aheinecke@gnupg.org>

	Fix symbol name typo in gpg-error.def.in.
	+ commit 51ea153871b79799f88b85f6b60c2b0a3bbd6a12
	* src/gpg-error.def.in (gogrt_abort): Correct to gpgrt_abort.

2019-01-10  NIIBE Yutaka  <gniibe@fsij.org>

	build: Build with LD_LIBRARY_PATH, use of DT_RPATH (2/2).
	+ commit 1fd997231b717853822dff9d3e981d95765f323d
	* configure.ac (LDADD_FOR_TESTS_KLUDGE): New for --disable-new-dtags.
	* tests/Makefile.am (LDADD): Use LDADD_FOR_TESTS_KLUDGE.
	(t_lock_LDADD, t_poll_LDADD): Use LDADD.

	build: Build with LD_LIBRARY_PATH, use of DT_RPATH (1/2).
	+ commit 1044ee639dab7260da481250cd2a46a69ab2b5d3
	* configure.ac: Check against --disable-new-dtags.

2019-01-04  Werner Koch  <wk@gnupg.org>

	core: New functions gpgrt_abort and gpgrt_add_emergency_cleanup.
	+ commit 933bfd7b652a907c0d8dd5337c6b5b9cb82ce7b7
	* src/init.c (emergency_cleanup_list): New gloabl var.
	(_gpgrt_add_emergency_cleanup): New.
	(_gpgrt_abort): New. Repalce all calls to abort by this.  Also replace
	all assert by either log_assert or a stderr output followed by a
	_gpgrt_abort.
	(run_emergency_cleanup): New.
	* src/visibility.c (gpgrt_add_emergency_cleanup): New public API.
	(gpgrt_abort): New public API.

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

	estream: Use correct POSIX name THOUSEP.
	+ commit 12349de46d241cfbadbdf99773d6cabfcbc97578
	* src/estream-printf.c: Replace HAVE_LANGINFO_THOUSANDS_SEP by
	HAVE_LANGINFO_THOUSEP.
	(pr_integer): Use THOUSEP.

2018-12-11  Alistair Francis  <Alistair.Francis@wdc.com>

	syscfg: Add a riscv32 architecture.
	+ commit 27ded21fea2a6f1fc161a91744014cce711ad1b3
	* src/syscfg/lock-obj-pub.riscv32-unknown-linux-gnu.h: New.
	* src/Makefile.am (lock_obj_pub): Add it.

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

	gpgrt-config: Portability fix for use of expr.
	+ commit 1d71dbb13709318567aba5b61928d8af37563097
	* src/gpgrt-config (sysroot): Care about possible interpretation of
	minus sign be considered an option to a program.
	(MAIN): Don't use 'match' of expr but use ':' instead.

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

	Silence cc warning about snprintf redefinition.
	+ commit 60f3d4440249d7beec3390df66143204ea80be39
	* src/gpgrt-int.h: First undef snprintf.

	Release 1.33.
	+ commit 174985d91ff277bd4a58a0de3d61fbbb46841cde
	* configure.ac: Set LT version to C25/A25/R0.

	Add W32-only function gpgrt_w32_override_locale.
	+ commit 0b190ce89de7b3df873c3896d5126c7882b82e18
	* src/w32-gettext.c (struct override_locale): new.
	(my_nl_locale_name): Take care of that.
	(gpgrt_w32_override_locale): New.
	* src/gpg-error.def.in: Add gpgrt_w32_override_locale.
	* src/gpg-error.c: New command --locale for Windows.

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

	logging: Escape controls in string arguments of log_ functions.
	+ commit b7fae45c24cccb9898c6d5a3a633897afb4649dc
	* src/logging.c (struct fmt_string_filter_s): New.
	(fmt_string_filter): New.
	(_gpgrt_logv_internal): Use the filter.

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

	core: Allow logging to an estream.
	+ commit f4d139b399e1e5044fe6bb0ceecd4c72e63dac94
	* src/logging.c (set_file_fd): Add and use new arg 'stream'.
	(_gpgrt_log_set_sink): Implement setting an estream sink.
	* tests/t-logging.c: New test.
	* tests/Makefile.am (TESTS): Add test.

	tests: Check print arguments of t-common functions.
	+ commit 793838fd859afd837df070ee2e75c100e932b220
	* tests/t-common.h: Include gpgrt.h  instead of gpg-error.h.
	(die, fail, show): Add printf attributes.

2018-12-05  Marcus Brinkmann  <marcus.brinkmann@rub.de>

	Fix gpgrt_ftruncate declaration.
	+ commit 34d6637a34b139fbfafa6c15eaf2fc88158a1c3c


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

	core: New functions gpgrt_fprintf_sf anf gpgrt_fprintf_sf_unlocked.
	+ commit bd8668c120ac0f725edb092b2c4ca49ffdb78ed2
	* src/gpg-error.h.in (gpgrt_string_filter_t): New type.
	(gpgrt_fprintf_sf, gpgrt_fprintf_sf_unlocked): New.
	* src/gpg-error.vers, src/gpg-error.def.in: Add them.
	* src/visibility.c (gpgrt_fprintf_sf): New.
	(gpgrt_fprintf_sf_unlocked): New.
	* src/estream-printf.c (pr_string): Add and use args sf, sfvalue and
	string_no.
	(do_format): Add args sf and sfvalue.  Keep a string format counter.
	(_gpgrt_estream_format): Add args sf and sfvalue.  Change all callers
	to provide NULL for them.
	* src/estream.c (_gpgrt_vfprintf_unlocked, _gpgrt_vfprintf): Add sf
	and sfvalue and adjust all callers.
	(do_print_stream): Ditto.

	* tests/t-printf.c (stream_to_string): New.
	(struct sfstate_s): New.
	(string_filter): New.
	(check_fprintf_sf): New.
	(main): Call new test.

	core: Add a limited version of gpgrt_ftruncate.
	+ commit ffb49b72f132d954a3d9fa11e45803c36a62fd25
	* src/gpg-error.h.in (gpgrt_ftruncate, es_ftruncate): New.
	* src/gpg-error.def.in, src/gpg-error.vers: Add gpgrt_ftruncate.
	* src/visibility.c (gpgrt_ftruncate): new.
	* src/gpgrt-int.h (COOKIE_IOCTL_TRUNCATE): New.
	* src/estream.c (func_mem_ioctl): Support new internal IOCTL.
	(_gpgrt_ftruncate): New.

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

	core: New API gpgrt_cmp_version.
	+ commit a5d4a4b32b11814d673241d62624ecec1d577571
	* src/gpg-error.h.in: New API gpgrt_cmp_version.
	* src/visibility.c (gpgrt_cmp_version): New wrapper.
	* src/version.c (parse_version_string): Revamped.
	(do_cmp_version): New.
	(_gpgrt_cmp_version): New.
	(_gpg_error_check_version): Re-implemented using the new func.
	* tests/t-version.c: Include t-common.h.
	(t_gpgrt_cmp_version): New test.
	(main): Run new test.  Change test for new version number to require a
	2 level number.

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

	gpgrt-config: Prepend PKG_CONFIG_LIBDIR to PKG_CONFIG_PATH.
	+ commit 4a92763a6e529824f1c6043b75ac1346af41a926
	* src/gpgrt-config: Handle empty PKG_CONFIG_LIBDIR config, which
	should ignore --libdir option.  Otherwise, prepend
	PKG_CONFIG_LIBDIR (instead of appending) to PKG_CONFIG_PATH.

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

	Fix typo in the annotation.
	+ commit 4b41cf3bd16c8afcb4ba152ab9d5d679a7cb91e7
	* src/init.c [DLL_EXPORT] (DllMain): Fix typo.

	gpgrt.m4: Don't support --with-*-prefix or SYSROOT.
	+ commit 8ed48537de2b141a8f2050b15a65775374f1aa79
	* src/gpgrt.m4: Remove old backward compatible support.

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

	Fix a typo.
	+ commit b39b44b9acbed6d4889acba4fe9eae2556c80acc
	* src/spawn-w32.c (src/spawn-w32.c): Fix to use pid_to_handle.

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

	gpgrt-config: Don't support variable reference in --libdir option.
	+ commit 78af09ce13969b64f121ae5990e66fb7f1cd3f1d
	* src/gpgrt-config: Simplify --libdir support, remove variable
	substituion.
	* src/gpg-error.m4: Expand possible ${prefix}, ${exec_prefix} in
	libdir.  Simplify invocation of gpgrt-config.
	* src/gpgrt.m4: Likewise.

	gpg-error.m4: Emit message when using gpgrt-config.
	+ commit 42413de59a063def05620d899a7fbda265b6c406
	* src/gpg-error.m4: Add AC_MSG_NOTICE.

	gpg-error.m4: Find gpgrt_libdir by CC.
	+ commit 7ffd88b0e98af21aa61a57dde042d75f0d403839
	* src/gpg-error.m4 (gpgrt_libdir): New.  Bump the version date.
	* src/gpgrt.m4: Likewise.

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

	gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work.
	+ commit 8f034bb3a1bbde2fc7a8d2ada6e3d779c465895b
	* src/gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work.

	gpgrt-config: It's distributed script.
	+ commit 998313bd321ae161ec58111ccc6c6f0921007bc5
	* src/Makefile.am (dist_bin_SCRIPTS): Add gpgrt-config.
	(bin_SCRIPTS): Remove gpgrt-config.

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

	w32: Remove cruft in w32-estream from olden times.
	+ commit 5b898b8bc89c18e2fd02e6c9efd5e91cb96357cc
	* src/w32-io.c (set_synchronize): Remove.
	(create_reader, create_writer): No need for set_synchronize.

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

	gpgrt-config: Fix typo in the script.
	+ commit 2e9ee747ac81434ca542291287eb56c9025f0a39
	* src/gpgrt-config: Add missing $ for libdir_option.

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

	gpgrt-config: Better architecture independent support.
	+ commit 93d45f7e7e937020c796781705516a4b62e6589a
	* configure.ac: Don't generate gpgrt-config.
	* src/gpgrt-config: Rename from gpgrt-config.in.
	(--prefix, --exec-prefix, --libdir): Use --libdir to determine
	PKG_CONFIG_LIBDIR.
	* src/Makefile.am (EXTRA_DIST): Remove gpgrt-config.in.
	* src/gpg-error-config-test.sh: Fix for path to gpgrt-config.
	* src/gpg-error.m4: Provide --prefix, --exec-prefix, --libdir
	option from configure.  Don't use CC because we have --libdir.
	Bump version date.
	* src/gpgrt.m4: Likewise.

2018-10-27  Ben Kibbey  <bjk@luxsci.net>

	b64dec: Fix to use custom memory handlers.
	+ commit b229ed40e2653bd3eabaa6931cd8582280a226d7
	* src/b64dec.c (_gpgrt_b64dec_finish): Use xfree().

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

	gpgrt-config: Clean up the implementation.
	+ commit aec676c9ca2da4feb2970f6ce036179afe778b25
	* src/gpgrt-config.in: Fix copyright notice.
	(--exists): Support new option of pkg-config.
	(--mt): Relax usage.
	(--api-version): Support old option.
	(default_module): New.
	(usage): Only show pkg-config compatible options.

	gpg-error.m4: Better backward compatibility support.
	+ commit 1096ff770b3d5cc58f423b129cc5d83731398dd9
	* src/gpg-error.m4: Don't assume newer implementation of
	gpg-error-config.  Use old way when it found old.

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

	gpg-error-config: Keep old gpg-error-config implementation.
	+ commit ffbff048bde636e3ec19f2912fa4034e70e18f44
	* configure.ac: Generate gpgrt-config from gpgrt-config.in.
	* src/gpgrt-config.in: Rename from src/gpg-error-config-new.in.
	* src/Makefile.am (bin_SCRIPTS): Add gpgrt-config.
	(EXTRA_DIST): Add gpgrt-config.in removing gpg-error-config-new.in.
	(BUILT_SOURCES, CLEANFILES): Remove gpgrt-config.
	(gpg-error-config): Always copy from gpg-error-config-old.
	* src/gpg-error-config-test.sh: Follow the rename.

	build: Set GPGRT_CONFIG in gpg-error.m4.
	+ commit e06af32bdde0b4ce8c97193472961f31c5b55ddf
	* src/gpg-error.m4: Detect gpgrt-config to set GPGRT_CONFIG.

	build: Update gpg-error.m4 and gpgrt.m4.
	+ commit abc641f27cf712dec572b6629552b6a6f0b7af27
	* src/gpg-error.m4: Bump version date.
	(min_gpg_error_version): Require >= 1.33, if not specified.
	(gpg_error_config_args): Remove bogus uses.
	* src/gpgrt.m4: Bump version date.
	(libgpgrt-prefix): Add support of --with-libgpgrt-prefix option.
	(gpgrt-config): Search/call gpgrt-config instead of gpg-error-config.
	(min_gpgrt_version): Require >= 1.33, if not specified.
	(gpgrt_config_args): Remove bogus uses.
