aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-06-15estream: Fix assertion failure due to es_flush.NIIBE Yutaka1-3/+1
* src/estream.c (es_writen): Set writing flag even if no data was written. -- GnuPG-bug-id: 2371 Signed-off-by: Werner Koch <[email protected]> gniibe tracked the problem down to a fully valid change in GnuPG (gnupg commit 12af2630cf4d1a39179179925fac8f2cce7504ff). He wrote: This is the first instance for estream to do READ and WRITE (in the history of the code > 10 years :-). In the [gnupg] function agent_write_private_key, the pattern is: es_fopen es_fread es_fseek es_fwrite which should work well, but if results core dump by assertion failure in the function es_flush of libgpg-error.
2016-06-15Adjust memory limit of es_fopenmem to the block size.Werner Koch1-0/+8
* src/estream.c (func_mem_create): Round up memory limit. -- This is required so that giving a memory limit to es_fopenmem won't fail if it is below the block size. Signed-off-by: Werner Koch <[email protected]>
2016-05-17Add GPG_ERR_SUBKEYS_EXP_OR_REV.Werner Koch1-1/+2
2016-05-07syscfg: Add a powerpc and a tilgegx architecture.Werner Koch3-0/+50
* 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. -- Debian-bug-id: 823630, 823631 Signed-off-by: Werner Koch <[email protected]>
2016-04-25Release 1.22.libgpg-error-1.22Werner Koch3-3/+3
* configure.ac: Set LT version to C18/A18/R0. Signed-off-by: Werner Koch <[email protected]>
2016-04-25Fix for HPPA.NIIBE Yutaka2-4/+11
* 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. -- Signed-off-by: NIIBE Yutaka <[email protected]> This fixes commit 5168b97. I considered wrongly that long double were 128-bit in HPPA. Currently, all that we can do for HPPA is assuming GCC and use its extension of "aligned" attribute.
2016-04-22syscfg: Add powerpc-unknown-linux-gnuspeWerner Koch1-0/+1
--
2016-04-21w32: Add iconv functions.Werner Koch4-399/+130
* 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. Signed-off-by: Werner Koch <[email protected]>
2016-04-20Add file w32-iconv.cWerner Koch1-0/+2086
--
2016-04-05estream,w32: Temporary fix for gpgrt_poll.Werner Koch1-0/+4
* src/estream.c (_gpgrt_poll) [W32]: Do not use FD_ISSET. -- gpgrt_poll return an error on Windows anyway and thus it does not make sense to use a possible undefined macro here. Reported-by: Andre Heinecke Signed-off-by: Werner Koch <[email protected]>
2016-03-29estream: Prepare for new mode flag "sysopen".Werner Koch1-14/+47
* src/estream.c (parse_mode): Add arg "sysopen". Adjust all callers. Signed-off-by: Werner Koch <[email protected]>
2016-03-29estream: Use simpler names for static functions.Werner Koch1-44/+44
* src/estream.c: Replace all es_func_* to just func_*. Signed-off-by: Werner Koch <[email protected]>
2016-03-29doc: Re-format comments in estream.cWerner Koch1-150/+311
-- Signed-off-by: Werner Koch <[email protected]>
2016-03-29estream: Remove strange macro for better readability.Werner Koch1-15/+11
* src/estream.c (SET_UNLESS_NONZERO): Remove macro. (es_deinitialize): Replace that macro by direct code. Signed-off-by: Werner Koch <[email protected]>
2016-03-24Add function gpgrt_annotate_leaked_object.Peter Wu1-0/+30
* src/gpg-error.h.in: add gpgrt_annotate_leaked_object to support marking memory as non-leaked for Clang and GCC. -- This annotation can be used to mark objects as explicitly leaked such that it can be ignored in tools like LeakSanitizer. The GPGRT_HAVE_LEAK_SANITIZER macro is explicitly not undefined to support -fsanitize=leak, a user or configure script could then decide to add this macro when just -fsanitize=leak is given. Signed-off-by: Peter Wu <[email protected]> Additional changes by -wk: - But __GNUC__ guard around the entire GPGRT_HAVE_LEAK_SANITIZER detection. - Add NEWS entry. Signed-off-by: Werner Koch <[email protected]>
2016-03-14syscfg: Add lock-obj-pub files for {armv5, armv6, x86_64}-musl targetsKylie McClain4-0/+74
* 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. -- This patch adds three new precompiled lock-obj-pub files: - armv5-unknown-linux-musleabi - armv6-unknown-linux-musleabihf - x86_64-pc-linux-musl ChangeLog lines and Makefile patch by -wk
2016-03-03Fix detecting Solaris operating system.NIIBE Yutaka1-1/+2
* src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check for the macro __sun. -- Signed-off-by: NIIBE Yutaka <[email protected]> This fixes commit 5168b97 and 34b0714. Thanks to Ibraheem Saleh and Thomas Klausner for testing. Thanks to Tom G. Christensen for suggesting the fix with the useful link: https://sourceforge.net/p/predef/wiki/Home/ Thanks to Nelson H. F. Beebe to inform the tool: http://www.math.utah.edu/~beebe/cc-defs GnuPG-bug-id: 2144
2016-03-01Fix for Solaris.NIIBE Yutaka1-1/+1
* src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check LP64. -- Signed-off-by: NIIBE Yutaka <[email protected]> This fixes commit 5168b97.
2016-02-26Add support for Solaris, fixing HPPA.NIIBE Yutaka2-10/+12
* 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. -- Signed-off-by: NIIBE Yutaka <[email protected]>
2016-02-08w32: Confirm the 639-1 code for Venda is "ve"Daniel Kahn Gillmor1-5/+1
-- https://www.loc.gov/standards/iso639-2/php/code_changes.php says that ve is indeed the 2-character code for Venda: >> This alpha-2 ISO 639-1 code was approved in 1999 and included in >> ISO 639-1: 2002. It was mistakenly missing in earlier versions of >> the tables on the ISO639-2 web site. As of January 2003, it has >> been included.
2016-02-08Convert http links to https where possible in the source.Daniel Kahn Gillmor26-27/+27
-- * use https for bug reporting * in comments and docs, use https to refer to: - www.gnu.org - creativecommons.org - translationproject.org - mail.gnome.org - www.perl.org - www.ctan.org - www.cl.cam.ac.uk - www.ntg.nl - cygwin.com - www.ethnologue.com
2016-01-27Add syscfg alias for x86_64-pc-linux-gnuhardened1Werner Koch1-0/+1
--
2016-01-19Add GPG_ERR_DB_CORRUPTED.Werner Koch1-2/+2
Signed-off-by: Werner Koch <[email protected]>
2016-01-13Add new lock-obj-pub for NIOS2.Marek Vasut2-0/+24
src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h: New.
2015-12-07Fix windows 8bit encoding conversionAndre Heinecke1-5/+13
* src/w32-gettext.c (wchar_to_native): Convert to ConsoleOutputCP. -- Just using CP_ACP did not neccessarily convert to the correct codepage as codepages might differ between ConsoleOutput and GUI output (which it usually does). This fixes encoding issues on the Windows commandline.
2015-11-19Fix typos found by codespell.Justus Winter3-6/+6
-- Signed-off-by: Justus Winter <[email protected]>
2015-11-19Avoid 'malloc' corner case.Justus Winter1-3/+3
* src/init.c (_gpgrt_realloc): Avoid calling 'malloc(0)'. -- Previously, if '_gpgrt_realloc' was called with both A and N being zero, malloc is invoked with a size of zero. This happens e.g. when calling '_gpgrt_free' with a NULL pointer, which is supposed to be a no-op. Found using the Clang Static Analyzer. Signed-off-by: Justus Winter <[email protected]>
2015-10-21Add error codes NO_NAME, NO_KEY, and SERVER_FAILURE.Werner Koch1-1/+4
2015-10-18estream: Avoid calling write(fd,NULL,n).Werner Koch1-20/+32
* src/estream.c (es_func_fd_write): Take care of a flush requests. (es_func_w32_write): Ditto. (es_func_fp_write): Ditto. -- The write handlers may be called with (BUFFER,SIZE) of (NULL,0) to propagate flush events to user supplied functions (es_fopencookie). However we need to take care to also do this with the internal handler. Might be a reason for system faults due to write or fwrite with a NULL buffer; on Linux this seems to be harmless. Signed-off-by: Werner Koch <[email protected]>
2015-09-28estream: Keep track of EPIPE.Werner Koch1-4/+25
* 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. Signed-off-by: Werner Koch <[email protected]>
2015-09-28Add GPG_ERR_FALSE and GPG_ERR_TRUE error codes.Werner Koch1-1/+2
Signed-off-by: Werner Koch <[email protected]>
2015-09-25estream: Add gpgrt_set_nonblock and gpgrt_poll.Werner Koch7-4/+413
* 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. -- The poll interface uses select(2) internally because that is more portable than poll(2). Signed-off-by: Werner Koch <[email protected]>
2015-09-24estream: Replace indicator help functions to ease code reading.Werner Koch1-33/+13
* src/estream.c (es_set_indicators, es_get_indicator): Remove and change callers to set/get indicators directly. Signed-off-by: Werner Koch <[email protected]>
2015-09-17Support i[456]86-pc{,-linux,-kfreebsd}-gnu.hDaniel Kahn Gillmor5-27/+8
* 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. -- i486-pc, i586-pc, and i686-pc all use the same ABI given the GNU userland and a specific kernel. This changeset updates the arch-specific lock-obj header generation to treat the hardware aliases explicitly and should improve cross-building for anyone wanting to target any of these 9 architectures. It also removes src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h, which should be handled by the alias to src/syscfg/lock-obj-pub.i686-pc-linux-gnu.h Debian-Bug-Id: 799177
2015-08-26Add new version macros.Werner Koch1-6/+9
* src/gpg-error.h.in (GPGRT_VERSION): New. (GPGRT_VERSION_NUMBER): New. (GPG_ERROR_VERSION, GPG_ERROR_VERSION_NUMBER): Move to top of file. -- Eventually we will have a gpgrt.h file instead of gpg-error. To make things easier we already provide suitable named version macros. Miving them to the top makes it easier to find the version. Signed-off-by: Werner Koch <[email protected]>
2015-08-26Add macro GPGRT_INLINE and avoid -Wundef warningsWerner Koch1-27/+28
* 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. -- I still consider using -Wundef for regular building a bad behaviour because undefined macros have a well defined value in a cpp conditional. That warning is useful for debugging build problems but should not be used as standard warning option. Anyway, here is a fix.
2015-08-25w32: Make sure the setmode is called.Werner Koch1-1/+7
* src/estream.c (HAVE_DOSISH_SYSTEM): Define if needed. Signed-off-by: Werner Koch <[email protected]>
2015-07-27Add option --lib-version to the gpg-error tool.Werner Koch1-4/+14
* src/gpg-error.c (main): Add new option.
2015-07-24Add new public macros for GCC attributes.Werner Koch2-22/+100
* 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-15Allow building with --disable-threads.Werner Koch4-20/+64
* 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. -- Warning: Using --disable-threads creates a different ABI which we can't encode in the the cpu-vendor-os triplet. The run time checks should detect this and abort the process. Signed-off-by: Werner Koch <[email protected]>
2015-04-10Changed LDAP error strings.Werner Koch1-78/+78
--
2015-04-10w32: Remove compiler warnings.Werner Koch2-81/+15
* 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. -- Note that there is a still a problem for W64 pertaining to the use of an int to store a HANDLE. This will be fixed when we add a full abstraction layer for Windows file objects.
2015-03-24Use assert to print diagnosicts before calling abort.Werner Koch1-4/+17
* src/posix-lock.c: Add assert calls. Signed-off-by: Werner Koch <[email protected]>
2015-03-24Avoid breakage with gcc 5Daniel Kahn Gillmor1-1/+1
* src/Makefile.am: Add -P to the C preprocessor when building mkerrcodes.h, to avoid a noisy intermediate pipeline. -- With gcc 5 without this patch, we see many errors like the following: gcc -I. -I. -o mkerrcodes ./mkerrcodes.c In file included from ./mkerrcodes.c:26:0: ./mkerrcodes.h:9:5: error: expected expression before ‘,’ token { , "GPG_ERR_E2BIG" }, ^ ./mkerrcodes.h:10:5: error: expected expression before ‘,’ token { , "GPG_ERR_EACCES" }, ^ This patch cleans up the generated mkerrcodes.h by making the intermediate stage clean for all the versions of gcc i tested (4.x and 5). Debian-Bug-Id: 777374 Signed-Off-By: Daniel Kahn Gillmor <[email protected]>
2015-03-19Add option --defines to gpg-error.Werner Koch1-17/+75
* src/gpg-error.c (main): Add option --help and --defines. Signed-off-by: Werner Koch <[email protected]>
2015-03-19Add GPG_ERR_LDAP_* error codes.Werner Koch1-2/+103
* src/err-codes.h.in: Add error codes. * doc/ldap2gpgerr.c: New. Signed-off-by: Werner Koch <[email protected]>
2015-03-16Remove useless conditions.Werner Koch2-7/+4
* src/estream.c (fname_set_internal): Remove useless condition. * src/mkheader.c (main): Ditto. -- Detected by Stack 0.3.
2015-03-06Add host-triplet aliasing feature to mkheader.Werner Koch3-7/+48
* 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. -- config.sub does not map i{4,5,6}86-pc-linux-gnu to one common triplet. However, they all use the same ABI and thus we do not need several versions of the syscfg files. Signed-off-by: Werner Koch <[email protected]>
2015-03-06w32: Add a manifest to libgpg-error.Werner Koch3-1/+21
* 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. Signed-off-by: Werner Koch <[email protected]>
2015-01-30w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.Werner Koch1-1/+9
* src/Makefile.am (extra_ltoptions): New. (libgpg_error_la_LDFLAGS): Use it. -- Since gcc 4.8 there is a regression in that plain C programs may link to libgcc_s.a which has a dependency on libgcc_s_sjlj.dll. This is for example triggered by using long long arithmetic on a 32 bit Windows (e.g symbol __udivdi3). As usual the gcc maintainers don't care about backward compatibility and declare that as some kind of compatibility fix and not as regression from 4.7 and all earlier versions. Signed-off-by: Werner Koch <[email protected]>