aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-02-28Release 1.27libgpg-error-1.27Werner Koch3-3/+3
* configure.ac: Bump LT version to C22/A22/R0. -- Note that C21/A21/R0 was used in 1.26 but later lost in the repo due to a merge. Signed-off-by: Werner Koch <[email protected]>
2017-02-28Add support for armv7-unknown-linux-gnueabihf.Werner Koch5-72/+7
* 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. -- Info provided by Marvin Schmidt <[email protected]> via [email protected] on Tue, 14 Feb 2017 15:00:15 +0100 Consilidated arm syscfg file by aliasing them. Signed-off-by: Werner Koch <[email protected]>
2017-02-28New public header gpgrt.h as alias for gpg-error.hWerner Koch2-4/+10
* 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. Signed-off-by: Werner Koch <[email protected]>
2017-02-28Improve tracing of estream.Werner Koch4-94/+191
* 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. Signed-off-by: Werner Koch <[email protected]>
2017-02-28w32: Fix gpgrt_poll for Windows.Werner Koch1-6/+0
* src/estream.c (_gpgrt_poll) [W32]: Do not call the syscall clamp. -- The system call clamp may only be used directloy around system calls. We don't need them here because we use independent threads to implement non-blocking behaviour. In fact the clamp may lead to a deadlock. Signed-off-by: Werner Koch <[email protected]>
2017-02-26Use the new tracing ramework for estream.Werner Koch2-103/+159
* src/estream.c: Add trace calls to some functions. * src/w32-estream.c: Replace existing trace calls by the new framework. -- Signed-off-by: Werner Koch <[email protected]>
2017-02-26Add a tracing framework.Werner Koch2-0/+121
* 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. -- We want to be abale to use libgpg-error also with pre-c99 compilers and thus we can use the __VA_ARGS__ but resort to the common macro trick.
2017-02-26Rename internal functions of estream.Werner Koch4-93/+94
* 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. -- The use of the "es_" was confusing. Avoid that. Signed-off-by: Werner Koch <[email protected]>
2017-02-24w32: Do not use the syscall clamps in pollable mode.Werner Koch1-10/+36
* 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. Signed-off-by: Werner Koch <[email protected]>
2017-02-23w32: Replace gpgrt locks in w32-streams by native critical sections.Werner Koch1-49/+50
* 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. -- The locking code here is self-contained and may badly interact with the possible nPth "clamped" gpgrt lock functions. Signed-off-by: Werner Koch <[email protected]>
2017-02-19New error code GPG_ERR_INV_NAME.Werner Koch1-0/+1
Signed-off-by: Werner Koch <[email protected]>
2017-02-02syscfg: Add a sh3 architecture.NIIBE Yutaka2-0/+24
* src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h: New. * src/Makefile.am (lock_obj_pub): Add it. -- Signed-off-by: NIIBE Yutaka <[email protected]>
2017-02-01Add Base64 decoder.NIIBE Yutaka8-1/+330
* 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. Signed-off-by: NIIBE Yutaka <[email protected]>
2017-01-19estream: Correctly set ERRNO to EOPNOTSUPP.Werner Koch1-2/+4
* src/estream.c (es_flush, es_write_nbf): Fix setting of ERRNO to EOPNOTSUPP. Signed-off-by: Werner Koch <[email protected]>
2017-01-10doc,configure: Be consistent about preferring --with-libgpg-error-prefixDaniel Kahn Gillmor1-1/+1
* 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. -- in src/gpg-error.m4, it already says: > dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, > dnl since that is consistent with how our three siblings use the directory/ > dnl package name in --with-$dir_name-prefix=PFX. so this is an attempt to live up to that expectation. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2017-01-03Fix macro GPGRT_GCC_VERSIONWerner Koch1-1/+1
* src/gpg-error.h.in (GPGRT_GCC_VERSION): Fix. -- Fixes-commit: 4e790613f66efcfc62d73722d5f1730a37cb8324 Signed-off-by: Werner Koch <[email protected]>
2016-12-13New error code GPG_ERR_TRY_LATER.Werner Koch1-0/+1
Signed-off-by: Werner Koch <[email protected]>
2016-12-12New error code GPG_ERR_DNS_TIMEOUT.Werner Koch1-1/+2
Signed-off-by: Werner Koch <[email protected]>
2016-12-12New error codes to support libdns.Werner Koch1-0/+15
Signed-off-by: Werner Koch <[email protected]>
2016-12-02Fix NULL segv in new option --descWerner Koch1-0/+3
* src/gpg-error.c (print_desc): Shortcur for unknown symbols. Signed-off-by: Werner Koch <[email protected]>
2016-12-02New error code GPG_ERR_INV_FLAGWerner Koch1-0/+1
2016-12-02New option --desc for gpg-error.Werner Koch2-47/+166
* 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. -- Signed-off-by: Werner Koch <[email protected]>
2016-11-18w32-iconv: Remove invalid link to unicode.org in comment.Daniel Kahn Gillmor1-1/+0
-- http://www.unicode.org/unicode/onlinedat/languages.html currently says: The mapping information between Macintosh and Windows codes is no longer available on the Unicode site. Please consult the Macintosh and Windows developer sites. And there are no outbound links. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2016-11-18w32: Update links from http to https.Daniel Kahn Gillmor1-2/+2
-- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2016-11-18Fix more misspellings.Daniel Kahn Gillmor1-1/+1
-- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2016-11-18Fix misspellings in error descriptions.Daniel Kahn Gillmor1-2/+2
-- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2016-11-17Fix EXEEXT for lock obj creation.NIIBE Yutaka1-1/+1
* src/Makefile.am (lock-obj-pub.native.h): Add EXEEXT for the executable gen-posix-lock-obj. -- This change is from packaging work for Cygwin. Reported-by: Michael Haubenwallner <[email protected]> Signed-off-by: NIIBE Yutaka <[email protected]>
2016-11-14Fix typo in two new error descriptions.Werner Koch2-3/+3
2016-11-12estream: Minor portability fix.Werner Koch2-4/+4
-- A trailing comma in an enum is not groked by all compilers. Binary operation should have their own parentheses to make it clear that a binary operator was meant. Signed-off-by: Werner Koch <[email protected]>
2016-11-12estream: Support 'es_poll' on Windows.Justus Winter4-74/+1175
* 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. GnuPG-bug-id: 2731 Signed-off-by: Justus Winter <[email protected]>
2016-11-12estream: Track the kind of backend used.Justus Winter2-17/+33
* 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. Signed-off-by: Justus Winter <[email protected]>
2016-11-12estream: Rework how the cookie functions are handled.Justus Winter2-49/+69
* 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. Signed-off-by: Justus Winter <[email protected]>
2016-11-12estream: Rework modestring handling.Justus Winter1-46/+44
* 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. Signed-off-by: Justus Winter <[email protected]>
2016-11-12Add new interface gpgrt_get_syscall_clamp.Werner Koch7-0/+26
* 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. -- This function can be used by other libraries to set their own system clamp functions. Signed-off-by: Werner Koch <[email protected]>
2016-11-11Use the syscall clamp functions also for lock functionsWerner Koch7-1/+104
* 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. Signed-off-by: Werner Koch <[email protected]>
2016-11-11w32: Fix lock c++ narrowing conversion warningAndre Heinecke1-2/+2
* src/syscfg/lock-obj-pub.mingw32.h (gpgrt_lock_t): Declare priv as unsigned char. -- This fixes error: narrowing conversion of ‘255’ from ‘int’ to ‘volatile char’ inside { } [-Werror=narrowing]
2016-11-10Change description of GPG_ERR_OPEN_KEYRING.Werner Koch1-1/+1
Signed-off-by: Werner Koch <[email protected]>
2016-11-02Add error codes GPG_ERR_TOO_YOUNG and GPG_ERR_TOO_OLD.Werner Koch1-0/+2
Signed-off-by: Werner Koch <[email protected]>
2016-10-18estream: Fix modestring parsing.Justus Winter1-1/+1
* src/estream.c (parse_mode): Fix parsing the 'sysopen' flag. Signed-off-by: Justus Winter <[email protected]>
2016-10-07Add error code USER_ID_EXISTS, NAME_EXISTS, and DUP_NAME.Werner Koch1-1/+3
Signed-off-by: Werner Koch <[email protected]>
2016-10-07syscfg: Add support for {i686,x86_64}-apple-darwin.Werner Koch3-0/+56
-- Thanks to Chris Ballinger <[email protected]> for the files. Signed-off-by: Werner Koch <[email protected]>
2016-09-01Add error WINDOW_TOO_SMALL, WINDOW_TOO_LARGE, and MISSING_ENVVAR.Werner Koch1-1/+5
Signed-off-by: Werner Koch <[email protected]>
2016-08-16New error code GPG_ERR_ENGINE_TOO_OLDWerner Koch1-1/+2
2016-07-12Fix build without threadsYann E. MORIN1-1/+3
* src/gen-posix-lock-obj.c: properly guard inclusioin of pthread.h * tests/t-lock.c: likewise * tests/t-poll.c: likewise -- Although ./configure checks for thread support, gen-posix-lock-obj and two tests still include pthread.h unconditionally. Guard that inclusion using the same condition as all other uses of pthread-related code. Signed-off-by: "Yann E. MORIN" <[email protected]>
2016-07-05Define EWOULDBLOCK in case it is not definedAndre Heinecke1-0/+5
* src/estream.c (EWOULDBLOCK): Define fallback. -- Older mingw versions (2.0) do not define EWOULDBLOCK in errno.h
2016-06-27estream: Fix bug es_fclose_snatch if a seek has been used.Werner Koch1-1/+1
* src/estream.c (func_mem_ioctl): Set LEN from DATA_LEN. Signed-off-by: Werner Koch <[email protected]>
2016-06-25w32: Silence compiler warnings about redefined macros.Werner Koch1-6/+19
* src/estream.c (S_IRGRP) [W32]: Protect against redefinition. Signed-off-by: Werner Koch <[email protected]>
2016-06-24estream: Remove two compiler warning.Werner Koch1-40/+41
* 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. -- Signed-off-by: Werner Koch <[email protected]>
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]>