<feed xmlns='http://www.w3.org/2005/Atom'>
<title>libgpg-error/NEWS, branch libgpg-error-1.14</title>
<subtitle>Error codes used by GnuPG et al.</subtitle>
<id>http://git.bktus.com/gpgfrontend/libgpg-error/atom?h=libgpg-error-1.14</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/libgpg-error/atom?h=libgpg-error-1.14'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/'/>
<updated>2014-09-08T17:11:44Z</updated>
<entry>
<title>Release 1.14.</title>
<updated>2014-09-08T17:11:44Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-09-08T16:30:38Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=25f312dbb82722d23ad9faed8341923af6d3663c'/>
<id>urn:sha1:25f312dbb82722d23ad9faed8341923af6d3663c</id>
<content type='text'>
* configure.ac: Set LT version to C12/A12/R0.
</content>
</entry>
<entry>
<title>Add gpgrt_set_alloc_func.</title>
<updated>2014-08-26T15:56:44Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-08-26T15:56:44Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=7fdca61bcf60e730177889fbbd2f935ba33ae0c3'/>
<id>urn:sha1:7fdca61bcf60e730177889fbbd2f935ba33ae0c3</id>
<content type='text'>
* 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.
</content>
</entry>
<entry>
<title>Export missing init functions.</title>
<updated>2014-08-26T11:30:55Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-08-26T11:30:55Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=d9d5b61a9f70556e8fc0775f1501380f65ce9502'/>
<id>urn:sha1:d9d5b61a9f70556e8fc0775f1501380f65ce9502</id>
<content type='text'>
* 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.
</content>
</entry>
<entry>
<title>Replace locking code in estream functions.</title>
<updated>2014-08-25T14:37:46Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-08-25T14:33:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=fc651665010056e6184e8514e5c5436427d7052d'/>
<id>urn:sha1:fc651665010056e6184e8514e5c5436427d7052d</id>
<content type='text'>
* 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.
</content>
</entry>
<entry>
<title>New error code GPG_ERR_KEY_DISABLED.</title>
<updated>2014-06-10T12:48:11Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-06-10T12:47:33Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=3fada688c0df6e3140e4fcaf59b9bcfcc7a70bf4'/>
<id>urn:sha1:3fada688c0df6e3140e4fcaf59b9bcfcc7a70bf4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Post release updates.</title>
<updated>2014-04-15T12:32:35Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-15T12:32:35Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=2f4e8c33b88d3492ed29903b0684428cc9d4281e'/>
<id>urn:sha1:2f4e8c33b88d3492ed29903b0684428cc9d4281e</id>
<content type='text'>
--
</content>
</entry>
<entry>
<title>Release 1.13.</title>
<updated>2014-04-15T12:19:05Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-15T12:19:05Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=1900266b743cabdb39a0d6f8dd00d187a2ad2c97'/>
<id>urn:sha1:1900266b743cabdb39a0d6f8dd00d187a2ad2c97</id>
<content type='text'>
* configure.ac: Set LT version to C11/A11/R0.
</content>
</entry>
<entry>
<title>Make multi-threading flags available via gpg-error-config.</title>
<updated>2014-01-24T16:41:20Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-01-09T18:14:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=f209d163a8167caa6910cd367aba923f703ac69e'/>
<id>urn:sha1:f209d163a8167caa6910cd367aba923f703ac69e</id>
<content type='text'>
* 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.
--

Although, libgpg-error does not yet provide an API for multi-thread
support, it is useful to add the already available detection to the
config script.  This allows the latest Libgcrypt to take advantage of
this in its regression tests.  In particular for the regression tests
a gpgrt_thread functions would be useful and eventually added to
libgpg-error.  The new gpg-error.m4 script should already be used by
other packages to be prepared for future updates.
</content>
</entry>
<entry>
<title>Add gpgrt_lock_ functions.</title>
<updated>2014-01-16T08:58:22Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-01-09T18:14:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=ff937c39febe63d52c55590d8e3bd3a460f26651'/>
<id>urn:sha1:ff937c39febe63d52c55590d8e3bd3a460f26651</id>
<content type='text'>
* 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.

--

This patch introduces the gpgrt_ functions which will be extended over
time to provide a library of commonly used code in GnuPG and
Libgcrypt.  Having them in a library named libgpg-error is a misnomer
but this way we can achieve a smooth upgrade path.

In contrasts to other GnuPG libraries, the gpgrt_ functions return a
simple gpg_err_code_t and not gpg_error_t.  The rationale for this is
that a source of error identifier does not make sense here; it is
better to use the source of error identifier of the caller.  This can
easily be achieved in a component by wrapping these function in a
gpg_error macro/inline.

There is no cross-compiling support for Posix platforms; the
gen-posix-lock-obj tool must be run on the target system.

Note that the gen-w32-lock-obj tool is not needed at build time but
was used to figure out ABI definitions for Windows.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>Add GPG_ERR_MAC_ALGO.</title>
<updated>2013-11-17T14:16:59Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-11-17T14:16:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=b70a430d020e8541f66cca38c00355bab7bb1017'/>
<id>urn:sha1:b70a430d020e8541f66cca38c00355bab7bb1017</id>
<content type='text'>
</content>
</entry>
</feed>
