aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 1.34libgpg-error-1.34gpgrt-1.34Werner Koch2019-01-167-8/+16
| | | | | | * configure.ac: Bump LT version to C26/A26/R0. Signed-off-by: Werner Koch <[email protected]>
* build: Fix regression in make distcheckWerner Koch2019-01-161-1/+1
| | | | | | | | * doc/Makefile.am (errorref.txt.x): -- Fixes-commit: fd6f64f1897e00b1d9711463ebb6ec7d099e1995 Signed-off-by: Werner Koch <[email protected]>
* build: Fix for BSD make.NIIBE Yutaka2019-01-151-1/+1
| | | | | | | | | | * doc/Makefile.am (errorref.txt.x): Don't use $<. -- Variable $< is only valid for suffix rules in BSD make. Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix symbol name typo in gpg-error.def.inAndre Heinecke2019-01-141-1/+1
| | | | * src/gpg-error.def.in (gogrt_abort): Correct to gpgrt_abort.
* build: Build with LD_LIBRARY_PATH, use of DT_RPATH (2/2).NIIBE Yutaka2019-01-102-6/+9
| | | | | | | | | | | * configure.ac (LDADD_FOR_TESTS_KLUDGE): New for --disable-new-dtags. * tests/Makefile.am (LDADD): Use LDADD_FOR_TESTS_KLUDGE. (t_lock_LDADD, t_poll_LDADD): Use LDADD. -- GnuPG-bug-id: 4298 Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Build with LD_LIBRARY_PATH, use of DT_RPATH (1/2).NIIBE Yutaka2019-01-101-0/+32
| | | | | | * configure.ac: Check against --disable-new-dtags. Signed-off-by: NIIBE Yutaka <[email protected]>
* doc: Describe some causes for GPG_ERR_NO_NAME.Werner Koch2019-01-091-5/+10
| | | | --
* core: New functions gpgrt_abort and gpgrt_add_emergency_cleanup.Werner Koch2019-01-0419-50/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/init.c (emergency_cleanup_list): New gloabl var. (_gpgrt_add_emergency_cleanup): New. (_gpgrt_abort): New. Repalce all calls to abort by this. Also replace all assert by either log_assert or a stderr output followed by a _gpgrt_abort. (run_emergency_cleanup): New. * src/visibility.c (gpgrt_add_emergency_cleanup): New public API. (gpgrt_abort): New public API. -- Libgcrypt uses its own assert function which makes sure to terminate the secure memory. This is safe as log as an assert is triggered internally in Libgcrypt. GnuPG runs emergency cleanup handlers right before log_fatal etc to tell Libgcrypt to terminate the secure memory. With the move of the logging function to gpgrt in gnupg 2.3 this did not anymore. Thus we now provide a mechanism in gpgrt to do right that. Eventually Libgcrypt can also make use of this. What this does not handle are calls to abort or failed asserts in external libraries or in libc. We can't do anything about it in a library because a library may not setup signal handlers. Signed-off-by: Werner Koch <[email protected]>
* estream: Use correct POSIX name THOUSEP.Werner Koch2018-12-123-13/+16
| | | | | | | | | | | * src/estream-printf.c: Replace HAVE_LANGINFO_THOUSANDS_SEP by HAVE_LANGINFO_THOUSEP. (pr_integer): Use THOUSEP. -- GnuPG-bug-id: 4286 Reported-by: miod Signed-off-by: Werner Koch <[email protected]>
* syscfg: Add a riscv32 architectureAlistair Francis2018-12-112-0/+24
| | | | | | | | * src/syscfg/lock-obj-pub.riscv32-unknown-linux-gnu.h: New. * src/Makefile.am (lock_obj_pub): Add it. Signed-off-by: Alistair Francis <[email protected]> Signed-off-by: pino-kim <[email protected]>
* gpgrt-config: Portability fix for use of expr.NIIBE Yutaka2018-12-091-3/+3
| | | | | | | | | | | * src/gpgrt-config (sysroot): Care about possible interpretation of minus sign be considered an option to a program. (MAIN): Don't use 'match' of expr but use ':' instead. -- Reported-by: Roman Bogorodskiy <[email protected]> Signed-off-by: NIIBE Yutaka <[email protected]>
* Silence cc warning about snprintf redefinitionWerner Koch2018-12-071-0/+1
| | | | | | | | * src/gpgrt-int.h: First undef snprintf. -- GnuPG-bug-id: 4285 Signed-off-by: Werner Koch <[email protected]>
* Post release updatesWerner Koch2018-12-072-1/+5
| | | | --
* Release 1.33.libgpg-error-1.33gpgrt-1.33Werner Koch2018-12-073-6/+23
| | | | | | | * configure.ac: Set LT version to C25/A25/R0. GnuPG-bug-id: 4205 Signed-off-by: Werner Koch <[email protected]>
* Add W32-only function gpgrt_w32_override_locale.Werner Koch2018-12-074-21/+95
| | | | | | | | | | | | * src/w32-gettext.c (struct override_locale): new. (my_nl_locale_name): Take care of that. (gpgrt_w32_override_locale): New. * src/gpg-error.def.in: Add gpgrt_w32_override_locale. * src/gpg-error.c: New command --locale for Windows. -- GnuPG-bug-id: 3733 Signed-off-by: Werner Koch <[email protected]>
* doc: Replace gpg-error-config by gpgrt-config.Werner Koch2018-12-071-24/+18
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* logging: Escape controls in string arguments of log_ functions.Werner Koch2018-12-062-1/+135
| | | | | | | | | | | | | | | | * src/logging.c (struct fmt_string_filter_s): New. (fmt_string_filter): New. (_gpgrt_logv_internal): Use the filter. -- This change has two advantages: a) There is no more need to first escape string arguments before passing them to a log function and b) you can't forget to do the escaping and thus attacks using diagnostic output to trick out users won't work. The drawback is that you see \n instead of a real LF and under Windows the backslash in file names are doubled. Signed-off-by: Werner Koch <[email protected]>
* core: Allow logging to an estream.Werner Koch2018-12-053-8/+232
| | | | | | | | | * src/logging.c (set_file_fd): Add and use new arg 'stream'. (_gpgrt_log_set_sink): Implement setting an estream sink. * tests/t-logging.c: New test. * tests/Makefile.am (TESTS): Add test. Signed-off-by: Werner Koch <[email protected]>
* tests: Check print arguments of t-common functions.Werner Koch2018-12-051-1/+6
| | | | | | | * tests/t-common.h: Include gpgrt.h instead of gpg-error.h. (die, fail, show): Add printf attributes. Signed-off-by: Werner Koch <[email protected]>
* Fix gpgrt_ftruncate declaration.Marcus Brinkmann2018-12-051-1/+1
|
* core: New functions gpgrt_fprintf_sf anf gpgrt_fprintf_sf_unlocked.Werner Koch2018-11-2612-35/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in (gpgrt_string_filter_t): New type. (gpgrt_fprintf_sf, gpgrt_fprintf_sf_unlocked): New. * src/gpg-error.vers, src/gpg-error.def.in: Add them. * src/visibility.c (gpgrt_fprintf_sf): New. (gpgrt_fprintf_sf_unlocked): New. * src/estream-printf.c (pr_string): Add and use args sf, sfvalue and string_no. (do_format): Add args sf and sfvalue. Keep a string format counter. (_gpgrt_estream_format): Add args sf and sfvalue. Change all callers to provide NULL for them. * src/estream.c (_gpgrt_vfprintf_unlocked, _gpgrt_vfprintf): Add sf and sfvalue and adjust all callers. (do_print_stream): Ditto. * tests/t-printf.c (stream_to_string): New. (struct sfstate_s): New. (string_filter): New. (check_fprintf_sf): New. (main): Call new test. -- The actual reason to implement these functions is to enhance the internal logging function with a filter to sanitized strings so that control values or other things can be quoted. Signed-off-by: Werner Koch <[email protected]>
* core: Add a limited version of gpgrt_ftruncate.Werner Koch2018-11-268-1/+46
| | | | | | | | | | | | | | | * src/gpg-error.h.in (gpgrt_ftruncate, es_ftruncate): New. * src/gpg-error.def.in, src/gpg-error.vers: Add gpgrt_ftruncate. * src/visibility.c (gpgrt_ftruncate): new. * src/gpgrt-int.h (COOKIE_IOCTL_TRUNCATE): New. * src/estream.c (func_mem_ioctl): Support new internal IOCTL. (_gpgrt_ftruncate): New. -- Right now the ftruncate works only on memory streams. Can easily be added to other stream times. Signed-off-by: Werner Koch <[email protected]>
* core: New API gpgrt_cmp_versionWerner Koch2018-11-1510-34/+275
| | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in: New API gpgrt_cmp_version. * src/visibility.c (gpgrt_cmp_version): New wrapper. * src/version.c (parse_version_string): Revamped. (do_cmp_version): New. (_gpgrt_cmp_version): New. (_gpg_error_check_version): Re-implemented using the new func. * tests/t-version.c: Include t-common.h. (t_gpgrt_cmp_version): New test. (main): Run new test. Change test for new version number to require a 2 level number. -- We have implementations of very similar functions in all out libs. Thus it makes sense to provide a generic version. This version is actually derived from the ftp-indexer.c we use for the gnupg website (see the gnupg-doc repo). Signed-off-by: Werner Koch <[email protected]>
* gpgrt-config: Prepend PKG_CONFIG_LIBDIR to PKG_CONFIG_PATH.NIIBE Yutaka2018-11-141-8/+23
| | | | | | | | | | | * src/gpgrt-config: Handle empty PKG_CONFIG_LIBDIR config, which should ignore --libdir option. Otherwise, prepend PKG_CONFIG_LIBDIR (instead of appending) to PKG_CONFIG_PATH. -- Suggested-by: Andre Heinecke <[email protected]> Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix typo in the annotation.NIIBE Yutaka2018-11-131-1/+1
| | | | | | * src/init.c [DLL_EXPORT] (DllMain): Fix typo. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgrt.m4: Don't support --with-*-prefix or SYSROOT.NIIBE Yutaka2018-11-131-52/+4
| | | | | | | | | | | | | * src/gpgrt.m4: Remove old backward compatible support. -- Since this macro gpgrt.m4 has not yet been used by any, we can break now. The gpgrt-config script is for all hosts (switching by --libdir option), it's not switched by --with-*-prefix nor SYSROOT. Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix a typo.NIIBE Yutaka2018-11-071-1/+1
| | | | | | * src/spawn-w32.c (src/spawn-w32.c): Fix to use pid_to_handle. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgrt-config: Don't support variable reference in --libdir option.NIIBE Yutaka2018-11-023-44/+36
| | | | | | | | | | | | | | | | | * src/gpgrt-config: Simplify --libdir support, remove variable substituion. * src/gpg-error.m4: Expand possible ${prefix}, ${exec_prefix} in libdir. Simplify invocation of gpgrt-config. * src/gpgrt.m4: Likewise. -- The --libdir option for configure can include variable reference like --libdir='${exec_prefix}/lib/x86_64-linux-gnu', and this expression should be expanded (the variable should be substituted) beforehand to determine if there is gpg-error.pc file or not. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error.m4: Emit message when using gpgrt-config.NIIBE Yutaka2018-11-021-0/+2
| | | | | | * src/gpg-error.m4: Add AC_MSG_NOTICE. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error.m4: Find gpgrt_libdir by CC.NIIBE Yutaka2018-11-022-18/+44
| | | | | | | | | | | | | | * src/gpg-error.m4 (gpgrt_libdir): New. Bump the version date. * src/gpgrt.m4: Likewise. -- Locating gpg-error.pc file, when it's not found at target's $libdir, try system libdir defined by CC, assuming CC supports gcc compatible -print-file-name option. GnuPG-bug-id: 4239 Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work.NIIBE Yutaka2018-11-011-2/+8
| | | | | | * src/gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgrt-config: It's distributed script.NIIBE Yutaka2018-11-011-1/+2
| | | | | | | | | | | | * src/Makefile.am (dist_bin_SCRIPTS): Add gpgrt-config. (bin_SCRIPTS): Remove gpgrt-config. -- This is the automake thing; Since gpgrt-config is not generated script, we should use dist_bin_SCRIPTS here. Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Remove cruft in w32-estream from olden times.Andre Heinecke2018-10-311-28/+0
| | | | | | | | | | | | | * src/w32-io.c (set_synchronize): Remove. (create_reader, create_writer): No need for set_synchronize. -- The set_synchronize dates back to 2001 at a time when gpgme got the Windows support on WindowsME and Windows2000. Maybe this was required then due to bugs in that old NT or partly NT based Windows versions. Removal similar to the removal in gpgme's w32-io.
* gpgrt-config: Fix typo in the script.NIIBE Yutaka2018-10-311-1/+1
| | | | | | * src/gpgrt-config: Add missing $ for libdir_option. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgrt-config: Better architecture independent support.NIIBE Yutaka2018-10-296-106/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Don't generate gpgrt-config. * src/gpgrt-config: Rename from gpgrt-config.in. (--prefix, --exec-prefix, --libdir): Use --libdir to determine PKG_CONFIG_LIBDIR. * src/Makefile.am (EXTRA_DIST): Remove gpgrt-config.in. * src/gpg-error-config-test.sh: Fix for path to gpgrt-config. * src/gpg-error.m4: Provide --prefix, --exec-prefix, --libdir option from configure. Don't use CC because we have --libdir. Bump version date. * src/gpgrt.m4: Likewise. -- Considering multilib support as well as multiarch support, it is better to provide the information for PKG_CONFIG_LIBDIR by --libdir directly, instead of CC. Difficulty is that configure allows variable reference like: --libdir='${exec_prefix}/i386-linux' So, it should also support --prefix and --exec_prefix options. Signed-off-by: NIIBE Yutaka <[email protected]>
* b64dec: Fix to use custom memory handlers.Ben Kibbey2018-10-271-2/+2
| | | | | | * src/b64dec.c (_gpgrt_b64dec_finish): Use xfree(). Signed-off-by: Ben Kibbey <[email protected]>
* gpgrt-config: Clean up the implementation.NIIBE Yutaka2018-10-261-25/+38
| | | | | | | | | | | * src/gpgrt-config.in: Fix copyright notice. (--exists): Support new option of pkg-config. (--mt): Relax usage. (--api-version): Support old option. (default_module): New. (usage): Only show pkg-config compatible options. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error.m4: Better backward compatibility support.NIIBE Yutaka2018-10-261-7/+20
| | | | | | | * src/gpg-error.m4: Don't assume newer implementation of gpg-error-config. Use old way when it found old. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Keep old gpg-error-config implementation.NIIBE Yutaka2018-10-254-25/+20
| | | | | | | | | | | | | | | | | * configure.ac: Generate gpgrt-config from gpgrt-config.in. * src/gpgrt-config.in: Rename from src/gpg-error-config-new.in. * src/Makefile.am (bin_SCRIPTS): Add gpgrt-config. (EXTRA_DIST): Add gpgrt-config.in removing gpg-error-config-new.in. (BUILT_SOURCES, CLEANFILES): Remove gpgrt-config. (gpg-error-config): Always copy from gpg-error-config-old. * src/gpg-error-config-test.sh: Follow the rename. -- The gpgrt-config script is new implementation supporting *.pc file, while gpg-error-config keeps old single shell script. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Set GPGRT_CONFIG in gpg-error.m4.NIIBE Yutaka2018-10-251-4/+17
| | | | | | | | | | | * src/gpg-error.m4: Detect gpgrt-config to set GPGRT_CONFIG. -- Set GPGRT_CONFIG when there is no gpg-error-config or gpg-error-config reports version >= 1.33. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Update gpg-error.m4 and gpgrt.m4.NIIBE Yutaka2018-10-252-29/+35
| | | | | | | | | | | | | * src/gpg-error.m4: Bump version date. (min_gpg_error_version): Require >= 1.33, if not specified. (gpg_error_config_args): Remove bogus uses. * src/gpgrt.m4: Bump version date. (libgpgrt-prefix): Add support of --with-libgpgrt-prefix option. (gpgrt-config): Search/call gpgrt-config instead of gpg-error-config. (min_gpgrt_version): Require >= 1.33, if not specified. (gpgrt_config_args): Remove bogus uses. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Fix previous commit.NIIBE Yutaka2018-10-241-2/+1
| | | | Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Old gpg-error-config support --modversion.NIIBE Yutaka2018-10-241-0/+1
| | | | | | * src/gpg-error-config.in: Support --modversion. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Get var/attr from the first package.NIIBE Yutaka2018-10-241-2/+5
| | | | | | * src/gpg-error-config-new.in: Only get it from the first. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Fix permission.NIIBE Yutaka2018-10-232-0/+0
| | | | | | | | | | | | * build-aux/config.guess: Chmod +x. * build-aux/config.sub: Chmod +x. -- Downloading the file directly, file permission was changed. Fixes-commit: 6d2e0546d50a0d4511fb7167566bfd0058a68f38 Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Fix detecting build on multiarch environment.NIIBE Yutaka2018-10-231-7/+10
| | | | | | | | | | | * configure.ac: Rough match by shell pattern. -- Since libdir is i386-linux-gnu on Debian i686-linux-gnu machine, exact match to host_alias didn't work. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Supply CC to invoke gpg-error-config.NIIBE Yutaka2018-10-232-12/+14
| | | | | | | | | | | | * src/gpg-error.m4: Add CC when invoking gpg-error-config. * src/gpgrt.m4: Likewise. -- For standard cross build, the use of --with-libgpg-error-prefix will not be needed, as the script automatically finds the place. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Fix cross build support.NIIBE Yutaka2018-10-232-8/+35
| | | | | | | | | | | | * configure.ac: Fix regexp matching multiarch environment. * src/gpg-error-config-new.in: Support standard cross build. Handle the case where $multiarch != $triplet. -- For standard cross build, use @exec_prefix@/$triplet/lib/pkgconfig. Signed-off-by: NIIBE Yutaka <[email protected]>
* yat2m: Avoid compiler warnings.NIIBE Yutaka2018-10-221-1/+1
| | | | | | * doc/yat2m.c (isodatestring): Prepare enough buffer. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Support "auto", architecture independent script.NIIBE Yutaka2018-10-222-1/+20
| | | | | | | | | | | | | * configure.ac (pkg_config_libdir): Set it "auto" when it looks multiarch environment. * src/gpg-error-config-new.in: Automatically detects the triplet. -- The triplet detection mechanism is not sufficient. It's up to distributions to apply more changes (in distribution specific way). Signed-off-by: NIIBE Yutaka <[email protected]>