2025-04-24 Werner Koch Release 1.55. + commit 99381397a06564fd8ae1c623c11036a5da099a4f Add commands mkdir and chdir to gpg-error. + commit c002490a8f6dda044ae41118a6019da9ea3fc98c * src/gpg-error.c (main): Add new commands mkdir and chdir. Allow for commands w/o dashes. w32: Yet another extended length path kludge. + commit fba44d619d388aa413f4f50756c287a722437475 * src/sysutils.c (_gpgrt_fname_to_wchar): Change threshold from 255 to 250. 2025-04-22 Werner Koch w32: More changes to the extended length path handling. + commit 65114f24e13f835a289f791ed7a5e408b2843d59 * src/sysutils.c (has_path_separator): New. (_gpgrt_fname_to_wchar): Rewrite to add the prefix only when needed. ---- GetFullPathNameW has no MAX_PATH limit and thus can be used with any input. We now prefix the resulting absolute path after the call to GFPN. This allows to check whether the CWD is an UNC and thus use the right prefix. We also don't run the entire thing for just a drive letter etc and further skip the prefix if the absolute path is less than MAX_PATH. This gives better backward compatibility. There is also now a GPGRT_DISABLE_EXTLENPATH=-2 which does not disable the extended path handling but enables debug output. To actually disable the feature a positive value must be used. Updates-commit 28ae4ee194ec56e98123d3aceda130161dfd2df8 2025-04-21 NIIBE Yutaka Mark the initializations with __nonstring__ attribute. + commit 1c58363541fcc331511d067ce388f32298fd8d29 * src/b64enc.c (bintoasc): Use GPGRT_ATTR_NONSTRING. * src/gpg-error.h.in (GPGRT_ATTR_NONSTRING): New. 2025-04-17 Werner Koch Release 1.54. + commit 9d47a0f1f8ae0b9aa4c2d0c230c08c8fbe243f42 2025-04-16 Werner Koch w32: Fix extended length path handling for UNC specified files. + commit 28ae4ee194ec56e98123d3aceda130161dfd2df8 * src/sysutils.c (_gpgrt_fname_to_wchar): Fix the extended length path support for UNC file names. Also add an envvar to disable the entire extended length path support. Add command --fopen to gpg-error to help testing. + commit 3c9beea348cdeaa3f3026a934b40badfb4d4bab2 * src/gpg-error.c (main): Implement command --fopen. Also ignore log file settings from the Registry. 2025-04-09 Werner Koch Release 1.53. + commit f9e98ed8315eaf0468870149d22c5dcf992288ec tests: Check that we do not use the es macros in the public API. + commit 26b876030dbda890b9630595419b422aa182c0dd * tests/t-version.c: Undef the macros. 2025-04-09 NIIBE Yutaka Use gpgrt_stream_t for the API of gpgrt_nvc_*. + commit 32475a7868f5e2e1c274a65ecc6791375054eaa4 * src/gpg-error.h.in (gpgrt_nvc_parse): Use gpgrt_stream_t. (gpgrt_nvc_write): Likewise. 2025-04-08 Werner Koch Release 1.52. + commit be471d158e4951f4b17335b0fc9ae2387a786b5b 2025-04-07 Werner Koch argparse: Make getreg meta command work on Unix. + commit 9864dd4d66342cca340f8ebe57f46b2fa274bac0 * src/argparse.c (_gpgrt_argparse_internal_s): Add fields no_registry and registry. (initialize): Init them. (emulated_registry_lookup): New. (handle_meta_getenv): Use it. * tests/etc/t-argparse.conf: Add a getreg meta command. * tests/t-argparse.c (opt): Add a disable-akr command. * tests/etc/Registry: New. Add a section mode to the name-value functions. + commit d0b7d33536736ef6f3d41575b6f58b2d3a7c139b * src/gpg-error.h.in (GPGRT_NVC_SECTION): New. * src/name-value.c (_gpgrt_name_value_container): Add section_mode. (_gpgrt_nvc_new): Set it. (_gpgrt_nvc_get_flag): Return it. (valid_name): Add arg sectionmode and change callers. (do_nvc_parse): Parse section names in section mode. (_gpgrt_nvc_write): Return an error in section mode. Allow name-value lookup w/o a trailing colon for the name. + commit afb277e5bdd92c16a4fdbd33b89dab4c03a5ae62 * src/name-value.c (_gpgrt_name_value_entry): Add field namelen. (ascii_memcasecmp): New. (same_name_p): New. (valid_name): Strip the colon and return the length. (do_nvc_add): Set namelen. (_gpgrt_nvc_lookup): Simplify. * tests/t-name-value.c (test_getting_values): Add some extra tests. New public API gpgrt_nvc_* and gpgrt_nve_* + commit 7ec1f27b60eec95297c5267ab5ebbdb73b263c3f * src/name-value.c: New. * tests/t-name-value.c: New. * src/gpg-error.def.in: Add new functions. * src/gpg-error.h.in: Ditto. * src/gpg-error.vers: Ditto. * src/visibility.c: Ditto. * src/visibility.h: Ditto. Update the copyright notice. + commit 17bb01f86d1d75bb57418a0101c0f08a49bfdd07 * configure.ac (GPGRT_STD_COPYRIGHT_LINE): New. * src/gpg-error.c (my_strusage): Use it here. 2025-04-04 Werner Koch w32: Improve the detection of the need for a \\?\ prefix. + commit a4a692fcf1ed128693ec6d64d5e3163775aad10b * src/sysutils.c (_gpgrt_fname_to_wchar): Use the no-max-path prefix for shorter files and for filenames with path separators. Add test cases for the strlist functions. + commit b6b0af7d4eb2c65318ac87253dc3979f99b301dd * tests/t-strlist.c: new. tests: Add macros to improve the debug output. + commit be036dccd756e326470afcd7928a1d20790fc24a * tests/t-common.h (current_func): New var. (enter_test_function, leave_test_function): New macros. (die, fail, show): Print the fucntion name. 2025-04-01 Werner Koch New public API gpgrt_strlist_* + commit 47097806f13d93daffb73b4221f3f18a99f66b2b * src/strlist.c: Rename all functions to have a _gpgrt_strlist prefix. (append_to_strlist2, strlist_length): Remove. (_gpgrt_strlist_free): rtake care of the wipe flag. (_gpgrt_strlist_add): Add a flags arg to use it for prepend and append. Return an error on failure. (_gpgrt_strlist_tokenize): Ditto. (_gpgrt_strlist_copy): Chnage to return an error on failure. (_gpgrt_strlist_pop): Ditto. * src/Makefile.am (libgpg_error_la_SOURCES): Add strlist.c. * src/argparse.c (trim_spaces): Move to ... * src/stringutils.c (_gpgrt_trim_spaces): here and rename. * src/visibility.c: Add wrappers for all exported functions. * src/visibility.h: MArk exported functions as visisble. * src/gpg-error.def.in: Export new functions * src/gpg-error.vers: Ditto. * src/gpg-error.h.in (GPGRT_STRLIST_APPEND): New. (GPGRT_STRLIST_WIPE): New. (gpgrt_strlist_free): New. (gpgrt_strlist_add): New. (gpgrt_strlist_tokenize): New. (gpgrt_strlist_copy): New. (gpgrt_strlist_rev): New. (gpgrt_strlist_prev): New. (gpgrt_strlist_last): New. (gpgrt_strlist_pop): New. (gpgrt_strlist_find): New. (gpgrt_strlist_count): New inline function. 2025-02-21 Ingo Klöcker Fix logic for finding the beta version number. + commit 542b6fce139047b5a0fa42ae11179a2308ac8f9e * autogen.sh: Check if $tmp is empty after each assignment. 2025-02-06 NIIBE Yutaka gpgrt-config: Append default directory to PKG_CONFIG_PATH. + commit dbf1e0dc47229384d59cb19084de39a855e5c871 * src/gpgrt-config.in: Fix initializing PKG_CONFIG_PATH. 2025-01-22 NIIBE Yutaka Skip gpg-error-config-test.sh for specific incompatible pkg-config. + commit b6df311368133df90c3bf338fbf5c90bd8d950f8 * src/gpg-error-config-test.sh.in: Skip the test with pkgconf 1.8.0. 2025-01-15 NIIBE Yutaka build: Remove defining GPG_ERR_ENABLE_ERRNO_MACROS. + commit 71756ce3735183ddf7c340e071fa649c446e262c * configure.ac (GPG_ERR_ENABLE_ERRNO_MACROS): Remove. 2025-01-14 NIIBE Yutaka spawn: Care about closefrom/close call is interrupted. + commit 0f4fe2edf5e50cc72b3decea486f2cf57d265d8e * src/spawn-posix.c (closefrom_really): Handle interrupted call of closefrom. (close_except): Likewise for call of close. (_gpgrt_close_all_fds): Use closefrom_really and close_except. 2025-01-08 NIIBE Yutaka spawn: Use closefrom when available. + commit e3e793302b67e37727caf11a868b5b91d7c13f8c * configure.ac (AC_CHECK_FUNCS): Check closefrom. * src/spawn-posix.c [HAVE_CLOSEFROM]: Use closefrom if possible. 2024-12-12 Werner Koch New Windows API gpgrt_w32_reg_get_string. + commit 652328c786f37e3a3de5c3b143ce9e0d524bfeb4 * src/w32-reg.c (_gpgrt_w32_reg_query_string): Implement a prefix for root and consider an empty string for root also HKCU. * src/visibility.c (gpgrt_w32_reg_get_string): New. * src/gpg-error.def.in: Add new function. * src/gpg-error.c (my_strusage): Print the Windows version (32 or 64 bit) of the binary. (main): New command --getreg. 2024-12-03 Werner Koch Minor cleanness fix for autogen.sh. + commit 65a4bc30d99aada8e5f17711bc5a4ff242d22881 * autogen.sh (w32root): Remove double slash in case of HOME=/. 2024-12-02 Daniel Cerqueira po: Update Portuguese Translation. + commit 7baf9f6b4030012a9d813d5e0c108dd836479ad4 2024-11-21 Werner Koch autogen.sh: New command --print-tsdir. + commit e15a7c411dcadb229f4ff1ae0259c51dde9fd535 * autogen.sh: New command --print-tsdir. (maintainer_mode_option): Allow setting via autogen.rc 2024-11-14 NIIBE Yutaka spawn:w32: Fix a memory leak on an error path. + commit eb005c30157f4ce0cd335955f13567dda03685e3 * src/spawn-w32.c (spawn_detached): Make sure to release lpAttributeList. (_gpgrt_process_spawn): Likewise. 2024-11-11 Werner Koch Release 1.51. + commit b0bb9266010d84b30fa2dc6a2127b7e40dc03660 2024-10-23 NIIBE Yutaka Avoid use of 'nullptr' for an identifier. + commit d14c69a7f256a9444c5c64b808d8767e5a8ba68e * tests/t-printf.c (check_fprintf_sf): Use 'null_ptr' as an identifier. 2024-10-16 NIIBE Yutaka spawn: Shorter identifier gpgrt_spawn_actions_set_env_rev. + commit 1bca948594d9f8c26231bfb7ff7b2f3ebf9df295 * src/gpg-error.def.in: Rename to gpgrt_spawn_actions_set_env_rev. * src/gpg-error.h.in: Likewise. * src/gpg-error.vers: Likewise. * src/gpgrt-int.h: Likewise. * src/spawn-posix.c: Likewise. * src/spawn-w32.c: Likewise. * src/visibility.c: Likewise. * src/visibility.h: Likewise. * tests/t-spawn.c (run_test): Use gpgrt_spawn_actions_set_env_rev. 2024-10-11 NIIBE Yutaka spawn: Add new function to modify environment. + commit 1860f6407f834b681c21f67db7236eaad161524c * src/gpg-error.def.in (gpgrt_spawn_actions_set_envchange): New. * src/gpg-error.vers (gpgrt_spawn_actions_set_envchange): New. * src/gpg-error.h.in (gpgrt_spawn_actions_set_envchange): New. * src/gpgrt-int.h (_gpgrt_spawn_actions_set_envchange): New. * src/spawn-posix.c (struct gpgrt_spawn_actions): New field ENVCHANGE. (prepare_environ): New. (my_exec): Take care of ENVCHANGE. (_gpgrt_spawn_actions_set_envchange): New. * src/spawn-w32.c (struct gpgrt_spawn_actions): New field ENVCHANGE. (prepare_env_block): New. (_gpgrt_spawn_actions_set_envchange): New. (spawn_detached, _gpgrt_process_spawn): Take care of ENVCHANGE. * src/visibility.c (gpgrt_spawn_actions_set_envchange): New. * src/visibility.h (gpgrt_spawn_actions_set_envchange): New. * tests/Makefile.am (TESTS): Add t-spawn. * tests/t-spawn.c: New. 2024-10-10 NIIBE Yutaka w32: Fix releasing memory for UTF-8 text. + commit 68600fe17c5f8c72e421b5ca9d9622568c6f57fd * src/spawn-w32.c (spawn_detached): Use _gpgrt_free_wchar. (_gpgrt_process_spawn): Likewise. 2024-09-24 Werner Koch estream: Let poll return an error for a closed fd. + commit 4a3dc85f695e6448e6279dc48894b500168f42f9 * src/estream.c (_gpgrt_poll): Set got_nval. 2024-09-19 NIIBE Yutaka posix: Fix forgotten _gpgrt_post_syscall on error path. + commit bcab96484d4858fcde669b36d309ab7fbc79174e * src/spawn-posix.c (do_create_pipe_and_estream): Call post_syscall. posix: Fix memory leak for spawn. + commit 4a0c942151da91ad75dbb45d4dc10c4751ee28e4 * src/spawn-posix.c (spawn_detached): Free ARGV. 2024-09-16 NIIBE Yutaka w32:spawn: Remove unused function get_max_fds. + commit c2a713fe11e35b4567e0c7d2a20d8ab416b366ad * src/spawn-w32.c (get_max_fds): Remove. 2024-09-06 NIIBE Yutaka w32: Clarify the environment block encoding. + commit 0f7b327ccf6d2018b193d5598c4a8a338f874a59 * src/spawn-w32.c (_gpgrt_spawn_actions_set_envvars): It's an ASCII string. 2024-08-27 NIIBE Yutaka w32: Add GPGRT_PROCESS_ALLOW_SET_FG for gpgrt_process_spawn. + commit b79d4206f482b323fb9f9d52a1c715e853752195 * src/gpg-error.h.in (GPGRT_PROCESS_ALLOW_SET_FG): New. * src/spawn-w32.c (_gpgrt_process_spawn): Support the flag. 2024-08-02 Werner Koch w32: Allow initialization of new threads to utf8 mode. + commit 7f36440d90964ffe809064365cb16033ba1dda69 * src/init.c (utf8_for_new_threads): New var. (_gpgrt_w32_utf8_for_new_threads): New func. (get_tls): Init the TLS utf8 flag from the new var. * src/w32-gettext.c (_gpg_w32_gettext_use_utf8): Implement new flag. 2024-07-04 Werner Koch Put the full commit id into VERSION. + commit 9c448f7c7a55c8293cd33ea0fcd33dd42032504d * autogen.sh : Also print the full commit id. * configure.ac: Get the full commit id. Add it to VERSION. (BUILD_REVISION): Replace this ac_define by (BUILD_COMMITID): this. * src/version.c (cright_blurb): Use here. 2024-06-20 Werner Koch core: Declare environ for macOS and others. + commit a59e902b887fd92337c9728f668cf9c89da3957a * src/spawn-posix.c (environ): Declare. 2024-06-19 Werner Koch Release 1.50. + commit bb732615daad9bba9026354ae90f0f5292ea4908 spawn: New flag GPGRT_PROCESS_NO_EUID_CHECK. + commit bdd1060445fa358d3ca3f1f98334de60cd5d6c10 * src/gpg-error.h.in (GPGRT_PROCESS_NO_EUID_CHECK): New. * src/spawn-posix.c (spawn_detached): Move check to ... (_gpgrt_process_spawn): here and skip if flag is set. spawn: Keep struct definitions at the top of the file. + commit 0078afb8c60af2c61c01688ca52f51ca95b25721 * src/spawn-posix.c: Move include and struct defs around. * src/spawn-w32.c: Move struct defs around. 2024-06-13 NIIBE Yutaka Apply spell fix. + commit 82a34b733d89b2c3ebc45d8124378ada19017a65 * src/gpg-error.m4: Apply spell fix from GnuPG master. Fix gpg-error.m4. + commit c690e6e3655e7d9db79cd07cfacf3234ecd548cf * src/gpg-error.m4 (_AM_PATH_GPGRT_CONFIG): Don't set gpg_error_config_version. (AM_PATH_GPG_ERROR): Set GPG_ERROR_CONFIG here and set gpg_error_config_version with GPG_ERROR_CONFIG. 2024-06-07 NIIBE Yutaka spawn: Support the use case in libassuan where PGMNAME==NULL. + commit d53f35a5e6644b94fb25bf6afd365f4b0f5a18e0 * src/spawn-posix.c (my_exec): When PGMNAME==NULL, just fork. (_gpgrt_process_spawn): Support PGMNAME==NULL use case. * src/spawn-w32.c (_gpgrt_process_spawn): Return GPG_ERR_INV_ARG, when PGMNAME==NULL. 2024-06-06 NIIBE Yutaka spawn: Expose gpgrt_spawn_actions functions. + commit e644311383350ce704611cce69f322a7d9dd548e * src/gpg-error.def.in: Update. * src/gpg-error.h.in: Add declarations. * src/gpg-error.vers: Update. * src/visibility.c: Update. * src/visibility.h: Update. spawn: Add new GPGRT_PROCESS_NO_CONSOLE for Windows. + commit 03fd278d7f7a1e3e0d082de5efb9d85740cf0ab8 * src/gpg-error.h.in (GPGRT_PROCESS_NO_CONSOLE): New. * src/spawn-w32.c (_gpgrt_process_spawn): Handle GPGRT_PROCESS_NO_CONSOLE. Fix return type of gpgrt_b64dec_*. + commit 7d132a1a72ad618640640db278056ce04d32fdde * src/gpg-error.h.in (gpgrt_b64dec_proc): Return gpg_err_code_t. (gpgrt_b64dec_finish): Ditto. * src/visibility.c: Fix return type. 2024-06-05 Werner Koch spawn:w32: Allow for up to 32 inherited handles. + commit 4ee656242aa93af42e74acb706a13f99212a93d6 * src/spawn-w32.c (spawn_detached): Increase array size. (_gpgrt_process_spawn): Ditto. spawn: Avoid bumping the error counter. + commit 60b9a68def583d7c3a1d47daec717a7f71233c55 * src/spawn-posix.c: Use log_info instead of log_error. * src/spawn-w32.c: Ditto. (spawn_detached): Fix copying of hd[2] (_gpgrt_process_spawn): Ditto. 2024-06-05 NIIBE Yutaka spawn: Expose spawn functions API. + commit 2caaef8f6b89d7fcbbe3d480d192fe1952576942 * src/gpg-error.def.in: Update. * src/gpg-error.vers: Update. * src/gpg-error.h.in: Add declarations. * src/visibility.c: Add implementations. * src/visibility.h: Expose them. 2024-06-04 NIIBE Yutaka spawn:w32: Fix setting of dwFlags for CreateProcess. + commit 3be8b2c95faac8543e2ceddb308b8c138dde11d8 * src/spawn-w32.c (_gpgrt_process_spawn): Only set STARTF_USESTDHANDLES with active handles. 2024-05-30 NIIBE Yutaka spawn: Allow NULL for ACT. + commit adcb4170a40d7cf66181a6b3efc7c187892a1318 * src/spawn-posix.c (_gpgrt_process_spawn): ACT may be null. * src/spawn-w32.c (_gpgrt_process_spawn): Likewise. 2024-05-29 NIIBE Yutaka Fix process termination check at release. + commit 5fec7d7ada4c5b1978cfba3be8b67475ff1e0859 * src/spawn-posix.c (_gpgrt_process_release): When NOT terminated, terminate and wait. * src/spawn-w32.c (_gpgrt_process_release): Likewise. Fix how environment variables are specified for spawn. + commit fbe1f5153c3cb8b7c5de40973cceee7f639804e7 * src/gpgrt-int.h (_gpgrt_spawn_actions_set_envvars) [HAVE_W32_SYSTEM]: Assume use with GetEnvironmentStrings. (_gpgrt_spawn_actions_set_environ) [!HAVE_W32_SYSTEM]: New. * src/spawn-posix.c: Follow the change. * src/spawn-w32.c: Can specify envvars now. Cleaner semantics for _gpgrt_process_spawn without a callback. + commit 6c05b35977c9d15da45b4fe6c0c870dbbf51657c * src/gpg-error.h.in (@define:struct_spawn_cb_arg@): Remove. (gpgrt_spawn_actions_t): New. (@define:spawn_actions_functions@): New. * src/gpgrt-int.h (_gpgrt_spawn_actions_new) (_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars) (_gpgrt_spawn_actions_set_redirect): New. [HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_handles): New. [!HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_fds) (_gpgrt_spawn_actions_set_atfork): New. (_gpgrt_process_spawn): Use gpgrt_spawn_actions_t. (_gpgrt_spawn_helper): Remove. * src/mkheader.c: Emit gpgrt_spawn_actions_* definition. * src/spawn-posix.c(_gpgrt_spawn_actions_new) (_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars) (_gpgrt_spawn_actions_set_redirect) (_gpgrt_spawn_actions_set_inherit_fds) (_gpgrt_spawn_actions_set_atfork): New. (spawn_detached, _gpgrt_process_spawn): Use gpgrt_spawn_actions_t. (_gpgrt_spawn_helper): Remove. * src/spawn-w32.c: Ditto, with _gpgrt_spawn_actions_set_inherit_handles, but no _gpgrt_spawn_actions_set_atfork. 2024-05-28 NIIBE Yutaka Import spawn functions from GnuPG master. + commit 8dc6e3281e17c5d2885dc71634ab1068b88fc738 * src/gpg-error.h.in (@define:gpgrt_process_t@): Remove. (@define:struct_spawn_cb_arg@): New. (enum gpgrt_process_requests): New. (GPGRT_PROCESS_DETACHED, GPGRT_PROCESS_STDIN_PIPE) (GPGRT_PROCESS_STDOUT_PIPE, GPGRT_PROCESS_STDERR_PIPE) (GPGRT_PROCESS_STDINOUT_SOCKETPAIR, GPGRT_PROCESS_STDIN_KEEP) (GPGRT_PROCESS_STDOUT_KEEP, GPGRT_PROCESS_STDERR_KEEP) (GPGRT_PROCESS_STDFDS_SETTING, GPGRT_PROCESS_STREAM_NONBLOCK): New. * src/gpgrt-int.h (_gpgrt_process_spawn, _gpgrt_process_terminate) (_gpgrt_process_get_fds, _gpgrt_process_get_streams) (_gpgrt_process_ctl, _gpgrt_process_wait, _gpgrt_process_release) (_gpgrt_process_wait_list, _gpgrt_spawn_helper): New. * src/mkheader.c: Emit definition of struct_spawn_cb_arg. * src/spawn-posix.c (_gpgrt_process_spawn, _gpgrt_process_terminate) (_gpgrt_process_get_fds, _gpgrt_process_get_streams) (_gpgrt_process_ctl, _gpgrt_process_wait, _gpgrt_process_release) (_gpgrt_process_wait_list, _gpgrt_spawn_helper): New. * src/spawn-w32.c: Ditto. 2024-04-26 Werner Koch argparse: Fix a theoretical memory leak. + commit a5f0e0b2f7897fc6ef1ab847146e16ef64d1d4a7 * src/argparse.c (store_alias): Free NAME because it has ownerhip here. Take care P is actually a pointer into NAME. 2024-04-25 Werner Koch Release 1.49. + commit faed9c271ad22bbd2ed265d8e11badb53b7a2f32 logging: New function gpgrt_logv_domain. + commit 2f9a0895a103f0baf1c2ea38662112c1359bdb90 * src/gpg-error.h.in (gpgrt_logv_domain): New. Also add printf attributes to the other logv functions. * src/visibility.c (gpgrt_logv_domain): New. 2024-04-22 Werner Koch core: New function gpgrt_add_post_log_func. + commit 319a505623c197d06ca3e76f30691fe65a982d6f * src/gpg-error.h.in (gpgrt_add_post_log_func): New. * src/gpg-error.vers: Add new function * src/gpg-error.def.in: Ditto. * src/visibility.c (gpgrt_add_post_log_func): New. * src/logging.c (struct post_log_func_item_s): New. (post_log_func_list): New. (_gpgrt_add_post_log_func): new. (run_post_log_funcs): New. (_gpgrt_logv_internal): Call for fatal and bug log levels. 2024-04-19 Werner Koch logging: Indent continuation lines of log_printhex. + commit 6ab3e9ac43ba104f557d538db100953ae6245076 * src/logging.c (_gpgrt_logv_internal): Change to return the length w/o prefix. (_gpgrt_logv_printhex): Indent wrapped lines properly. 2024-04-12 Werner Koch logging: Add a truncate keyword to log_printhex. + commit 0a39fbefcb55379de1cdf1049de303c5ca0691b3 * src/logging.c (_gpgrt_logv_printhex): Add keyword support. 2024-04-08 Werner Koch argparser: avoid endless loop due to a conf file read error. + commit 2dc93cfecc7a7b22fd08365a789b8c6c4b8cc36c * src/argparse.c (struct _gpgrt_argparse_internal_s): Add forceeof flag. (initialize): Clear. (_gpgrt_argparse): Clear. (_gpgrt_argparse): Act upon. 2024-02-23 Werner Koch Release 1.48. + commit 77b7c5ff6b756870811acaff53df0ebf1e5c2368 2024-02-21 Werner Koch argparse: Adjust help output for command mode. + commit c3b6eaedd8707bca9892a0e188bf04532ca70818 * src/argparse.c (show_help): Adjust for command style options. 2024-02-06 Werner Koch core: Add "wipe" mode flag. + commit 49507cf6977f6c9fce1b651ae808e37b63fc3e4e * src/gpgrt-int.h (struct _gpgrt_stream_internal): Add field "wipe". * src/estream.c (mem_free2): New. (struct estream_cookie_mem): Add flag "wipe". (func_mem_create): Add arg wipe. (func_mem_destroy): Wipe. (X_WIPE): New. (parse_mode): Parse "wipe" mode flag. (init_stream_obj): Set it. (do_close): Wipe internal struct with its static buffers. (doreadline): Pass wipe mode along to help buffer. (_gpgrt_mopen): Pass wipe mode. (_gpgrt_fopenmem): Ditto. core: New function gpgrt_wipememory. + commit 1fdd8749014cf390d6ea9dd4350146473362044e * src/init.c (_gpgrt_wipememory): New. * src/visibility.c (gpgrt_wipememory): New. * src/visibility.h: Add it. * src/gpg-error.def.in: Ditto. * src/gpg-error.vers: Ditto. argparser: Implement a command mode. + commit b113114c7498fc6c48065a8c4816c610c6f08198 * src/gpg-error.h.in (ARGPARSE_FLAG_COMMAND): New. * src/argparse.c (struct _gpgrt_argparse_internal_s): Add flags explicit_cmd_mode, cmd_mode, and command_seen. (initialize): Init them. Mark default commands as commands. (handle_meta_command): New. (handle_metacmd): Add "command-mode" and "-command-mode". (find_long_option): Add arg only_commands. (arg_parse): Factor some code out to ... (handle_special_commands): new. (arg_parse): Implement the command-mode. * tests/t-argparse.c (main): Add some testing code. 2024-02-01 Jakub Jelen gpgrt-config: Avoid warning about literals for curly braces. + commit ae6fec7399d77e4e3a63287d94b1366ad121b505 * src/gpgrt-config.in: Fix the pattern match for an expression with variable in the ".pc" config file. 2024-01-16 NIIBE Yutaka estream: Fix call to string filter for estream-printf. + commit 4a9def77488f2631f71737357d9e9dd874c9b302 * src/estream-printf.c (pr_string): Make sure to prepare NUL-terminated string to call the string filter. 2024-01-15 Ineiev po: Update Russian translation. + commit 521e8d4db70c5cf4d4977d93f9ff7adce5de023f 2024-01-15 Jakub Bogusz po: update Polish translation. + commit 5142d0d7a2a3b52456010d47bac44322009bb31a 2023-11-16 NIIBE Yutaka yat2m: Fix HTML output for backslash. + commit f83eac17363a8c76c10b06712ba3dd39146f36b4 * doc/yat2m.c (proc_texi_buffer): Use &bsol. 2023-11-15 NIIBE Yutaka yat2m: Implement @item handling with @table item specification. + commit e31d65345bcb420a2e0ee609d91322abfde4aa44 * doc/yat2m.c (MAX_TABLE_NESTING): New. (table_item_stack): New. (proc_texi_cmd): Add @gcctabopt and @gnupgtabopt. Add handling of @item argument with proc_texi_buffer. Add handling of @table argument, push to table_item_stack. yat2m: Also handle @file treating '-' as minus. + commit cfb1871240c4d12c2d2b7c92e2ef7afb30692f88 * doc/yat2m.c (proc_texi_cmd): It's minus for @file. 2023-11-14 NIIBE Yutaka yat2m: Output \- for @samp, @kbd, and @env, too. + commit 7375b4c0acedc6333c9074db14a15fc2949f7752 * doc/yat2m.c (proc_texi_cmd): Support more commands. 2023-11-09 NIIBE Yutaka yat2m: Generate \- for roff for some commands. + commit 3534e2cc73f9339acc8d154e9551339e544507c6 * doc/yat2m.c (proc_texi_cmd): New flag to enable generating \- for roff for @command, @code, @url and @option for their argument, and @example and @smallexample until their @end. (proc_texi_buffer): Emit \- when enabled. 2023-11-07 NIIBE Yutaka yat2m: Add support of @minus{} command. + commit 8275d716bae68124c4c6bebde5305aed1dad5cd4 * doc/yat2m.c (proc_texi_cmd): Support @minus. yat2m: Use \fP to return previous font. + commit ab6324e5787a00d2f42638277542bc96b91de52e * doc/yat2m.c (proc_texi_cmd): Use \fP instead of \fR. yat2m: Fix backslash output in man. + commit 6fe51354634361970761095f71e278b90b0dd4e7 * doc/yat2m.c (proc_texi_buffer): Use \[rs] for backslash. 2023-11-07 Ben Kibbey yat2m: Parse @dots{} to show ellipsis in HTML mode. + commit db81ea1219e2baad0fadbc665465d3d03cbb4de2 * doc/yat2m.c (proc_texi_cmd): Add "dots" to comamnd table and output "..." in manpages and ellipsis in HTML mode. 2023-11-06 NIIBE Yutaka yat2m: No en-dash and em-dash for @item line. + commit 260f709413d8df6d0f2e65fb21685f8ce3038f5f * doc/yat2m.c (proc_texi_cmd): Disable parsing for dashes for @item. 2023-11-02 NIIBE Yutaka yat2m: Interpret -- and --- verbatimly in @example. + commit c57e1b1435e6a09e547b18df6c458f9f32a1a513 * doc/yat2m.c (example_cmd_active): New. (proc_texi_cmd): Don't apply the processing for en-dash and em-dash when it's in @example/@smallexample. yat2m: Support Texinfo input -- and ---. + commit 82a8e2cece08fa0ca6aff9bdf62414731d384083 * doc/yat2m.c (proc_texi_buffer): Handle en-dash and em-dash. 2023-10-05 NIIBE Yutaka doc: Minor style fix. + commit 53d9d77a496f5b6bc6616a95abfc053f396c1a12 2023-09-27 NIIBE Yutaka estream: String filter should NOT be called with non-nul string. + commit 0fc740ffca848d17b8c71d1682de1e29b24db3cb * src/estream-printf.c (pr_string): Call the string filter function SF conditionally to avoid possible SEGV. 2023-09-01 NIIBE Yutaka Fix the previous commit. + commit 19d7ec4bfeda6222b11ac92cd4509850322727fc build: Change the default for --with-libtool-modification. + commit 071effebcf7db745f5d3bc2b8bb43ffaac54366e * configure.ac (--with-libtool-modification): default=never. 2023-08-09 NIIBE Yutaka build: Update libtool-patch.sed. + commit b369ef64e05a2336eb98a28a55dd02193aefaefa * build-aux/libtool-patch.sed: Fail with exit code 1, when it doesn't go well. 2023-08-08 NIIBE Yutaka build: Use sed for --with-libtool-modification. + commit 8dd210e9e15905f8c6d155c64b09378d65382335 * configure.ac (--with-libtool-modification): Use sed. 2023-08-04 NIIBE Yutaka build: Add build-aux/libtool.patch in the tarball. + commit 03a3b3c02cf220c6e7ee1acecef7403a64ddf4a3 * Makefile.am (EXTRA_DIST): build-aux/libtool.patch. 2023-08-02 NIIBE Yutaka build: New configure option --with-libtool-modification. + commit 64532db11fcda9b886df74c00c730108852f4f52 * configure.ac (--with-libtool-modification): New. 2023-07-28 NIIBE Yutaka build: Fix libtool modification. + commit e0286bf0a22861f8eadb70a077644a2925baff00 * build-aux/ltmain.sh: Fix reverting mistake. * build-aux/libtool.patch: Regenerate and fix whitespace mistake. * configure.ac [x86_64-*mingw32*] (libtool-patch): Exit when failed. build: Support --verbose option for mkheader. + commit ab8b4d58035f4d3093b1df7c25c227e15b673f42 * src/mkheader.c (include_file): Only emit the notification when invoked with --verbose. (main): Add --verbose handling. build: Apply libtool.patch at the last stage of configure. + commit c1d3f5952f621a553c122cee7a20e990d982a715 * build-aux/libtool.patch: New. * build-aux/ltmain.sh: Revert our local change to original. * configure.ac [x86_64-*mingw32*] (libtool-patch): Introduce a construct with AC_CONFIG_COMMANDS to apply build-aux/libtool.patch after libtool generation. 2023-07-27 NIIBE Yutaka yat2m: No additional newline after the end of subsection. + commit da48e3cb30be2897b733dbc9db271bfa166fd260 * doc/yat2m.c (proc_texi_buffer): Add 'break' in switch. build: Recover the local change for libtool. + commit ff2763c46c7a8f8f9f77f665060f1dc70e515e20 * ltmain.sh: Prefix the SO number for W64 with a "6". build: Update libtool from version 2.4.7. + commit 692c2990598689de1dae5867b0e966d7ffeae747 * build-aux/compile, build-aux/depcomp, build-aux/ltmain.sh: Update. * m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4: Update. * m4/ltversion.m4, m4/lt~obsolete.m4: Update. build: Update autobuild.m4 from autobuild 5.3. + commit f599ff4988dbf6739e020ee21c7e957387cc3237 * m4/autobuild.m4: Update. 2023-07-17 NIIBE Yutaka gpgscm: Incorporate changes from GnuPG. + commit 0e8105a364c8cac68a254b5617a83987cc44fcff * gpgscm/scheme.c [__GNUC__] (type_to_string): Use __builtin_unreachable for GCC. * gpgscm/ffi.c (do_get_temp_path): Remove the last backslash. * gpgscm/ffi.c (do_chdir): Use gpg_error_from_syserror. 2023-06-12 Werner Koch yat2m: Fix Windows build. + commit 3faf11925549260c3822660a2b83785a68326664 * doc/yat2m.c (mystpcpy): New. Use instead of stpcpy. 2023-06-09 Werner Koch w32: Map ERROR_FILE_INVALID to EIO. + commit 32213bb48ea3520588f59ac96456adc156e2c4e8 * src/estream.c (map_w32_to_errno): Add a mapping. yat2m: Add option --gnupgorg. + commit 93d764498895e4cc9bdf14ac4c0cb41431946066 2023-06-01 Werner Koch yat2m: Some basic HTML formatting works now. + commit 43dcdbff50fa33728ab4717cacdf8ff600aea3b9 * doc/yat2m.c: Lots of changes for option --html. 2023-05-26 NIIBE Yutaka Add GNU system support for cross compilation. + commit 6877540eb1fcc159302b1722264e1059c9f32bc1 * configure.ac: Cross compile should work well for GNU system. 2023-05-24 Werner Koch core: New mode flag "sequential" for gpgrt_fopen. + commit 7a42ff0ec971f4f2add28b0edad6cf381b5b8acc * src/estream.c (X_SEQUENTIAL): New. (func_file_create_w32): Add arg flags_and_attrs, (parse_mode): Parse the new "sequenial" flag. (_gpgrt_fopen): Use the sequenial flag in sysopen mode under Windows. 2023-05-17 NIIBE Yutaka w32: Use _putenv_s when available. + commit 89e53ad90f3aa4ee4379b91a8c8965bc87a39c53 * src/sysutils.c (_gpgrt_setenv): Use _putenv_s when the macro _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES is defined. 2023-05-12 NIIBE Yutaka tests: Use -no-fast-install LDFLAGS for Windows. + commit dfdd07c3c488735d87c13f89270eeb4fa5714ef8 * tests/Makefile.am [HAVE_W32_SYSTEM] (AM_LDFLAGS): Conditionalize. 2023-04-10 NIIBE Yutaka gpgrt-config: Simplify to set gpgrt_libdir. + commit 9c17795ec25f3cb7cfd08cc1f9c5dcc1f33ec296 * src/gpgrt-config.in (determine_gpgrt_libdir): Merge the two cases. 2023-04-06 Werner Koch Release 1.47. + commit a25cea92798a5ece3f49924911507f5335915ecc build: Make distcheck work again. + commit bcc16b4cd00f02fbb824a9b6fc69e00fc6458b19 * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add with --install-gpg-error-config. core: New error codes for PUKs and reset codes. + commit 0262cd3371cf9794be94851955fec099b0e1fab5 * src/err-codes.h.in (GPG_ERR_BAD_PUK): New (GPG_ERR_NO_RESET_CODE, GPG_ERR_BAD_RESET_CODE): New. 2023-04-04 NIIBE Yutaka core: Add GPG_ERR_SOURCE_TKD. + commit 1a382660855fb46da86980797acc50af1718c359 * src/err-sources.h.in (GPG_ERR_SOURCE_TKD): New. 2023-04-01 NIIBE Yutaka m4: Fix behavior with older gpg-error-config and gpgrt-config. + commit c61e831b6f0c3c4bc9047e583ad3261bd9babefc * src/gpg-error.m4 (_AM_PATH_GPGRT_CONFIG): Set the variable gpg_error_config_version on error with gpgrt-config. 2023-03-23 NIIBE Yutaka m4: Fallback to $possible_libdir1, when not found with $CC. + commit ed36ba06f907c0d67f8a60930dc329d58a4cd77d * src/gpg-error.m4: Try $possible_libdir1 for gpgrt_libdir. 2023-03-21 Werner Koch Avoid segv in logging with improper use of the "socket://" . + commit 68333be63042be281a497a5751474e9e3d119dc3 * src/logging.c (fun_writer): Protect calling socket_dir_cb if not set. 2023-03-15 Werner Koch build: Improve the beta numbering by autogen.sh. + commit fbbc55b3febef6d22dae5e2675c75b1d1f561b09 * autogen.sh: Introduce a 3rd matchstr and simplify rules. 2022-12-16 Werner Koch core: Fix translations of --help. + commit 885a287a57cf060b4c5b441822c09d23b8dee2bd * src/argparse.c (show_help): Do not translate the empty string. 2022-12-13 pengyi NIIBE Yutaka Add more tests for t-printf and t-strerror. + commit 72e0fb3fc858301de7b200e1c08da6904ab44bc0 * tests/t-printf.c (check_fwrite): New. (main): Add check_fwrite. * tests/t-strerror.c (main): Add three more cases to LIST. 2022-12-05 NIIBE Yutaka Handle strerror_r failure on non-GNU systems. + commit be94bcf6aace55e319a203c6b60e31b1c204b0dc * src/strerror.c (system_strerror_r): Make sure to fill the buffer. 2022-11-29 NIIBE Yutaka gpgrt-config: Support a simple invocation. + commit 3f812a0f5df8aaa82372ea0c40573703119ed83d * src/gpgrt-config.in (determine_gpgrt_libdir): New. 2022-11-29 NIIBE Yutaka Andreas Metzler doc: Add man page of gpgrt-config. + commit 4c6890aca2d0234fdc3da4678a003160091dc0dd * doc/Makefile.am (myman_pages): Add gpgrt-config.1. * doc/gpgrt.texi: Add gpgrt-config.1. 2022-11-15 NIIBE Yutaka gpg-error.m4: Factor out _AM_PATH_GPGRT_CONFIG. + commit 788f63347eda2d35ba5d9dad5e339743343d2f66 * src/gpg-error.m4 (_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG): New. (_AM_PATH_GPGRT_CONFIG): New. (AM_PATH_GPG_ERROR): Use _AM_PATH_POSSIBLE_GPG_ERROR_CONFIG and _AM_PATH_GPGRT_CONFIG. Revert "spawn: Expose spawn functions." + commit c580094dbe97249caebdedbf0f584e604fd20240 This reverts commit 43c1e85fe29a52a9debc068d97c5860a4694b821. 2022-11-04 NIIBE Yutaka spawn: Introduce gpgrt_process_t and use it for spawn API. + commit 5d30adb5ad376a07576b258b9395adadf5576867 * configure.ac (AC_FUNC_FORK): No use. * src/gpg-error.h.in (@define:gpgrt_process_t@): New. (@define:pid_t@): Remove. (gpgrt_spawn_process, gpgrt_spawn_process_fd): Use gpgrt_process_t. (gpgrt_wait_process, gpgrt_wait_processes): Likewise. (gpgrt_kill_process, gpgrt_release_process): Likewise. * src/gpgrt-int.h (_gpgrt_spawn_process): Likewise. (_gpgrt_spawn_process_fd): Likewise. (_gpgrt_wait_process, _gpgrt_wait_processes): Likewise. (_gpgrt_kill_process, _gpgrt_release_process): Likewise. * src/mkheader.c (write_special): Handle @define:gpgrt_process_t@. Remove handling of @define:pid_t@. * src/spawn-posix.c (_gpgrt_spawn_process): Use gpgrt_process_t. (_gpgrt_spawn_process_fd): Likewise. (_gpgrt_wait_process, _gpgrt_wait_processes): Likewise. (_gpgrt_kill_process, _gpgrt_release_process): Likewise. * src/spawn-w32.c (_gpgrt_spawn_process): Use gpgrt_process_t. (_gpgrt_spawn_process_fd): Likewise. (_gpgrt_wait_process, _gpgrt_wait_processes): Likewise. (_gpgrt_kill_process, _gpgrt_release_process): Likewise. 2022-10-31 NIIBE Yutaka spawn: Fix spawn_cb of gpgrt_spawn_process_fd. + commit 6c20e8393eba4a9f330143b2158e28ea594cbadd * src/gpg-error.def.in (gpgrt_close_all_fds): New. * src/gpg-error.vers (gpgrt_close_all_fds): New. * src/gpg-error.h.in (GPGRT_SPAWN_INHERIT_FILE): New. (gpgrt_spawn_process_fd): SPAWN_CB having return value. * src/gpgrt-int.h (_gpgrt_spawn_process_fd): SPAWN_CB change. * src/spawn-posix.c (_gpgrt_close_all_fds): Rename from close_all_fds, and export it. (do_exec): Support the case not closing fds. (_gpgrt_spawn_process_fd): Handle return value of SPAWN_CB to determine closing all fds or not. * src/spawn-w32.c (_gpgrt_spawn_process_fd): Run SPAWN_CB. (_gpgrt_close_all_fds): New. * src/visibility.c (gpgrt_close_all_fds): New. * src/visibility.h (gpgrt_close_all_fds): New. 2022-10-27 NIIBE Yutaka spawn: Expose spawn functions. + commit 43c1e85fe29a52a9debc068d97c5860a4694b821 * src/gpg-error.def.in: Update. * src/gpg-error.vers: Update. * src/gpg-error.h.in: Add declarations. * src/visibility.c: Add implementations. * src/visibility.h: Expose them. 2022-10-20 NIIBE Yutaka gpgrt_spawn_process, gpgrt_spawn_process_fd: Change the API. + commit 5ad97e8fa62882b2014a67b4e57dab3b37ccaf4c * src/gpg-error.h.in (gpgrt_spawn_process): Remove PREEXEC argument. (gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. * src/gpgrt-int.h (_gpgrt_spawn_process): Remove PREEXEC argument. (_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. * src/spawn-posix.c (do_exec): Remove PREEXEC argument. (_gpgrt_spawn_process): Remove PREEXEC argument. (_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. (_gpgrt_spawn_process_detached): Follow the change of do_exec. * src/spawn-w32.c (_gpgrt_spawn_process): Remove PREEXEC argument. (_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. * src/visibility.c (gpgrt_spawn_process): Remove PREEXEC argument. (gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. 2022-10-19 NIIBE Yutaka spawn: Update changes from gnupg. + commit 494886acb0bf3d536f4e620340e42c8ec8947742 * src/gpg-error.h.in (GPGRT_SPAWN_KEEP_STDIN): New. (GPGRT_SPAWN_KEEP_STDOUT, GPGRT_SPAWN_KEEP_STDERR): New. * src/gpgrt-int.h: Add comment. * src/spawn-posix.c (do_exec): Add the argument FLAGS. (_gpgrt_spawn_process): Add FLAGS. (_gpgrt_spawn_process_fd): Follow the change. (_gpgrt_spawn_process_detached): Likewise. * src/spawn-w32.c (_gpgrt_spawn_process): Handle FLAGS. 2022-10-11 NIIBE Yutaka build: Remove potomo from repo. + commit be4f289a5c09f43cb6b893bdc709a743a100be15 * potomo: Remove. 2022-10-07 Werner Koch Release 1.46. + commit ea031873aa9642831017937fd33e9009d514ee07 2022-09-21 Damien Goutte-Gattat m4: Fix detection of gpgrt's libdir. + commit 628cb1a786bd5d420be17c2e9ffd407f4fbf517e * src/gpg-error.m4 (GPGRT_CONFIG): Handle the case where none of the system lib directories contain a pkgconfig subdirectory. 2022-09-19 Damien Goutte-Gattat via Gnupg-devel build: Fix installation of gpg-error-config.1. + commit b5043421d2b3ff5999e88808737ff400bf15b0ee * doc/Makefile.am (myman_pages): Rename man page to gpg-error-config.1 and only install if gpg-error-config itself is installed. 2022-09-15 NIIBE Yutaka yat2m: Use __noreturn__ attribute. + commit a86ad1cbb6bd83cb30ab87f5ad1c70077288a8da * doc/yat2m.c (ATTR_NR_PRINTF): Use __noreturn__. Remove extra semicolons. + commit 6f103890e9728072e1c9c1e0a1d7f87220d8eecc * src/gpgrt-int.h: Remove extra. * src/visibility.h: Likewise. 2022-09-08 NIIBE Yutaka Silence compiler warnings. + commit 10dc853291a1786f061e01cdcf477be0c31441b1 * src/argparse.c (show_version): It's no args. (_gpgrt_log_get_fd, _gpgrt_log_get_stream): Likewise. 2022-08-25 NIIBE Yutaka gpgrt-config: Strip system paths for --cflags and --libs. + commit 4615816f71e91f4c3bb8b0e4122dd153ec7c1927 * src/gpgrt-config.in: Strip -I and -L with system paths. 2022-08-17 Ingo Klöcker build: Omit -L for standard paths on some 64-bit systems. + commit fcb19dbfd49338e5c282e2853d71d66a0594d3c1 * configure.ac (GPG_ERROR_CONFIG_LIBS): Handle the case $libdir = '${exec_prefix}/lib64'. 2022-08-15 NIIBE Yutaka build: Only install gpg-error-config when enabled. + commit 0b47de9c719b0ed0da0791f0525de073737bde5a * configure.ac (INSTALL_GPG_ERROR_CONFIG): New. * src/Makefile.am (bin_SCRIPTS, noinst_SCRIPTS): Conditionalize. 2022-08-02 Werner Koch w32: Convert REG_DWORD values to a string. + commit 745d333cf7b5b6fee62e3b26c8a2ccc004e017da * src/w32-reg.c (_gpgrt_w32_reg_query_string): Handle REG_DWORD 2022-07-28 NIIBE Yutaka w32: Fix for bidirectional pipe. + commit 25701f105b947500f920eb5a13e328f8f7843d38 * src/estream.c (func_w32_seek): Return an error with ESPIPE, when it's pipe. 2022-07-22 NIIBE Yutaka doc: Update gpgrt.texi for old gpg-error-config script. + commit 1e7d0d3ef627f3cdee70b8409f04d7e2ecf4fdd6 * doc/gpgrt.texi: Address pkg-config. Manual entry is for gpg-error-config. gpgrt-config is an internal command for gpg-error.m4. 2022-07-19 NIIBE Yutaka build: Fix configure script. + commit 64bcee3c467d837694d225e15981ea76ebf7e7b9 * configure.ac (AC_HEADER_TIME): Remove obsolete AC macro. (AC_CHECK_SIZEOF(time_t)): Remove unneeded check. build: Update config.guess, config.sub, and config.rpath. + commit b1b808f30f83e92e7d30a9336588c15553699a7b * build-aux/config.guess: Update from upstream. * build-aux/config.sub: Ditto. * build-aux/config.rpath: Update from gettext 0.21. 2022-06-28 NIIBE Yutaka Remove Windows CE support. + commit 14ead267268f8ed14bf1ab49189646a95654b706 * contrib/*: Remove. * Makefile.am: Remove contrib. * autogen.sh: Remove Windows CE support. * configure.ac (have_w32ce_system): Remove. * src/Makefile.am [HAVE_W32CE_SYSTEM] (extra_cppflags): Remove. (gpg_extra_headers): Remove. (EXTRA_DIST): Remove mkw32errmap.c and w32ce-add.h (BUILT_SOURCES): Remove mkw32errmap.map.c. (tmp_files): Remove mkw32errmap.tab.h mkw32errmap.map.c (CLEANFILES): Likewise. * src/estream-printf.c [HAVE_W32CE_SYSTEM]: Remove. * src/estream.c [HAVE_W32CE_SYSTEM]: Remove. * src/gpg-error.def.in [HAVE_W32CE_SYSTEM]: Remove. * src/gpgrt-int.h: Fix comment. * src/init.c [HAVE_W32CE_SYSTEM]: Remove. * src/init.h [HAVE_W32CE_SYSTEM]: Remove. * src/mkheader.c: Remove Windows CE support. * src/mkw32errmap.c, src/w32ce-add.h: Remove. * src/spawn-posix.c [HAVE_W32CE_SYSTEM]: Remove. * src/spawn-w32.c [HAVE_W32CE_SYSTEM]: Remove. * src/sysutils.c [HAVE_W32CE_SYSTEM]: Remove. * src/w32-estream.c [HAVE_W32CE_SYSTEM]: Remove. * src/w32-reg.c [HAVE_W32CE_SYSTEM]: Remove. * tests/Makefile.am [HAVE_W32CE_SYSTEM]: Remove. Typo fix in autogen.sh. + commit 084d135f44a027e86f1005c893935464ffbc4b82 * autogen.sh: Fix typo. 2022-04-07 Werner Koch Release 1.45. + commit dbac537e5e865fb6f3aa8596d213aa8c47a9dea1 2022-04-07 NIIBE Yutaka logging: Fix the previous commit. + commit 74e6afcc36b28b0acc49fbe25f29b42d1a223caf * src/logging.c (set_file_fd): Open with append mode. logging: Fix gpgrt_log_get_fd for file. + commit 5ef201c10b1cc870ae06e34ad02bb5da0a763bfe * src/logging.c (fun_writer): Only use this for socket writing. (set_file_fd): Use es_stderr when "-". Use the stream by _gpgrt_fdopen when FD is specified. Use the stream by _gpgrt_fopen when name is not socket. Only use the stream by _gpgrt_fopencookie for socket. [HAVE_W32CE_SYSTEM]: Remove W32CE support. 2022-04-04 NIIBE Yutaka w32: Add ES_SYSHD_SOCK support for gpgrt_sysopen. + commit 018ea46a30cf4eda70070ba42c4fee642fb2fd8a * src/mkheader.c (write_special): Support @SOCKET_t@ substitution. * src/gpgrt-int.h (gpgrt_stream_backend_kind_t): Add BACKEND_SOCK. * src/gpg-error.h.in (struct _gpgrt_syshd): Use @SOCKET_t@. * src/estream.c [HAVE_W32_SYSTEM] (estream_cookie_sock_t): New. [HAVE_W32_SYSTEM] (func_sock_create, func_sock_read): New. [HAVE_W32_SYSTEM] (func_sock_write, func_sock_seek): New. [HAVE_W32_SYSTEM] (func_sock_destroy, func_sock_ioctl): New. [HAVE_W32_SYSTEM] (estream_functions_sock, do_sockopen): New. [HAVE_W32_SYSTEM] (do_sysopen): Call do_sockopen. 2022-03-29 NIIBE Yutaka w32: Fix handle_to_pid for MinGW-w64. + commit 660db9c9a90f377fc14a5d659d974d68d782b2d1 * src/spawn-w32.c (handle_to_pid): Use pid_t to coerce the type. 2022-03-28 NIIBE Yutaka core: Fix support of posix-lock for FreeBSD. + commit 6e17e70bb7eea1f6ed4c08f795ea65a09f89d38f * src/posix-lock.c [__FreeBSD__] (use_pthread_p): Use pthread_key_create to determine if it's linked to lpthread or not. yat2m: Only emit a message of the page with --verbose option. + commit 70489b4f75c0afcb1b5c65e579b231d8f657b8c6 * doc/yat2m.c (finish_page): Conditionalize the output with VERBOSE. 2022-03-25 NIIBE Yutaka w32: Fix for MinGW which doesn't define EOPNOTSUPP. + commit 8e67e8c3f21c798ff1f4862b0e7228825e6dd4f6 * src/w32-estream.c: Add EOPNOTSUPP. 2022-03-04 Werner Koch w32: Support file names longer than MAX_PATH. + commit 32dad4e4135f0bdc436ed684da753d4b0cdb0ea1 * src/sysutils.c (any8bitchar): Remove. (_gpgrt_fname_to_wchar): New. (_gpgrt_mkdir): Use instead of plain utf8 conversion. (_gpgrt_access): Reimplement using GetFileAttributesW so that long files names are supported. * src/estream.c (_gpgrt_w32_get_last_err_code): New. (func_file_create_w32): New. (_gpgrt_fopen): Handle the "sysopen" mode flag. Support mapping of /dev/null. (_gpgrt_freopen): Support mapping of /dev/null. * src/w32-gettext.c (load_domain): Allow long file names. * src/visibility.c (gpgrt_free_wchar): Make function public. (gpgrt_fname_to_wchar): Ditto. (gpgrt_utf8_to_wchar): Ditto. (gpgrt_wchar_to_utf8): Ditto. * src/w32-add.h (gpgrt_free_wchar): New prototype. (gpgrt_fname_to_wchar): Ditto. (gpgrt_utf8_to_wchar): Ditto. (gpgrt_wchar_to_utf8): Ditto. * src/gpg-error.def.in: Add them here too. 2022-02-17 NIIBE Yutaka gpg-error.m4: Fix use with older gpgrt-config (< 1.33). + commit 666d64d2bc6539d0ca03dea69abc5a8ccdf37be5 * src/gpg-error.m4: When gpgrt-config doesn't work expected for gpg-error.pc, unset GPGRT_CONFIG. 2022-02-01 NIIBE Yutaka build,tests: Fix detection of have_lock_optimization. + commit 433aba9e778ebe9500c29ae1ae34999d48e98a19 * configure.ac: Lock optimization (without sys/single_threaded.h) is only known to work on GNU system, using weak symbol. 2022-01-27 Werner Koch Release 1.44. + commit 54eff9cb9ac86809f3217179eb1029058d4a7936 * configure.ac: Bump LT version to C32/A32/R2. 2022-01-27 Emir SARI Add Turkish translations. + commit 663b91fe91af0bb290fe18092896a8917bf51e14 2022-01-25 Werner Koch core: Fix returning of option attributes for options with args. + commit 5ab088aba9f05b480c311e94d45a88728ac9320b * src/argparse.c (_gpgrt_argparse): Set attributes info flags 2022-01-18 Daniel Kahn Gillmor build: Detect more flexible musl variants of GNU. + commit 0150919b6a8244be1055d01ad21d6fa47788ab0e * configure.ac: expand *-*-linux-musl to *-*-linux-musl*. 2022-01-18 NIIBE Yutaka po,w32: Directly run msgfmt at install-data-hook. + commit b26220f92fa668e185dbf2bcc5006c6e74b20073 * Makefile.am (EXTRA_DIST): Remove potomo. [HAVE_W32_SYSTEM] (install-data-hook): Run msgfmt. po: Update files from gettext 0.21 to match m4/po.m4. + commit b37c68f28a921d1c03507469f4af53e012ef7679 * po/Makefile.in.in: Update. * po/Makevars: Update. * po/Rules-quot: Update. * po/insert-header.sin: Update. * po/remove-potcdate.sin: Update. 2021-12-22 NIIBE Yutaka build: Recover and update *.m4. + commit 973dbdbfc90136798cfa4001166a40b904fdad70 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: Copied from gnulib. * m4/po.m4, m4/nls.m4, m4/progtest.m4: Likewise. * m4/gettext.m4, m4/iconv.m4: Update from gnulib. * m4/host-cpu-c-abi.m4: New from gnulib. build: Remove obsolete m4 files. + commit 980e4410bb0a372a7bcce5f454915e6565a56b96 * m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intmax.m4: Remove. * m4/inttypes-h.m4, m4/inttypes-pri.m4, m4/inttypes.m4: Remove. * m4/inttypes_h.m4, m4/isc-posix.m4, m4/lcmessage.m4: Remove. * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: Remove. * m4/longdouble.m4, m4/longlong.m4, m4/nls.m4, m4/po.m4: Remove. * m4/printf-posix.m4, m4/progtest.m4, m4/signed.m4: Remove. * m4/size_max.m4, m4/stdint_h.m4, m4/uintmax_t.m4: Remove. * m4/ulonglong.m4, m4/visibility.m4, m4/wchar_t.m4: Remove. * m4/wint_t.m4, m4/xsize.m4: Remove. 2021-12-17 NIIBE Yutaka tests: Fix gpg-error-config-test for PKG_CONFIG_LIBDIR. + commit 8d2bd9a0d4bba9b820bc03a9275441c39182d5b7 * src/gpg-error-config-test.sh.in: Clear PKG_CONFIG_LIBDIR. 2021-12-15 NIIBE Yutaka build: Update configure.ac for newer autoconf. + commit f5e043ad271f431f2c35fc6b22fc51b448507b01 * configure.ac (AC_PREREQ): Require 2.69 or later. (AC_CONFIG_HEADERS): Replace AC_CONFIG_HEADER. (AC_HEADER_STDC): Remove. * m4/codeset.m4: Update from gnulib. 2021-12-13 NIIBE Yutaka build: Fix have_lock_optimization code for 'guessing yes'. + commit f15c06951bb91eb0a4ab54f6707b6e21448945f9 * configure.ac: Support 'guessing yes' for gl_cv_have_weak. build: Detect a system with musl, as a variant of GNU System. + commit e17cf023d894acc3932505f66fbd9c31ce56793f * configure.ac: Add *-*-linux-musl. 2021-12-07 Jakub Jelen configure: Add missing check for logging. + commit 7fac8e02d80d139f43fc5fd179618ab769512124 * configure.ac: Add missing check for inet_pton to avoid using inet_addr in modern systems. 2021-11-29 NIIBE Yutaka tests,w32: Use CreatePipe and es_sysopen. + commit 858bcd4343ac40566825cfa861ee60bcc54cb6c8 * tests/t-poll.c (create_pipe): Use CreatePipe. 2021-11-25 NIIBE Yutaka build,tests: Run t-lock-single-posix only on platforms supported. + commit 50e0f32b19356fd7c64c799192379ff2204cd8a3 * configure.ac (HAVE_LOCK_OPTIMIZATION): New. * tests/Makefile.am: Use HAVE_LOCK_OPTIMIZATION for t-lock-single-posix. 2021-11-19 NIIBE Yutaka build: Fix dependency to gpg-error-config-test.sh. + commit 0fcfca8e9ffa25836f391df75f5b3bb1b7dc1a69 * src/Makefile.am (gpg-error-config): It depends on configure generated gpg-error-config-test.sh. 2021-11-12 NIIBE Yutaka build: Fix for configure generated files. + commit fd83c3e29744c8d7829df3de8c10f9c68f11e429 * src/Makefile.am (bin_SCRIPTS): Add gpgrt-config. (EXTRA_DIST): Add gpgrt-config.in and gpg-error-config-test.sh.in. (CLEANFILES): Add configure generated files. configure: Escape includedir/libdir to defer interpretation of vars. + commit 1e5b17f4284ea2904c65d08097735a1a4a8879a1 configure.ac: Escape includedir for GPG_ERROR_CONFIG_CFLAGS. Escape libdir for GPG_ERROR_CONFIG_LIBS. 2021-11-04 NIIBE Yutaka estream: Only include sys/select.h when needed. + commit 61843dace32f12475b1ade5423deaa0421cbbc0b * src/estream.c: The select function is only used when poll is not available. So, let it include the header file only when needed. 2021-11-03 Werner Koch Release 1.43. + commit d7fb04832a71a2c1509d45027798f184ca274f8d 2021-11-03 Ineiev po: Update Russian translation. + commit 983a1b491ea6dfa7bb1868a6ac41fb9222bbe301 2021-11-03 Werner Koch argparse: Add more system variables. + commit 62755bcd302eca755d52b80b62dc17ae0e683b75 * src/argparse.c (get_var): Fix "_windows", add "_gpgrtversion" and "strusageN". (handle_meta_if): Avoid evaluating inactive branches. * tests/t-argparse.conf: Add a few other outputs. 2021-10-31 Werner Koch argparse: Add support to read values from the Windows Registry. + commit b1790f4cc71f14422255bbfba78e91f037e035dd * src/argparse.c (struct variable_s): New. (struct _gpgrt_argparse_internal_s): New fields expand, if_cond, if_active and vartbl. (deinitialize): Free vartbl. (initialize): Clear new vars. (get_var): New. (substitute_vars): New. (set_variable): New. (handle_meta_if): New. (handle_meta_let): New. (handle_meta_getenv): New. (handle_meta_echo): Re-implement in terms of variabale substitution. (handle_meta_expand): New. (handle_metacmd): Add new meta commands. (_gpgrt_argparse): Expand values if enabled. (_gpgrt_argparse): Take care of conditions. (_gpgrt_argparser): Reset some state at the end of a file. * tests/etc/t-argparse.conf: Adjust for changed system variables. * tests/t-argparse.c (my_strusage): Add a value for a version test. (main): Add new option "street". * tests/t-argparse.conf: A couple if additions for the new conditions. 2021-10-22 Werner Koch core: new internal function _gpgrt_w32_reg_get_string. + commit 2a32501a561a5d70069bcb6e7e87fb949370520e * src/w32-reg.c (_gpgrt_w32_reg_query_string): Allow abbreviated root names. (_gpgrt_w32_reg_get_string): New. 2021-09-27 NIIBE Yutaka libtool: Link without -flat_namespace for macOS. + commit a3987e44970505a5540f9702c1e41292c22b69cf * m4/libtool.m4: Not setting 10.0 to MACOSX_DEPLOYMENT_TARGET when not defined. Only specify -flat_namespace to linker for specific (older) versions and hosts. 2021-09-10 NIIBE Yutaka gpgrt-config: Fix behavior when PKG_CONFIG_LIBDIR="". + commit 6b08dd09864e7fbb424296ad490f9fe65c9bc247 * src/gpgrt-config.in: Correctly detect the case. 2021-08-26 NIIBE Yutaka tests: Add a test for locking when single thread. + commit 2b476b3ebc1d13d681594c15505844766c0fbc4b * tests/Makefile.am (TESTS): Add t-lock-single-posix. * tests/t-lock-single-posix.c: New. 2021-08-06 NIIBE Yutaka posix-lock: Support GNU C library 2.34 or later. + commit 67595e8244ed67910f7372873cdbf674c2e85403 * configure.ac: Add check for sys/single_threaded.h. * src/posix-lock.c [USE_POSIX_THREADS_FROM_LIBC]: Use __libc_single_threaded to detect if it's single threaded. m4: Merge our local change for threadlib.m4. + commit 8538a83fd1b5e54d7dbe6dc9042cc74942e38e51 * m4/threadlib.m4: Add THREADLIB_CPPFLAGS support. m4: Update m4/threadlib.m4 from gnulib. + commit 7ad1ff9673e4589880170b9f84df93510b044814 * m4/threadlib.m4: Update. 2021-08-05 NIIBE Yutaka build: Simplify checking headers. + commit f8fe24a792321483baa7415e06640fb5077fcb13 * configure.ac (AC_HEADER_STDC): Remove stdlib.h. core: Minor clean up. + commit b82b0d7a8d8f69aec928a2c604c1260b34a08449 * src/stringutils.c: Remove inclusion of pwd.h. 2021-06-21 NIIBE Yutaka build: Fix --disable-threads. + commit 220a427b4f997ef6af1b2d4e82ef1dc96e0cd6ff * src/gen-lock-obj.sh: Fix generating '}}}'. 2021-06-08 NIIBE Yutaka core: Avoid truncation of error message in the middle of a character. + commit 6d19a40a8a23d9aa5d61ace247a5fea1bd103995 * configure.ac (AM_LANGINFO_CODESET): Add. * src/strerror.c (_gpg_strerror_r): Check the boundary of character. 2021-05-21 NIIBE Yutaka build: _DARWIN_C_SOURCE should be 1. + commit f9b50dafc5d3cc9d463be17b1d9e66817d4cb41c * configure.ac (*-apple-darwin*): Set _DARWIN_C_SOURCE 1. 2021-05-20 Werner Koch core: Make gpgrt_free robust against legacy free implementations. + commit 448bf7b01cade87f45fb39f455f37a6aadeeceda * src/init.c (_gpgrt_free): Shortcut NULL and save ERRNO. 2021-04-12 Jakub Jelen build,tests: Fix leaks of memory or file pointer. + commit ad062b0a5b7d598081405ecfb71b51540281a1b7 * src/mkheader.c (parse_config_h): Close FP. * tests/t-b64.c (test_b64enc_string): Free STATE. (test_b64dec_string): Free BUFFER. * tests/t-syserror.c (main): Close FP. 2021-04-08 NIIBE Yutaka core: Fix gpgrt_wait_processes, by skipping invalid PID. + commit 956c40f106ead6d0191bc183805021e70c15e760 * src/spawn-posix.c (_gpgrt_wait_processes): Skip invalid PID. 2021-04-07 NIIBE Yutaka build: Fix gpgrt-config for handling 'Requires' field. + commit 89a353f418f5e879ab5564ec0767a6cbdb19d51c * src/gpgrt-config.in (get_attr_l): Fix thinko for word split. 2021-03-31 NIIBE Yutaka m4: Fix previous commit. + commit 8536f82194ec21635cd017d7e0bd382106e196c6 m4: Support cross-compiling better. + commit 9b9c5dfa1020ce5a5a5e4954c58112d2707ec578 * src/gpg-error.m4 (GPGRT_CONFIG): Prefer the one under $prefix. (sed expression): Better compatibility to POSIX sed. 2021-03-26 David Michael build: Fix generation of lock-obj-pub.native.h for cross build. + commit 33593864cd54143db594c4237bba41e14179061c * src/gen-lock-obj.sh: Capture echo output with quotes. 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.