From 0e752a6e215aee21dc73da097c3225495d54a5b6 Mon Sep 17 00:00:00 2001 From: SoniEx2 Date: Fri, 9 Apr 2021 07:19:03 -0300 Subject: Add libotr/etc sources --- libotr/libgpg-error-1.42/ChangeLog | 5386 ++++++++++++++++++++++++++++++++++++ 1 file changed, 5386 insertions(+) create mode 100644 libotr/libgpg-error-1.42/ChangeLog (limited to 'libotr/libgpg-error-1.42/ChangeLog') diff --git a/libotr/libgpg-error-1.42/ChangeLog b/libotr/libgpg-error-1.42/ChangeLog new file mode 100644 index 0000000..85f9317 --- /dev/null +++ b/libotr/libgpg-error-1.42/ChangeLog @@ -0,0 +1,5386 @@ +2021-03-22 Werner Koch + + Release 1.42. + + commit 303062bf9a383de67227ff942c5482f3a87c71ed + + + core: Add GPG_ERR_SOURCE_TPM2D. + + commit 200bf2ed9d610219cc0b12a91dedb3bfd52d36b7 + * src/err-sources.h.in (GPG_ERR_SOURCE_TPM2D): New. + +2021-03-05 Werner Koch + + w32: Allow Unicode paths for the gettext domain. + + commit 618ce381f9d70f3a94e87f58f667a6138411018e + * src/w32-gettext.c: Remove remaining WindowsCE support + (load_domain): Use CreateFileW. + +2021-03-04 Werner Koch + + w32: Minor cleanup of w32-gettext. + + commit 3bf1de7b72be8e1d9fa78eb94730772d9cf61c44 + * src/w32-gettext.c: Include gpgrt.h instead gpg-error.h. + (utf8_to_wchar): Use underscored function. + (_gpg_w32_textdomain): Ditto. + +2021-02-18 NIIBE Yutaka + + build: Support --disable-threads by gen-lock-obj.sh. + + commit 1fb90a7da186ee2ee098a666f6f3a35bb1720e59 + * configure.ac: Supply --disable-threads to gen-lock-obj.sh. + Tighten the condition of using gen-lock-obj.sh for GNU/Linux. + * src/gen-lock-obj.sh: Support --disable-threads. + +2021-02-16 NIIBE Yutaka + + build: Fix gpgrt-config. + + commit ed3cd20de8d3eab92dd8fff02bcc214c55d08398 + * src/gpgrt-config.in: Remove delimiter variable. + + build: More fix for determining libdir for gpgrt-config. + + commit 28a21addc2e30b0756cdc6774c79f69070df8829 + * src/gpg-error.m4: Use CC -print-search-dirs for better support of + GNU style cross prefix. + +2021-02-15 NIIBE Yutaka + + build: Fix the previous change. + + commit d7fd25bbfb83cd445bc81aa695b2c6127c22fa59 + * src/gpg-error.m4: Fix test condition for GPGRT_CONFIG. + Fix behaviour when there is no GPG_ERROR_CONFIG. + +2021-02-12 NIIBE Yutaka + + build: Improve how to determine $libdir for gpgrt-config. + + commit 3cabbad4eec0e5bc6bdaa9f8626578934138adee + * src/gpg-error.m4: Fix $gpgrt_libdir handling. + +2021-02-09 NIIBE Yutaka + + Support cross-compiling on more platforms. + + commit 99ae862a96a569724f49a604ebb7d3f6d2c2d374 + * src/gen-lock-obj.sh (ECHO_C, ECHO_N): Portability fix. + +2020-12-21 Werner Koch + + 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 + + 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 + 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 + + 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 + + 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 + + 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 + + Release 1.39. + + commit 59d9f8106db3a23cb5d51d01dc6b719413d3f760 + + +2020-08-21 Werner Koch + + 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 + + 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 + + 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 + + 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 + + Make --lib-version work again. + + commit e0dab4843ded8af172c2566b4d7313a1a13e7e26 + * src/gpg-error.c (main): Add printing code. + +2020-08-03 NIIBE Yutaka + + 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 + + w32: Add gpgrt_fcancel to the definition. + + commit c564d8c5a0e7c1aba9103cb4b6561b61074c60f1 + * src/gpg-error.def.in (gpgrt_fcancel): Add. + +2020-06-26 Werner Koch + + 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 + + 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 + + build: Fix command-line to make 'src 'dir. + + commit 159e394920f6be822d771fe003498de4d93b07c3 + * configure.ac: Mistake, then, fix it. + +2020-06-11 NIIBE Yutaka + + build: On cross build, detect host's objdump. + + commit ce97528fa3dcc58d86e18d4d8820f210a624f63d + * configure.ac [*-*-linux*] (CROSS_HOST_OBJDUMP): New. + +2020-06-03 David Michael + + 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 + + Release 1.38. + + commit 71d278824c5fe61865f7927a2ed1aa3115f9e439 + + +2020-05-29 Yuri Chornoivan + + po: Update Ukrainian translation. + + commit 1143b2d3619939a60f47af75be2123f3b225b32b + + +2020-05-29 Ineiev + + po: Update and proofread Russian translation. + + commit a6104a9ab717499d405ff2af61a928a08774466a + + +2020-05-19 Daniel Kahn Gillmor + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + w32: Fix exporting gpgrt_argparser. + + commit 732ac9c681a0b6afdee2e8eb6937500850f74986 + * src/gpg-error.def.in (gpgrt_argparser): Fix typo. + +2020-02-22 Werner Koch + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Release 1.37. + + commit 36b9924b483198f896c7ca3db233978978141b60 + + +2020-02-06 Werner Koch + + 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 + + po: Update Japanese Translation. + + commit d1e4b4b001b3fd34b91403f880a42c4a474cdb83 + + +2020-01-07 NIIBE Yutaka + + build: Don't use -O0 which is not portable. + + commit a2674207f7fef6d0f96b80838303a2e6a55e7785 + * src/Makefile.am (mkheader): Remove -O0 option. + +2019-12-13 Werner Koch + + 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 + + Fix gpg-error.c for preprocessor use. + + commit f73605e039493ca875f992a45730a6c99430fb14 + * src/gpg-error.c (main): Fix conditional compilation. + +2019-09-18 NIIBE Yutaka + + 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 + + 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 + + estream: Fix dead assigniment. + + commit f7c24427329075adc98eb93d2abb12c087e0f9d2 + * src/estream-printf.c (pr_string): Here. + +2019-09-04 NIIBE Yutaka + + 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 + + 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 + + estream: Fix poll condition. + + commit fc1a7591bdcd64a3df1d2db29afca8e224f64c0a + * src/estream.c (_gpgrt_poll): Fix for want_oob. + +2019-07-25 NIIBE Yutaka + + 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 + + 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 + + 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 + + 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 + + estream: Add missing malloc check. + + commit 382fddc151fd42cd6d1d02dbedb7b5031cc68958 + * src/estream.c (_gpgrt_poll): Check for malloc error. + +2019-06-27 NIIBE Yutaka + + estream: Don't use variable length array. + + commit 70a5ea407c71cf094794d3d3375aab7fc2c4eca6 + * src/estream.c [HAVE_POLL_H] (_gpgrt_poll): No VLA. + +2019-06-26 NIIBE Yutaka + + 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 + + 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 + + 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 + + tests: Fix a memory leak. + + commit bdb9561a366fa5afee0e855a22390e9282e1abd5 + * tests/t-logging.c (check_log_info): Free LOGBUF. + +2019-05-13 NIIBE Yutaka + + build: Update m4/iconv.m4. + + commit 07b1b3be179883cbd38446f38ae950f6d94a150b + * m4/iconv.m4: Update from gettext 0.20.1. + +2019-04-15 NIIBE Yutaka + + 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 + + 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 + + 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 + + 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 + + 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 + + build: Fix for BSD make. + + commit fd6f64f1897e00b1d9711463ebb6ec7d099e1995 + * doc/Makefile.am (errorref.txt.x): Don't use $<. + +2019-01-14 Andre Heinecke + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Fix gpgrt_ftruncate declaration. + + commit 34d6637a34b139fbfafa6c15eaf2fc88158a1c3c + + +2018-11-26 Werner Koch + + 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 + + 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 + + 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 + + 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 + + Fix a typo. + + commit b39b44b9acbed6d4889acba4fe9eae2556c80acc + * src/spawn-w32.c (src/spawn-w32.c): Fix to use pid_to_handle. + +2018-11-02 NIIBE Yutaka + + 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 + + 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 + + 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 + + gpgrt-config: Fix typo in the script. + + commit 2e9ee747ac81434ca542291287eb56c9025f0a39 + * src/gpgrt-config: Add missing $ for libdir_option. + +2018-10-29 NIIBE Yutaka + + 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 + + b64dec: Fix to use custom memory handlers. + + commit b229ed40e2653bd3eabaa6931cd8582280a226d7 + * src/b64dec.c (_gpgrt_b64dec_finish): Use xfree(). + +2018-10-26 NIIBE Yutaka + + 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 + + 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. + +2018-10-24 NIIBE Yutaka + + gpg-error-config: Fix previous commit. + + commit 184c22bea37d2bee3885ef96c1a3664361b02912 + + + gpg-error-config: Old gpg-error-config support --modversion. + + commit 6d8b1e958ca96b366daac38e7084f999d252a9f8 + * src/gpg-error-config.in: Support --modversion. + + gpg-error-config: Get var/attr from the first package. + + commit 7b81ec272b0c54ac893c09be4715b76e84c27b23 + * src/gpg-error-config-new.in: Only get it from the first. + +2018-10-23 NIIBE Yutaka + + build: Fix permission. + + commit 25ea85066cf100e3381f7f7b2d8858a7dfcea480 + * build-aux/config.guess: Chmod +x. + * build-aux/config.sub: Chmod +x. + + build: Fix detecting build on multiarch environment. + + commit 00e955558c66f80acad9225d2eae82459d87dc54 + * configure.ac: Rough match by shell pattern. + + build: Supply CC to invoke gpg-error-config. + + commit f575b2fd3f733d78fb61b04805ea63ce65d89e19 + * src/gpg-error.m4: Add CC when invoking gpg-error-config. + * src/gpgrt.m4: Likewise. + + gpg-error-config: Fix cross build support. + + commit 40e22c774afebca23fdaa6dec2b8698572501c32 + * configure.ac: Fix regexp matching multiarch environment. + * src/gpg-error-config-new.in: Support standard cross build. + Handle the case where $multiarch != $triplet. + +2018-10-22 NIIBE Yutaka + + yat2m: Avoid compiler warnings. + + commit 12b834ba59ae2f3cd0568e4cfa1dca47fc41269a + * doc/yat2m.c (isodatestring): Prepare enough buffer. + + gpg-error-config: Support "auto", architecture independent script. + + commit 91bcb2c7d824de50c7dfedd4490e515ddb5dfc5a + * configure.ac (pkg_config_libdir): Set it "auto" when it looks + multiarch environment. + * src/gpg-error-config-new.in: Automatically detects the triplet. + + build: Update config.{guess,sub} to {2018-08-29,2018-08-29}. + + commit 6d2e0546d50a0d4511fb7167566bfd0058a68f38 + * build-aux/config.guess: Update. + * build-aux/config.sub: Update. + +2018-10-19 Daniel Kahn Gillmor + + build-aux: use https instead of http. + + commit e99480affa595702595e59333aca96ab28389d34 + + +2018-10-17 NIIBE Yutaka + + gpg-error-config: Fix PKG_CONFIG_LIBDIR support. + + commit d8cf57c35d4627fa28588d6ec385fcffbc5a01a0 + * configure.ac (pkg_config_libdir): New. + * src/gpg-error-config-new.in: Use pkg_config_libdir. + +2018-10-16 NIIBE Yutaka + + gpg-error-config: Support PKG_CONFIG_LIBDIR. + + commit e9566da20cf9428e3094cbd63277ea2179459232 + * src/gpg-error-config-new.in: Use PKG_CONFIG_LIBDIR if specified. + +2018-10-12 Wookey + Wookey + + syscfg: Add support for arm64ilp32. + + commit a3f4e8838036a14e87cca811e40c9f670f152fcd + * src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h: New. + * src/Makefile.am (lock_obj_pub): Add it. + +2018-10-10 NIIBE Yutaka + + gpg-error-config: Fix the place of *.pc (for multilib). + + commit 9f71b28dcb38e1d5d9001692e2f64009396aaf9b + * src/Makefile.am (pkgconfigdir): It should be under libdir. + * src/gpg-error-config-new.in: Likewise. + + gpg-error-config: Add PKG_CONFIG_SYSROOT_DIR support. + + commit 6167f3c461a4e53ccc5af620cdbfa28bfa9234f5 + * src/gpg-error-config-new.in (sysroot): New function. + (want_cflags, want_libs): Use sysroot. + * src/gpg-error-config-test.sh: Test with PKG_CONFIG_SYSROOT_DIR. + +2018-09-21 Werner Koch + + syscfg: Add support for arc-unknown-linux-gnu. + + commit f4f0da74f526d7e35cedbc2e93454df6440dbfa5 + * src/mkheader.c (canon_host_triplet): Add to table. + + core: Make cross building in mkheader more explicit. + + commit b371e3ca906e6a4db31900d419ddc2b21bed1ea3 + * src/mkheader.c (main): Add option --cross. + (write_special): Don't use native in cross mode. + * src/Makefile.am (mkheader_opts): New. + (gpg-error.h): Add MKHEADER_OPTS. + + core: Simplify calling convention of mkheader. + + commit 3fc4ce49b23a364a1cf255c8e9e259047206e1e8 + * src/Makefile.am (gpg-error.h): Remove HOST_OS from mkheader call. + * src/mkheader.c (canon_host_triplet): Add return arg r_os. + (main): Remove first arg and derive host_os from host_triplet. + +2018-09-20 NIIBE Yutaka + + src: Fix portability for echo. + + commit 15309d0fb4c78f8de9bc5dea7d0f8b7468a957b4 + * src/Makefile.am: Use ECHO_N and ECHO_C. + + gpg-error-config: Remove white space for the output by old. + + commit d510f38ccbc715faa8e07828bf6acd8e9b9a0658 + * src/gpg-error-config-test.sh: Remove white spaces at the + end or at the beginning. + + gpg-error-config: Use expr to remove var in expression. + + commit a338801aa4bac9a3551729598bcb0ca41882cdb9 + * src/gpg-error-config-new.in (remove_var_expr): Use expr. + + gpg-error-config: Fix a variable name for zsh. + + commit 4c2601a95f06efd352ad407add71a7ea6bab8152 + * src/gpg-error-config-new.in (module_list): Rename from modules. + + gpg-error-config: Don't use local variables. + + commit 5731ad6377abcd3d36fd6aa59923a640b25b589b + * src/gpg-error-config-new.in: Use global variables only. + + gpg-error-config: Avoid more space char. + + commit 95ab4d037ce2b69754c0542949bf7d9d2467d96b + * src/gpg-error-config-new.in: Don't put more space. + +2018-09-19 NIIBE Yutaka + + src: Fix Makefile for BSD make. + + commit 144f4b3df5200ce056f00e20420cde77eb1f673d + * src/Makefile.am (BUILT_SOURCES): Add srcdir to err-sources.h and + err-codes.h. + (CLEANFILES): Move err-sources.h and err-codes.h to... + (MAINTAINERCLEANFILES): ... this new target. + (gpg_error_LDADD): Remove ./ to generate libgpg-error.la. + + Accept pkgconf difference for spaces. + + commit 5564efac95e9546af948fc13c90584264b322950 + * src/gpg-error-config-test.sh (OUTPUT_OLD): Use shell + and echo to remove spaces. + +2018-09-18 Werner Koch + + syscfg: Support ARC CPUs and simplify aliasing table. + + commit 48c8f8ddfc80551db7615e1eb3555c1dc3f6a657 + * src/mkheader.c (xmalloc): New. + (xstrdup): Implement using xmalloc. + (canon_host_triplet): Add supporr for arc CPU. Adjust alias table to + also alias *-pc-*. Rename ibm to unknown. Add internal arg. Add + unknown vendor hack. + (main): New mode to just print the canonicalized form. + * src/Makefile.am (lock_obj_pub): s/-(pc|ibm)-/-unknown/. Also rename + files accordingly. + +2018-09-11 NIIBE Yutaka + + Make gpg-error-config compatible to pkg-config. + + commit 78b679a778ddf37b8952f1808fd8c52cc8163f17 + * configure.ac (AC_CONFIG_FILES): Generate src/gpg-error.pc, as well + as src/gpg-error-config-old and src/gpg-error-config-new. + * src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New. + (EXTRA_DIST): Add gpg-error-config-new.in, gpg-error-config-test.sh, + and gpg-error.pc.in. + (CLEANFILES): Add gpg-error-config gpg-error-config-test.log. + (TESTS): New. + (gpg-error-config): New target. + * src/gpg-error-config-new.in: New. + * src/gpg-error-config-test.sh: New. + * src/gpg-error.pc.in: New. + * src/gpg-error.m4 (GPG_ERROR_MT_CFLAGS): Use --variable. + (GPG_ERROR_MT_LIBS, gpg_error_config_host): Likewise. + +2018-09-06 NIIBE Yutaka + + gpgscm: Suppress warnings for GCC > 6. + + commit b2aba1bec151d6e6cbf66359a30ba2ff458fc138 + * tests/gpgscm/scheme.c (CASE): Use unused attribute for GCC > 6. + (FALLTHROUGH): New for fallthrough. + (Eval_Cycle): Use FALLTHROUGH. Remove not-needed comment of + fallthrough. + + po: Fix the previous commit. + + commit 2148e19fbefa9c5d5cdc4982cd2043136c31fb64 + + +2018-09-05 NIIBE Yutaka + + po: Update Japanese Translation. + + commit cb0113f4690ed130c55ef4c6d8699ebc051e957e + + + gpg-error-config: Forward compatibility support. + + commit 61d78fdc25e5ff9289697c141457d8d322232250 + * src/gpg-error-config.in: Support --variable=* option. + +2018-09-04 NIIBE Yutaka + + gpg-error-config: Determine output at configure time. + + commit aa697dae4c363b3d24ec9be3a0cd41df3bf806ce + * src/gpg-error-config.in (isubdirafter): Remove. + Also for --cflags and --libs. + * configure.ac (GPG_ERROR_CONFIG_ISUBDIRAFTER): Remove. + (GPG_ERROR_CONFIG_CFLAGS): Add -idirafter gpg-extra for W32CE. + (GPG_ERROR_CONFIG_CFLAGS): Decide here if adding -I$includedir. + (GPG_ERROR_CONFIG_LIBS): Decide here if adding -L$libdir. + +2018-07-17 Michael Haubenwallner + + build: use EXEEXT_FOR_BUILD everywhere. + + commit 19f9902b004cb980de4da908fa571103bfe2b630 + * src/Makefile.am: Use EXEEXT_FOR_BUILD with all build tools. + + + +2018-07-12 Werner Koch + + Release 1.32. + + commit 7b08307ff25b757ed2502cb2bf7893640e404ad1 + + + estream: Always propagate flush event to cookie functions. + + commit bd5bcd2dd19ef0b1c3d33a3a388b537ba08a4eb6 + * src/estream.c (flush_stream): Always call cookie's flush func. + +2018-07-11 NIIBE Yutaka + + build: Use AX_CC_FOR_BUILD and EXEEXT. + + commit 0727c394562237d7e626849eae04790264e56208 + * configure.ac (AX_CC_FOR_BUILD): New. + * doc/Makefile.am: Use EXEEXT and EXEEXT_FOR_BUILD. + * m4/ac_prog_cc_for_build.m4: Remove. + * m4/ax_cc_for_build.m4: New. + + doc: Now, yat2m is a standard tool. + + commit f1162767e3552d05c1255497d49de15c2d94d0b4 + * configure.ac (YAT2M, HAVE_YAT2M): Remove. + * doc/Makefile.am: Always use yat2m which comes with this source. + +2018-07-10 NIIBE Yutaka + + build: Remove version_parts in autogen.sh. + + commit 302d43a130e2364ea882474088a8b0a31bc325b9 + * autogen.rc (version_parts): Remove. + * autogen.sh: Determine by $micro argument. + +2018-07-05 Werner Koch + + Remove leftover debug output from gpg-error. + + commit 1ac63f630cbe1b558ebe20b746bbe4962117d36f + * src/gpg-error.c (main): Remove a log_debug. + +2018-07-05 Yuri Chornoivan + + po: Update Ukrainian translation. + + commit 8a72604dc44d36790669e6e591c12cc0b6e057bd + + +2018-07-05 Andre Heinecke + + core: Initialize values in estream_format. + + commit fe2f8fca3114e3a5727fdbbc5e7ebc4e442d0401 + * src/estream-printf.c (_gpgrt_estream_format): Make sure + valuetable.value is inialized even on stack. + +2018-05-30 Ineiev + + po: Update Russian translation. + + commit 043a91b8cd4bb71cb96086b51d6bc1b1a1821a41 + + +2018-05-30 Werner Koch + + core: Fix problem with C11 and stdnoreturn.h. + + commit 3eee9efc46f983fe0bf474c814944fef93a2a1b7 + * src/gpg-error.h.in (GPGRT_ATTR_NORETURN): Use gcc specific symbol name + __noreturn__. + +2018-05-03 Andre Heinecke + + doc: Fix yat2m name for native w32 build. + + commit 6eb80abcde5ad776379069871e4156b28ef69712 + * doc/Makefile.am: Handle not cross compiling but building for + windows. + +2018-05-02 Werner Koch + + Release 1.31. + + commit 10a984d25048a09d1c489224bae866372e8066a1 + * configure.ac: Set LT version to C24/A24/R2. + +2018-05-01 Werner Koch + + core,w32: Avoid recursive use of npth_unprotect. + + commit b26a227173e8e9b91be14f06ee781c6e214e50ff + * src/w32-estream.c (reader): Use standard free. + (writer): Ditto. + +2018-05-01 emma peel + + po: new Spanish translation. + + commit 7e2517a29619c35257b38aa137b6772e471d7e4e + + +2018-04-30 Werner Koch + + Release 1.30. + + commit cac048bf8454ade95a905f9d3840b1ec284fce20 + * configure.ac: Bump LT version to C24/A/24/R1. + + build: More release creation automation. + + commit d1d4c4f8eb9830bfb671054e1558342106ba9d8d + * Makefile.am: Add release and sign-release targets. + + core: Fix gpgrt_poll for Windows under nPth. + + commit 4f45f3e0bb404b4a9787cb55ca154c6f60c1437b + * src/estream.c (_gpgrt_poll) [W32]: Use syscall clamp. + +2018-04-13 NIIBE Yutaka + + doc: Fix yat2m build for cross compilation. + + commit 792877a08ca7bc9d1377161dc9af374602a394cc + * doc/Makefile.am: Fix target of yat2m-for-build. + +2018-04-12 NIIBE Yutaka + + build: Check -lsocket -lnsl for Solaris. + + commit e35749023ca68de6f1f85d3072f7b36fd6f6fe7c + * configure.ac: Check inet_addr for -lnsl, and socket for -lsocket. + +2018-04-11 Damien Goutte-Gattat via Gnupg-devel + + build: Make sure version.texi is generated in time. + + commit 8ef76d9373db16f1ca176f9c87c8dac2758c8b85 + [[PGP Signed Part:Good signature from AA4373E6C82C78AD Damien Goutte-Gattat (trust undefined) created at 2018-04-11T17:05:27+0200 using RSA]] + [1. text/plain] + + * doc/Makefile.am (yat2m-stamp): Depend on version.texi. + +2018-04-11 Werner Koch + + Release 1.29. + + commit c3825327da826e434ada9abde34e6bbd7ef61737 + * configure.ac: Bump LT version to C24/A24/R0. + + core: Finalize the API for argparse. + + commit e901c9fb04f5a96ba2bd49225b396ce7857a3782 + * src/gpg-error.h.in (ARGPARSE_end): Simplify. + * src/argparse.c (_gpgrt_argparse_internal_s): Add field opts. + (deinitialize): Release new field. + (initialize): Add arg opts and create a copy of the option list. Add + the internal options. + (_gpgrt_argparse): Rename arg opts to opts_orig and set new local var + opts. Adjust all references to opts. + (find_long_option): Adjust for chnaged type of OPTS. Re-indent. + (arg_parse): Remove internal option assignment. Rename arg opts to + opts_orig and set new local var opts. Adjust all references to opts. + (show_help): Adjust all references to opts. + +2018-03-27 NIIBE Yutaka + + doc: Support cross compilation for yat2m. + + commit efc4769339d42a4a399c040c146cf4a29c02ea4f + * configure.ac (HAVE_YAT2M): New. + * doc/Makefile.am [CROSS_COMPILING]: Supported. + +2018-03-22 Werner Koch + + build: Add option --git-build to autogen.sh. + + commit 1b30d21c8780f5510815d4fb2523afad9fff85dc + + + yat2m: Avoid compiler warnings. + + commit 30621ee4c13006d08881994c32c89f60604c0188 + * doc/yat2m.c (evaluate_conditions): Mark args unused + (proc_texi_cmd): Avoid shadowing warning. + + core: Add Base-64 encoder. + + commit ffc8f805165a13d16ed227051c59d732117ec9d4 + * src/b64enc.c: Change to fit into libgpg-error. + * src/Makefile.am: Add b64enc.c + * src/b64dec.c: Use xtrymalloc etc. Always use gpg_err_code_t. + (_gpgrt_b64dec_start): Set decoder flag + (_gpgrt_b64dec_finish): Check for conflict. + (_gpgrt_b64state): Move to ... + * src/gpgrt-int.h: here. Add new fields. + * src/visibility.c (gpgrt_b64enc_start): New. + (gpgrt_b64enc_write): New. + (gpgrt_b64enc_finish): New. + * src/gpg-error.vers, src/gpg-error.def.in: Add new functions. + * src/gpg-error.h.in: Ditto. + * src/visibility.h: Ditto. + + * tests/t-b64dec.c: Remove. + * tests/t-b64.c: New. + * tests/Makefile.am (TESTS): Replace t-b64dec by t-b64. + +2018-03-22 NIIBE Yutaka + + doc: Fix build and installation of yat2m. + + commit 4dc6d4d2067c726cdb13593bf151637319ff65e6 + * configure.ac (YAT2M): Require it when cross compiling. + * doc/Makefile.am (bin_PROGRAMS): Add yat2m. + +2018-03-21 Werner Koch + + po: Merge GnuPG's strings from argparse.c. + + commit e492e0a0a73e1ea9c80f355a25f632af69d3a569 + + + tools: Use gpgrt_argparse for the gpg-error tool. + + commit 11ce9bc3d6fe75859e18112824ae7ec3ca0fc8df + * src/gpg-error.c (show_usage): Remove. + (my_strusage): New. + (main): Change to use argparse. Also use log_error. + + core: Add public function gpgrt_usage. + + commit ed78ef7f06649f85f1c94c4fb2bd3f6b16fd9a63 + * src/visibility.c (gpgrt_usage): New. + + core: Add the group of argparse functions. + + commit 13d6fbfd4360cb74588556a3a0058c4057d0bcf0 + * src/visibility.c (gpgrt_argparse): New. + (gpgrt_strusage): New. + (gpgrt_set_strusage): New. + (gpgrt_set_usage_outfnc): New. + (gpgrt_set_fixed_string_mapper): New. + * src/gpg-error.def.in, src/gpg-error.vers: Add new functions. + * src/gpg-error.h.in: Add ARGPARSE macros from the former argparse.h. + (gpgrt_argparse_t): New. + (gpgrt_opt_t): New. + * configure.ac (AH_BOTTOM): Request argparse macros. + * src/Makefile.am (libgpg_error_la_SOURCES): Add argparse.c. + * src/argparse.h: Remove. + * src/argparse.c: Revamp to fit into libgpg-error. + (_gpgrt_argparse): New. + (_gpgrt_usage): Rename from usage. + (_gpgrt_strusage): Rename from strusage. Define two new levels and + templates for three common licenses. + (_gpgrt_set_strusage): Rename from set_strusage. + (_gpgrt_set_usage_outfnc): New. + (_gpgrt_set_fixed_string_mapper): New. + + * tests/t-argparse.c: New. + +2018-03-18 Werner Koch + + core: Fix regression on arm64 due to invalid use of va_list. + + commit 791177de023574223eddf7288eb7c5a0721ac623 + * src/logging.c (_gpgrt_log_printhex): Provide a dummy arg instead of + NULL. + +2018-03-14 Werner Koch + + core: Fix building on W64. + + commit c36a60687976d98b54dac17f699dfca4918a737c + * src/w32-add.h: Remove hack to define pid_t. + * src/gpg-error.h.in: Eval macro to define pid_t. + * src/mkheader.c (have_sys_types_h, sys_types_h_included): New. + (parse_config_h): Test for sys/types.h. + (write_special): Protect inclusion of sys/types.h. Define new macro + 'define:pid_t'. + +2018-03-13 Werner Koch + + Release 1.28. + + commit e32342397eab85fed5ef709317cc50dc7cbc41a5 + + +2018-02-28 NIIBE Yutaka + Karsten Merker + + syscfg: Add a riscv64 architecture. + + commit 596c0d701edeb45e0069bb74b9343e3d5b708ef0 + * src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h: New. + * src/Makefile.am (lock_obj_pub): Add it. + +2018-02-21 Werner Koch + Todd Zullinger + + build: Document how to use git send-email. + + commit 70058cd9f944d620764e57c838209afae8a58c78 + * autogen.rc: Add patches_to. + * autogen.sh: Run git config sendemail.to. + * doc/HACKING: Describe use of git send-email. + +2018-02-21 Thorsten Behrens + + doc: clarify patch submission workflow. + + commit 887530733d0486ab68ff351c4855f5450c2d50e6 + + +2017-12-11 Werner Koch + + core: Avoid using estream_t in the public API. + + commit f9a33a7f7e44a644ff4e31f7e9f1c2c1ec1f8eee + * src/gpg-error.h.in: Always use gpgrt_stream-t. + +2017-12-08 Werner Koch + + core: Rename the gpgrt_log_levels enum values. + + commit de167fa92d009745c51dae547990845282cbb351 + * src/gpg-error.h.in (gprt_log_levels): Rename to GPGRT_LOGLVL. + +2017-11-29 Werner Koch + + core: Wrap blocking system calls of the spawn functions. + + commit 4acf116ba6d144c2cfa39ff54a23b8864b4ce895 + + + core: Unify syscall_clamp functions. + + commit adc786d034b63176b941a1ef8d996acbf8d0ea5d + * src/estream.c (_gpgrt_set_syscall_clamp) + (_gpgrt_get_syscall_clamp): Move to ... + * src/syscall-clamp.c: new file. + (_gpgrt_pre_syscall, _gpgrt_post_syscall): New. + * src/Makefile.am (libgpg_error_la_SOURCES): Add that file. + * src/estream.c: Replace the syscall wrapper with the new functions. + * src/posix-lock.c: Ditto. + * src/w32-lock.c: Ditto. + * src/posix-thread.c: Ditto. + * src/w32-thread.c: Ditto. + + core: Implement the spawn functions. + + commit 1865c0ba1769b407a3c504f1ab0a4278704a9fc1 + * src/gpg-error.h.in (GPGRT_SPAWN_NONBLOCK): New const. + (GPGRT_SPAWN_RUN_ASFW): New const. + (GPGRT_SPAWN_DETACHED): New const. + (gpgrt_make_pipe): New function. + (gpgrt_create_pipe): New macro. + (gpgrt_create_inbound_pipe): New macro. + (gpgrt_create_outbound_pipe): New macro. + (gpgrt_spawn_process): New function. + (gpgrt_spawn_process_fd): New function. + (gpgrt_spawn_process_detached): New function. + (gpgrt_wait_process): New function. + (gpgrt_wait_processes): New function. + (gpgrt_kill_process): New function. + (gpgrt_release_process): New function. + * src/gpg-error.def.in, src/gpg-error.vers: Add new functions. + * src/visibility.c, src/visibility.h: Add wrappers for new functions. + * src/spawn-posix.c: Rework to better fit the use in gpgrt. Rename + all public function with a _gpgrt prefix. + * src/spawn-w32.c: Ditto. + * src/gpgrt-int.h: Likewise. + * src/Makefile.am (arch_sources): Add spawn-posix.c and spawn-w32.c. + * src/w32-add.h: Add pid_t typedef as a temporary hack. + * configure.ac: Check for signal.h and getrlimit. + (AC_FUNC_FORK): New. + + Import and relicense exechelp* functions from GnuPG. + + commit 8f41cc23b12485404203be5881aaaadb78696b4d + * src/spawn-posix.c: New. Taken from GnuPG's exechelp-posix.c. + * src/spawn-w32.c: New. Taken from GnuPG's exechelp-w32.c. + * src/gpgrt-int.h: Include prototypes from GnuPG's exechelp.h. + +2017-11-28 Werner Koch + + core: Change new functions to return gpg_err_code_t. + + commit 513415c71781ab400ebb01f6b4cf2984ec6b1757 + * src/gpg-error.h.in (gpgrt_sentenv, gpgrt_mkdir, gpgrt_chdir): Change + return type to gpg_err_code_t. + * src/sysutils.c (_gpgrt_setenv): Implement that. + (_gpgrt_mkdir): Ditto. + (_gpgrt_chdir): Ditto. + * gpgscm/ffi.c (do_setenv, do_mkdir): Adjust for this change. + + gpgscm: Some adjustments for use in gpgrt. + + commit 930d27ba6b1205395add0c79139e62355a1d5b62 + * gpgscm/Makefile.am: Remove cruft leftover from GnuPG. Link to the + just build libgpg-error. + * gpgscm/private.h: Include gpgrt.h and provide i18n macros. + (xfree, xtrymalloc, xtrycalloc, xtryrealloc): New macros. + (xmalloc, xstrdup): New inline functions. + * gpgscm/main.c: Remove inclusion of gcrypt.h and gpg-error.h. Remove + all other gnupg specific headers. + (opts, parse_arguments): Temporary comment out. + (main): Adjust for use with gpgrt. Temporary comment out some stuff. + * gpgscm/ffi-private.h: Include local gpgrt.h instead of gpg-error.h. + * gpgscm/ffi.h: Ditto. + * gpgscm/ffi.c: Remove gpg-error.h and headers from GnuPG. + (do_getenv): Use gpgrt_getenv. + (do_setenv): Use gpgrt_setenv. + (do_mkdtemp): Temporary return an error. + (unlink_recursively): Use gpgrt_bsprintf. + (do_getcwd): Use gpgrt_getcwd. + (do_mkdir): Use gpgrt_mkdir. + (do_get_isotime): Temporary return an error. + (do_get_time): Directly use time(). + + core: New API functions gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd. + + commit 4a2538e69dd35377bce0fb584f72322c69a111b3 + * src/gpg-error.h.in (gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd): New. + * src/visibility.c, src/visibility.h: Add wrappers. + * src/gpg-error.vers, src/gpg-error.def.in: Add them. + * src/sysutils.c (modestr_to_mode): New. + (_gpgrt_mkdir, _gpgrt_chdir, _gpgrt_getcwd): New. + * m4/gnupg-misc.m4: New. + * m4/Makefile.am (EXTRA_DIST): Add new M4 file. + * configure.ac: Call new GNUPG_FUNC_MKDIR_TAKES_ONE_ARG. + (AC_CHECK_FUNCS): Add stat. + + core: Prepare to build with gpgscm. + + commit 241e9a73891fcd12f124aab1a299c2cf4f8eebc4 + * configure.ac: New option --enable-gpgscm. Create gpgscm/Makefile. + (GPGRT_ENABLE_LOG_MACROS): Define. + * Makefile.am (SUBDIRS): Add gpgscm + * src/logging.c (_gpgrt_logv_clock): Do not use the log_debug macro. + + core: New API functions gpgrt_getenv and gpgrt_setenv. + + commit b67daca506991507cea9d383df7faf95117e58a6 + * src/gpg-error.h.in (gpgrt_getenv, gpgrt_setenv): New. + (gpgrt_unsetenv): New macro. + * src/gpg-error.vers, src/gpg-error.def.in: Add them. + * src/visibility.c (gpgrt_getenv, gpgrt_setenv): New. + * src/visibility.h: Add them. + * src/sysutils.c: Include string.h and on Windows windows.h. + (_gpgrt_getenv): New. + (_gpgrt_setenv): New. + +2017-11-27 Werner Koch + + core: Install new files gpgrt.m4 and gpgrt-config. + + commit 97b0881216af24f2a46c11650e23691cff9cb12a + * src/gpgrt.m4: New. Bascially a copy of libgpg-error.m4 + * src/gpg-error-config.in: Decide which name to print. + * src/Makefile.am (nodist_bin_SCRIPTS): Add gpgrt-config. + (m4data_DATA): Add gpgrt.m4 + (EXTRA_DIST): Add gpgrt.m4. + (BUILT_SOURCES): Add gpgrt-config. + (CLEANFILES): Add gpgrt-config. + (gpgrt-config): Create from gpg-error-config. + + core: Avoid endless recursion if log_set_sink has not been used. + + commit 84ebd2f34882d29510f819a797fade0297fe9ab9 + * src/logging.c (_gpgrt_log_set_sink): Do not call gf_is_valid if the + default sink has been requested. + + core: Add new macro log_assert to the API. + + commit d1e3401013f85620f3136958be079c13ca758b20 + * src/gpg-error.h.in (log_assert): New macro. + +2017-11-22 Werner Koch + + core: Do not use the estream_t alias in gpg-error.h. + + commit e0ef8126c20216f79b7ad147c103bb2cf2790c59 + * src/gpg-error.h.in: Use gpgrt_stream_t in prototypes. + +2017-11-17 Werner Koch + + w32: Avoid unused code warning. + + commit a950326d20990fa33cee637d5b54d708fff585b2 + * src/w32-estream.c (_gpgrt_w32_poll) [!ENABLE_TRACING]: Do not use + waitinfo. + + w32: Add new API fucntion gpgrt_w32_reg_query_string. + + commit b5c4a2721d7b4bd54705c53e6f294ab2ef66a6f7 + * src/w32-reg.c: New. + * src/w32-add.h: Add gpgrt_w32_reg_query_string. + * src/visibility.c (gpgrt_w32_reg_query_string): New wrapper. + * src/gpg-error.def.in: Add gpgrt_w32_reg_query_string. + * configure.ac (ac_check_funcs): Add stpcpy. + * src/Makefile.am (arch_sources): Add w32-reg.c + (socklibs): New. + (libgpg_error_la_LIBADD): Add socklibs. + * src/gpgrt-int.h (xfree, xtrymalloc, xtrycalloc) + (xtryrealloc): New internal macros. + (_gpgrt_stpcpy, stpcpy): New replacement fucntion and macro. + * src/logging.c (_gpgrt_logv_internal): Use new registry query + function and add standard registry key. + + core: New API functions gpgrt_strdup and gpgrt_strconcat. + + commit 0d8d46c76a32176be440b062d2501bbb044fb99d + * src/visibility.c (gpgrt_strdup): New API fucntion. + (gpgrt_strconcat): New API fucntion. + * src/visibility.h: Add corresponding macros. + * src/gpg-error.def.in: Add them. + * src/gpg-error.vers: Add them. + * src/gpgrt-int.h (DIM): New macro. + * src/init.c (_gpgrt_strdup): New. + (_gpgrt_strconcat_core): New. + (_gpgrt_strconcat): New. + + core: New API functions gpgrt_malloc, gpgrt_calloc, and gpgrt_realloc. + + commit 80c18e1b212cc91946864db7a53da50e9f91b861 + * src/visibility.c (gpgrt_realloc): New API function. + (gpgrt_malloc): New API function. + (gpgrt_calloc): New API function. + * src/visibility.h: Add corresponding macros. + * src/gpg-error.def.in: Add them. + * src/gpg-error.vers: Add them. + * src/init.c (_gpgrt_calloc): New. + * src/gpg-error.h.in: Add prototypes. + + core: Add logging API. + + commit 1b653e7f37e2eb2a8f590a43651eb8aecbe8756e + * src/visibility.c (gpgrt_get_errorcount): New API. + (gpgrt_inc_errorcount): New API. + (gpgrt_log_set_sink): New API. + (gpgrt_log_set_socket_dir_cb): New API. + (gpgrt_log_set_pid_suffix_cb): New API. + (gpgrt_log_set_prefix): New API. + (gpgrt_log_get_prefix): New API. + (gpgrt_log_test_fd): New API. + (gpgrt_log_get_fd): New API. + (gpgrt_log_get_stream): New API. + (gpgrt_log): New API. + (gpgrt_logv): New API. + (gpgrt_logv_prefix): New API. + (gpgrt_log_string): New API. + (gpgrt_log_info): New API. + (gpgrt_log_error): New API. + (gpgrt_log_fatal): New API. + (gpgrt_log_bug): New API. + (gpgrt_log_debug): New API. + (gpgrt_log_debug_string): New API. + (gpgrt_log_printf): New API. + (gpgrt_log_flush): New API. + (gpgrt_log_printhex): New API. + (gpgrt_log_clock): New API. + (_gpgrt_log_assert): New function for the ABI. + * src/visibility.h: Add corresponding macros. + * src/gpg-error.def.in: Add new functions. + * src/gpg-error.vers: Add new functions. + * src/gpg-error.h.in (GPGRT_LOG_WITH_PREFIX): New constant. + (GPGRT_LOG_WITH_TIME): New constant. + (GPGRT_LOG_WITH_PID): New constant. + (GPGRT_LOG_RUN_DETACHED): New constant. + (GPGRT_LOG_NO_REGISTRY): New constant. + (GPGRT_LOG_BEGIN): New enum value. + (GPGRT_LOG_CONT): New enum value. + (GPGRT_LOG_INFO): New enum value. + (GPGRT_LOG_WARN): New enum value. + (GPGRT_LOG_ERROR): New enum value. + (GPGRT_LOG_FATAL): New enum value. + (GPGRT_LOG_BUG): New enum value. + (GPGRT_LOG_DEBUG): New enum value. + (log_get_errorcount, log_inc_errorcount, log_set_file, log_set_fd) + (log_set_stream, log_set_socket_dir_cb, log_set_pid_suffix_cb) + (log_set_prefix, log_get_prefix, log_test_fd, log_get_fd) + (log_get_stream, log_log, log_logv, log_logv_prefix, log_string) + (log_bug, log_fatal, log_error, log_info, log_debug, log_debug_string) + (log_printf, log_printhex, log_clock) + (log_flush) [GPGRT_ENABLE_LOG_MACROS]: New wrapper macros. + (gpgrt_assert): New macro. + * src/gpgrt-int.h: Add prototypes for logging.c. + (gpgrt_assert): Redefine for internal use. + * src/logging.h: Remove. + * src/logging.c: Include gpgrt-int.h instead of the stuff from GnuPG. + Use _gpgrt malloc funcsions and the internal versions of the estream + functions. Rename all public fucntions with a _gpgrt_ prefix. + (print_prefix): Return the printed length. + (_gpgrt_logv_internal): Ditto. + (_gpgrt_log_printhex): Change order of args and turn into a printf + like function. + (_gpgrt_logv_printhex): New. Take the core of the former + log_printhex. + (_gpgrt_log_clock): Turn into a printf like functions. + (_gpgrt_logv_clock): New. Take the core of the former log_clock. + + New configure options and macros for internal use. + + commit 9c904765c9b2b75e73b196b381470f0fb2f3b458 + * configure.ac: Add option --enable-log-clock. + * configure.ac: Add option --enable-werror. + * src/sysutils.c: New. + * src/Makefile.am (libgpg_error_la_SOURCES): Add sysutils.c + * src/gpgrt-int.h: Add internal i18n macros and hacks to make working + with sockets easier. + (es_stdin, es_stdout, es_stderr): New internal macros. + (snprintf): New macro. + +2017-10-05 Werner Koch + + gpgscm: Add required configure checks. + + commit 7c48edad2c782f416854eaa5c03bcf546d68eae2 + * configure.ac: Add new checks. + * m4/readline.m4: New. Taken from gnupg. + * m4/Makefile.am (EXTRA_DIST): Add it. + +2017-08-21 Justus Winter + + gpgscm: Fix -Wimplicit-fallthrough warnings. + + commit dda5fb3474a81047e5bd52a194640fb44e1d60ab + * tests/gpgscm/scheme.c (CASE): Rearrange so that the case statement + is at the front. + (Eval_Cycle): Improve fallthrough annotations. + +2017-08-08 Werner Koch + + build: New configure option --enable-all-tests. + + commit 3aa37d802ac10a38414a8cfe120de92a76968836 + * 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 c2fbc80c643db372f16aed100393cd2d4de46979 + * tests/gpgscm/tests.scm (test-pool): Add delimiter lines. + +2017-08-07 Justus Winter + + tests: Do not run all tests unless in maintainer mode. + + commit d230224c38dd4b31348f7a1ad24be9e27935dc80 + * 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-07-18 Justus Winter + + gpgscm,w32: Fix testing for absolute paths. + + commit c4230af0e62d7c8812eaedf4e6451a6288ff5769 + * tests/gpgscm/main.c (path_absolute_p): New function. + (load): Use new function. + +2017-07-14 Justus Winter + + gpgscm: Library improvements. + + commit a4dbace8c1d771bed5783aadf87a8075454e5a35 + * tests/gpgscm/repl.scm (prompt-yes-no?): New function. + * tests/gpgscm/tests.scm (pathsep-split): Likewise. + (pathsep-join): Likewise. + (with-path): Use the new function. + + gpgscm: Fail early if the test setup fails. + + commit c67386dcd95dd6a451b861e178503b29a7b13502 + * tests/gpgscm/tests.scm (make-environment-cache): Check status code + of setup script. + +2017-07-13 Justus Winter + + gpgscm: Make loading of modules less verbose. + + commit 8377569cae0764fd44701d67626b4c96f0bd8804 + * tests/gpgscm/main.c (load): Increase logging threshold. + + gpgscm: Make it impossible to catch '*interpreter-exit*'. + + commit ba3164673676468472ae37f32c3964d231e8a8f8 + * tests/gpgscm/init.scm (throw'): Make it impossible to catch + '*interpreter-exit*'. This fixes 'exit' (and with it 'fail') inside + 'catch' statements. + +2017-07-05 Werner Koch + + syscfg: Add lock-obj-pub file for ia64-unknown-linux-gnu. + + commit 0f5c3f67946fb5389df5b9963e6976b462bf5726 + * src/syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h: new. + * src/Makefile.am (lock_obj_pub): Add it. + + yat2m: Use version from libgpg-error. + + commit 0148ea8d5acde2ad5d0376fb7eaa2221e88f258a + * doc/yat2m.c (VERSION): Define as PACKAGE_VERSION. + * doc/Makefile.am (yat2m): Pass PACKAGE_VERSION with -D. + + build: Install yat2m. + + commit d81b1379edbc6007a89c3b2fff1b51c8dfe2e868 + * doc/Makefile.am (install-exec-hook): New. + (uninstall-local): Uninstall yat2m. + + yat2m: Take care of SOURCE_DATE_EPOCH. + + commit 5494a5728418938d2e42158bb646b07124184e64 + * doc/yat2m.c (main): Set a default for OPT_DATE. + +2017-07-05 NIIBE Yutaka + + doc: minor fix for @xref. + + commit 187e2ad24fb92210587beb779a1cc746821a169c + * doc/yat2m.c (proc_texi_cmd): Captalize "see" for xref. + +2017-07-05 Justus Winter + + doc: Implement simple '@ref'erences. + + commit 55d560358f7ee4a8b68f98e051021a05d4c0bb1f + * doc/yat2m.c (proc_texi_cmd): Handle '@ref'. + +2017-06-19 Justus Winter + + gpgscm: Limit the number of parallel jobs. + + commit 895ae4c6b1bd2fd9758d9c2835d9a3881e57a85a + * ffi.c (do_wait_processes): Suppress the timeout error. + * tests.scm (semaphore): New definition. + (test-pool): Only run a bounded number of tests in parallel. + (test::started?): New function. + (run-tests-parallel): Do not report results, do not start the tests. + (run-tests-sequential): Adapt. + (run-tests): Parse the number of parallel jobs. + + gpgscm: Improve option parsing. + + commit b4628b4a23d7e8b55ef3f17d79ca86ae77cbc685 + * tests/gpgscm/tests.scm (flag): Accept arguments of the form + '--foo=bar'. + + gpgscm: Improve error handling of foreign functions. + + commit f8934d091a274685c1b2a303ac2772adddd303c6 + * tests/gpgscm/ffi.scm (ffi-fail): Do not needlessly join the error + message. + + gpgscm: Improve error reporting. + + commit f57405bea31bac1e3c8e4353aea9bb3cede1b90c + * tests/gpgscm/init.scm (throw'): Guard against 'args' being atomic. + * tests/gpgscm/scheme.c (Eval_Cycle): Remove any superfluous colons in + error messages. + +2017-05-31 Justus Winter + + Align 'es_poll' semantics closer with POSIX. + + commit 4a9857a2b6d8a8e847638416d35398508b3291fd + * src/estream.c (_gpgrt_poll): Do not return early if some streams are + found to be ready before even polling the others. + + build: Prepend the maintainer CFLAGS. + + commit df1d61d5c84d984fb2d2a6f1b69c57878decf13e + * configure.ac: Prepend the maintainer CFLAGS making it possible to + override e.g. the optimization level for debugging. + +2017-05-30 NIIBE Yutaka + + Fix memory leak for estream. + + commit 1e7203515be0b030709109e9da621642dfa20312 + * src/estream.c (do_list_remove): Free the item. + (do_close): Free the buffer. + +2017-05-17 Justus Winter + + gpgscm: Fix checking for opcode arguments. + + commit d2747ce24d445ae7ef3ec4ed0cca2f30aa833e7c + * tests/gpgscm/scheme.c (Eval_Cycle): Update 'pcd' after dispatching + an instruction. + +2017-05-11 Justus Winter + + tests: Make it possible to run all tests using our infrastructure. + + commit 4bc110e219b13d551c0c6c9987b7602e44715032 + * Makefile.am (TESTS_ENVIRONMENT): New variable. + (check-all): New phony target to run all tests. + * tests/gpgme/gpgme-defs.scm (have-gpgme?): New function that tests + whether the GPGME test suite is available instead of exiting the + process. + * tests/gpgscm/init.scm (export): New macro. + * tests/gpgscm/tests.scm (run-tests): New function. + (load-tests): Likewise. + * tests/gpgme/run-tests.scm: Simplify and move the parsing of the list + of tests to 'all-tests.scm'. + * tests/gpgsm/run-tests.scm: Likewise. + * tests/migrations/run-tests.scm: Likewise. + * tests/openpgp/run-tests.scm: Likewise. + * tests/gpgme/Makefile.am: To select the tests to run, use the + variable 'TESTS'. This harmonizes the interface with the automake + test suite. + * tests/gpgsm/Makefile.am: Likewise. + * tests/migrations/Makefile.am: Likewise. + * tests/openpgp/Makefile.am: Likewise. + * tests/openpgp/README: Likewise. + * agent/all-tests.scm: New file. + * common/all-tests.scm: Likewise. + * g10/all-tests.scm: Likewise. + * g13/all-tests.scm: Likewise. + * tests/gpgme/all-tests.scm: Likewise. + * tests/gpgsm/all-tests.scm: Likewise. + * tests/migrations/all-tests.scm: Likewise. + * tests/openpgp/all-tests.scm: Likewise. + * tests/run-tests.scm: Likewise. + + tests: Move the makefile parser. + + commit 197404aae66c688d004337c0aefe153ef6b10f87 + * tests/gpgme/gpgme-defs.scm (parse-makefile, parse-makefile-expand): + Move... + * tests/gpgscm/makefile.scm: ... here. + * tests/gpgscm/Makefile.am (EXTRA_DIST): Add new file. + + gpgscm: Make it possible to set the logfile name. + + commit dd48994b0c99a4099f49ccd437a08ddff39af8a2 + * tests/gpgscm/tests.scm (test): Only set the default log filename + when it has not been set before. + +2017-05-04 Justus Winter + + tests: Support tests that are expected to fail. + + commit 212a0febf8bbaf735ae2e65722f39a47a1c5b122 + * tests/gpgscm/tests.scm (test-pool): Rework reporting. Filter using + the computed test status instead of the return value. Also print the + new categories 'failed expectedly' and 'passed unexpectedly'. + (test): If a test ends with a bang (!), it is expected to fail. Adapt + status, status-string, and xml accordingly. + +2017-05-03 Justus Winter + + gpgscm: Create and re-use frame objects. + + commit 272b0ad65ec4c6023d4b5a4fb2f003ada432b6e5 + * tests/gpgscm/scheme-private.h (struct scheme): New field + 'frame_freelist'. + * tests/gpgscm/scheme.c (enum scheme_types): New type 'T_FRAME'. + (type_to_string): Handle new type. + (settype): New macro. + (gc_disable): Make sure there is at least one frame in the free list. + (mark): Handle frame objects. + (finalize_cell): Likewise. + (dump_stack_initialize): Initialize free list. + (dump_stack_free): Simplify. + (frame_length): New variable. + (dump_stack_make_frame): New function. + (frame_slots): Likewise. + (frame_payload): New macro. + (dump_stack_allocate_frame): New function. + (dump_stack_deallocate_frame): Likewise. + (dump_stack_preallocate_frame): Likewise. + (_s_return): Unpack frame object and deallocate it. + (s_save): Wrap state in an frame object. + (dump_stack_mark): Mark the free list. + + gpgscm: Merge opexe_0. + + commit df499c6ee5edf0a560138640141a3abef360b4f5 + * tests/gpgscm/scheme-private.h (struct scheme): Remove field 'op'. + * tests/gpgscm/scheme.c (opexe_0): Inline into 'Eval_Cycle'. + (_Error_1): Return the opcode to evaluate next. + (Error_1): Do not return, but set the opcode and goto dispatch. + (Error_0): Likewise. + (s_goto): Likewise. + (s_return): Likewise. + (s_return_enable_gc): Likewise. + (s_thread_to): Remove superfluous cast. + (_s_return): Return the opcode to evaluate next. + (scheme_init_custom_alloc): Adapt to removal of field 'op'. + +2017-04-24 Justus Winter + + gpgscm: Refactor cell finalization. + + commit 36e266a5cbb78560d32bc33f18f9041db1ff5080 + * tests/gpgscm/scheme.c (finalize_cell): Use switch, return whether + the cell may be freed. + (gc): Update callsite. + + gpgscm: Tweak error message display. + + commit e8c896c7f9aabad6e1387f538accb54ac6b2b1cc + * tests/gpgscm/init.scm (throw'): If the first argument to the error + is a string, display it as such. + + gpgscm: Fix test. + + commit b67d1a3f36f2b15fb75de613942668b71cad1bd7 + * tests/gpgscm/t-child.scm: Use 'string-length' on the string. + + gpgscm: Improve syntax checking. + + commit 008894eff46724d60a24879d319b427606fcafd1 + * tests/gpgscm/scheme.c (opexe_0): Make sure closure arguments are + symbols. + + gpgscm: Emit JUnit-style XML reports. + + commit 5dc43e579ef4340c668fa7e294f5a69fef9d622e + * tests/gpgscm/Makefile.am (EXTRA_DIST): Add new file. + * tests/gpgscm/lib.scm (string-translate): New function. + * tests/gpgscm/main.c (main): Load new file. + * tests/gpgscm/tests.scm (dirname): New function. + (test-pool): Record execution times, emit XML report. + (test): Record execution times, record log file name, emit XML report. + (run-tests-parallel): Write XML report. + (run-tests-sequential): Likewise. + * tests/gpgscm/xml.scm: New file. + * tests/gpgme/Makefile.am (CLEANFILES): Add 'report.xml'. + * tests/gpgsm/Makefile.am: Likewise. + * tests/migrations/Makefile.am: Likewise. + * tests/openpgp/Makefile.am: Likewise. + + gpgscm: Make logging less verbose and more useful. + + commit a3e51fab6b30774959dc7d4d3409000fdbe1f7b3 + * tests/gpgscm/tests.scm (call-with-io): When being verbose, include + the pid in the output, and avoid duplicating the command arguments. + + gpgscm: Make test framework less functional. + + commit aa843dbcd32c65eeac8c7c3cea4efb3ed7a94a0c + * tests/gpgscm/tests.scm (test-pool, tests): Previously, these methods + updated objects by creating new updated copies of the object being + manipulated. This made the code awkward without any benefit, + therefore I change it to just update the object. + + gpgscm: Move 'trace' and 'stringify'. + + commit 763bd518b27d4e125fa3dce64417ae2aca2101d4 + * tests/gpgscm/tests.scm (trace, stringify): Move... + * tests/gpgscm/lib.scm: ... here. + + gpgscm: Avoid fruitless garbage collection cycles. + + commit 8bda9387d5be9193fd0f484fd1272367a7422389 + * tests/gpgscm/scheme-private.h (CELL_MINRECOVER): New macro. + * tests/gpgscm/scheme.c (_get_cell): Move the heuristic to get more + cells... + (gc): ... here where every caller benefits from the optimization. + +2017-04-19 NIIBE Yutaka + + Minor clean up. + + commit a8d267a7220399f7acf69723fe1d31efd2160319 + * src/b64dec.c (_gpgrt_b64dec_proc): Add a comment. + * src/estream.c (_gpgrt_fread, _gpgrt_fwrite): Use &&. + * src/mkheader.c (xstrdup): Use memcpy as we know length. + +2017-04-12 NIIBE Yutaka + + gpgscm: Fix test program. + + commit e71c0d39d2fb896df85949a61811e3b19fd050d7 + * tests/gpgscm/t-child.c (main): Fix for setmode. + +2017-04-11 Justus Winter + + tests: Fix distcheck. + + commit b03bcee96fc4eb950c6ae38fd8b5af831b281f02 + * tests/gpgscm/Makefile.am (EXTRA_DIST): Add 'gnupg.scm'. + + tests: Move common functionality. + + commit d9dd8135ec6e1a4b7a66bc385714b8c1beba3e96 + * tests/openpgp/defs.scm (with-home-directory, + with-ephemeral-home-directory): Move... + * tests/gpgscm/gnupg.scm: ... to this new file. + * tests/gpgscm/main.c (main): Load the new file. + +2017-04-10 Justus Winter + + gpgscm: Fix opcode dispatch. + + commit afb7060de5c55976d08e0692fbffd0cc108914a0 + * tests/gpgscm/scheme.c (opexe_0): Consider 'op', not 'sc->op'. The + former is the opcode we are currently executing. + + gpgscm: Mmap script files. + + commit ef41f332cba624e9bca6100ebacd4fffe4e61679 + * tests/gpgscm/main.c (load): Try to mmap the script. + * tests/gpgscm/scheme.c (scheme_load_memory): New function, a + generalization of 'scheme_load_string'. + * tests/gpgscm/scheme.h (scheme_load_memory): New prototype. + + gpgscm: Refactor checking for opcode arguments. + + commit 6c9de8ff59a9c637de944706533421dc4cf20708 + * tests/gpgscm/scheme.c (op_code_info): Fix type, add forward + declaration. + (check_arguments): New function. + (Eval_cycle): Use the new function. + + gpgscm: Improve syntax dispatch. + + commit 173531921d133a007d30c32cec00546749d8cfbf + * tests/gpgscm/scheme.c (assign_syntax): Add opcode parameter, store + opcode in the tag. + (syntaxnum): Add sc parameter, retrieve opcode from tag. + (opexe_0): Adapt callsite. + (scheme_init_custom_alloc): Likewise. + + gpgscm: Make tags mandatory. + + commit d6c83fbb06abc99de696b3f9a0b1cb962fa05b26 + * tests/gpgscm/opdefines.h: Make tags mandatory. + * tests/gpgscm/scheme.c: Likewise. + * tests/gpgscm/scheme.h: Likewise. + + gpgscm: Add and use opcode for reversing a list in place. + + commit be78c20cdd93ed295bfee1aef1e9d2e9253b779c + * tests/gpgscm/lib.scm (string-split-pln): Use 'reverse!'. + (string-rtrim): Likewise. + * tests/gpgscm/opdefines.h (reverse!): New opcode. + * tests/gpgscm/scheme.c (opexe_0): Handle new opcode. + + gpgscm: Deduplicate code. + + commit 8a2d1706e5d4b3d33ff349838f0c51631e32a2ce + * tests/gpgscm/scheme.c (oblist_add_by_name): Deduplicate. + (new_slot_spec_in_env): Likewise. + + gpgscm: Move dispatch table into rodata. + + commit 5aeeb5af96dce901a8b21613e33baed8b9331692 + * tests/gpgscm/opdefines.h: Use 0 instead of NULL. + * tests/gpgscm/scheme.c (op_code_info): Use char arrays instead of + pointers, make arity parameters smaller. + (INF_ARG): Adapt. + (_OP_DEF): Likewise. + (dispatch_table): Likewise. + (procname): Likewise. + (Eval_cycle): Likewise. + (scheme_init_custom_alloc): Likewise. + + gpgscm: Use more threaded code. + + commit 49c22bd71892f47835d9e03f3bd3122a1f0b8faa + * tests/gpgscm/scheme.c (opexe_0): Use 's_thread_to' instead of + 's_goto' wherever possible. + + gpgscm: Remove now obsolete dispatcher function from the opcodes. + + commit 6d99d2f287aa40d8add81ce892026dfe05768fd4 + * tests/gpgscm/opdefines.h: Remove now obsolete dispatcher function + from the opcodes. + * tests/gpgscm/scheme-private.h (_OP_DEF): Adapt. + * tests/gpgscm/scheme.c (dispatch_func): Remove type declaration. + (op_code_info): Remove 'func'. + (_OP_DEF): Adapt. + (Eval_Cycle): Always call 'opexe_0'. + + gpgscm: Merge 'opexe_6'. + + commit c183d8f4c6cdf6b48265f01e4c007895f2626fc5 + * tests/gpgscm/scheme.c (opexe_6): Merge into 'opexe_0'. + * tests/gpgscm/opdefines.h: Adapt. + + gpgscm: Merge 'opexe_5'. + + commit 72674f169386d68a6d0fc2ba4bc5a065435802a0 + * tests/gpgscm/scheme.c (opexe_5): Merge into 'opexe_0'. + * tests/gpgscm/opdefines.h: Adapt. + + gpgscm: Merge 'opexe_4'. + + commit 5898ead4a99d3bc9e23859daf2cca9632d92f1f7 + * tests/gpgscm/scheme.c (opexe_4): Merge into 'opexe_0'. + * tests/gpgscm/opdefines.h: Adapt. + + gpgscm: Merge 'opexe_3'. + + commit b13610ec7bf2bf199eb22f936bc2f2d4ac240fde + * tests/gpgscm/scheme.c (opexe_3): Merge into 'opexe_0'. + * tests/gpgscm/opdefines.h: Adapt. + + gpgscm: Merge 'opexe_2'. + + commit 7bc96831c7156fa07cfd55259f309ca4fa676c2e + * tests/gpgscm/scheme.c (opexe_2): Merge into 'opexe_0'. + * tests/gpgscm/opdefines.h: Adapt. + + gpgscm: Merge 'opexe_1'. + + commit 19a1be5ac3c9f3e26c453cf2ddc6d88af19e2d43 + * tests/gpgscm/scheme.c (opexe_1): Merge into 'opexe_0'. + * tests/gpgscm/opdefines.h: Adapt. + +2017-04-07 Justus Winter + + gpgscm: Allocate small integers in the rodata section. + + commit 7cee693e31fa1196161d5fbe7149a176049735ac + * tests/gpgscm/Makefile.am (gpgscm_SOURCES): Add new file. + * tests/gpgscm/scheme-private.h (struct cell): Move number to the top + of the union so that we can initialize it. + (struct scheme): Remove 'integer_segment'. + * tests/gpgscm/scheme.c (initialize_small_integers): Remove function. + (small_integers): New variable. + (MAX_SMALL_INTEGER): Compute. + (mk_small_integer): Adapt. + (mark): Avoid marking objects already marked. This allows us to run + the algorithm over objects in the rodata section if they are already + marked. + (scheme_init_custom_alloc): Remove initialization. + (scheme_deinit): Remove deallocation. + * tests/gpgscm/small-integers.h: New file. + + gpgscm: Make global data constant when possible. + + commit 9fc4e6cbe6d5d3f2dd1c61ded15e2ad42f8f9460 + * tests/gpgscm/scheme-private.h (struct scheme): Make 'vptr' const. + * tests/gpgscm/scheme.c (num_zero): Statically initialize and turn + into constant. + (num_one): Likewise. + (charnames): Change type so that it can be stored in rodata. + (is_ascii_name): Adapt slightly. + (assign_proc): Make argument const char *. + (op_code_info): Make some fields const char *. + (tests): Make const. + (dispatch_table): Make const. At least it can be made read-only after + relocation. + (Eval_Cycle): Adapt slightly. + (vtbl): Make const. + + gpgscm: Remove arbitrary limit on number of cell segments. + + commit 961f3b3a3001384d5df1d5a9963c5f67f800cd4d + * tests/gpgscm/scheme-private.h (struct scheme): Remove fixed-size + arrays for cell segments, replace them with a pointer to the new + 'struct cell_segment' instead. + * tests/gpgscm/scheme.c (struct cell_segment): New definition. + (_alloc_cellseg): Allocate the header within the segment, return a + pointer to the header. + (_dealloc_cellseg): New function. + (alloc_cellseg): Insert the segments into a list. + (_get_cell): Allocate a new segment if less than a quarter of + CELL_SIGSIZE is recovered during garbage collection. + (initialize_small_integers): Adapt callsite. + (gc): Walk the list of segments. + (scheme_init_custom_alloc): Remove initialization of removed field. + (scheme_deinit): Adapt deallocation. + + gpgscm: Fix compact vector encoding. + + commit a493ad44b6a67026aeae08d25575fee8c0f137b4 + * tests/gpgscm/scheme-private.h (struct cell): Use uintptr_t for + '_flags'. This way, '_flags' has the size of a machine word. + +2017-04-06 Justus Winter + + gpgscm: Avoid mutating integer. + + commit 00de0fd1cebd89330765470bbb6e1e8bf5f3dfc9 + * tests/gpgscm/scheme.c (opexe_5): Do not modify the integer in-place + while printing an vector. Integer objects may be shared, so they must + not be mutated. + + gpgscm: Initialize unused slots in vectors. + + commit 54ea82c2e7e5700b9644c663142c2d46441a3f4e + * tests/gpgscm/scheme.c (get_vector_object): Initialize unused slots + at the end of vectors. + +2017-04-04 Justus Winter + + gpgscm: Fix copying values. + + commit 52d0423e48dfe4dd51dc0acbf119431701280a70 + * tests/gpgscm/scheme.c (copy_value): New function. + (mk_tagged_value): Use new function. + (opexe_4): Likewise for OP_SAVE_FORCED. + + gpgscm: Simplify get-output-string operation. + + commit c9244b2eb43e0f06928b709ac35127966e1d24ce + * tests/gpgscm/scheme.c (opexe_4): Simplify 'get-output-string'. + + gpgscm: Simplify substring operation. + + commit 6900f118303962262923f9d103b802508d5f469f + * tests/gpgscm/scheme.c (opexe_2): Simplify 'substring'. + +2017-04-03 Justus Winter + + gpgscm: Slightly improve the procedure dispatch. + + commit 9a4283ed6aafc1e43d8f7a5fd9cef6118615f284 + * tests/gpgscm/scheme.c (procnum): Procedures always have an integer + number, so we can safely use the cheaper 'ivalue_unchecked'. + +2017-03-23 Justus Winter + + gpgscm: Make test cleanup more robust. + + commit e1780b2f981d3fd48bbf2672b35f2f33152f6c32 + * tests/gpgscm/tests.scm (mkdtemp-autoremove): New function that + cleans up at interpreter shutdown. + (run-tests-parallel): Use the new function. + (run-tests-sequential): Likewise. + (make-environment-cache): Execute setup with an temporary working + directory. + +2017-03-21 Justus Winter + + tests,w32: Use GetTempPath to get the path for temporary files. + + commit 8835ee681f5ae92ded982b51f5808935d227b126 + * tests/gpgscm/ffi.c (do_get_temp_path): New function. + (ffi_init): Make function available. + * tests/gpgscm/tests.scm (mkdtemp): Use the new function. + + tests: Create temporary directories in '/tmp'. + + commit cfc49428a427d1a140424c687cb45ba00117d443 + * tests/gpgscm/tests.scm (mkdtemp): Create temporary directories in + '/tmp' on UNIX, or in '%Temp' on Windows. + * tests/migrations/common.scm (run-test): Turn error into a warning. + * tests/openpgp/defs.scm (start-agent): Likewise. + +2017-03-17 Justus Winter + + gpgscm: Simplify hash tables. + + commit 053a3f9a61a2918131b9dec60149b93861c04a51 + * tests/gpgscm/scheme.c (oblist_add_by_name): We now always get a + slot. Simplify accordingly. + (oblist_find_by_name): Always return the slot. + (vector_elem_slot): New function. + (new_slot_spec_in_env): We now always get a slot. Remove parameter + 'env'. Simplify accordingly. + (find_slot_spec_in_env): Always return a slot. + (new_slot_in_env): Adapt callsite. + (opexe_0): Likewise. + (opexe_1): Likewise. + (scheme_define): Likewise. + + gpgscm: Remove framework for immediate values. + + commit a1ed4b6ab25f28114d8ba6f704824a456d4fdc0c + * tests/gpgscm/scheme.c (IMMEDIATE_TAG): Remove macro. + (is_immediate): Likewise. + (set_immediate): Likewise. + (clr_immediate): Likewise. + (enum scheme_types): Set the LSB in every value. + (fill_vector): Adapt. + (vector_elem): Likewise. + (set_vector_elem): Likewise. + (mark): Likewise. + (gc): Test for the LSB to tell typeflags apart from pointers stored in + the same memory location. + +2017-03-09 Justus Winter + + tests: Rework environment setup. + + commit 14fcdcabb25d975f0f91be86b0571694fb533e7a + * tests/gpgscm/tests.scm (test::scm): Add a setup argument. + (test::binary): Likewise. + (run-tests-parallel): Remove setup parameter. + (run-tests-sequential): Likewise. + (make-environment-cache): New function that handles the cache + protocol. + * tests/gpgme/run-tests.scm: Adapt accordingly. + * tests/gpgsm/run-tests.scm: Likewise. + * tests/migrations/run-tests.scm: Likewise. + * tests/openpgp/run-tests.scm: Likewise. + +2017-03-08 Justus Winter + + build: Use macOS' compatibility macros to enable all features. + + commit 5e51b642f747547c737a7abbc37e65b0f630d188 + * configure.ac: On macOS, use the compatibility macros to expose every + feature of the libc. This is the equivalent of _GNU_SOURCE on GNU + libc. + +2017-03-07 Michael Haubenwallner + + gpgscm: Use system strlwr if available. + + commit ca3d31ec77612cecc16c376ac7c06ce09541b28e + * tests/gpgscm/scheme.c: Define local strlwr only when HAVE_STRLWR is + not defined in config.h. + * tests/gpgscm/scheme-config.h: Remove hack. + +2017-03-07 NIIBE Yutaka + + More change for common. + + commit d372378d28b2504225aae6819d056330e7ac0674 + * g10, scd, test, tools: Follow the change of removal of -Icommon. + + w32: Conditionalize ISO 2022 definitions. + + commit 1126c4c117a47c8ea8435ac11561d51b13f538dd + * src/w32-iconv.c (iso2022_SI_seq, iso2022_SO_seq) [USE_MLANG_DLL]: + Only for USE_MLANG_DLL. + +2017-03-06 Justus Winter + + tests: Harmonize temporary and socket directory handling. + + commit 490c5d5afeaae66dc061295afbc254e57abd20c8 + * tests/gpgscm/tests.scm (mkdtemp): Do not magically obey the + environment variable 'TMP', make sure to always return an absolute + path. + * tests/gpgme/Makefile.am (TMP): Drop variable. + (TESTS_ENVIRONMENT): Drop 'TMP'. + * tests/gpgme/gpgme-defs.scm (create-gpgmehome): Start the agent. Do + not create private key store, the agent does that for us. + * tests/gpgsm/Makefile.am (TMP): Drop variable. + (TESTS_ENVIRONMENT): Drop 'TMP'. + * tests/gpgme/gpgme-defs.scm (create-gpgsmhome): Start the agent. Do + not create private key store, the agent does that for us. + * tests/migrations/Makefile.am (TMP): Drop variable. + (TESTS_ENVIRONMENT): Drop 'TMP'. + * tests/migrations/common.scm (gpgconf): New variable. + (run-test): Create and remove socket directory. + * tests/migrations/extended-pkf.scm (src-tarball): Remove variable. + (setup): Remove function. + (trigger-migration): Likewise. + Use 'run-test' to execute the test. + * tests/migrations/from-classic.scm (src-tarball): Remove variable. + (setup): Remove function. + Use 'run-test' to execute the tests. + * tests/openpgp/Makefile.am (TMP): Drop variable. + (TESTS_ENVIRONMENT): Drop 'TMP'. + * tests/openpgp/README: Do not mention 'TMP'. + * tests/openpgp/defs.scm (with-home-directory): New macro. + (create-legacy-gpghome): Do not create private key store, the agent + does that for us. + (start-agent): Make sure to terminate the right agent with 'atexit'. + + gpgscm: Fix creation of temporary directories. + + commit 9e29af900544fe4210a72cae87be78186d03e231 + * tests/gpgscm/ffi.c (do_mkdtemp): Use a larger buffer for the + template. + +2017-02-28 Justus Winter + + gpgscm: Improve parsing. + + commit 9467f3c7758864f3c025c14166c9d099bea6fe62 + * tests/gpgscm/scheme.c (port_increment_current_line): Avoid creating + the same integer if the delta is zero. This happens a lot during + parsing, and puts pressure on the memory allocator. + + gpgscm: Fix calculating the line number. + + commit 08e1cfddc94a6aae79b21d7795accf3e100a1f2f + * tests/gpgscm/scheme.c (opexe_5): Only increment the line number on + newlines. + +2017-02-28 Werner Koch + + Release 1.27. + + commit c1668f61c58ea6f0439e5193d83b4e2ac622b286 + * configure.ac: Bump LT version to C22/A22/R0. + + Add support for armv7-unknown-linux-gnueabihf. + + commit 8d45ec8f8f61268a74d9c40b840a8fbd6f805a07 + * src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: Remove. + * src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: Remove. + * src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h: Remove. + * src/Makefile.am (lock_obj_pub): Remove them. + * src/mkheader.c (canon_host_triplet): Add removed as aliases. Addn + alias for armv7-unknown-linux-gnueabihf. + + New public header gpgrt.h as alias for gpg-error.h. + + commit 012f1bdc87e9969131c72c5575af0851484a2196 + * src/gpg-error.h.in (GPGRT_H): New double include protection. + * src/Makefile.am (nodist_include_HEADERS): Add gpgrt.h. + (BUILT_SOURCES): Ditto. + (CLEANFILES): Ditto. + (gpgrt.h): New rule. + + tests: New option --debug for t-poll. + + commit f141fdee4015d36aec2122853ef55f3ae42197da + * tests/t-poll.c (test_poll): Add option. + + Improve tracing of estream. + + commit f27e516aabd27afeddecfde197eae1fd21a11395 + * src/gpgrt-int.h (trace_errno): Add new parameter. Adjust all users. + * src/init.c (trace_fp, trace_with_errno, trace_missing_lf) + (trace_prefix_done): New vars. + (_gpgrt_internal_trace_begin): Add arg WITH_ERRNO. Open a trace file + on first use. Init new vars. + (print_internal_trace_prefix): New. + * src/estream.c, src/w32-estream.c: Improve tracing. + +2017-02-28 Justus Winter + + gpgscm: Track source locations in every kind of ports. + + commit 9b23e71a6b41cd11b39ab1e1d18c140eaf63c3e7 + * tests/gpgscm/scheme-private.h (struct port): Move location + information out of the union. + * tests/gpgscm/scheme.c (mark): All ports need marking now. + (gc): Likewise all ports on the load stack. + (port_clear_location): Adapt accordingly. Also, add an empty function + for !SHOW_ERROR_LINE. + (port_increment_current_line): Likewise. + (port_reset_current_line): Drop function in favor of... + (port_init_location): ... this new function. + (file_push): Simplify. + (file_pop): Likewise. + (port_rep_from_filename): Likewise. + (port_rep_from_file): Likewise. + (port_rep_from_string): Also initialize the location. + (port_rep_from_scratch): Likewise. + (port_close): Simplify and generalize. + (skipspace): Likewise. + (token): Likewise. + (_Error_1): Generalize. + (opexe_5): Likewise. + (scheme_deinit): Simplify and generalize. + (scheme_load_named_file): Likewise. + (scheme_load_string): Also initialize the location. + +2017-02-28 Werner Koch + + w32: Fix gpgrt_poll for Windows. + + commit 07d5bd918d2185f79c7d61d56ee7f3090b6f5dcd + * src/estream.c (_gpgrt_poll) [W32]: Do not call the syscall clamp. + +2017-02-27 Werner Koch + + Use the new tracing ramework for estream. + + commit 84aaa84d41f17d6f5e2bb31930e101568df554e2 + * src/estream.c: Add trace calls to some functions. + * src/w32-estream.c: Replace existing trace calls by the new + framework. + + Add a tracing framework. + + commit a52f12cc1879d171ddf309b5ac461bab06c8b5e2 + * src/init.c (trace_save_errno, trace_arg_module) + (trace_arg_file, trace_arg_line): New module vars. + (do_internal_trace): New. + (_gpgrt_internal_trace_printf): New. + (_gpgrt_internal_trace): New. + (_gpgrt_internal_trace_errno): New. + (_gpgrt_internal_trace_end): New. + * src/gpgrt-int.h (trace): New macro. + (trace_errno): New macro. + (trace_start): New macro. + (trace_append): New macro. + (trace_finish): New macro. + +2017-02-26 Werner Koch + + Rename internal functions of estream. + + commit be49b02a56e8b405eeb0c07c80eb24e71e841b4a + * src/estream.c (_gpgrt_es_init): Rename to _gpgrt_estream_init. + (es_fill): Rename to fill_stream. + (es_fflush): Rename to flush_stream. + (es_deinitialize): Rename to deinit_stream_obj. + (es_create): Rename to create_stream + (es_read_nbf): Rename to do_read_nbf. + (es_read_lbf): Rename to do_read_lbf. + (es_read_fbf): Rename to do_read_fbf. + (es_peek): Rename to peek_stream. + (es_skip): Rename to skip_stream. + (es_print): Rename to do_print_stream. + +2017-02-24 Werner Koch + + w32: Do not use the syscall clamps in pollable mode. + + commit 915e1bf2ad1b23239b17843755376344e59a3110 + * src/estream.c (estream_cookie_w32): Add flag no_syscall_clamp. + (func_w32_create): Add arg no_syscall_clamp. + (func_w32_read): Do not call pre/post_syscall_clamp when flag is set. + (func_w32_write): Ditto. + (func_w32_seek): Ditto. + (do_w32open): Set NO_SYSCALL_CLAMP in pollable mode. + (es_create) [W32]: Make sure that pollable-mode is unly used with the + W32 backend. + +2017-02-23 Werner Koch + + w32: Replace gpgrt locks in w32-streams by native critical sections. + + commit c9e44c92e08187626e878d826cdedf4cd4e931fe + * src/w32-estream.c (TRACE_ERR): Also print the error number. This is + in particular useful on non-english systems. + (reader_context_s, writer_context_s): Replace the gpgrt mutex by a + native critical section. Change all calls to gpgrt_lock_ fucntions by + the EnterCriticalSection et al. + (_gpgrt_w32_poll): Make CODE unsigned which is what WFMO returns. + Remove the then useless condition. + +2017-02-19 Werner Koch + + New error code GPG_ERR_INV_NAME. + + commit 3a2ee6df5911728938a2fb56237b08f790841a0c + + +2017-02-17 Justus Winter + + gpgscm: Guard use of tagged expressions. + + commit 86082852350810afa548c607241df95f9cac777a + * tests/gpgscm/init.scm (vm-history-print): Check that the tag added + to expressions when parsing source files matches the expected format. + * tests/gpgscm/lib.scm (assert): Likewise. + +2017-02-15 Justus Winter + + tests,build: Fix distcheck. + + commit 52748cd96c70c9da01c35de10dd1627f7897d085 + * tests/gpgscm/Makefile.am (EXTRA_DIST): Add 'time.scm'. + + tests: Check expiration times of created keys. + + commit b2db15dfe894a27246236ed416c8e2c2fc0e73c4 + * tests/gpgscm/ffi.c (do_get_time): New function. + (ffi_init): Expose new function. + * tests/gpgscm/ffi.scm (get-time): Document new function. + * tests/gpgscm/time.scm: New file. + * tests/openpgp/quick-key-manipulation.scm: Use the new facilities to + check the expiration times of created keys. + * tests/openpgp/tofu.scm: Use the new module. + +2017-02-02 NIIBE Yutaka + + syscfg: Add a sh3 architecture. + + commit 67e51f9957f875ca854f25f4a9a63aeb831c55c4 + * src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h: New. + * src/Makefile.am (lock_obj_pub): Add it. + +2017-02-01 NIIBE Yutaka + + Add Base64 decoder. + + commit 4bfc2117b70415a5c5d3f0a0ac9086e168350d83 + * NEWS: Add interface changes. + * src/Makefile.am (libgpg_error_la_SOURCES): Add b64dec.c. + * src/b64dec.c: New. Taken from gpgme. Prefix function names with + _gpgrt_. Change API a bit, not exposing the structure. + * src/gpg-error.def.in: Export Base64 functions. + * src/gpg-error.vers: Likewise. + * src/visibility.c, src/visibility.h: Likewise. + * src/gpg-error.h.in: Add Base64 struct and functions. + * src/gpgrt-int.h: Add Base64 internal functions. + * tests/Makefile.am (TESTS): Add t-b64dec. + * tests/t-b64dec.c: New. + +2017-01-31 Justus Winter + + gpgscm: Tune the hash tables. + + commit 1c99db04ed62d395c1c88171ef147a580e0bb4ab + * tests/gpgscm/scheme.c (oblist_initial_value): Increase the size of + the hash table based on the number of symbols used after initializing + the interpreter. + (new_frame_in_env): Increase the size of the hash table based on the + number of variables in the global environement. + + gpgscm: Optimize environment lookups and insertions. + + commit fa2363d9d903dfc9885f7d2f290fb4d7738bb737 + * tests/gpgscm/scheme.c (pointercmp): New function. + (new_slot_spec_in_env): Add and use slot for insertions. + (find_slot_spec_in_env): New variant of 'find_slot_in_env' that + returns the slot on failures. + (find_slot_in_env): Express using the new function. + (new_slot_in_env): Update callsite. + (opexe_0): Optimize lookup-or-insert. + (opexe_1): Likewise. + (scheme_define): Likewise. + + gpgscm: Fix build with list environments. + + commit e982432ba66652bc9bc16e334e1d4d184e1b68bd + * tests/gpgscm/scheme.c (new_slot_spec_in_env): Provide preallocation + inforomation if USE_ALIST_ENV. + + gpgscm: Optimize symbol lookups and insertions. + + commit d374a1271326e503bd7cabe11cf5fd10a970d9fc + * tests/gpgscm/scheme.c (oblist_find_by_name): Keep the list of + symbols sorted, return the slot where a new symbol must be inserted on + lookup failures. + (oblist_add_by_name): Add the new symbol at the given slot. + (mk_symbol): Adjust callsite. + (gensym): Likewise. + (assign_syntax): Likewise. + + gpgscm: Fix build with object list. + + commit 85f6f60197fe56c90b663fb34db4cddf62c28c1b + * tests/gpgscm/scheme.c (oblist_add_by_name): Provide preallocation + information if USE_OBJECT_LIST. + + gpgscm: Remove unused functions. + + commit 92e929d4b91cbb5e36d6cb89aabf2211a7185a65 + * tests/gpgscm/scheme.c (check_cell_alloced): Remove function. + (check_range_alloced): Likewise. + +2017-01-30 Justus Winter + + gpgscm: Use a compact vector representation. + + commit 5809edef40acf1f8f0e71b69dcb10e1d5464f2a5 + * tests/gpgscm/scheme-private.h (struct cell): Add a compact vector + representation. + * tests/gpgscm/scheme.c (vector_length): Use new representation. + (vector_size): New macro. + (get_vector_object): Use the new representation. + (fill_vector): Likewise. + (vector_elem): Likewise. + (set_vector_elem): Likewise. + (mark): Likewise. + (gc): Likewise. Be careful not to confuse immediate values for type + flags. + (finalize_cell): Vectors now require finalization. + + gpgscm: Provide framework for immediate values. + + commit e1dc204ac465498436f463d419b9583011026807 + * tests/gpgscm/scheme.c (IMMEDIATE_TAG): New macro. + ({is,set,clr}_immediate): Likewise. + (enum scheme_types): Make type tags disjoint from immediate values. + (TYPE_BITS): We need one more bit now. + (ADJ,T_MASKTYPE): Compute values. + + gpgscm: Fix setting the line of the first gc reservation. + + commit c587e6a038fc532df064eec7bea2ad1db31238ad + * tests/gpgscm/scheme.c (_gc_disable): Negate guard. + + gpgscm: Introduce macro for the vector length. + + commit e2caaa957b56f20cfe09bc6ca5a595b37a860b51 + * tests/gpgscm/scheme.c (vector_length): New macro. + (get_vector_object): Use the new macro. + (oblist_add_by_name): Likewise. + (oblist_find_by_name): Likewise. + (oblist_all_symbols): Likewise. + (mk_vector): Likewise. + (mark): Likewise. + (new_slot_spec_in_env): Likewise. + (find_slot_spec_in_env): Likewise. + (opexe_2): Likewise. + (opexe_5): Likewise. + +2017-01-19 Werner Koch + + estream: Correctly set ERRNO to EOPNOTSUPP. + + commit 55c497904dd0794ca5cfcafe369943736b0d4e62 + * src/estream.c (es_flush, es_write_nbf): Fix setting of ERRNO to + EOPNOTSUPP. + +2017-01-17 Werner Koch + + build: Modernize autogen.sh. + + commit 66275ac5b8db9d83a72b5497eec4e6d9ac3b4e65 + * autogen.sh: Update from GnuPG. + * autogen.rc (version_parts): New. + * configure.ac: Change to use autogen.sh --find-version helper. + * Makefile.am (dist-hook): Do not create VERSION + (EXTRA_DIST): Add VERSION. + +2017-01-10 Daniel Kahn Gillmor + + doc,configure: Be consistent about preferring --with-libgpg-error-prefix + + commit 19de4cef279272d3969e36dd8cd2fa05a7bf5276 + * doc/gpgrt.texi: Say "--with-libgpg-error-prefix" instead of + "--with-gpg-error-prefix". + * src/gpg-error.m4: When warning about library locations, warn with + the preferred "--with-libgpg-error-prefix" name. + +2017-01-03 Werner Koch + + Fix macro GPGRT_GCC_VERSION. + + commit 704c31992e8716bbe61e6d5751e125a64badeef0 + * src/gpg-error.h.in (GPGRT_GCC_VERSION): Fix. + +2017-01-02 Justus Winter + + gpgscm: Fail if too many arguments are given. + + commit 56787d898a6911e62b35c3054a22df1a913c26cf + * tests/gpgscm/scheme.c (opexe_0): Enable check. + * tests/gpgscm/tests.scm (test::report): Remove superfluous argument. + + gpgscm: Add 'finally', rework all macros. + + commit 7d95db002aac773e596c551b8fcba2d983244495 + * tests/gpgscm/init.scm (finally): New macro. + * tests/gpgscm/tests.scm (letfd): Rewrite. + (with-working-directory): Likewise. + (with-temporary-working-directory): Likewise. + (lettmp): Likewise. + + gpgscm: Use boxed values for source locations. + + commit 4165c9303d894179c0da3a1b12316d3df8d4ce82 + * tests/gpgscm/scheme-private.h (struct port): Use boxed values for + filename and current line. This allows us to use the same Scheme + object for labeling all expressions in a file. + * tests/gpgscm/scheme.c (file_push): Use boxed type for filename. + (mark): Mark location objects of port objects. + (gc): Mark location objects in the load stack. + (port_clear_location): New function. + (port_reset_current_line): Likewise. + (port_increment_current_line): Likewise. + (file_pop): Adapt accordingly. + (port_rep_from_filename): Likewise. + (port_rep_from_file): Likewise. + (port_close): Likewise. + (skipspace): Likewise. + (token): Likewise. + (_Error_1): Likewise. + (opexe_0): Likewise. + (opexe_5): Likewise. + (scheme_deinit): Likewise. + (scheme_load_file): Likewise. + (scheme_load_named_file): Likewise. + +2016-12-21 Justus Winter + + gpgscm: Guard use of union member. + + commit aa6b3449bf1b42703b4c6466d87f91620743a5d2 + * tests/gpgscm/scheme.c (opexe_5): Check that we have a file port + before accessing filename. Fixes a crash on 32-bit architectures. + +2016-12-21 Werner Koch + + Release 1.26. + + commit 82266defa39901ec9f97533623af5638a35e5a77 + * configure.ac: Bump LT version to C21/A21/R0. + +2016-12-20 Justus Winter + + tests: Move argument parser. + + commit 5f16dec938ac6e337c6ff72981285385d75ec455 + * tests/gpgme/gpgme-defs.scm (flag): Move... + * tests/gpgscm/tests.scm: ... over here. + +2016-12-19 Justus Winter + + gpgscm: Change associativity of ::. + + commit 3ae0b5d9af063e7af03558be2bf8f32e5bb4e5cd + * tests/gpgscm/scheme.c (mk_atom): Change associativity of the :: + infix-operator. This makes it possible to naturally express accessing + nested structures (e.g. a::b::c). + + gpgscm: Display location when assertions fail. + + commit b852ac097f3dfe4e62c3d27e18a22f1b9f704530 + * tests/gpgscm/lib.scm (assert): Use location information if + available. + + gpgscm: Make exception handling more robust. + + commit 5221e0b2a3bd2dbb4f997e3c2118b176e10e116e + * tests/gpgscm/init.scm (throw'): Check that args is a list. + +2016-12-13 Justus Winter + + gpgscm: Print failed and skipped tests. + + commit e8c5871609dd3ff3b2aa3d21ab5c3651ba683ed7 + * tests/gpgscm/tests.scm (test-pool::report): Print failed and skipped + tests at the end. + + gpgscm: Generalize the test runner. + + commit b1e67a725d17ff1605ba79d8bb61f37c4a48f0a5 + * tests/gpgscm/tests.scm (test::scm) Add explicit name argument. + (test::binary): Likewise. Also, add missing unquote. + * tests/openpgp/run-tests.scm: Adapt accordingly. + + gpgscm: Move the test runner to the Scheme library. + + commit 0031a4d4d8a1851f0c32ad1af2f42f59bd016001 + * tests/openpgp/run-tests.scm: Move most of the code... + * tests/gpgscm/tests.scm: ... here. + + gpgscm: Improve library functions. + + commit f745dcab2b1789c8f64c2be4b5dcc7322212e1d2 + * tests/gpgscm/tests.scm (absolute-path?): New function. + (canonical-path): Use the new function. + * tests/gpgscm/lib.scm (string-split-pln): New function. + (string-indexp, string-splitp): Likewise. + (string-splitn): Express using the above function. + (string-ltrim, string-rtrim): Fix corner case. + (list->string-reversed): New function. + (read-line): Fix performance. + +2016-12-13 Werner Koch + + New error code GPG_ERR_TRY_LATER. + + commit f02a657f0129b30700b2f36956ee37b40cc2da82 + + +2016-12-12 Werner Koch + + New error code GPG_ERR_DNS_TIMEOUT. + + commit 90b4dfad438900c7808b8c2995ba984fa3587bb2 + + + New error codes to support libdns. + + commit 56ab574c28586fccd95a08acdc9ee4962ab0db50 + + +2016-12-08 Justus Winter + + gpgscm: Better error reporting. + + commit 735c66bd2d5672de8cc7573fe9d6af4615b86fe2 + * tests/gpgscm/ffi.scm: Move the customized exception handling and + atexit logic... + * tests/gpgscm/init.scm: ... here. + (throw): Record the current history. + (throw'): New function that is history-aware. + (rethrow): New function. + (*error-hook*): Use the new throw'. + * tests/gpgscm/main.c (load): Fix error handling. + (main): Save and use the 'sc->retcode' as exit code. + * tests/gpgscm/repl.scm (repl): Print call history. + * tests/gpgscm/scheme.c (_Error_1): Make a snapshot of the history, + use it to provide a accurate location of the expression causing the + error at runtime, and hand the history trace to the '*error-hook*'. + (opexe_5): Tag all lists at parse time with the current location. + * tests/gpgscm/tests.scm: Update calls to 'throw', use 'rethrow'. + + gpgscm: Keep a history of calls for error messages. + + commit 81c95b26e769a1ed4933fdf598a3df42d0416928 + * tests/gpgscm/init.scm (vm-history-print): New function. + * tests/gpgscm/opdefines.h: New opcodes 'CALLSTACK_POP', 'APPLY_CODE', + and 'VM_HISTORY'. + * tests/gpgscm/scheme-private.h (struct history): New definition. + (struct scheme): New field 'history'. + * tests/gpgscm/scheme.c (gc): Mark objects in the history. + (history_free): New function. + (history_init): Likewise. + (history_mark): Likewise. + (add_mod): New macro. + (sub_mod): Likewise. + (tailstack_clear): New function. + (callstack_pop): Likewise. + (callstack_push): Likewise. + (tailstack_push): Likewise. + (tailstack_flatten): Likewise. + (callstack_flatten): Likewise. + (history_flatten): Likewise. + (opexe_0): New variable 'callsite', keep track of the expression if it + is a call, implement the new opcodes, record function applications in + the history. + (opexe_6): Implement new opcode. + (scheme_init_custom_alloc): Initialize history. + (scheme_deinit): Free history. + * tests/gpgscm/scheme.h (USE_HISTORY): New macro. + + gpgscm: Add flag TAIL_CONTEXT. + + commit 83175b317dccceb149906cda721aa33178797f3e + * tests/gpgscm/scheme.c (S_FLAG_TAIL_CONTEXT): New macro. This flag + indicates that the interpreter is evaluating an expression in a tail + context (see R5RS, section 3.5). + (opexe_0): Clear and set the flag according to the rules layed out in + R5RS, section 3.5. + (opexe_1): Likewise. + + gpgscm: Add flags to the interpreter. + + commit 14d9ea4bd43e077fab4c756b513557cad76aacd2 + * tests/gpgscm/scheme-private.h (struct scheme): Add field 'flags'. + * tests/gpgscm/scheme.c (S_OP_MASK): New macro. + (S_FLAG_MASK, s_set_flag, s_clear_flag, s_get_flag): Likewise. + (_s_return): Unpack the encoded opcode and flags. + (s_save): Encode the flags along with the opcode. Use normal + integers to encode the result. + (scheme_init_custom_alloc): Initialize 'op' and 'flags'. + + gpgscm: Implement tags. + + commit 88753eea0d9b1ea40a46f3b3969d418ba75cccf9 + * tests/gpgscm/opdefines.h: Add opcodes to create and retrieve tags. + * tests/gpgscm/scheme.c (T_TAGGED): New macro. + (mk_tagged_value): New function. + (has_tag): Likewise. + (get_tag): Likewise. + (mark): Mark tag. + (opexe_4): Implement new opcodes. + * tests/gpgscm/scheme.h (USE_TAGS): New macro. + + gpgscm: Generalize 'for-each-p'. + + commit 94e8811cb2fd0cb56b330a811d13075d54681e38 + * tests/gpgscm/tests.scm (for-each-p): Generalize to N lists like + for-each. + (for-each-p'): Likewise. + +2016-12-06 Justus Winter + + tests: Rename 'error' to 'fail'. + + commit 85613efd8d49b39c1310d84484cb1647db83b4d5 + * tests/gpgscm/tests.scm (error): Rename to 'fail'. 'error' is a + primitive function (an opcode) of the TinySCHEME vm, and 'error' is + also defined by R6RS. Better avoid redefining that. Fix all call + sites. + * tests/openpgp/4gb-packet.scm: Adapt. + * tests/openpgp/decrypt-multifile.scm: Likewise. + * tests/openpgp/ecc.scm: Likewise. + * tests/openpgp/export.scm: Likewise. + * tests/openpgp/gpgtar.scm: Likewise. + * tests/openpgp/gpgv-forged-keyring.scm: Likewise. + * tests/openpgp/import.scm: Likewise. + * tests/openpgp/issue2015.scm: Likewise. + * tests/openpgp/issue2346.scm: Likewise. + * tests/openpgp/issue2419.scm: Likewise. + * tests/openpgp/key-selection.scm: Likewise. + * tests/openpgp/mds.scm: Likewise. + * tests/openpgp/multisig.scm: Likewise. + * tests/openpgp/setup.scm: Likewise. + * tests/openpgp/signencrypt.scm: Likewise. + * tests/openpgp/ssh-import.scm: Likewise. + * tests/openpgp/tofu.scm: Likewise. + * tests/openpgp/verify.scm: Likewise. + +2016-12-06 Neal H. Walfield + + tests: Change (interactive-shell) to start an interactive shell. + + commit 0d27b63f35c1e3a36631874fd111d3df2a1d51db + * tests/gpgscm/tests.scm (interactive-shell): Start an interactive + shell. + +2016-12-02 Werner Koch + + Fix NULL segv in new option --desc. + + commit 140a19617c78d5f0e2ac8d7e2c8e7092862ec2fb + * src/gpg-error.c (print_desc): Shortcur for unknown symbols. + + New error code GPG_ERR_INV_FLAG. + + commit c761c981b38741421d13bb7102b1ea7625d2d639 + + + New option --desc for gpg-error. + + commit b462d603f5110842489edce9e01e4ea40ac05cba + * doc/errorref.txt: Remove all tabs. + * doc/Makefile.am (install-data-local): New to install errorref.txt. + (uninstall-local): New. + (errorref.txt.x): New. + * src/Makefile.am (gpg_error_CPPFLAGS): Define PKGDATADIR + * src/gpg-error.c (print_desc): New. + (show_usage): New. + (main): Improve option parser. Add new option --desc. Call + print_desc. + +2016-11-29 Justus Winter + + gpgscm: Avoid truncating pointers. + + commit 941c0efdf826717aae88ea448ec60801f74bb476 + * tests/gpgscm/scheme.c (_alloc_cellseg): Avoid truncating pointers on + systems where sizeof(unsigned long) < sizeof(void *). + +2016-11-23 Justus Winter + + gpgscm: Make 'reverse' compatible with 'reverse_in_place'. + + commit 7f7869357cae0f75c5976ece12a1d94a659b904a + * tests/gpgscm/scheme.c (reverse): Update prototype, add terminator + argument. + (opexe_4): Update callsite. + + gpgscm: Clean sweeped cells. + + commit a078d448415c74ee5169d548a901d27380d933f3 + * tests/gpgscm/scheme.c (gc): Zero typeflag and car of free cells. + + gpgscm: Fix initialization of 'sink'. + + commit 95db0d64ac0ccab6cf0e6d6ec25251ccb0fab9d3 + * tests/gpgscm/scheme.c (scheme_init_custom_alloc): Also initialize + cdr. + +2016-11-22 Justus Winter + + gpgscm: Refactor. + + commit b18458f3dfd53627994783d0f2ad835ae70a05af + * tests/gpgscm/scheme.c (opexe_0): Reduce code duplication. + + gpgscm: Fix property lists. + + commit 08f16887de9d6f6dcb0b7a377407dbd4f541fe13 + * tests/gpgscm/opdefines.h (put, get): Check arguments. Also rename + to 'set-symbol-property' and 'symbol-property', the names used by + Guile, because put and get are too unspecific. + * tests/gpgscm/scheme.c (hasprop): Only symbols have property lists. + (get_property): New function. + (set_property): Likewise. + (opexe_4): Use the new functions. + + gpgscm: Fix installation of error handler. + + commit 185ba177abeaf2f8ad66529a42966362107a2d8b + * tests/gpgscm/ffi.scm: Set '*error-hook*' again so that the + interpreter will use our function. + + gpgscm: Use a static pool of cells for small integers. + + commit eca7b9bbee2986157ec6c078c998bd8a25becd8f + * tests/gpgscm/scheme-private.h (struct scheme): New fields for the + static integer cells. + * tests/gpgscm/scheme.c (_alloc_cellseg): New function. + (alloc_cellseg): Use the new function. + (MAX_SMALL_INTEGER): New macro. + (initialize_small_integers): New function. + (mk_small_integer): Likewise. + (mk_integer): Return a small integer if possible. + (_s_return): Do not free 'op' if it is a small integer. + (s_save): Use a small integer to box the opcode. + (scheme_init_custom_alloc): Initialize small integers. + (scheme_deinit): Free chunk of small integers. + * tests/gpgscm/scheme.h (USE_SMALL_INTEGERS): New macro. + +2016-11-17 Justus Winter + + gpgscm: Re-enable the garbage collector in case of errors. + + commit d2a75dc5ae2b172a232dad88639b15b4930b9151 + * tests/gpgscm/scheme.c (opexe_0): Enable gc before calling 'Error_1'. + + gpgscm: Fix string. + + commit 63cad2c16fdd343be89b576901c8f34de7cb74bf + * tests/gpgscm/scheme.c (type_to_string): Fix string. + +2016-11-17 NIIBE Yutaka + + Fix EXEEXT for lock obj creation. + + commit eeef6b8724b43e105ae2beef022fc957eb228bcf + * src/Makefile.am (lock-obj-pub.native.h): Add EXEEXT for + the executable gen-posix-lock-obj. + +2016-11-15 Justus Winter + + gpgscm: Mark cells requiring finalization. + + commit ad10069af6b0d247f27b7dbf891029eb34d264e0 + * tests/gpgscm/scheme.c (T_FINALIZE): New macro. + (mk_port): Use the new macro. + (mk_foreign_object): Likewise. + (mk_counted_string): Likewise. + (mk_empty_string): Likewise. + (gc): Only call 'finalize_cell' for cells with the new flag. + + gpgscm: Recover more cells. + + commit dd6bd1bf2a767e22bb7c1bd470ce94527a9fae3d + * tests/gpgscm/scheme.c (_s_return): Recover the cell holding the + opcode. + +2016-11-14 Werner Koch + + Release 1.25. + + commit 6d834f817fdb741ec64dcfbd2166ea044e4e0c3d + * configure.ac: Set LT version to C20/A20/R0. + + po: Update German translation. + + commit 9cecc8ccded0759d94b08c9859e7ea843430dd97 + + + Fix typo in two new error descriptions. + + commit 80350f97e9e811b9e77b59b8fc4172043f072f42 + + +2016-11-14 Justus Winter + + gpgscm: Avoid cell allocation overhead. + + commit dc1d3a79fa3e7944ea6ef02bc968446f9aa6d648 + * tests/gpgscm/scheme-private.h (struct scheme): New fields + 'inhibit_gc', 'reserved_cells', and 'reserved_lineno'. + * tests/gpgscm/scheme.c (GC_ENABLED): New macro. + (USE_GC_LOCKING): Likewise. + (gc_reservations): Likewise. + (gc_reservation_failure): New function. + (_gc_disable): Likewise. + (gc_disable): New macro. + (gc_enable): Likewise. + (gc_enabled): Likewise. + (gc_consume): Likewise. + (get_cell_x): Consume reserved cell if garbage collection is disabled. + (_get_cell): Assert that gc is enabled. + (get_cell): Only record cell in the list of recently allocated cells + if gc is enabled. + (get_vector_object): Likewise. + (gc): Assert that gc is enabled. + (s_return): Add comment, adjust call to '_s_return'. + (s_return_enable_gc): New macro. + (_s_return): Add flag 'enable_gc' and re-enable gc if set. + (oblist_add_by_name): Use the new facilities to protect the + allocations. + (new_frame_in_env): Likewise. + (new_slot_spec_in_env): Likewise. + (s_save): Likewise. + (opexe_0): Likewise. + (opexe_1): Likewise. + (opexe_2): Likewise. + (opexe_5): Likewise. + (opexe_6): Likewise. + (scheme_init_custom_alloc): Initialize the new fields. + +2016-11-12 Justus Winter + + estream: Support 'es_poll' on Windows. + + commit 40e5ff0a0084c0d9521b401db4f38885bfdae233 + * src/Makefile.am (arch_sources): Add new file. + * src/estream.c (O_NONBLOCK): Move to 'gpgrt-int.h'. + (BUFFER_BLOCK_SIZE): Likewise. + (BUFFER_UNREAD_SIZE): Likewise. + (struct notify_list_s, notify_list_t): Likewise. + (struct _gpgrt_stream_internal, estream_internal_t): Likewise. + (X_POLLABLE): New macro. + (parse_mode): Parse keyword 'pollable', emulate O_NONBLOCK using the + same mechanism on Windows. + (_gpgrt_poll): Use the new '_gpgrt_w32_poll' on Windows. + * src/gpgrt-int.h (_gpgrt_functions_w32_pollable): New declaration. + (_gpgrt_w32_pollable_create): New prototype. + (_gpgrt_w32_poll): Likewise. + * src/w32-estream.c: New file. This code is adapted from GPGME. + * tests/t-poll.c (create_pipe): Create pollable streams. + + estream: Track the kind of backend used. + + commit e15416d3668ea9dcc6a64cbb98140a99be8a7865 + * src/estream.c (struct _gpgrt_stream_internal): Add 'kind'. + (init_stream_obj): New parameter 'kind', initialize field. + (es_create): New parameter 'kind'. Update all callers. + * src/gpgrt-int.h (gpgrt_stream_backend_kind_t): New type. + + estream: Rework how the cookie functions are handled. + + commit a0651e910f962a49b0b7f7942512f17a5fe39a7d + * src/estream.c (cookie_ioctl_function_t): Move to 'gpgrt-int.h', + along with the macros for the IOCTL numbers. + (estream_functions_mem): Use the new type and add the ioctl function. + (estream_functions_fd): Likewise. + (estream_functions_w32): Likewise. + (estream_functions_fp): Likewise. + (init_stream_object): Use the new type, and also initialize + 'func_ioctl'. + (es_create): Use the new type. + (_gpgrt_fopen): Adapt. + (_gpgrt_mopen): Likewise. + (_gpgrt_fopenmem): Likewise. + (_gpgrt_fopencookie): Likewise. + (_gpgrt_fdopen): Likewise. + (_gpgrt_fpopen): Likewise. + (do_w32open): Likewise. + * src/gpgrt-int.h (struct cookie_io_functions_s): New type. + + estream: Rework modestring handling. + + commit 135319b5d1f9a88187687646c762759cfa05a7ec + * src/estream.c (X_SAMETHREAD, X_SYSOPEN): New macros. + (parse_mode): Rework how information flows from here to 'es_create'. + Instead of using an integer flag per mode, use flags. + (init_stream_obj): Adapt accordingly. + (es_create): Likewise. + (_gpgrt_fopen): Likewise. + (_gpgrt_mopen): Likewise. + (_gpgrt_fopenmem): Likewise. + (_gpgrt_fopencookie): Likewise. + (_gpgrt_fdopen): Likewise. + (_gpgrt_fpopen): Likewise. + (do_w32open): Likewise. + (_gpgrt_freopen): Likewise. + +2016-11-12 Werner Koch + + Add new interface gpgrt_get_syscall_clamp. + + commit b7972767513c8748096ebed78d1e1621bd2bd459 + * src/visibility.c (gpgrt_get_syscall_clamp): New. + * src/gpg-error.vers, src/gpg-error.def.in: Add function. + * src/gpg-error.h.in: Ditto. + * src/estream.c (_gpgrt_get_syscall_clamp): New. + +2016-11-11 Werner Koch + + Use the syscall clamp functions also for lock functions. + + commit 25d463c67821901c8fd6736c815f11e85bbae66f + * src/posix-lock.c (pre_lock_func, post_lock_func): New. + (_gpgrt_lock_set_lock_clamp): New. + (_gpgrt_lock_lock): Use clamp functions. + * src/w32-lock.c (pre_lock_func, post_lock_func): New. + (_gpgrt_lock_set_lock_clamp): New. + (_gpgrt_lock_lock): Use clamp functions. + * src/posix-lock.c (pre_syscall_func, post_syscall_func): New. + (_gpgrt_thread_set_syscall_clamp): New. + (_gpgrt_yield): Use clamp functions. + * src/w32-lock.c (pre_syscall_func, post_syscall_func): New. + (_gpgrt_thread_set_syscall_clamp): New. + (_gpgrt_yield): Use clamp functions. + * src/estream.c: Include lock.h and thread.h. + (do_deinit): Call _gpgrt_lock_set_lock_clamp. + (_gpgrt_set_syscall_clamp): Ditto. + +2016-11-11 Andre Heinecke + + w32: Fix lock c++ narrowing conversion warning. + + commit b1ccab5bf8e1206aae1307ad5d23890be4251c8f + * src/syscfg/lock-obj-pub.mingw32.h (gpgrt_lock_t): Declare priv as + unsigned char. + +2016-11-10 Werner Koch + + Change description of GPG_ERR_OPEN_KEYRING. + + commit bae57a21cfab25ad11c82dc6e69d82d1f2f7a415 + + +2016-11-10 Justus Winter + + gpgscm: Recover cells from the list of recently allocated cells. + + commit 1659878b827d0a4e041921e0c3a3555d39a742df + * tests/gpgscm/scheme.c (ok_to_freely_gc): Recover cells. + + gpgscm: Recover cells used to maintain interpreter state. + + commit 85388f1ef82bd0a92e94a463acfa157e6f9356f8 + * tests/gpgscm/scheme.c (free_cell): New function. + (free_cons): Likewise. + (_s_return): Use the new function to recover cells used to save the + state of the interpreter in 's_save'. This reduces the need to do a + garbage collection considerably. + + gpgscm: Reduce opcode dispatch overhead. + + commit f65fb16724712b3d6072f27b47e2658f27398dd4 + * tests/gpgscm/scheme.c (s_thread_to): New macro. + (CASE): Likewise. + (opexe_[0-6]): Use 'CASE' instead of 'case' statements, replace + 's_goto' with 's_thread_to' where applicable. + + gpgscm: Make the compile-hook configurable. + + commit a678b9fdf7d48409a32afab5b487322a7fc11e16 + * tests/gpgscm/scheme-private.h (struct scheme): Make field + 'COMPILE_HOOK' optional. + * tests/gpgscm/scheme.c (opexe_0): Fix guard. + (scheme_init_custom_alloc): Conditionally initialize 'COMPILE_HOOK'. + * tests/gpgscm/scheme.h (USE_COMPILE_HOOK): Define to 1 by default. + + gpgscm: Drop obsolete commented-out code. + + commit f69a754515f43037da8ac8535967cd825b220be4 + * tests/gpgscm/scheme.c (opexe_5): Drop obsolete code. + + gpgscm: Remove dubious stack implementation. + + commit a6ce303f0c69542999c607309128afd6293e2e1b + * tests/gpgscm/scheme-private.h (struct scheme): Remove related fields. + * tests/gpgscm/scheme.c: Drop all !USE_SCHEME_STACK code. + * tests/gpgscm/scheme.h (USE_SCHEME_STACK): Remove macro. + +2016-11-08 Justus Winter + + gpgscm: Expose seek and associated constants. + + commit 13831e9cd6839e44a8e32c640589edb8bf17ef51 + * tests/gpgscm/ffi.c (do_seek): New function. + (ffi_init): Expose 'seek' and 'SEEK_{SET,CUR,END}'. + * tests/gpgscm/lib.scm: Document the new function. + + gpgscm: Fix error message. + + commit d5458258299889af97e714c15e6a9b859e1a0545 + * tests/gpgscm/ffi.c (do_wait_processes): Fix and improve error + messages. + +2016-11-07 Justus Winter + + gpgscm: Generalize splice to write to multiple sinks. + + commit 1edacbc5a4a0f4dee3ab82c1fda7c7b1c5874761 + * tests/gpgscm/ffi.c (ordinal_suffix): New function. + (do_splice): Generalize splice to write to multiple sinks. + * tests/gpgscm/lib.scm (splice): Document this fact. + + gpgscm: Drop 'len' argument from splice. + + commit 598aeda60bc3e6d49d935927b5ec33145f7af9db + * tests/gpgscm/ffi.c (do_splice): Drop 'len' argument, no-one uses it. + * tests/gpgscm/lib.scm (splice): Document foreign function. + + tests: Move environment creation and teardown into each test. + + commit 1564fc3b2ff52e7e5ad9b01a24e1f399934775b8 + * tests/gpgscm/tests.scm (log): New function. + * tests/openpgp/run-tests.scm (run-tests-parallel): Do not run the + startup and teardown scripts. + (run-tests-sequential): Likewise. + * tests/openpgp/setup.scm: Move all functions... + * tests/openpgp/defs.scm: ... here and make them less verbose. + (setup-environment): New function. + (setup-legacy-environment): Likewise. + (start-agent): Make less verbose, run 'stop-agent' at interpreter + exit. + (stop-agent): Make less verbose. + * tests/openpgp/finish.scm: Drop file. + * tests/openpgp/Makefile.am (EXTRA_DIST): Drop removed file. + * tests/openpgp/4gb-packet.scm: Use 'setup-environment' or + 'setup-legacy-environment' as appropriate. + * tests/openpgp/armdetach.scm: Likewise. + * tests/openpgp/armdetachm.scm: Likewise. + * tests/openpgp/armencrypt.scm: Likewise. + * tests/openpgp/armencryptp.scm: Likewise. + * tests/openpgp/armor.scm: Likewise. + * tests/openpgp/armsignencrypt.scm: Likewise. + * tests/openpgp/armsigs.scm: Likewise. + * tests/openpgp/clearsig.scm: Likewise. + * tests/openpgp/conventional-mdc.scm: Likewise. + * tests/openpgp/conventional.scm: Likewise. + * tests/openpgp/decrypt-dsa.scm: Likewise. + * tests/openpgp/decrypt.scm: Likewise. + * tests/openpgp/default-key.scm: Likewise. + * tests/openpgp/detach.scm: Likewise. + * tests/openpgp/detachm.scm: Likewise. + * tests/openpgp/ecc.scm: Likewise. + * tests/openpgp/encrypt-dsa.scm: Likewise. + * tests/openpgp/encrypt.scm: Likewise. + * tests/openpgp/encryptp.scm: Likewise. + * tests/openpgp/export.scm: Likewise. + * tests/openpgp/finish.scm: Likewise. + * tests/openpgp/genkey1024.scm: Likewise. + * tests/openpgp/gpgtar.scm: Likewise. + * tests/openpgp/gpgv-forged-keyring.scm: Likewise. + * tests/openpgp/import.scm: Likewise. + * tests/openpgp/issue2015.scm: Likewise. + * tests/openpgp/issue2417.scm: Likewise. + * tests/openpgp/issue2419.scm: Likewise. + * tests/openpgp/key-selection.scm: Likewise. + * tests/openpgp/mds.scm: Likewise. + * tests/openpgp/multisig.scm: Likewise. + * tests/openpgp/quick-key-manipulation.scm: Likewise. + * tests/openpgp/seat.scm: Likewise. + * tests/openpgp/shell.scm: Likewise. + * tests/openpgp/signencrypt-dsa.scm: Likewise. + * tests/openpgp/signencrypt.scm: Likewise. + * tests/openpgp/sigs-dsa.scm: Likewise. + * tests/openpgp/sigs.scm: Likewise. + * tests/openpgp/ssh.scm: Likewise. + * tests/openpgp/tofu.scm: Likewise. + * tests/openpgp/use-exact-key.scm: Likewise. + * tests/openpgp/verify.scm: Likewise. + * tests/openpgp/version.scm: Likewise. + * tests/openpgp/issue2346.scm: Likewise and simplify. + + gpgscm,w32: Provide schemish file handling for binary files. + + commit fa82512020f8cd91c68bbf1d24a4f6bffe5385ba + * tests/gpgscm/lib.scm (call-with-binary-input-file): New function. + (call-with-binary-output-file): Likewise. + + gpgscm: Add support for pseudo-random numbers. + + commit 70c5f30074ec996f60f62cd09e67167da78c6d8a + * tests/gpgscm/ffi.c (do_getpid): New function. + (do_srandom): Likewise. + (random_scaled): Likewise. + (do_random): Likewise. + (do_make_random_string): Likewise. + (ffi_init): Expose the new functions. + * tests/gpgscm/lib.scm: Document the new functions. + +2016-11-04 Justus Winter + + gpgscm: Fix printing strings containing zero bytes. + + commit fa221a1d5272eb231393a2cc0173635a5098bb89 + * tests/gpgscm/scheme.c (atom2str): Fix computing the length of Scheme + strings. Scheme strings can contain zero bytes. + + gpgscm: Implement 'atexit'. + + commit 97024a0cd0e1f5262ee60bf40a91f169bcc45a23 + * tests/gpgscm/ffi.scm (throw): Run *run-atexit-handlers* when + terminating the interpreter. + (*atexit-handlers*): New variable. + (*run-atexit-handlers*): New function. + (atexit): Likewise. + * tests/gpgscm/main.c (main): Run *run-atexit-handlers* at normal + interpreter shutdown. + +2016-11-03 Justus Winter + + gpgscm,tests: Add new functions to the test environment. + + commit e4a694eb48a098c3a3983767099dcce4e9157d16 + * tests/gpgscm/lib.scm (first, last, powerset): New functions. + * tests/gpgscm/tests.scm (interactive-shell): New function. + * tests/openpgp/Makefile.am (EXTRA_DIST): Add new file. + * tests/openpgp/README: Document 'interactive-shell'. + * tests/openpgp/shell.scm: New file. + +2016-11-02 Justus Winter + + gpgscm: Fix inclusion of readline header. + + commit 0ccc6f5ffccec23587d06e32da88fb0acd80f2c6 + * tests/gpgscm/ffi.c: Define magic macro to prevent the completion + function from redefined. + +2016-11-02 Werner Koch + + Add error codes GPG_ERR_TOO_YOUNG and GPG_ERR_TOO_OLD. + + commit 49e32eed4550869644d706352d683ddba5696d4e + + +2016-10-20 Justus Winter + + common,w32: Fix setting environment variables on Windows. + + commit e7ba35f207cb06f6d0e085ab3faf68d118606655 + * common/sysutils.c (gnupg_setenv): Also update the environment block + maintained by the C runtime. + (gnupg_unsetenv): Likewise. + * tests/gpgscm/ffi.c (do_setenv): Fix error handling. + +2016-10-18 Justus Winter + + estream: Fix modestring parsing. + + commit 0734f4863859257d18ca96f4b9be62be75fcffe1 + * src/estream.c (parse_mode): Fix parsing the 'sysopen' flag. + +2016-10-17 Justus Winter + + gpgscm: Initialize nesting stack. + + commit 7a262df038f495d27e2d8ec806ea0d47c925c88b + * tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize nesting + stack. + +2016-10-07 Justus Winter + + tests: Improve handling of Windows newlines. + + commit e8db2ea9542eef0bc7b51c9f69109a056269c048 + * tests/gpgscm/lib.scm (string-split-newlines): New function. + * tests/openpgp/default-key.scm: Use new function. + * tests/openpgp/defs.scm: Likewise. + * tests/openpgp/export.scm: Likewise. + * tests/openpgp/import.scm: Likewise. + + gpgscm: Improve test of low-level functions. + + commit 2e47dcf432bc26cbaa1a6ba6716ab74facd06353 + * tests/gpgscm/t-child.c: Print large amounts of data. + * tests/gpgscm/t-child.scm: Test that this works. + + gpgscm: Improve path handling. + + commit ff00a2d792091f35380c9541ee88fbd9c0d76c43 + * tests/gpgscm/ffi.c (ffi_init): New Scheme variable '*win32*'. + * tests/gpgscm/tests.scm (canonical-path): Correctly handle paths with + drive letter on Windows. Use 'path-join'. + (path-expand): Use 'path-join'. + +2016-10-07 Werner Koch + + Add error code USER_ID_EXISTS, NAME_EXISTS, and DUP_NAME. + + commit 0c837a82207d0b19f9dabc8870ffb23d6a4ade64 + + +2016-10-06 Justus Winter + + gpgscm: Update callsite of 'gnupg_spawn_process'. + + commit bbd3be18ca9feac21963cc7d682f5a7d89fd9aba + * tests/gpgscm/ffi.c (do_spawn_process): Adapt to the changes to + 'gnupg_spawn_process'. + +2016-10-04 Justus Winter + + tests,w32: Do not expose 'glob' to gpgscm. + + commit 7359d7acb687d572dd0a4e40fd979566efbf4e21 + * tests/gpgscm/ffi.c (do_glob): Remove function. + (ffi_init): Likewise. + +2016-09-19 Justus Winter + + tests: Refine the repl function. + + commit a3b6b7643d906264b56d6fa041bcb95e96eb1898 + * tests/gpgscm/repl.scm (repl): Add an argument 'environment'. + (interactive-repl): Add an optional argument 'environment'. + + tests: Implement interpreter shutdown using exceptions. + + commit ea399aaaf4c9de92d24ab59cdc3586608bf35698 + * tests/gpgscm/ffi.c (ffi_init): Rename 'exit' to '_exit'. + * tests/gpgscm/ffi.scm (*interpreter-exit*): New variable. + (throw): New function. + (exit): New function. + + tests: Correctly handle exceptions in resource handling macros. + + commit ec34346129c77a7011872812567689aa09d99caa + * tests/gpgscm/tests.scm (letfd): Correctly release resources when an + exception is thrown. + (with-working-directory): Likewise. + (with-temporary-working-directory): Likewise. + (lettmp): Likewise. + + tests: Refine exception handling. + + commit 3fd08ed018f837399564896462f64af8ae389eec + * tests/gpgscm/init.scm (catch): Bind all arguments to '*error*' in + the error handler, update and fix comment. + (*error-hook*): Revert to original definition. + * tests/gpgscm/tests.scm (tr:do): Adapt accordingly. + * tests/openpgp/issue2419.scm: Likewise. + + tests: Use descriptive temporary file names. + + commit 86f421b7de364138d2d066b267b0f08a62c42a42 + * tests/gpgscm/ffi.c (do_get_isotime): New function. + (ffi_init): Add parameter 'scriptname', bind new function and + scriptname. + * tests/gpgscm/ffi.h (ffi_init): Update prototype. + * tests/gpgscm/main.c (main): Hand in the script name. + * tests/gpgscm/tests.scm (mkdtemp): Use current time and script name + for the names of temporary directories. + +2016-09-19 Werner Koch + + gpgscm: Fix gcrypt version check. + + commit a3cdf6ba9987ec2f4b951c3b2519f6beea147126 + * tests/gpgscm/main.c (main): Check against required and not installed + version. + +2016-09-17 Daniel Kahn Gillmor + + Fix more spelling. + + commit 42b61e8469179292814fea267ecd7d911396b965 + * NEWS, acinclude.m4, agent/command-ssh.c, agent/command.c, + agent/gpg-agent.c, agent/keyformat.txt, agent/protect-tool.c, + common/asshelp.c, common/b64enc.c, common/recsel.c, doc/DETAILS, + doc/HACKING, doc/Notes, doc/TRANSLATE, doc/dirmngr.texi, + doc/faq.org, doc/gpg-agent.texi, doc/gpg.texi, doc/gpgsm.texi, + doc/instguide.texi, g10/armor.c, g10/gpg.c, g10/keyedit.c, + g10/mainproc.c, g10/pkclist.c, g10/tofu.c, g13/sh-cmd.c, + g13/sh-dmcrypt.c, kbx/keybox-init.c, m4/pkg.m4, sm/call-dirmngr.c, + sm/gpgsm.c, tests/Makefile.am, tests/gpgscm/Manual.txt, + tests/gpgscm/scheme.c, tests/openpgp/gpgv-forged-keyring.scm, + tests/openpgp/multisig.test, tests/openpgp/verify.scm, + tests/pkits/README, tools/applygnupgdefaults, + tools/gpg-connect-agent.c, tools/mime-maker.c, tools/mime-parser.c: + minor spelling cleanup. + +2016-09-15 NIIBE Yutaka + + tests/gpgscm: Fix use of pointer. + + commit 95f7320a37d3870330a2b1f3493025b4820fa767 + * tests/gpgscm/scheme-private.h (struct scheme): Use (void *) for + alloc_seg. + * tests/gpgscm/scheme.c (alloc_cellseg): Use (void *) for cp. Use + (void *) for coercion of address calculation. + +2016-09-06 Justus Winter + + gpgscm: Fix detection of unbalanced parenthesis. + + commit 36405b2d208e5ec4c2c289d99ba4e7e1a29b8321 + * tests/gpgscm/main.c (load): Print error message. + * tests/gpgscm/scheme.c (opexe_0): Correctly report nesting level when + loading files. + +2016-09-01 Werner Koch + + Check the size of the time_t. + + commit bf7eb978597ba07906f0a7490e626c071af1987f + * configure.ac (AC_HEADER_TIME): New. + (AC_CHECK_SIZEOF): Check size of time_t. + + Add error WINDOW_TOO_SMALL, WINDOW_TOO_LARGE, and MISSING_ENVVAR. + + commit bc3e817bd7e671975f94bae20cbbf9a91fe3353b + + +2016-08-16 Werner Koch + + New error code GPG_ERR_ENGINE_TOO_OLD. + + commit b2640cb1f7b3b056ea4f8fe4b79d58fcd10ef93b + + +2016-08-12 Daniel Kahn Gillmor + + Call log_set_prefix() with human-readable labels. + + commit b912b371ffc56b0e657d58e2a891f6bb1affab4b + * agent/preset-passphrase.c, agent/protect-tool.c, dirmngr/dirmngr.c + * dirmngr/t-http.c, g10/gpg.c, g10/gpgv.c, g13/g13-syshelp.c + * g13/g13.c, kbx/kbxutil.c, scd/scdaemon.c, sm/gpgsm.c + * tests/gpgscm/main.c, tools/gpg-check-pattern.c + * tools/gpg-connect-agent.c, tools/gpgconf.c, tools/gpgtar.c + * tools/symcryptrun.c: Invoke log_set_prefix() with + human-readable labels. + +2016-08-10 Justus Winter + + tests: Improve temporary directory handling. + + commit 0b5146376ba4e6ef129ed4a0641591bafa5902f9 + * tests/gpgscm/ffi.c (ffi_init): Rename 'mkdtemp'. + * tests/gpgscm/tests.scm (mkdtemp): New function that uses a sensible + location and template if no arguments are given. + (with-temporary-working-directory): Simplify accordingly. + (make-temporary-file): Likewise. + * tests/openpgp/run-tests.scm (run-tests-parallel-isolated): Likewise. + (run-tests-sequential-isolated): Likewise. + + gpgscm: Make the name of foreign functions more unique. + + commit c609b6e6b08719b86a64fb186f6eee03d0b01b16 + * tests/gpgscm/ffi-private.h (ffi_define_function_name): Add another + underscore. + +2016-07-26 Justus Winter + + gpgscm: Do not shadow common function name in catch macro. + + commit d764c08a9215ab1c90a97fb019aa99ccf3721e02 + * tests/gpgscm/init.scm (catch): Do not shadow 'exit'. + + gpgscm: Make the verbose setting more useful. + + commit bd958b94ea3cdafa2457fdf0dcf436458fa755f6 + * tests/gpgscm/ffi.c (do_get_verbose): New function. + (do_set_verbose): Likewise. + (ffi_init): Turn *verbose* into a function, add *set-verbose!*. + * tests/gpgscm/tests.scm (call): Adapt accordingly. + (call-with-io): Dump output if *verbose* is high. + (pipe-do): Adapt accordingly. + * tests/openpgp/defs.scm: Set verbosity according to environment. + * tests/openpgp/run-tests.scm (test): Adapt accordingly. + +2016-07-22 Justus Winter + + gpgscm: Make function more general. + + commit 593c5ac8553922a7cf8055c6f3d4d3ea6d0f8cb6 + * tests/gpgscm/tests.scm (in-srcdir): Accept more path fragments. + +2016-07-21 Justus Winter + + gpgscm: Make assert macro more accurate. + + commit 4f5e0f510d72935ed6bc37f38261efd0ca45e04b + * tests/gpgscm/lib.scm (assert): Print the representation of the + failed expression. + + gpgscm: Make error message more useful. + + commit bc5199d51c45e11c5d9cba828b31ced9381bd27c + * tests/gpgscm/scheme.c (opexe_0): Include names of missing function + parameters in the error message. + +2016-07-19 Justus Winter + + tests: Add test for ssh support. + + commit 5851aec15309e9137603bf0e564fd5028ff742c1 + * tests/gpgscm/tests.scm (path-expand): New function. + * tests/openpgp/Makefile.am (TESTS): Add new test. + (sample_keys): Add new keys. + (CLEANFILES): Clean ssh socket and control file. + * tests/openpgp/fake-pinentry.c (main): Add a default passphrase. + * tests/openpgp/gpg-agent.conf.tmpl: Enable ssh support. + * tests/openpgp/samplekeys/ssh-dsa.key: New file. + * tests/openpgp/samplekeys/ssh-ecdsa.key: Likewise. + * tests/openpgp/samplekeys/ssh-ed25519.key: Likewise. + * tests/openpgp/samplekeys/ssh-rsa.key: Likewise. + * tests/openpgp/ssh.scm: Likewise. + +2016-07-15 Justus Winter + + gpgscm: Fix linking. + + commit 4932ef5277957153f4d066f17feb47a4db2b923b + * tests/gpgscm/Makefile.am: Add -lintl. + +2016-07-14 Werner Koch + + gpgscm: Use kludge to avoid improper use of ffi_schemify_name. + + commit 95c04eca273fe9bacbbd9666fd6806e0748792ed + * tests/gpgscm/ffi.c (ffi_schemify_name): Use xstrdup instead of + strdup for now. + + Release 1.24. + + commit bb1269c85bb41dbb6391756a65e8bc357d82d6b6 + + +2016-07-13 Werner Koch + + build: Update config.{guess,sub} to {2016-05-15,2016-06-20}. + + commit 387eeb5d5b57e4390c4eaf101bb5cf9cf3cbd4ba + * build-aux/config.guess: Update. + * build-aux/config.sub: Update. + +2016-07-12 Yann E. MORIN + + Add an option to disable tests. + + commit d57a16c3779eca84dedcf2423b26e41172cd5a96 + * configure.ac: add an option to enable/disable building tests + * Makefile.am: conditionally build tests + + Fix build without threads. + + commit abcdfa7964da62b92984516608faf8941038b71d + * src/gen-posix-lock-obj.c: properly guard inclusioin of pthread.h + * tests/t-lock.c: likewise + * tests/t-poll.c: likewise + +2016-07-07 Justus Winter + + gpgscm: Capture output of spawned processes. + + commit 912977e668d59baf39464fab7e93b9a617f9706f + * tests/gpgscm/tests.scm (call-check): Capture stdout and stderr, and + return stdout if the child exited successfully, or include stderr in + the error. + * tests/openpgp/version.scm: Demonstrate this by checking the stdout. + +2016-07-05 Justus Winter + + tests: Honor environment variable 'TMP'. + + commit 228b225c412573d73901e3e79b7cab64a05bb26e + This fixes problems with long socket names, e.g. when doing distcheck. + + * tests/gpgscm/tests.scm (path-join): New function. + (with-temporary-working-directory): Honor 'TMP'. + (make-temporary-file): Likewise. + * tests/migrations/Makefile.am (TMP): Default to '/tmp'. + (TESTS_ENVIRONMENT): Set 'TMP'. + * tests/openpgp/Makefile.am (TMP): Default to '/tmp'. + (TESTS_ENVIRONMENT): Set 'TMP'. + + gpgscm: Improve robustness and compatibility. + + commit 1406aa0fdf349b370cc2a5b87ada557455203dd2 + * tests/gpgscm/ffi.c (do_getenv): Avoid gccism. + (do_mkdtemp): Handle errors. + +2016-07-05 Andre Heinecke + + Define EWOULDBLOCK in case it is not defined. + + commit 65e967627b3d60f550c7d302227dcf9f797e437f + * src/estream.c (EWOULDBLOCK): Define fallback. + +2016-07-02 Werner Koch + + yat2m: Fix table formatting. + + commit 1a53a0ac4cc241a5c6d360d6259dd04afc09264c + * doc/yat2m.c (proc_texi_cmd): Use .TQ for @itemx. Print a .P at the + end of a level 0 table. + +2016-06-30 Justus Winter + + gpgscm: Fix reallocating string ports. + + commit 27d423b785afa3458e102fa3d7c1220ec50a47fe + * tests/gpgscm/scheme.c (realloc_port_string): Use memcpy because + Scheme strings may contain 0s. + + gpgscm: Free memory backing string ports. + + commit f103dd1d9dd69eb0a32cf2d91e3a595082f3f41c + * tests/gpgscm/scheme.c (finalize_cell): Free memory backing string + ports. + + gpgscm: Use the allocator from libgcrypt. + + commit 9af66b27499646f6386ab902e75056b961192f50 + * tests/gpgscm/main.c (main): Use the allocator from libgcrypt. + +2016-06-28 Justus Winter + + gpgscm: Fix memory leaks. + + commit b4e31c551b9205684e812e941bd974cc594cf97f + * tests/gpgscm/ffi-private.h (ffi_schemify_name): Fix prototype. + (ffi_define_function_name): Free schemified name. + (ffi_define_function): Likewise. + (ffi_define_constant): Likewise. + (ffi_define_variable_pointer): Likewise. + * tests/gpgscm/ffi.c (do_wait_processes): Free arrays. + (ffi_schemify_name): Fix type. + * tests/gpgscm/main.c (main): Free 'sc'. + + gpgscm: Free file names. + + commit 9368fd55602a1d36f6bf6bc3797a4f2d7a782ded + * tests/gpgscm/scheme.c (scheme_load_named_file): Free file name. + + gpgscm: Fix buffer overflow. + + commit 73b24ed0cb0ba3271e887d1044a497e53ca90b62 + * tests/gpgscm/scheme.c (store_string): Avoid writing past allocated + buffer. + +2016-06-27 Werner Koch + + estream: Fix bug es_fclose_snatch if a seek has been used. + + commit 467ccbb6062439eda9dce7cd991934d1a5491713 + * src/estream.c (func_mem_ioctl): Set LEN from DATA_LEN. + +2016-06-25 Werner Koch + + w32: Silence compiler warnings about redefined macros. + + commit 7213299fdb2293b974fc436686626ae0a29290b8 + * src/estream.c (S_IRGRP) [W32]: Protect against redefinition. + + doc: Update yat2m.c. + + commit 9b5e3d1608922f4aaf9958e022431849d5a58501 + * doc/yat2m.c: Update from gnupg. + +2016-06-24 Werner Koch + + estream: Remove two compiler warning. + + commit 0982a72ecc8e7738ec968b3a6710bdacb0f2da4e + * src/estream.c (func_file_create): Remove dead assignment. + (doreadline): Do not decrement SPACE_LEFT before breaking the loop. + Add an extra block to limit the scope of that variable. + +2016-06-23 Justus Winter + + gpgscm: Handle exceptions in the transformation monad. + + commit 7b6728b7ecf7b0646db2de35625aba3b0cd0bf02 + * tests/gpgscm/tests.scm (pipe:do): Raise errors. + (tr:spawn): Catch and return errors. + (tr:call-with-content): Likewise. + (tr:{open,write-to,pipe-do,assert-identity,assert-weak-identity}): + Adapt. + + gpgscm: Add types for special objects. + + commit 24df932e5fdda891760b34b7e5fccd5aba62fde8 + * tests/gpgscm/scheme.c (enum scheme_types): Add types for boolean, + nil, eof, and the sink object. + (type_to_string): Handle new types. + (scheme_init_custom_alloc): Give special objects a type. + + gpgscm: Fix Scheme initialization. + + commit 64ab51521f1a5fabee292554d7403113898f1b28 + This potentially causes a crash if the garbage collector marks an eof + object. + + * tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize + 'EOF_OBJ'. + +2016-06-21 Justus Winter + + gpgscm: Add more file handling functions. + + commit 5fee932e0ad2b2f5e876a70bdeef77c38e248a2e + * tests/gpgscm/ffi.c (do_glob): New function. + (ffi_init): Define new function. + * tests/gpgscm/tests.scm (basename-suffix): New function.x + + gpgscm: Improve test framework. + + commit d7df61081ec228db17e2bfe2e05820da8cc2d264 + * tests/gpgscm/lib.scm (echo): Move... + * tests/gpgscm/tests.scm (echo): ... here. + (info, error, skip): And use echo here. + (file-exists?): New function. + (tr:spawn): Check that source exists and if the sink has been created. + (tr:call-with-content): Hand in optional arguments. + + gpgscm: Use native string searching functions. + + commit f4a23bc0fae621ac4b0978de4ea8f976ec6b650f + * tests/gpgscm/ffi-private.h: Handle character arguments. + * tests/gpgscm/ffi.c (do_string_index): New function. + (do_string_rindex): Likewise. + (do_string_contains): Likewise. + (ffi_init): Define new functions. + * tests/gpgscm/ffi.scm (ffi-define): New macro. + * tests/gpgscm/lib.scm (string-index): Use native function, + demonstrate behavior. + (string-rindex): Likewise. + (string-contains?): Likewise. + Demonstrate behavior of various other functions. + (read-all): Rework so that it can handle large files. + + gpgscm: Improve error reporting. + + commit 2bc2f95ac823f0a6449bd68dee4fc094db52f2e5 + * tests/gpgscm/scheme.c (type_to_string): New function. + (Eval_Cycle): Include actual type in error message. + + gpgscm: Make memory allocation failures fatal. + + commit 224c171c856c662d22ba236eaa2128323bde1d08 + * tests/gpgscm/scheme.c (Eval_Cycle): Exit if we run out of memory. + +2016-06-17 Werner Koch + + tests: Make make distcheck work again. + + commit cdd09e054a6bc4716c7847fd0779a091cbca0e8f + * Makefile.am (tests): Remove test code which would led to doubling + calls to for e.g. "make distclean". + * tests/Makefile.am: Typo fixes. + * tests/gpgscm/Makefile.am (EXTRA_DIST): Fix name of License file. + Add repl.scm. + (check): Replace by check-local because check is a standard automake + target. + * tests/openpgp/Makefile.am (TESTS_ENVIRONMENT): Replace gmake0sim by + automake generated macro. + (EXTRA_DIST): Add defs.scm + + gpgscm: Silence compiler warnings. + + commit d230bf3ee80cac2fe721afccab9e98b3a9be2e9a + * tests/gpgscm/scheme.c (mk_integer): Rename arg NUM to N. + (fill_vector): Ditto. + (mark): Rename var NUM to N. + (set_slot_in_env): Mark SC as unused. + (is_any): Mark P as unused. + + Add license notices for TinySCHEME. + + commit 8b1798f10c2641f79f4d770e88712be8b13dc22f + * tests/gpgscm/COPYING: Rename to ... + * tests/gpgscm/LICENSE.TinySCHEME: this. + * AUTHORS: Add a note about TinySCHEME. + * build-aux/speedo/w32/pkg-copyright.txt: Add TinySCHEME notice. + +2016-06-17 Justus Winter + + tests/gpgscm: Add a TinySCHEME-based test driver. + + commit 5b417d262de048ef221ed77b2f9d2c1a843096bb + * configure.ac: Add new component. + * tests/Makefile.am: Likewise. + * tests/gpgscm/Makefile.am: New file. + * tests/gpgscm/ffi-private.h: Likewise. + * tests/gpgscm/ffi.c: Likewise. + * tests/gpgscm/ffi.h: Likewise. + * tests/gpgscm/ffi.scm: Likewise. + * tests/gpgscm/lib.scm: Likewise. + * tests/gpgscm/main.c: Likewise. + * tests/gpgscm/private.h: Likewise. + * tests/gpgscm/repl.scm: Likewise. + * tests/gpgscm/scheme-config.h: Likewise. + * tests/gpgscm/t-child.c: Likewise. + * tests/gpgscm/t-child.scm: Likewise. + * tests/gpgscm/tests.scm: Likewise. + + tests/gpgscm: Foreign objects support for TinySCHEME. + + commit 9fecd60c32aca6b32008310237d0ed524eede3d5 + * tests/gpgscm/scheme-private.h (struct cell): Add 'foreign_object'. + (is_foreign_object): New prototype. + (get_foreign_object_{vtable,data}): Likewise. + * tests/gpgscm/scheme.c (enum scheme_types): New type. + (is_foreign_object): New function. + (get_foreign_object_{vtable,data}): Likewise. + (mk_foreign_object): Likewise. + (finalize_cell): Free foreign objects. + (atom2str): Pretty-print foreign objects. + (vtbl): Add new functions. + * tests/gpgscm/scheme.h (struct foreign_object_vtable): New type. + (mk_foreign_object): New prototype. + (struct scheme_interface): Add new functions. + + Patch from Thomas Munro, + https://sourceforge.net/p/tinyscheme/patches/13/ + + tests/gpgscm: Dynamically allocate string buffer. + + commit ef65b7bb2232343f72d03a0e0521de4ada3dc63b + * tests/gpgscm/scheme-config.h (strbuff{,_size}): Make buffer dynamic. + * tests/gpgscm/scheme.c (expand_strbuff): New function. + (putcharacter): Adapt length test. + (readstrexp): Expand buffer if necessary. + (scheme_init_custom_alloc): Initialize buffer. + (scheme_deinit): Free buffer. + + Patch from Thomas Munro, + https://sourceforge.net/p/tinyscheme/patches/11/ + + tests/gpgscm: Make exception value available. + + commit c0cf52627d8d68d23bcac60571455ffd1b052106 + * tests/gpgscm/init.scm (throw): Hand exception value to the handler. + (catch): And bind it to *error*. + + tests/gpgscm: Add package macro. + + commit f6c0f9a420c4401d8d358049f8814799161185fa + * tests/gpgscm/init.scm: Add package macro from manual. + + tests/gpgscm: Expose function to open streams as Scheme ports. + + commit 2717b9c172f0a25094ad2e654459dbe9d7180e38 + * tests/gpgscm/scheme.c (vtbl): Add 'port_from_file' to the vtable. + * tests/gpgscm/scheme.h (struct scheme_interface): New field + 'mk_port_from_file'. + + tests/gpgscm: Nicer error message. + + commit 0c601ae085e95745a950a9d75ffdc8be42b3e1b2 + * tests/gpgscm/scheme.c (opexe_0): Include the value that we tried to + evaluate as function-like in the error message. + + tests/gpgscm: Fix error hook. + + commit 16e4898a735e8f85c4ca6b44adf5a92b1a42d1af + * tests/gpgscm/init.scm (*error-hook*): Fix error hook so that the + whole error message is displayed. + + tests/gpgscm: Handle unhandled enumeration values. + + commit fe1c0866bc1b2c685136ea19521ffab2deb25ec3 + * tests/gpgscm/scheme.c (opexe_{3,4}): Handle unhandled enumeration + values in the opcode dispatching code. + + tests/gpgscm: Verbatim import of latest TinySCHEME. + + commit 864992fdf695996dbac9bb344b1fdd879f735473 + Revision 110 from svn://svn.code.sf.net/p/tinyscheme/code/trunk + + * tests/gpgscm/COPYING: New file. + * tests/gpgscm/Manual.txt: Likewise. + * tests/gpgscm/init.scm: Likewise. + * tests/gpgscm/opdefines.h: Likewise. + * tests/gpgscm/scheme-private.h: Likewise. + * tests/gpgscm/scheme.c: Likewise. + * tests/gpgscm/scheme.h: Likewise. + +2016-06-15 Werner Koch + + Release 1.23. + + commit e444cacc74c488063336c196f0c01e98f67cf999 + + + po: Update German translation. + + commit d878afa4b884149dca587131bdf5b6d8f96227fa + + +2016-06-15 Jakub Bogusz + + po: Update Polish translation. + + commit b908104846a71cf8ae3d3323be6bbc6edcef6ee0 + + +2016-06-15 Werner Koch + + tests: Fix rare deadlock condition in t-poll. + + commit 7ed150201cc5058650cf9673a4e53720a37841c8 + * tests/t-poll.c (launch_thread): Use es_fileno before starting the + thread. + +2016-06-15 NIIBE Yutaka + + estream: Fix assertion failure due to es_flush. + + commit 28fd0ab40739e8cb73f208e30f78d8aa7a0a6d19 + * src/estream.c (es_writen): Set writing flag even if no data was + written. + +2016-06-15 Werner Koch + + Adjust memory limit of es_fopenmem to the block size. + + commit baf4bcc0973c8b04bd760aaab0f4232c9354e203 + * src/estream.c (func_mem_create): Round up memory limit. + +2016-05-17 Werner Koch + + Add GPG_ERR_SUBKEYS_EXP_OR_REV. + + commit 1ee822f9ff73a9a302ad0eb298640797d735e62b + + +2016-05-07 Werner Koch + + syscfg: Add a powerpc and a tilgegx architecture. + + commit dfcd58fd3f58e548062b91bd6e20e27cbf4da18d + * src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h: New. + * src/syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h: New. + * src/Makefile.am (lock_obj_pub): Add them. + +2016-04-25 Werner Koch + + Release 1.22. + + commit 9a05076e90eef504cbc3ef614982f856b9b60540 + * configure.ac: Set LT version to C18/A18/R0. + + build: Update config.{guess,sub} to 2016-04-02 and 2016-03-30. + + commit 8ae3af15caaaaffaa9dbeab5fd767076891200bb + * build-aux/config.guess: Update. + * build-aux/config.sub: Update. + +2016-04-25 NIIBE Yutaka + + Fix for HPPA. + + commit f1104b92249005a31961d1a32c38ba65a0b3ff3a + * configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): Revert. + * src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Revert. + * src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Revert. + +2016-04-21 Werner Koch + + w32: Add iconv functions. + + commit 1cd1ddb4ac2c13223a073f6d77696bcd6253e2ff + * src/w32-add.h (gpgrt_w32_iconv_t): New. + (gpgrt_w32_iconv_open, gpgrt_w32_iconv_close, gpgrt_w32_iconv): New. + ( GPGRT_ENABLE_W32_ICONV_MACROS): New + * src/w32-iconv.c: Change license to LGPLv2.1+. Dispable mlang + feature. Remove external DLL loading. Simplify iconv functions. Use + cleaner context struct pattern. Use gpgrt namespace. + * src/gpg-error.def.in: Add new functions. + +2016-04-05 Werner Koch + + estream,w32: Temporary fix for gpgrt_poll. + + commit 4354720ab3631dfd2811d881566b10a72c8f2165 + * src/estream.c (_gpgrt_poll) [W32]: Do not use FD_ISSET. + +2016-03-29 Werner Koch + + estream: Prepare for new mode flag "sysopen". + + commit 5d1adaa5fd12f65f49abeb99e5ae7226ec27ba0e + * src/estream.c (parse_mode): Add arg "sysopen". Adjust all callers. + + estream: Use simpler names for static functions. + + commit de0618d5c64e02b9b3a568fc859d9edcb4ab35ba + * src/estream.c: Replace all es_func_* to just func_*. + + estream: Remove strange macro for better readability. + + commit 217a451d54186283f09af5b3c03933f214ddf1c0 + * src/estream.c (SET_UNLESS_NONZERO): Remove macro. + (es_deinitialize): Replace that macro by direct code. + +2016-03-24 Peter Wu + + Add function gpgrt_annotate_leaked_object. + + commit 52c3606b2384f33ef30ea5ada3f187829de9dcf7 + * src/gpg-error.h.in: add gpgrt_annotate_leaked_object to support + marking memory as non-leaked for Clang and GCC. + +2016-03-14 Kylie McClain + + syscfg: Add lock-obj-pub files for {armv5, armv6, x86_64}-musl targets. + + commit 140cfd51cee738a55caf9d347981f6f81e1990a4 + * src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: New. + * src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h New. + * src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h: New. + * src/Makefile.am (lock_obj_pub): Add files. + +2016-03-04 NIIBE Yutaka + + Fix detecting Solaris operating system. + + commit f7a77c5c236ecec846de9be46703026f9b01008f + * src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check for + the macro __sun. + + For Solaris, add -lrt correctly. + + commit f9fc565129293f47cbfe4da48fcd6099e9ce5508 + * configure.ac (LIB_SCHED_YIELD): Not avoiding defining LIB. + +2016-03-01 NIIBE Yutaka + + Fix for Solaris. + + commit 34b07146bbb0863436fc9381a84314b18bdfb807 + * src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check LP64. + +2016-02-26 NIIBE Yutaka + + po: Update Japanese translation. + + commit 49655fb6ef39b307787e1b6e00c996f9c7db64f7 + + + Add support for Solaris, fixing HPPA. + + commit 5168b97fb5e2eebdc99b40f96f9b6289647e87d2 + * configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): Remove. + (LIB_SCHED_YIELD): New. Check sched_yield in -lrt. + * src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Remove. + (USE_DOUBLE_FOR_ALIGNMENT, USE_LONG_DOUBLE_FOR_ALIGNMENT): New. + * src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Update. + +2016-02-08 Werner Koch + + build: Create an SWDB file during "make distcheck" + + commit 1e6c5a70b3b51f81d2fc1289129f6c3e1920ebcc + * Makefile.am (distcheck-hook): New. + +2016-01-19 Werner Koch + + Add GPG_ERR_DB_CORRUPTED. + + commit b3bb6e2cc31208a198e74b42ca495c08ebb00fc4 + + +2016-01-13 Marek Vasut + + Add new lock-obj-pub for NIOS2. + + commit 71370060aae7a83f4d6c3b9c924f204a57cc2538 + src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h: New. + +2015-12-14 NIIBE Yutaka + + po: Update Japanese translation. + + commit 1814a9bdc15f00bcf6b13ad16857a4f4922fa1d7 + + +2015-12-12 Werner Koch + + Release 1.21. + + commit 425b7687b4f74a22b0aa760262cb8f13ae40dc26 + * configure.ac: Set LT version to C17/A17/Ro. + +2015-12-07 Andre Heinecke + + Fix windows 8bit encoding conversion. + + commit 823e858cdf5eb6b9945a46478f9876819c16bcd3 + * src/w32-gettext.c (wchar_to_native): Convert to ConsoleOutputCP. + +2015-12-03 Justus Winter + + tests: Fix read past buffer. + + commit 68827cbba2083db40df92de1bc449a3d2d0e81ed + * tests/t-poll.c (test_poll): Fix read past buffer. + +2015-11-19 Justus Winter + + Avoid 'malloc' corner case. + + commit 06af687beaa1f8e72a05bd3a057b73fecb158c3d + * src/init.c (_gpgrt_realloc): Avoid calling 'malloc(0)'. + +2015-10-21 Werner Koch + + Add error codes NO_NAME, NO_KEY, and SERVER_FAILURE. + + commit a144fa8863846dc3f6d34731741cd63251620837 + + +2015-10-18 Werner Koch + + estream: Avoid calling write(fd,NULL,n). + + commit 75172adc3b103bd7ef75575a0c0c9c3b63fa4023 + * src/estream.c (es_func_fd_write): Take care of a flush requests. + (es_func_w32_write): Ditto. + (es_func_fp_write): Ditto. + +2015-09-28 Werner Koch + + estream: Keep track of EPIPE. + + commit c09997bc50f3fffaf76d60d2e571b1d85536571e + * src/estream.c (_gpgrt_stream_internal): Add indicators.hup. + (init_stream_obj): Init it. + (es_fill, es_flush, es_seek): Set that. + (_gpgrt_poll): Set event. + + Add GPG_ERR_FALSE and GPG_ERR_TRUE error codes. + + commit d3e9514ff82ff767fc78ce485aef71ba56f3c0d5 + + +2015-09-25 Werner Koch + + estream: Add gpgrt_set_nonblock and gpgrt_poll. + + commit 071c2170479869f4c6694ae85d2b113e84482a01 + * configure.ac (AC_CHECK_HEADERS): Add sys/select.h and sys/time.h. + * src/estream.c: Include both header if available. + (COOKIE_IOCTL_NONBLOCK): New. + (struct estream_cookie_fd): Add field nonblock. + (func_fd_create): Set nonblock from MODEFLAGS. + (es_func_fd_ioctl): New. + (parse_mode): Add modeflag "nonblock". + (es_fill): Map EWOULDBLOCK to EAGAIN. Do not set error indicator for + EAGAIN. + (es_flush, es_seek, es_write_nbf): Map EWOULDBLOCK to EAGAIN. + (do_fdopen): Call COOKIE_IOCTL_NONBLOCK. + (_gpgrt_set_nonblock): New. + (_gpgrt_get_nonblock): New. + (_gpgrt_poll): New. + + * src/gpg-error.h.in (struct _gpgrt_poll_s): New. + (gpgrt_poll_t, es_poll_t): New. + (es_set_nonblock, es_get_nonblock, es_poll): New. + + * src/gpg-error.vers, src/gpg-error.def.in: Add gpgrt_set_nonblock, + gpgrt_get_nonblock, and gpgrt_poll. + * src/visibility.c (gpgrt_set_nonblock, gpgrt_get_nonblock): New. + (gpgrt_poll): New. + + * tests/t-common.h (DIM): New. + * tests/t-poll.c: New. + * tests/Makefile.am (TESTS): Add t-poll. + (t_poll_LDADD): New. + +2015-09-24 Werner Koch + + estream: Replace indicator help functions to ease code reading. + + commit 61d832c53b7db5367a5542347e3454c882d0bf28 + * src/estream.c (es_set_indicators, es_get_indicator): Remove and + change callers to set/get indicators directly. + +2015-09-17 Daniel Kahn Gillmor + + Support i[456]86-pc{,-linux,-kfreebsd}-gnu.h. + + commit 9decdd7bd105ff6a0973cc1f6652e0eb0625d640 + * src/mkheader (canon_host_triplet): Add new entries. + * src/syscfg/lock-obj-pub.i486-pc-gnu.h: Rename to ... + * src/syscfg/lock-obj-pub.i686-pc-gnu.h: this. + * src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: Rename to ... + * src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h: this. + * src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: Remove. + * src/Makefile.am (lock_obj_pub): Update. + +2015-08-26 Werner Koch + + Release 1.20. + + commit 44caed05ec146654f1ce40bba4b25def83c369db + * configure.ac: Set LT version to C16/A16/R0. + + Add new version macros. + + commit 030ee30c4ae85f2f41ca77651e4a7d7c9993e284 + * src/gpg-error.h.in (GPGRT_VERSION): New. + (GPGRT_VERSION_NUMBER): New. + (GPG_ERROR_VERSION, GPG_ERROR_VERSION_NUMBER): Move to top of file. + + Add macro GPGRT_INLINE and avoid -Wundef warnings. + + commit 9cd3f002addf2acae4a7b0f52f8941e517e83d73 + * src/gpg-error.h.in (GPG_ERR_INLINE): Use #if defined for possible + undefined macros to avoid warnign with GCC's -Wundef option. + (GPGRT_INLINE): New. + +2015-08-26 Yuri Chornoivan + + Update Ukrainian translation. + + commit 17e4f727d9bd8e406bf977af445ef57201d23249 + + +2015-08-25 Werner Koch + + Make configure option --disable-build-timestamp the default. + + commit d328c4d72fa6d224117d7332082509c240a4f2fc + * configure.ac (BUILD_TIMESTAMP): Set to "" by default. + + w32: Make sure the setmode is called. + + commit 1e8d00260a97e0213559c74f687e478e7479a0ea + * src/estream.c (HAVE_DOSISH_SYSTEM): Define if needed. + +2015-07-27 Werner Koch + + Add option --lib-version to the gpg-error tool. + + commit d2e4bb4c77167a1ed10f1017a7d06a822bbd5135 + * src/gpg-error.c (main): Add new option. + +2015-07-24 Werner Koch + + Add new public macros for GCC attributes. + + commit 4e790613f66efcfc62d73722d5f1730a37cb8324 + * src/gpg-error.h.in (GPGRT_GCC_VERSION): New. + (GPGRT_ATTR_NORETURN, GPGRT_ATTR_PRINTF, GPGRT_ATTR_NR_PRINTF): New. + (GPGRT_ATTR_FORMAT_ARG, GPGRT_ATTR_SENTINEL): New. + (GPGRT_ATTR_USED, GPGRT_ATTR_UNUSED, GPGRT_ATTR_DEPRECATED): New. + (GPGRT_ATTR_PURE, GPGRT_ATTR_MALLOC): New. + (GPGRT_HAVE_MACRO_FUNCTION, GPGRT_HAVE_PRAGMA_GCC_PUSH): New. + (_GPGRT_GCC_A_PRINTF): Replace GPGRT_ATTR_PRINTF. + +2015-06-15 Werner Koch + + Allow building with --disable-threads. + + commit 13918d05a333255d22aa6718dd467fcb8eaf80c8 + * src/posix-lock-obj.h (LOCK_ABI_NOT_AVAILABLE): New. + (LOCK_ABI_VERSION): Define depending on USE_POSIX_THREADS. + (_gpgrt_lock_t) [!USE_POSIX_THREADS]: Do not define the union. + * src/gen-posix-lock-obj.c: Take care of USE_POSIX_THREADS. + * src/posix-lock.c (_gpgrt_lock_init, _gpgrt_lock_lock) + (_gpgrt_lock_trylock, _gpgrt_lock_unlock) + (_gpgrt_lock_destroy): Return success for a no-threads version. + * tests/t-lock.c: Disable tests if threads are not available. + * src/mkheader.c (main): Add NO-THREADS to the printed comment. + * configure.ac: Show NO-TRHEADS in the final summary. + +2015-04-14 NIIBE Yutaka + + po: Update Japanese translation. + + commit 4171d61a97d9628532db84b590a9c135f360fa90 + + +2015-04-10 Werner Koch + + Release 1.19. + + commit d77c33ae608d67086ea057cca5ddee99a7202f8b + + + po: Update German translation. + + commit e43045fe63aed0aba6522ebfd6e336b03f250069 + + + w32: Remove compiler warnings. + + commit eaec10f48803ee2232d1c1515fbe8f485c1e84b0 + * src/Makefile.am (pre_mkheader_cmds): Avoid make diagnostic about + failed but ignored command. This confuses Emacs' compiler job parser. + * tests/t-lock.c [W32]: Include time.h. + * src/init.c: Reorganize Windows only code. + (wchar_to_utf8, utf8_to_wchar): Remove unused functions. + (_gpg_err_set_errno): Use only one copy for all platforms. + +2015-03-24 Werner Koch + + Use assert to print diagnosicts before calling abort. + + commit 56feff58d4fab92701ae77a1004af820b85e7f6c + * src/posix-lock.c: Add assert calls. + +2015-03-24 Daniel Kahn Gillmor + + Avoid breakage with gcc 5. + + commit c01c8f0c4f55d76b037c7f6aa44ad25ede18d38a + * src/Makefile.am: Add -P to the C preprocessor when building + mkerrcodes.h, to avoid a noisy intermediate pipeline. + +2015-03-19 Werner Koch + + Add option --defines to gpg-error. + + commit 528ee704f8f9d881ba370dcbfa9194d6704f9a2f + * src/gpg-error.c (main): Add option --help and --defines. + + Add GPG_ERR_LDAP_* error codes. + + commit dc95f1ea1ab902b9f49de651084f514535e4a3fc + * src/err-codes.h.in: Add error codes. + * doc/ldap2gpgerr.c: New. + +2015-03-16 Werner Koch + + Remove useless conditions. + + commit b5cb32f979a80904ea58fc7531e43e2be2270573 + * src/estream.c (fname_set_internal): Remove useless condition. + * src/mkheader.c (main): Ditto. + +2015-03-06 Werner Koch + + Add host-triplet aliasing feature to mkheader. + + commit 4441e96801fdc4c900abae8c0aa0b53e2e26e079 + * src/Makefile.am (lock_obj_pub): Rename i586-pc-linux-gnu to + i686-pc-linux-gnu. Remove i486-pc-linux-gnu. + * src/mkheader.c (canon_host_triplet): New. + (main): Use it. + + w32: Add a manifest to libgpg-error. + + commit 0f814d4c4a285573eef2391c70e21cf8126cafcb + * src/gpg-error.w32-manifest.in: New. + * src/Makefile.am (EXTRA_DIST): Add it. + (versioninfo.lo): Depend on it. + * src/versioninfo.rc.in: Add it. + * configure.ac (AC_CONFIG_FILES): Add it. + (BUILD_VERSION): New. + +2015-02-18 Neal H. Walfield + + Correct URL. + + commit b400d7c65daaf44f227073ddde7d06986afde786 + + +2015-01-30 Werner Koch + + w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll. + + commit 8487ec25e1c8f73ca7dc31e5d648cb05eede0f14 + * src/Makefile.am (extra_ltoptions): New. + (libgpg_error_la_LDFLAGS): Use it. + +2015-01-26 Werner Koch + + Release 1.18. + + commit f79688532f100599b1e24dde1429a229524601c9 + * configure.ac: Set LT version to C14/A14/R0. + + po: Update German translation. + + commit 83c0bd462b45ddb75da8c2778ba1fb0c210b53ff + + +2015-01-22 Werner Koch + + Add GPG_ERR_LEGACY_KEY. + + commit 524d5bdee2954337e748428469972957663d497d + + +2015-01-05 Werner Koch + + Avoid false warning about uninitialized var. + + commit 46aaffbe852e334fd1a72affc4a918ceb7dc457b + * src/gpg-error.c (get_err_from_str): Init SAVED_CHAR. + + build: Update to gettext 0.19. + + commit abe43b5cbf066086deb735bba37178b34f12a4cb + * po/Makefile.in.in (MSGMERGE): Remove --previous. + * po/Makevars (MSGMERGE_OPTIONS): Add --previous. + + build: Require automake 1.14. + + commit 3d32de205211ca91d21941273db306a759ccc3ba + * configure.ac (AM_INIT_AUTOMAKE): Add serial-tests. + * tests/Makefile.am (INCLUDES): Replace by AM_CPPFLAGS. + +2014-12-28 Werner Koch + + Add GPG_ERR_REQUEST_TOO_SHORT and GPG_ERR_REQUEST_TOO_LONG. + + commit a672a1510456f3f12769938ab95c50ec6904e42e + + +2014-12-15 Werner Koch + + Fix commit 754a987. + + commit bcd9295d5b9c9f46478bff0680f57bd71b4061f8 + * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New. + (AUTOMAKE_OPTIONS): Move options to ... + * configure.ac (AM_INIT_AUTOMAKE): .. here. + (BUILD_DOC): Fix commit 754a987. + + Add configure option --disable-doc. + + commit 754a987f6df59e2ba0e69aada65ae4aaf593c148 + * Makefile.am (doc) [!BUILD_DOC]: Do not recurse into doc/. + * configure.ac (BUILD_DOC): New am_conditional and new option. + + Add GPG_ERR_OBJ_TERM_STATE. + + commit 923c4b174520c401a827d8198ebd2dc83666000f + + +2014-12-03 Werner Koch + + Add GPG_ERR_FORBIDDEN. + + commit 149fe98e1279b065edb06958d9a73a0c013c2db9 + + +2014-11-26 Мирослав Николић + + po: Add Serbian translation. + + commit 210126d38096e764dd3a82da45f8b5f66309ecd5 + + +2014-10-25 Daniel Kahn Gillmor + + Add new lock-obj-pub for mips64el-unknown-linux-gnuabi64. + + commit a186f35d05575d6d653e5bebb2dd169d9444af18 + * src/syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h: New. + * src/Makefile.am (lock_obj_pub): Add. + +2014-10-23 Daniel Kahn Gillmor + + add lock-obj header for or1k-unknown-linux-gnu. + + commit c143fa81462584ad39ea780908266bce3fb9a49e + * src/syscfg/lock-obj-pub.or1k-unknown-linux-gnu.h: new + + add lock-obj for new arch triplet for x86. + + commit d85af2fbac956eb2a8630d1c17b53a7a8760d7a4 + * src/sysconfig/lock-obj-pub.i586-pc-linux-gnu.h: New. + +2014-10-15 Werner Koch + + Release 1.17. + + commit 1d9e4c29fc23da64f964ed3337cd18429e1a2964 + * configure.ac: Set LT version to C13/A13/R0. + + doc: Add a man page for gpg-error-config. + + commit 9d9c25f6d76f1287f193f170ae5534f1ac346db0 + * doc/gpgrt.texi: New. Just a start for now. + * doc/gpl.texi, doc/lgpl.texi: New. Take from Libgcrypt. + * doc/yat2m.c: New. Take from GnuPG master. + * doc/Makefile.am: New. + * configure.ac (AC_CONFIG_FILES): Add doc/Makefile. + * Makefile.am (SUBDIRS): Add doc/. + * build-aux/mdate-sh, build-aux/texinfo.tex: New. + + Fix to help building native on Windows. + + commit 7285a27a7985c10f6778c67b31dd501e6594cb44 + * configure.ac (FORCE_USE_SYSCFG): New am_conditional. + * src/Makefile.am: Use new conditional to decide whether to build the + native lock object header. + +2014-10-03 Werner Koch + + Change gpgrt_pending{,_unlocked} to macros. + + commit 12b5188bd495e45775c34c8e6263e6be177c03da + * src/gpg-error.h.in (gpgrt_pending): Change to a macro. + (gpgrt_pending_unlocked): Change to a macro. + (_gpgrt_pending, _gpgrt_pending_unlocked): New private functions. + * src/visibility.c, src/visibility.h: Change accordingly. + * src/gpg-error.vers, src/gpg-error.def.in: Ditto. + * src/estream.c (_gpgrt_pending_unlocked): Rename to + _gpgrt__pending_unlocked. + (_gpgrt_pending): Rename to _gpgrt__pending. + +2014-10-02 Werner Koch + + w32: Make it build again. + + commit e8b04bed1093a9f1d87c150326e79adfeb02e2b4 + * src/estream.c (es_func_w32_read): Fix var name. + + build: Support SYSROOT based config script finding. + + commit 3ecdcb6ac814e3b63aebbf66729ae6cb67c9f6d2 + * src/gpg-error.m4: Add support for SYSROOT and set + gpg_config_script_warn. Use AC_PATH_PROG instead of AC_PATH_TOOL + because the config script is not expected to be installed with a + prefix for its name. + + Add GPG_ERR_BOGUS_STRING and an experimental gpgrt_pending. + + commit 74abfcf0c3ba7cd6ce36540c70699fc1719248b3 + * src/visibility.c (gpgrt_pending, gpgrt_pending_unlocked): New. + * src/estream.c (_gpgrt_pending, _gpgrt_pending_unlocked): New. + (check_pending): new. + (check_pending_fbf, check_pending_nbf): New. + (es_func_mem_read, es_func_fd_read, es_func_w32_read) + (es_func_fp_read, es_fill): Take care of the special 0 value for SIZE. + +2014-09-29 Daniel Kahn Gillmor + + GNU calls little-endian powerpc64 powerpc64le, not powerpc64el. + + commit d2757001c5719ca8c8bd6aa2e2e2d9a299fb76c6 + * src/Makefile.am (lock_obj_pub): fix powerpc64el to powerpc64le + * src/sysconfig/lock-obj-pub.powerpc64el-unknown-linux-gnu.h : move to + src/sysconfig/lock-obj-pub.powerpc64le-unknown-linux-gnu.h + +2014-09-29 Werner Koch + + Add error codes for use by a TLS library. + + commit d58fa35e89feddb71feeba8e39a016cd37c4be29 + + +2014-09-24 Daniel Kahn Gillmor + + Allow ./configure to explicitly set libgpg-error's build timestamp. + + commit d620005fd1a655d591fccb44639e22ea445e4554 + * configure.ac: add --enable-build-timestamp + +2014-09-24 Werner Koch + + Add new error source GPG_ERR_SOURCE_TLS. + + commit efb2442458c8dd8d5af5a533dc09370b54f5f86f + + +2014-09-23 Daniel Kahn Gillmor + + Add new lock-obj-pub for sparc64-unknown-linux-gnu. + + commit f227618e9e0d01e9dd1afbd91f9a509a532717eb + * src/syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h: New. + * src/Makefile.am (lock_obj_pub): Add. + + Add new lock-obj-pub for powerpc64el-unknown-linux-gnu. + + commit 33e5504fbb5e5e2ff44023c0a22dfb668ff8b10f + * src/syscfg/lock-obj-pub.powerpc64el-unknown-linux-gnu.h: New. + * src/Makefile.am (lock_obj_pub): Add. + +2014-09-18 Werner Koch + + Release 1.16. + + commit 8f3187fe56cb8e535e3ceff75fdd4e128070af57 + * configure.ac: Set LT version to C12/A12/R2. + + Add new lock-obj-pub for Apple iOS. + + commit cc4b0caa57a595a3727e51e061c519232f7bdb05 + * src/syscfg/lock-obj-pub.aarch64-apple-darwin.h: New. + * src/syscfg/lock-obj-pub.arm-apple-darwin.h: New. + +2014-09-12 Werner Koch + + Fix es_fclose for streams opened with "samethread". + + commit c307e1f801cd9a25c4a5b9a90073362219d52ee6 + * src/estream.c (destroy_stream_lock): New. + (es_create, do_close): Use new wrapper function. + + Fix a prototype. + + commit e1882ee8c541020ec590bf096508ca5b6d2ab944 + * src/gpgrt-int.h: s/off_t/gpgrt_off_t/. + +2014-09-11 Werner Koch + + Release 1.15. + + commit 6ebcd696fdbc0485099fba987c0c302cb46dd116 + * configure.ac: Set LT version to C12/A12/R1. + + Fix build problems with non-gmake (ie. AIX). + + commit 316171204d9a995f8b85431830bbc225ea144b48 + * src/Makefile.am: Do not distribute gpg-error.h. + (lock-obj-pub.native.h): Prepend a "./" to match the dependency. + + Fix problems with ssize_t and off_t. + + commit 5a4684f3b0db4cd5c13f94b1319c245ef96ce91d + * configure.ac (AC_SYS_LARGEFILE): New. + (AC_CHECK_HEADERS): Check for stdint.h. + (AC_CHECK_SIZEOF): Add for int, long and long long. + (REPLACEMENT_FOR_OFF_T): New ac_define. + * src/mkheader.c (have_stdint_h, have_w32_system, have_w64_system) + (replacement_for_off_type, stdint_h_included): New. + (xfree, xstrdup): New. + (parse_config_h): New. + (write_special): Support "define:gpgrt_off_t", "define:gpgrt_ssize_t", + "api_ssize_t" tags. + (main): Add config.h arg. Call parse_config_h. Fix substitute code. + * src/Makefile.am (gpg-error.h): Pass config.h to mkheader. + + * src/gpg-error.h.in: Include definitions for gpgrt_ssize_t and + gpgrt_off_t. Let mkheader insert ssize_t keywords. Chnage all off_t + to gpgrt_off_t. + * src/estream.c: Change all off_t to gpgrt_off_t. Chnage all ssize_t + to gpgrt_ssize_t. + * src/visibility.c (gpgrt_fseeko): Use gpgrt_off_t. + (gpgrt_ftello): Ditto. + (gpgrt_getline): Use gpgrt_ssize_t. + (gpgrt_read_line): Ditto. + + Fix compiler warning for w32. + + commit 4138644d74f127c1f4abf7455fe1e21f56d6e07e + * src/syscfg/lock-obj-pub.mingw32.h (GPGRT_LOCK_INITIALIZER): Add + mssing braces. + +2014-09-08 Werner Koch + + Release 1.14. + + commit 25f312dbb82722d23ad9faed8341923af6d3663c + * configure.ac: Set LT version to C12/A12/R0. + + po: Update de.po. + + commit 2ff05feae6c5090081612a7d9a787298f37d46a2 + + +2014-08-26 Werner Koch + + Add gpgrt_set_alloc_func. + + commit 7fdca61bcf60e730177889fbbd2f935ba33ae0c3 + * src/visibility.c (gpgrt_set_alloc_func): New. + * configure.ac (_ESTREAM_PRINTF_REALLOC): Define. + (_ESTREAM_PRINTF_EXTRA_INCLUDE): Define. + * src/estream.c (mem_alloc, mem_realloc, mem_free): Simplify. + (_gpgrt_free): Remove. + * src/init.c (custom_realloc): New var. + (_gpgrt_set_alloc_func): New. + (_gpgrt_realloc, _gpgrt_malloc, _gpgrt_free): New. + + * src/visibility.h (gpg_err_deinit): Mark as visible. + + Export missing init functions. + + commit d9d5b61a9f70556e8fc0775f1501380f65ce9502 + * src/gpg-error.h.in (gpgrt_init): New macro. + (gpgrt_check_version): New prototype. + * src/init.c (_gpg_err_init): Rename from gpg_err_init. + (_gpg_err_deinit): Rename from gpg_err_deinit. + * src/visibility.c (gpg_err_init): New. + (gpg_err_deinit): New. + (gpgrt_check_version): New. + * src/gpg-error.vers (gpg_err_init, gpg_err_deinit): Add missing + symbols. + (gpgrt_check_version): New. + * src/gpg-error.def.in (gpg_err_init, gpg_err_deinit): Add missing + symbols. + (gpgrt_check_version): New. + * src/gpg-error.c (main): Use gpgrt_init macro. + + Include required headers into gpg-error.h. + + commit 320f1b864553f105217ad6b0c70598f9a48c6aaa + * src/gpg-error.h.in: Include stdarg.h. + +2014-08-25 Werner Koch + + Replace locking code in estream functions. + + commit fc651665010056e6184e8514e5c5436427d7052d + * src/posix-lock.c: Add weak program for pthread_mutex_trylock. + (_gpgrt_lock_trylock): New. + * src/w32-lock.c (_gpgrt_lock_init): Add missing return statement. + (_gpgrt_lock_trylock): New. + * src/visibility.c (gpgrt_set_syscall_clamp): New. + (gpgrt_lock_trylock): New. + (gpgrt_vsnprintf): Fix symbol name. + * src/init.c (DllMain): Mark unused arg. + * src/estream.c: Replace npth mutexes by our own locks. Replace yeild + macro by _gpgrt_yield. + (pre_syscall_func, post_syscall_func): New. + (do_deinit): Clear both new vars. + (es_func_fd_read, es_func_fd_write): Call pre and post syscall + functions instead of the former SYSCALL macros. + (es_func_w32_read, es_func_w32_write): Ditto. + (es_func_fd_seek, es_func_w32_seek, es_func_fp_read) + (es_func_fp_write, es_func_fp_seek, es_func_fp_destroy): Bracket + syscalls with the pre- and post-syscall fucntions. + (do_npth_read, do_npth_write): Remove. + (_gpgrt_es_init): Remove call to mutex init. It is now statically + initialized. + (_gpgrt_set_syscall_clamp): New. + (es_create): Destroy stream lock on error. + (do_close): Destroy stream lock. + + Remove GnuPG specific code. + + commit 98781deb0b1787fd7eaabee27ef6a06d37195267 + * src/estream.c (es_write_sanitized_utf8_buffer): Remove. + + Add test for the estream printf functions. + + commit ce31fe792b5f8adf81710c1bf5986cd10636e16b + * tests/t-printf.c: New. + * configure.ac: Check for vasprintf. + + Add gpgrt_snprintf and gpgrt_vsnprintf. + + commit 8a5f2680daa5ea0280ef195efe3050df7bb06e78 + + + Finish inclusion of estream into the API. + + commit e5304d2c8aaaf1682707caa5694316640a18de57 + + + Implement symbol visibility. + + commit 216e7def2118a1774fa7ebeb45b8635b9fe6ba42 + * configure.ac: New option --enable-ld-version-script. + (GPGRT_USE_VISIBILITY): New ac_define. + (HAVE_LD_VERSION_SCRIPT): New am_conditional. + * src/gpg-error.vers: New. + * src/gpgrt-int.h: New. + * src/visibility.c, src/visibility.h: New. Lot of changes to symbold + names. + + First set of changes to include estream into the API. + + commit 6714d41af5b3f4d447eb0caea0ede38b753397f8 + * configure.ac (AH_BOTTOM): Define GPGRT_ENABLE_ES_MACROS. + * src/gpg-error.h.in: include stdio.h. Include most of the estream + functions and rename structures and types. + * src/estream.h: Rewrite. Include only gpg-error.h and local + prototypes. + * src/estream.c: Rename types and macros. + * src/estream-printf.c (_gpgrt_estream_snprintf): Prefix public + functions with _gpgrt_. + + Fix some minor estream things. + + commit 8d57ce619aa49862caeee30181fbbd9c76846554 + * m4/estream.m4: Check for memrchr. + * src/estream.c (memrchr) [!HAVE_MEMRCHR]: New. + * src/init.c: Include estream.h + (real_init): Init estream. + + Add missing redefine macros to cleanup the external symbols. + + commit b84c1ee0d637108a74066e0da50cb132273020e9 + + + Add estream code from GnuPG. + + commit 2b74237d19e44f7173bb052677f0ec35e6ff51b0 + * src/estream-printf.c, src/estream-printf.h: New. + * src/estream.c, src/estream.h: New. + * m4/estream.m4: New. + * src/Makefile.am (libgpg_error_la_SOURCES): Add new files. + * configure.ac (AH_BOTTOM): Define estream prefix. + : Add useful gcc warning options. + (estream_INIT): Call. + +2014-08-12 Joe Hansen + + Update Danish translation. + + commit 1be556e5bb1fb7262a1b5630ac939cfcaadc7100 + * po/da.po: Update. + +2014-08-10 Werner Koch + + tests: Fix compiler warning. + + commit ab5eff46116a9a246ffb2c083bec637d0321d0cb + * tests/t-lock.c: Include header vor getpid. + (revision_thread): Init "i" to avoid compiler warning. + +2014-08-06 NIIBE Yutaka + + Update ja.po. + + commit 7b7e08e6f3561724006b63679c2500a62fc73837 + + +2014-08-05 Werner Koch + + Use 16 byte alignment for hppa-unknown-linux-gnu. + + commit 3325403c0dd2949bf52efa1b9a5b5cf3191110f9 + * configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): New. + * src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Set for HPPA-Linux. + (main): Enforce alignment if needed. + * src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Use 16 byte + alignment. + +2014-07-27 Daniel Kahn Gillmor + + Add new lock-obj-pub.*.h from debian buildds. + + commit 8338a4ba93367974758dc5e195f67e9d171d4086 + * src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h: New. + * src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: New. + * src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.i486-pc-gnu.h: New. + * src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: New. + * src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.mips-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.mipsel-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h: New. + * src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h: New. + * src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h: New. + * src/Makefile.am (lock_obj_pub): Add new files. + +2014-06-30 Daniel Kahn Gillmor + + Improve logging in a test module. + + commit c7c41582574304974feac8bbd89b1460fbf6c92c + * tests/t-version.c (main): Print program name. + +2014-06-25 Werner Koch + + Add missing prototype for build tool. + + commit 51f9a8180ecbc24ed092bef5f2aa920a76769dcb + * src/gen-posix-lock-obj.c: Include string.h. + +2014-06-10 Werner Koch + + New error code GPG_ERR_KEY_DISABLED. + + commit 3fada688c0df6e3140e4fcaf59b9bcfcc7a70bf4 + + +2014-04-15 Werner Koch + + Release 1.13. + + commit 1900266b743cabdb39a0d6f8dd00d187a2ad2c97 + * configure.ac: Set LT version to C11/A11/R0. + + Update pl.po. + + commit db6e26cad81957729adc9549e4c6afe28bc55d76 + + + Add code GPG_ERR_KEY_ON_CARD. + + commit d4b83dbad235973e521eb12b680ee43cfb5cbc9a + + +2014-01-29 Werner Koch + + Fix a syscfg/ file name. + + commit bb5318aa5536fa48ec240c2ff48b9e2e1d9916ef + * src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: Rename to ... + * src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h: this. + * src/Makefile.am (lock_obj_pub): Fix file name. + +2014-01-28 Werner Koch + + Fix the name of the file in the comment of the output. + + commit 6245bf65fc2554c7c103324d451036de08869458 + * src/gen-posix-lock-obj.c (main): Chnage comment in created file. + +2014-01-25 Werner Koch + + Add lock info for arm-unknown-linux-androideabi. + + commit e1aa030d7655743f0c3cdd5f7b26ae1b4665fbc6 + * src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: New. Provided + by Hans-Christoph Steiner. + * src/Makefile.am (lock_obj_pub): Add file. + +2014-01-24 Werner Koch + + tests: Call srand for each thread under Windows. + + commit 8e352780fd0e2fbc8f4c4971aae188d62df24d0a + * tests/t-lock.c (accountant_thread) [W32]: Call srand. + + Do not use the threadlib macros for Windows. + + commit 2e4c5963119dc02cac7b8f0dfb46572c43d1ebe7 + * configure.ac: Move platform detection before gl_THREADLIB_EARLY. Do + not use gl_THREADLIB for Windows. + + Make multi-threading flags available via gpg-error-config. + + commit f209d163a8167caa6910cd367aba923f703ac69e + * m4/threadlib.m4: Set THREADLIB_CPPFLAGS. + * src/gpg-error-config.in: Add option --mt. + * configure.ac: Add support for the --mt option. + * src/gpg-error.m4: Add ac_subst GPG_ERROR_MT_CFLAGS and + GPG_ERROR_MT_LIBS. + + Allow using gpgrt_lock_init on an unitialized variable. + + commit 4e8a88e7632b1f1d2b31ae738a159802549882c3 + * src/posix-lock.c (gpgrt_lock_init): Detect unitialized lock var. + * src/w32-lock.c (gpgrt_lock_init): Ditto. + +2014-01-17 Werner Koch + + Move version number first in the Posix lock-obj. + + commit e07538c0ed3c5cb3d870a490a4c12bef4375278a + * src/posix-lock-obj.h (_gpgrt_lock_t): Swap VERS and MTX and put MTX + into a union. + * src/posix-lock.c (gpgrt_lock_lock): Adjust for this change. + * src/gen-posix-lock-obj.c (main): Change output accordingly. + + Extend the platform dependent build rules. + + commit d83b12213231443b93de39863b916ada6232035a + * src/mkheader.c (mk_include_name): New. + (include_file): Implement '&' substitution. + (try_include_file): New. + (write_special): Use try_include_file and syscfg/. + (main): Add a new arg. + * configure.ac (CROSS_COMPILING): New am_conditional. + (HOST_TRIPLET_STRING): New ac_define. + * src/gen-posix-lock-obj.c (main): Print the host triplet. + * src/w32-lock-obj-pub.in: Move to ... + * src/syscfg/lock-obj-pub.mingw32.h: here. + * src/Makefile.am (lock_obj_pub): New. + (pre_mkheader_cmds): New. + (gpg-error.h): Run pre_mkheader_cmds. + (parts_of_gpg_error_h, lock-obj-pub.native.h): Do not use when + cross-compiling. + +2014-01-16 Werner Koch + + Fix linking for last change on non-ELF platforms. + + commit 4f9b13e99bdfed886dadfd1b70a69af3747ebc98 + * src/Makefile.am (libgpg_error_la_LIBADD): Add LIBTHREAD. + + Add gpgrt_lock_ functions. + + commit ff937c39febe63d52c55590d8e3bd3a460f26651 + * src/gpg-error.h.in (GPGRT_LOCK_DEFINE): New. + (gpgrt_lock_init): New. + (gpgrt_lock_lock): New. + (gpgrt_lock_unlock): New. + (gpgrt_lock_destroy): New. + (gpgrt_yield): New. + * src/gpg-error.def.in: Add new functions. + * m4/lock.m4, m4/threadlib.m4: New. Taken from current gnulib. + * configure.ac: Call gl_LOCK. Check size of pthread_mutex_t. Add + LIBTHREAD to GPG_ERROR_CONFIG_LIBS. + * src/err-codes.h.in (GPG_ERR_INV_LOCK_OBJ): New. + * src/gen-posix-lock-obj.c: New. + * src/gen-w32-lock-obj.c: New. + * src/lock.h, src/thread.h: New. + * src/posix-lock-obj.h, src/w32-lock-obj.h: New. + * src/posix-lock.c, src/w32-lock.c: New. + * src/posix-thread.c, src/w32-thread.c: + * src/w32-lock-obj-pub.in: New. + * src/mkheader.c (include_file): Support build time include files. + (write_special): Add keyword "include:lock-obj". + * src/Makefile.am: + (posix-lock-obj-pub.in): New rule. + (noinst_PROGRAMS): Add gen-*-lock-obj helpers. + + * tests/t-common.h: New. + * tests/t-lock.c: New. + * tests/Makefile.am (t_lock_LDADD): Add new test. + +2014-01-14 Werner Koch + + Improve maintainability by rewriting the mkheader helper. + + commit 78a06348fb07f2dce861615cc6d19964818f7334 + * src/mkheader.c: New. Based on the mkheader from Libassuan. + * src/mkheader.awk: Remove. + * src/errnos.in: Add trailing linefeed. + * src/gpg-error.h.in: Change meta include directives for use with + mkheader.c. + * src/Makefile.am (EXTRA_DIST): Replace mkheader.awk by mkheader.c + (BUILT_SOURCES): Remove extra-h.in. + (CLEANFILES): Remove extra-h.in. Add mkheader.c. + (parts_of_gpg_error_h): New. + (extra-h.in): Remove rule. + (mkheader): Add rule. + (gpg-error.h): Change rule to use mkheader. + +2014-01-10 Werner Koch + + po: Update de.po. + + commit c1871fddf85cdddc33c1b35d5f1c8bae76388ee5 + + + Use the generic autogen.sh script. + + commit e3ff40a78e9e95e1296b66f9c0d3df905c8af0d3 + * Makefile.am (EXTRA_DIST): Add autogen.rc remove config.rpath. + * autogen.rc: New. + * autogen.sh: Update from current GnuPG. + + Move helper scripts to build-aux. + + commit 69c15393d1dac28e08c3b84b1aea286f12327847 + * compile, config.guess, config.rpath, config.sub + * depcomp, install-sh, ltmain.sh, missing: Move to build-aux/. + * configure.ac (AC_CONFIG_AUX_DIR): New. + +2013-12-09 Werner Koch + + Add build support for ppc64le. + + commit 0b192cff772bd416dc85b8140b9eb0d52e4175dd + * config.guess, config.sub: Update to latest version (2013-11-29). + * m4/libtool.m4: Add patches for ppc64le. + +2013-12-09 David 'Digit' Turner + + Update libtool to support Android. + + commit bf0d67dbfa4161e529781d6dfbfcce7126c3bf22 + * m4/libtool.m4: Add "linux*android*" case. Taken from the libtool + repository. + +2013-11-17 Werner Koch + + Add GPG_ERR_MAC_ALGO. + + commit b70a430d020e8541f66cca38c00355bab7bb1017 + + +2013-07-15 Werner Koch + + w32: Fix corrupted string output. + + commit 52e1f2e131b422fdb66abeaf4a8f084689b39bf7 + * src/w32-gettext.c (get_string): Pass the nul of the utf-8 string to + the conversion function but keep TRANSLEN without the nul. + +2013-06-24 Werner Koch + + Release 1.12. + + commit 12243cebd558dcadf8e85eea39b6db5f0b314667 + * configure.ac: Set LT version to C10/A10/R0. + + Update German translation. + + commit f85ef07dca7c931d63b202d94bfaccba0a30f7f6 + + +2013-06-17 Werner Koch + + Add hack to have different names for 64 bit Windows DLLs. + + commit ca46b9a7bccb2eab085fc45722ffca1210f48223 + * ltmain.sh: Prefix the SO number for W64 with a "6". + + Support building for w64. + + commit 1ca9b0dec0bfee560ce43d9dac6a26557ebe67a1 + + +2013-05-23 Werner Koch + + w32: Fix installing of .def file. + + commit db438148df9623528aa7305b6d56edd23db8cbbe + * src/Makefile.am (install-def-file): Create libdir first. + + Fix libtool 2.4.2 to correctly detect .def files. + + commit dd05f3790e536dec6ed56087780a1065ca66371e + * ltmain.sh (sed_uncomment_deffile): New. + (orig_export_symbols): Uncomment def file before testing for EXPORTS. + * m4/libtool.m4: Do the same for the generated code. + +2013-04-11 Werner Koch + + Add GPG_ERR_*CRYPT_CTX* and GPG_ERR_BROKEN_*KEY. + + commit d2e6d96dfd2acc855b244a972269adfcf477cd10 + * src/err-codes.h.in (GPG_ERR_NO_CRYPT_CTX): New. + (GPG_ERR_WRONG_CRYPT_CTX, GPG_ERR_BAD_CRYPT_CTX): New. + (GPG_ERR_CRYPT_CTX_CONFLICT): New. + (GPG_ERR_BROKEN_PUBKEY, GPG_ERR_BROKEN_SECKEY): New. + +2013-02-25 Werner Koch + + Release 1.11. + + commit 3367ff0aa51b6685e37b749b3179643b82d23064 + * configure.ac: Set LT version to C9/A9/R0. + + * Makefile.am (GITLOG_TO_CHANGELOG): New. + (gen-ChangeLog): Use --tear-off. + * build-aux/gitlog-to-changelog: Remove. + + Update helper scripts. + + commit b0ce47b730452bb28d5f46db3857c9efa5f9f51e + * compile, config.guess, config.rpath, config.sub, depcomp, + * install-sh, mkinstalldirs: Update to current versions from gnulib. + +2013-02-23 Werner Koch + + Add translation to Ukrainian. + + commit 47ff6a21c6d84acebef3ff20d982a6c255a6d282 + * po/uk.po: New. + * po/LINGUAS: Add uk.po + + Add translation to Esperanto. + + commit 95c63baa0516592ec1a1c045565d6f992cc807eb + * po/eo.po: New. + * po/LINGUAS: Add eo.po. + + Add version macros and check function. + + commit e6943de88627c6662fba3fe905c8761dbf0ccfa1 + * configure.ac (VERSION_NUMBER): New ac_subst. + (BUILD_FILEVERSION): Build on all platforms + (BUILD_TIMESTAMP): Try to use an ISO string. + * src/Makefile.am (extra-h.in): Add new version numbers. + * src/versioninfo.rc.in: Update copyright year. + * src/version.c: New. + (gpg_error_check_version): New API. + * src/gpg-error.h.in: Add gpg_error_check_version prototype. + * src/gpg-error.def.in: Add gpg_error_check_version + * tests/t-version.c: New. + * tests/Makefile.am (TESTS): Add t-version.c + + * src/gpg-error-config.in: s/VERSION/PACKAGE_VERSION/. + +2013-02-22 Werner Koch + + Fix the alias mechanism for --with-libgpg-error-prefix. + + commit 056cc2d0dfef023fda47ce377d3ee544612526a3 + * src/gpg-error.m4: Do not use the no-action branch in AC_ARG_WITH. + +2012-11-16 Werner Koch + + Switch to the new automagic beta numbering scheme. + + commit 3977201d2a82fcbe0341660e07a3b0d5c790f927 + * configure.ac: Change to a git only revision id setup. + (BUILD_FILEVERSION): Use revision id for this. + * src/versioninfo.rc.in (FileVersion): Use LT version. + + Update to libtool 2.4.2. + + commit 6971fe55fb76f3c93058ebdef37dc179dff5d651 + + + Add new source id for Libassuan. + + commit d447a2150c235878e2c80afcc99e207755cfd2f9 + * src/err-sources.h.in (GPG_ERR_SOURCE_ASSUAN): New. + + Improve parsing of the GIT revision number. + + commit b2e4d03c88823151aa30f8a878ad1a30618d1340 + * configure.ac (git_revision): Use git rev-parse. + + Fix non-portable use of chmod in autogen.sh. + + commit 17c8c16ee2dcb33abb7fdf50c40015f1b9d13689 + * autogen.sh: Remove option -c from chmod. + +2012-08-09 Werner Koch + + Update Italian translation. + + commit 3034b80debc15e6372fbc36a1814b2d273d9e4a7 + + +2012-08-09 Jordy Provost + + Typo fix. + + commit 9216a742c75432fb2ea0ee1e1818459014e051c5 + * src/err-codes.h.in: Unify uppercase. + +2012-08-09 Freek de Kruijf + + Update Dutch translation. + + commit 10373c0d9f4a557ee9af5f1569749b9697a7ae33 + * po/nl.po: Update. + +2012-08-09 Petr Pisar + + Update Czech translation. + + commit f95162ecc92f338bf244ffdb402ade617d207d7a + * po/cs.po: Update. + +2012-08-09 Joe Hansen + + Add Danish translation. + + commit 7adbeeb806d7cd373a159b0acfc9b733a3295356 + * po/da.po: New. + * po/LINGUAS: Add da.po. + +2012-08-09 David Prévot + + Update French translation. + + commit 42471f9cbd59d427c9e1a8bf0267835f1395c6b4 + * po/fr.po: Update, proofread by Jordy Provost + + Keep previous msgids of translated messages. + + commit f7db2dceb8d1da2606d039c04bc84f331f9cfe89 + * po/Makefile.in.in: Add --previous option to msgmerge. + +2012-08-07 Werner Koch + + Add Japanese translation. + + commit 4fef48a0868ca1379d016f41c9d810857c00655f + * po/ja.po: New. + * po/LINGUAS: Add ja.po. + + Update German translation. + + commit 2ed3e70f0aeec41ece79d96a8ea6d114addf954d + * po/de.po: Update. + +2012-06-20 Rafaël Carré + + Use CPPFLAGS when generating mkerrcodes.h. + + commit c35dbfdaa2e30e08185e4a468278a29e2c48b500 + * src/Makefile.am (mkerrcodes.h): Use CPPFLAGS. + +2011-12-01 Werner Koch + + Remove non-source file from the repo. + + commit a7eb1bec2b76318bd17d4413d7f44197a241e3bc + * po/remove-potcdate.sed: Remove. + + Fix for newer autoconf version. + + commit 5a0d2a5abc0a707c20449b6afd37daa9fd373a18 + * Makefile.am (EXTRA_DIST): Fix filename. + * configure.ac (my_full_version): New. + (AC_INIT): Use new macro. Change bug address to the bug tracker URL. + + Generate the ChangeLog from commit logs. + + commit 9d75d671d66386ad862db0466c4dd67a246dfe72 + * build-aux/gitlog-to-changelog: New script. Taken from gnulib. + * build-aux/git-log-fix: New file. + * build-aux/git-log-footer: New file. + * doc/HACKING: New file. + * ChangeLog: New file. + * Makefile.am (EXTRA_DIST): Add new files. + (gen-ChangeLog): New. + (dist-hook): Run gen-ChangeLog. + + Rename all ChangeLog files to ChangeLog-2011. + +2011-12-01 Werner Koch + + NB: Changes done before December 1st, 2011 are described in + per directory files named ChangeLog-2011. See doc/HACKING for + details. + + ----- + Copyright (C) 2011 Free Software Foundation, Inc. + + Copying and distribution of this file and/or the original GIT + commit log messages, with or without modification, are + permitted provided the copyright notice and this notice are + preserved. -- cgit 1.4.1