<feed xmlns='http://www.w3.org/2005/Atom'>
<title>libgpg-error/src/gpg-error.vers, branch libgpg-error-1.60</title>
<subtitle>Error codes used by GnuPG et al.</subtitle>
<id>http://git.bktus.com/gpgfrontend/libgpg-error/atom?h=libgpg-error-1.60</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/libgpg-error/atom?h=libgpg-error-1.60'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/'/>
<updated>2025-12-09T10:46:22Z</updated>
<entry>
<title>New function gpgrt_fconcat.</title>
<updated>2025-12-09T10:46:22Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-12-09T10:46:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=34dba88757fedb61d1ea63616a3e03837ccf50ab'/>
<id>urn:sha1:34dba88757fedb61d1ea63616a3e03837ccf50ab</id>
<content type='text'>
* src/w32-utils.c: New.
* src/init.c (_gpg_err_init, DllMain): Call new init function.
* src/visibility.c (gpgrt_fconcat): New.
* src/gpg-error.h.in (gpgrt_fconcat): New prototype.
(GPGRT_FCONCAT_ABS): New.
(GPGRT_FCONCAT_TILDE): New.
(GPGRT_FCONCAT_SYSCONF): New.
* src/gpg-error.def.in (gpgrt_fconcat): New.
* src/gpg-error.vers: (gpgrt_fconcat): New.
* src/stringutils.c (_gpgrt_vfnameconcat): Repalce want-abs but a new
flags arg.  Change to support GPGRT_FCONCAT_SYSCONF.  Fix tilde
expansion under Windows to use CISDL_PROFILE instead of $HOME.  Adjust
all callers.

* src/gpg-error.c (main): New command "fconcat".
--

This function allows to get the sysconfig directory in a portable way.
On Windows this is CISDL_COMMON_APPDATA\GNU\etc.  On Unix this is the
directory specified at the configure run.

This patch also changes the behaviour of tilde expansion in Windows
which was not well defined.  It does now use CISDL_PROFILE instead of
the HOME envvar which is uncommon under Windows.  Note that under
Windows "~user/foo" is still not defined.  Tilde expansion is not done
when GPGRT_FCONCAT_SYSCONF is used.

GnuPG-bug-id: 7894
</content>
</entry>
<entry>
<title>New public API gpgrt_nvc_* and gpgrt_nve_*</title>
<updated>2025-04-07T07:56:39Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-04-07T07:56:39Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=7ec1f27b60eec95297c5267ab5ebbdb73b263c3f'/>
<id>urn:sha1:7ec1f27b60eec95297c5267ab5ebbdb73b263c3f</id>
<content type='text'>
* src/name-value.c: New.
* tests/t-name-value.c: New.
* src/gpg-error.def.in: Add new functions.
* src/gpg-error.h.in: Ditto.
* src/gpg-error.vers: Ditto.
* src/visibility.c: Ditto.
* src/visibility.h: Ditto.
--

These new functions were originally added to GnuPG taken from current
GnuPG master.  The license has been changed from (LGPL-3.0-or-later OR
GPL-2.0-or-later) to LGPL-2.1-or-later: Everything was written by me
or employees/contractors of g10 Code GmbH.  The private key handling
has been removed because that would require Libgcrypt functions.  Some
functions are changed.
</content>
</entry>
<entry>
<title>New public API gpgrt_strlist_*</title>
<updated>2025-04-01T08:26:30Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-04-01T08:26:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=47097806f13d93daffb73b4221f3f18a99f66b2b'/>
<id>urn:sha1:47097806f13d93daffb73b4221f3f18a99f66b2b</id>
<content type='text'>
* src/strlist.c: Rename all functions to have a _gpgrt_strlist prefix.
(append_to_strlist2, strlist_length): Remove.
(_gpgrt_strlist_free): rtake care of the wipe flag.
(_gpgrt_strlist_add): Add a flags arg to use it for prepend and
append.  Return an error on failure.
(_gpgrt_strlist_tokenize): Ditto.
(_gpgrt_strlist_copy): Chnage to return an error on failure.
(_gpgrt_strlist_pop): Ditto.
* src/Makefile.am (libgpg_error_la_SOURCES): Add strlist.c.
* src/argparse.c (trim_spaces): Move to ...
* src/stringutils.c (_gpgrt_trim_spaces): here and rename.
* src/visibility.c: Add wrappers for all exported functions.
* src/visibility.h: MArk exported functions as visisble.
* src/gpg-error.def.in: Export new functions
* src/gpg-error.vers: Ditto.
* src/gpg-error.h.in (GPGRT_STRLIST_APPEND): New.
(GPGRT_STRLIST_WIPE): New.
(gpgrt_strlist_free): New.
(gpgrt_strlist_add): New.
(gpgrt_strlist_tokenize): New.
(gpgrt_strlist_copy): New.
(gpgrt_strlist_rev): New.
(gpgrt_strlist_prev): New.
(gpgrt_strlist_last): New.
(gpgrt_strlist_pop): New.
(gpgrt_strlist_find): New.
(gpgrt_strlist_count): New inline function.
--

This is a modified set of function as used by gpg for ages. These are
quite useful functions and will be needed internally for some other
planned features.  The idea is to make their counterparts in gnupg
wrapper around those new functions.

After we have moved the secure memory stuff from Libgcrypt to here we
can also implement a GPGRT_STRLICT_SECMEM flag to allow allocating
strings here ion secure memory.  For now we only have the WIPE flag
which wipes the memory on free.
</content>
</entry>
<entry>
<title>spawn: Shorter identifier gpgrt_spawn_actions_set_env_rev.</title>
<updated>2024-10-16T04:58:06Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2024-10-16T04:58:06Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=1bca948594d9f8c26231bfb7ff7b2f3ebf9df295'/>
<id>urn:sha1:1bca948594d9f8c26231bfb7ff7b2f3ebf9df295</id>
<content type='text'>
* src/gpg-error.def.in: Rename to gpgrt_spawn_actions_set_env_rev.
* src/gpg-error.h.in: Likewise.
* src/gpg-error.vers: Likewise.
* src/gpgrt-int.h: Likewise.
* src/spawn-posix.c: Likewise.
* src/spawn-w32.c: Likewise.
* src/visibility.c: Likewise.
* src/visibility.h: Likewise.
* tests/t-spawn.c (run_test): Use gpgrt_spawn_actions_set_env_rev.

--

Fixes-commit: 1860f6407f834b681c21f67db7236eaad161524c
GnuPG-bug-id: 7307
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>spawn: Add new function to modify environment.</title>
<updated>2024-10-11T07:29:02Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2024-10-11T07:17:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=1860f6407f834b681c21f67db7236eaad161524c'/>
<id>urn:sha1:1860f6407f834b681c21f67db7236eaad161524c</id>
<content type='text'>
* src/gpg-error.def.in (gpgrt_spawn_actions_set_envchange): New.
* src/gpg-error.vers (gpgrt_spawn_actions_set_envchange): New.
* src/gpg-error.h.in (gpgrt_spawn_actions_set_envchange): New.
* src/gpgrt-int.h (_gpgrt_spawn_actions_set_envchange): New.
* src/spawn-posix.c (struct gpgrt_spawn_actions): New field ENVCHANGE.
(prepare_environ): New.
(my_exec): Take care of ENVCHANGE.
(_gpgrt_spawn_actions_set_envchange): New.
* src/spawn-w32.c (struct gpgrt_spawn_actions): New field ENVCHANGE.
(prepare_env_block): New.
(_gpgrt_spawn_actions_set_envchange): New.
(spawn_detached, _gpgrt_process_spawn): Take care of ENVCHANGE.
* src/visibility.c (gpgrt_spawn_actions_set_envchange): New.
* src/visibility.h (gpgrt_spawn_actions_set_envchange): New.
* tests/Makefile.am (TESTS): Add t-spawn.
* tests/t-spawn.c: New.

--

GnuPG-bug-id: 7307
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>spawn: Expose gpgrt_spawn_actions functions.</title>
<updated>2024-06-06T07:30:26Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2024-06-06T07:30:26Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=e644311383350ce704611cce69f322a7d9dd548e'/>
<id>urn:sha1:e644311383350ce704611cce69f322a7d9dd548e</id>
<content type='text'>
* src/gpg-error.def.in: Update.
* src/gpg-error.h.in: Add declarations.
* src/gpg-error.vers: Update.
* src/visibility.c: Update.
* src/visibility.h: Update.

--

Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>spawn: Expose spawn functions API.</title>
<updated>2024-06-05T06:16:26Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2024-06-05T06:07:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=2caaef8f6b89d7fcbbe3d480d192fe1952576942'/>
<id>urn:sha1:2caaef8f6b89d7fcbbe3d480d192fe1952576942</id>
<content type='text'>
* src/gpg-error.def.in: Update.
* src/gpg-error.vers: Update.
* src/gpg-error.h.in: Add declarations.
* src/visibility.c: Add implementations.
* src/visibility.h: Expose them.

--

GnuPG-bug-id: 6249
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>logging: New function gpgrt_logv_domain.</title>
<updated>2024-04-25T08:12:35Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2024-04-25T08:12:35Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=2f9a0895a103f0baf1c2ea38662112c1359bdb90'/>
<id>urn:sha1:2f9a0895a103f0baf1c2ea38662112c1359bdb90</id>
<content type='text'>
* src/gpg-error.h.in (gpgrt_logv_domain): New.  Also add printf
attributes to the other logv functions.
* src/visibility.c (gpgrt_logv_domain): New.
--

This function can be used instead of gpgrt_logv to provide a somain
string.  As of now this has no effect but we may later add an API to
allow selection of diagnostics depending on the domain.  There is also
a new (buffer,length) argument which will eventually be used to
provide a domain based gpgrt_log_printhex.
</content>
</entry>
<entry>
<title>core: New function gpgrt_add_post_log_func.</title>
<updated>2024-04-22T12:47:53Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2024-04-22T12:47:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=319a505623c197d06ca3e76f30691fe65a982d6f'/>
<id>urn:sha1:319a505623c197d06ca3e76f30691fe65a982d6f</id>
<content type='text'>
* src/gpg-error.h.in (gpgrt_add_post_log_func): New.
* src/gpg-error.vers: Add new function
* src/gpg-error.def.in: Ditto.
* src/visibility.c (gpgrt_add_post_log_func): New.
* src/logging.c (struct post_log_func_item_s): New.
(post_log_func_list): New.
(_gpgrt_add_post_log_func): new.
(run_post_log_funcs): New.
(_gpgrt_logv_internal): Call for fatal and bug log levels.
--

This is required in case an application or library needs to do do some
quick cleanups after a log_fatal.
</content>
</entry>
<entry>
<title>core: New function gpgrt_wipememory.</title>
<updated>2024-02-06T15:58:24Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2024-02-06T15:58:24Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=1fdd8749014cf390d6ea9dd4350146473362044e'/>
<id>urn:sha1:1fdd8749014cf390d6ea9dd4350146473362044e</id>
<content type='text'>
* src/init.c (_gpgrt_wipememory): New.
* src/visibility.c (gpgrt_wipememory): New.
* src/visibility.h: Add it.
* src/gpg-error.def.in: Ditto.
* src/gpg-error.vers: Ditto.
--

GnuPG-bug-id: 6954
</content>
</entry>
</feed>
