2018-05-02 Werner Koch <wk@gnupg.org>
Release 1.31.
+ commit 10a984d25048a09d1c489224bae866372e8066a1
* configure.ac: Set LT version to C24/A24/R2.
2018-05-01 Werner Koch <wk@gnupg.org>
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 <emma.peel@riseup.net>
po: new Spanish translation.
+ commit 7e2517a29619c35257b38aa137b6772e471d7e4e
2018-04-30 Werner Koch <wk@gnupg.org>
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 <gniibe@fsij.org>
doc: Fix yat2m build for cross compilation.
+ commit 792877a08ca7bc9d1377161dc9af374602a394cc
* doc/Makefile.am: Fix target of yat2m-for-build.
2018-04-12 NIIBE Yutaka <gniibe@fsij.org>
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 <gnupg-devel@gnupg.org>
build: Make sure version.texi is generated in time.
+ commit 8ef76d9373db16f1ca176f9c87c8dac2758c8b85
[[PGP Signed Part:Good signature from AA4373E6C82C78AD Damien Goutte-Gattat <dgouttegattat@incenp.org> (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 <wk@gnupg.org>
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 <gniibe@fsij.org>
doc: Support cross compilation for yat2m.
+ commit efc4769339d42a4a399c040c146cf4a29c02ea4f
* configure.ac (HAVE_YAT2M): New.
* doc/Makefile.am [CROSS_COMPILING]: Supported.
2018-03-22 Werner Koch <wk@gnupg.org>
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 <gniibe@fsij.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
Release 1.28.
+ commit e32342397eab85fed5ef709317cc50dc7cbc41a5
2018-02-28 NIIBE Yutaka <gniibe@fsij.org>
Karsten Merker <merker@debian.org>
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 <wk@gnupg.org>
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 <Thorsten.Behrens@CIB.de>
doc: clarify patch submission workflow.
+ commit 887530733d0486ab68ff351c4855f5450c2d50e6
2017-12-11 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <gniibe@fsij.org>
doc: minor fix for @xref.
+ commit 187e2ad24fb92210587beb779a1cc746821a169c
* doc/yat2m.c (proc_texi_cmd): Captalize "see" for xref.
2017-07-05 Justus Winter <justus@g10code.com>
doc: Implement simple '@ref'erences.
+ commit 55d560358f7ee4a8b68f98e051021a05d4c0bb1f
* doc/yat2m.c (proc_texi_cmd): Handle '@ref'.
2017-06-19 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <gniibe@fsij.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <gniibe@fsij.org>
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 <gniibe@fsij.org>
gpgscm: Fix test program.
+ commit e71c0d39d2fb896df85949a61811e3b19fd050d7
* tests/gpgscm/t-child.c (main): Fix for setmode.
2017-04-11 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <michael.haubenwallner@ssi-schaefer.com>
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 <gniibe@fsij.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
New error code GPG_ERR_INV_NAME.
+ commit 3a2ee6df5911728938a2fb56237b08f790841a0c
2017-02-17 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <gniibe@fsij.org>
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 <gniibe@fsij.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <dkg@fifthhorseman.net>
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 <wk@gnupg.org>
Fix macro GPGRT_GCC_VERSION.
+ commit 704c31992e8716bbe61e6d5751e125a64badeef0
* src/gpg-error.h.in (GPGRT_GCC_VERSION): Fix.
2017-01-02 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
Release 1.26.
+ commit 82266defa39901ec9f97533623af5638a35e5a77
* configure.ac: Bump LT version to C21/A21/R0.
2016-12-20 Justus Winter <justus@g10code.com>
tests: Move argument parser.
+ commit 5f16dec938ac6e337c6ff72981285385d75ec455
* tests/gpgme/gpgme-defs.scm (flag): Move...
* tests/gpgscm/tests.scm: ... over here.
2016-12-19 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
New error code GPG_ERR_TRY_LATER.
+ commit f02a657f0129b30700b2f36956ee37b40cc2da82
2016-12-12 Werner Koch <wk@gnupg.org>
New error code GPG_ERR_DNS_TIMEOUT.
+ commit 90b4dfad438900c7808b8c2995ba984fa3587bb2
New error codes to support libdns.
+ commit 56ab574c28586fccd95a08acdc9ee4962ab0db50
2016-12-08 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <neal@g10code.com>
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 <wk@gnupg.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <gniibe@fsij.org>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <aheinecke@intevation.de>
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 <wk@gnupg.org>
Change description of GPG_ERR_OPEN_KEYRING.
+ commit bae57a21cfab25ad11c82dc6e69d82d1f2f7a415
2016-11-10 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
Add error codes GPG_ERR_TOO_YOUNG and GPG_ERR_TOO_OLD.
+ commit 49e32eed4550869644d706352d683ddba5696d4e
2016-10-20 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
estream: Fix modestring parsing.
+ commit 0734f4863859257d18ca96f4b9be62be75fcffe1
* src/estream.c (parse_mode): Fix parsing the 'sysopen' flag.
2016-10-17 Justus Winter <justus@g10code.com>
gpgscm: Initialize nesting stack.
+ commit 7a262df038f495d27e2d8ec806ea0d47c925c88b
* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize nesting
stack.
2016-10-07 Justus Winter <justus@g10code.com>
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 <wk@gnupg.org>
Add error code USER_ID_EXISTS, NAME_EXISTS, and DUP_NAME.
+ commit 0c837a82207d0b19f9dabc8870ffb23d6a4ade64
2016-10-06 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <dkg@fifthhorseman.net>
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 <gniibe@fsij.org>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
New error code GPG_ERR_ENGINE_TOO_OLD.
+ commit b2640cb1f7b3b056ea4f8fe4b79d58fcd10ef93b
2016-08-12 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
gpgscm: Make function more general.
+ commit 593c5ac8553922a7cf8055c6f3d4d3ea6d0f8cb6
* tests/gpgscm/tests.scm (in-srcdir): Accept more path fragments.
2016-07-21 Justus Winter <justus@g10code.com>
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 <justus@g10code.com>
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 <justus@g10code.com>
gpgscm: Fix linking.
+ commit 4932ef5277957153f4d066f17feb47a4db2b923b
* tests/gpgscm/Makefile.am: Add -lintl.
2016-07-14 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <yann.morin.1998@free.fr>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <aheinecke@intevation.de>
Define EWOULDBLOCK in case it is not defined.
+ commit 65e967627b3d60f550c7d302227dcf9f797e437f
* src/estream.c (EWOULDBLOCK): Define fallback.
2016-07-02 Werner Koch <wk@gnupg.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <justus@g10code.com>
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 <justus@g10code.com>
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 <wk@gnupg.org>
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 <justus@g10code.com>
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 <wk@gnupg.org>
Release 1.23.
+ commit e444cacc74c488063336c196f0c01e98f67cf999
po: Update German translation.
+ commit d878afa4b884149dca587131bdf5b6d8f96227fa
2016-06-15 Jakub Bogusz <qboosh@pld-linux.org>
po: Update Polish translation.
+ commit b908104846a71cf8ae3d3323be6bbc6edcef6ee0
2016-06-15 Werner Koch <wk@gnupg.org>
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 <gniibe@fsij.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
Add GPG_ERR_SUBKEYS_EXP_OR_REV.
+ commit 1ee822f9ff73a9a302ad0eb298640797d735e62b
2016-05-07 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <gniibe@fsij.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <peter@lekensteyn.nl>
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 <somasis@exherbo.org>
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 <gniibe@fsij.org>
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 <gniibe@fsij.org>
Fix for Solaris.
+ commit 34b07146bbb0863436fc9381a84314b18bdfb807
* src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check LP64.
2016-02-26 NIIBE Yutaka <gniibe@fsij.org>
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 <wk@gnupg.org>
build: Create an SWDB file during "make distcheck"
+ commit 1e6c5a70b3b51f81d2fc1289129f6c3e1920ebcc
* Makefile.am (distcheck-hook): New.
2016-01-19 Werner Koch <wk@gnupg.org>
Add GPG_ERR_DB_CORRUPTED.
+ commit b3bb6e2cc31208a198e74b42ca495c08ebb00fc4
2016-01-13 Marek Vasut <marex@denx.de>
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 <gniibe@fsij.org>
po: Update Japanese translation.
+ commit 1814a9bdc15f00bcf6b13ad16857a4f4922fa1d7
2015-12-12 Werner Koch <wk@gnupg.org>
Release 1.21.
+ commit 425b7687b4f74a22b0aa760262cb8f13ae40dc26
* configure.ac: Set LT version to C17/A17/Ro.
2015-12-07 Andre Heinecke <aheinecke@intevation.de>
Fix windows 8bit encoding conversion.
+ commit 823e858cdf5eb6b9945a46478f9876819c16bcd3
* src/w32-gettext.c (wchar_to_native): Convert to ConsoleOutputCP.
2015-12-03 Justus Winter <justus@g10code.com>
tests: Fix read past buffer.
+ commit 68827cbba2083db40df92de1bc449a3d2d0e81ed
* tests/t-poll.c (test_poll): Fix read past buffer.
2015-11-19 Justus Winter <justus@g10code.com>
Avoid 'malloc' corner case.
+ commit 06af687beaa1f8e72a05bd3a057b73fecb158c3d
* src/init.c (_gpgrt_realloc): Avoid calling 'malloc(0)'.
2015-10-21 Werner Koch <wk@gnupg.org>
Add error codes NO_NAME, NO_KEY, and SERVER_FAILURE.
+ commit a144fa8863846dc3f6d34731741cd63251620837
2015-10-18 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <dkg@fifthhorseman.net>
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 <wk@gnupg.org>
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 <yurchor@ukr.net>
Update Ukrainian translation.
+ commit 17e4f727d9bd8e406bf977af445ef57201d23249
2015-08-25 Werner Koch <wk@gnupg.org>
Make configure option --disable-build-timestamp the default.
+ commit d328c4d72fa6d224117d7332082509c240a4f2fc
* configure.ac (BUILD_TIMESTAMP): Set to "<none>" 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 <wk@gnupg.org>
Add option --lib-version to the gpg-error tool.
+ commit d2e4bb4c77167a1ed10f1017a7d06a822bbd5135
* src/gpg-error.c (main): Add new option.
2015-07-24 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <gniibe@fsij.org>
po: Update Japanese translation.
+ commit 4171d61a97d9628532db84b590a9c135f360fa90
2015-04-10 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
Use assert to print diagnosicts before calling abort.
+ commit 56feff58d4fab92701ae77a1004af820b85e7f6c
* src/posix-lock.c: Add assert calls.
2015-03-24 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
Remove useless conditions.
+ commit b5cb32f979a80904ea58fc7531e43e2be2270573
* src/estream.c (fname_set_internal): Remove useless condition.
* src/mkheader.c (main): Ditto.
2015-03-06 Werner Koch <wk@gnupg.org>
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 <neal@gnu.org>
Correct URL.
+ commit b400d7c65daaf44f227073ddde7d06986afde786
2015-01-30 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
Add GPG_ERR_LEGACY_KEY.
+ commit 524d5bdee2954337e748428469972957663d497d
2015-01-05 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
Add GPG_ERR_REQUEST_TOO_SHORT and GPG_ERR_REQUEST_TOO_LONG.
+ commit a672a1510456f3f12769938ab95c50ec6904e42e
2014-12-15 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
Add GPG_ERR_FORBIDDEN.
+ commit 149fe98e1279b065edb06958d9a73a0c013c2db9
2014-11-26 Мирослав Николић <miroslavnikolic@rocketmail.com>
po: Add Serbian translation.
+ commit 210126d38096e764dd3a82da45f8b5f66309ecd5
2014-10-25 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
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 <dkg@fifthhorseman.net>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <dkg@fifthhorseman.net>
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 <wk@gnupg.org>
Add error codes for use by a TLS library.
+ commit d58fa35e89feddb71feeba8e39a016cd37c4be29
2014-09-24 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Allow ./configure to explicitly set libgpg-error's build timestamp.
+ commit d620005fd1a655d591fccb44639e22ea445e4554
* configure.ac: add --enable-build-timestamp
2014-09-24 Werner Koch <wk@gnupg.org>
Add new error source GPG_ERR_SOURCE_TLS.
+ commit efb2442458c8dd8d5af5a533dc09370b54f5f86f
2014-09-23 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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.
<gcc>: Add useful gcc warning options.
(estream_INIT): Call.
2014-08-12 Joe Hansen <joedalton2@yahoo.dk>
Update Danish translation.
+ commit 1be556e5bb1fb7262a1b5630ac939cfcaadc7100
* po/da.po: Update.
2014-08-10 Werner Koch <wk@gnupg.org>
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 <gniibe@fsij.org>
Update ja.po.
+ commit 7b7e08e6f3561724006b63679c2500a62fc73837
2014-08-05 Werner Koch <wk@gnupg.org>
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 <dkg@fifthhorseman.net>
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 <dkg@fifthhorseman.net>
Improve logging in a test module.
+ commit c7c41582574304974feac8bbd89b1460fbf6c92c
* tests/t-version.c (main): Print program name.
2014-06-25 Werner Koch <wk@gnupg.org>
Add missing prototype for build tool.
+ commit 51f9a8180ecbc24ed092bef5f2aa920a76769dcb
* src/gen-posix-lock-obj.c: Include string.h.
2014-06-10 Werner Koch <wk@gnupg.org>
New error code GPG_ERR_KEY_DISABLED.
+ commit 3fada688c0df6e3140e4fcaf59b9bcfcc7a70bf4
2014-04-15 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <digit@google.com>
Update libtool to support Android.
+ commit bf0d67dbfa4161e529781d6dfbfcce7126c3bf22
* m4/libtool.m4: Add "linux*android*" case. Taken from the libtool
repository.
2013-11-17 Werner Koch <wk@gnupg.org>
Add GPG_ERR_MAC_ALGO.
+ commit b70a430d020e8541f66cca38c00355bab7bb1017
2013-07-15 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
Release 1.12.
+ commit 12243cebd558dcadf8e85eea39b6db5f0b314667
* configure.ac: Set LT version to C10/A10/R0.
Update German translation.
+ commit f85ef07dca7c931d63b202d94bfaccba0a30f7f6
2013-06-17 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
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 <wk@gnupg.org>
Update Italian translation.
+ commit 3034b80debc15e6372fbc36a1814b2d273d9e4a7
2012-08-09 Jordy Provost <jordy.provost@free.fr>
Typo fix.
+ commit 9216a742c75432fb2ea0ee1e1818459014e051c5
* src/err-codes.h.in: Unify uppercase.
2012-08-09 Freek de Kruijf <f.de.kruijf@gmail.com>
Update Dutch translation.
+ commit 10373c0d9f4a557ee9af5f1569749b9697a7ae33
* po/nl.po: Update.
2012-08-09 Petr Pisar <petr.pisar@atlas.cz>
Update Czech translation.
+ commit f95162ecc92f338bf244ffdb402ade617d207d7a
* po/cs.po: Update.
2012-08-09 Joe Hansen <joedalton2@yahoo.dk>
Add Danish translation.
+ commit 7adbeeb806d7cd373a159b0acfc9b733a3295356
* po/da.po: New.
* po/LINGUAS: Add da.po.
2012-08-09 David Prévot <taffit@debian.org>
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 <wk@gnupg.org>
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é <funman@videolan.org>
Use CPPFLAGS when generating mkerrcodes.h.
+ commit c35dbfdaa2e30e08185e4a468278a29e2c48b500
* src/Makefile.am (mkerrcodes.h): Use CPPFLAGS.
2011-12-01 Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
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.