<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/key.c, branch gpgme-2.1.1</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.1.1</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.1.1'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2025-12-11T05:55:51Z</updated>
<entry>
<title>Fix portability for the use of the assuan types.</title>
<updated>2025-12-11T05:55:51Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2025-12-11T05:45:24Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=46938bdde47579786c79770eb54b9b742a1e0365'/>
<id>urn:sha1:46938bdde47579786c79770eb54b9b742a1e0365</id>
<content type='text'>
* src/assuan-support.c (my_spawn, my_waitpid): Use assuan_pid_t.
(my_socket, my_connect): Use assuan_fd_t.
* src/engine-gpg.c (start): Remove unused PID.
* src/engine-spawn.c (engspawn_start): Likewise.
* src/gpgme-w32spawn.c: Add util.h for assuan types.
* src/version.c: Likewise.
* src/wait-user.c: Likewise.
* src/posix-io.c (_gpgme_io_spawn): Use assuan_pid_t.
* src/priv-io.h (_gpgme_io_spawn): Likewise.
* src/w32-io.c (_gpgme_io_spawn): Likewise.
* src/wait-private.c: Include util.h earlier.

--

GnuPG-bug-id: 7968
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>Rename an internal function for clarity</title>
<updated>2025-07-16T14:45:05Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-07-16T14:43:55Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=1821ebaa333dfadf936b8fc38dd8483abee7aab3'/>
<id>urn:sha1:1821ebaa333dfadf936b8fc38dd8483abee7aab3</id>
<content type='text'>
* src/key.c (_gpgme_key_add_sig): Rename to ...
(_gpgme_key_add_uid_sig): this.
</content>
</entry>
<entry>
<title>Remove now unused functions.</title>
<updated>2025-02-21T18:22:33Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-02-21T18:19:06Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2e21919a1b2663137c123917cee0a12b98ad36b2'/>
<id>urn:sha1:2e21919a1b2663137c123917cee0a12b98ad36b2</id>
<content type='text'>
* src/engine.c (_gpgme_engine_op_trustlist): Remove.
* src/libgpgme.vers (gpgme_op_trustlist_end)
(gpgme_op_trustlist_next)
(gpgme_op_trustlist_start): Remove.
* src/gpgme.def: Ditto.
* src/key.c (otrust_to_string)
(validity_to_string)
(capabilities_to_string)
(get_keysig): Remove
</content>
</entry>
<entry>
<title>Remove long deprecated functions.</title>
<updated>2025-02-21T09:42:30Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-02-21T09:28:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d54d6eaa642ba6de179ef280930525c7367c9b88'/>
<id>urn:sha1:d54d6eaa642ba6de179ef280930525c7367c9b88</id>
<content type='text'>
* src/gpgme.h.in (GPGME_EXPORT_MODE_NOUID): Remove.  This was a
left-over from an experiment.
(gpgme_attr_t,_gpgme_attr_t) Remove.  Deprecated sinze 2003.
(gpgme_get_sig_ulong_attr): Ditto.
(gpgme_get_sig_string_attr): Ditto.
(gpgme_key_get_string_attr): Ditto.
(gpgme_key_get_ulong_attr): Ditto.
(gpgme_key_sig_get_string_attr): Ditto.
(gpgme_key_sig_get_ulong_attr): Ditto.
(gpgme_trust_item_get_string_attr): Ditto.
(gpgme_trust_item_get_int_attr): Ditto.
* src/gpgme.def: Remove them here too.
* src/libgpgme.vers: Ditto.
* src/trust-item.c: Remove corresponding implementations.
* src/verify.c: Ditto.
* src/key.c: Ditto.
</content>
</entry>
<entry>
<title>core: Treat email-only user IDs with upper case letters as email address</title>
<updated>2024-09-04T12:31:12Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2024-09-04T12:31:12Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2264b64b85e6d522fdc5e06d5260f5b7b5414417'/>
<id>urn:sha1:2264b64b85e6d522fdc5e06d5260f5b7b5414417</id>
<content type='text'>
* src/key.c (_gpgme_key_append_name): Support email-only user IDs with
upper case letters.

* tests/gpg/t-keylist.c (struct key_info_s): Add algo, length, sec_algo,
sec_length.
(keys): Add expected algo and length for primary and secondary subkeys.
(main): Factor out code for checking a key and the code for the keylist
test. Call the factored out test function and a new test function.
(check_key, test_keylist, key_with_email_only_user_id,
key_info_email_only_user_id,
test_email_only_user_id_with_upper_case_letters): New.
--

Email-only user IDs with upper case letters are now also parsed as a
user ID with empty name and the complete user ID as email.

GnuPG-bug-id: 7280
</content>
</entry>
<entry>
<title>core: Add information about revocation keys to keys</title>
<updated>2024-05-21T14:38:59Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2024-05-15T08:31:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=adadfac997a812699049cd9a5f484cbcabff5bfd'/>
<id>urn:sha1:adadfac997a812699049cd9a5f484cbcabff5bfd</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_revocation_key,
gpgme_revocation_key_t): New.
(struct _gpgme_key): Add fields 'revkeys', '_last_revkey'.
* src/key.c (_gpgme_key_add_rev_key): New.
(gpgme_key_unref): Free revkeys.
* src/keylist.c (keylist_colon_handler): Parse rvk lines.
* src/ops.h (_gpgme_key_add_rev_key): New.

* tests/run-keylist.c (main): Print revocation key info.
--

GnuPG-bug-id: 7118
</content>
</entry>
<entry>
<title>New mode to list a v5 fingerprint for v4 packets.</title>
<updated>2023-09-04T15:03:52Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2023-09-04T15:03:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=e36b2d1bce4bb6281e18f53d06d7831e6d6f5a09'/>
<id>urn:sha1:e36b2d1bce4bb6281e18f53d06d7831e6d6f5a09</id>
<content type='text'>
* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_V5FPR): New.
(struct _gpgme_subkey): Add field v5fpr.
* src/engine-gpg.c (gpg_keylist_build_options): Pass new option to
gpg.
* src/key.c (gpgme_key_unref): Free new field.
* src/keylist.c (op_data_t): Parse and add "fp2" line.

* tests/run-keylist.c (show_usage): Add option --v5fpr.

* src/keylist.c (op_data_t): Add field failure_code.
(keylist_status_handler): Handle special value.
(gpgme_op_keylist_end): Return an error if a FAILURE line has been
seen.
--

Note that the failure code part has been added to better diagnose
problems if a wrong gpg version is used.  If verything works right we
should not get this because we check that the gnupg version sis either
&gt;= 2.4.4 or less than 2.3 and &gt;= 2.2.42.

Note further that the v5fpr field may also be used to get the SHA-256
fingerprint of X.509 certificates (even without passing the new mode
flag).

GnuPG-bug-id: 6705
</content>
</entry>
<entry>
<title>core: Extend gpgme_key_sig_t with trust signature members.</title>
<updated>2021-05-05T17:23:48Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2021-05-04T16:35:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=276187f6b62a73e92b1c20f589510f80ab9e88d2'/>
<id>urn:sha1:276187f6b62a73e92b1c20f589510f80ab9e88d2</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_key_sig): Add fields 'trust_depth',
'trust_value', and 'trust_scope'.
* src/key.c (gpgme_key_unref): Free trust_scope.
* src/keylist.c (keylist_colon_handler): Set the fields.
* tests/run-keylist.c (main): Print the fields.
--

The trust signature values are part of gpg's output since the year 2003.
This now adds support to gpgme.

GnuPG-bug-id: 5245, 5419
</content>
</entry>
<entry>
<title>core: Extend gpgme_user_id_t with uidhash member.</title>
<updated>2019-12-13T14:11:00Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2019-12-13T14:10:51Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=5eeae535ee0df981d8ae8b758b5bb0d190c7fd89'/>
<id>urn:sha1:5eeae535ee0df981d8ae8b758b5bb0d190c7fd89</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_user_id): Add field 'uidhash'.
* src/key.c (gpgme_key_unref): Free it.
* src/keylist.c (keylist_colon_handler): Set it.
* tests/run-keylist.c (main): Print it.
--

The uidhash value is part of gpg's output since the year 2005.  This
now adds support to gpgme.  The application for uidhash is to select
a user id in an edit interactor: Instead of giving the number of the
user id, the uidhash value can be be used to avoid tracking the user
id numbers.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>Add SPDX identifiers to most source files</title>
<updated>2018-11-16T12:27:33Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-11-16T12:27:33Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8d91c0f4cdcc26679067ae681ae12600fb450200'/>
<id>urn:sha1:8d91c0f4cdcc26679067ae681ae12600fb450200</id>
<content type='text'>
--

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
</feed>
