<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/keylist.c, branch gpgme-2.1.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.1.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.1.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2025-12-22T04:49:41Z</updated>
<entry>
<title>Fix a regression wrt the auto-key-locate option.</title>
<updated>2025-12-22T04:49:41Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2025-12-22T04:49:41Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d242561dae2699aaa8eb88a1a7ce7a1033471eb0'/>
<id>urn:sha1:d242561dae2699aaa8eb88a1a7ce7a1033471eb0</id>
<content type='text'>
* src/keylist.c (gpgme_get_key): Don't call gpgme_set_ctx_flag when
it's "".

--

Fixes-commit: 964bc14ccfba84b050c20dc5035414438b10bd74
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>gpgme_get_key: respect caller's ctx configuration</title>
<updated>2025-11-10T08:28:45Z</updated>
<author>
<name>Giacomo Tesio</name>
<email>giacomo@tesio.it</email>
</author>
<published>2025-11-08T13:47:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=964bc14ccfba84b050c20dc5035414438b10bd74'/>
<id>urn:sha1:964bc14ccfba84b050c20dc5035414438b10bd74</id>
<content type='text'>
</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 duplicate character passed to strchr.</title>
<updated>2025-07-03T07:21:11Z</updated>
<author>
<name>Collin Funk via Gnupg-devel</name>
<email>gnupg-devel@gnupg.org</email>
</author>
<published>2025-07-03T02:51:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=74b725457432173865299c046adc4b42d263ecac'/>
<id>urn:sha1:74b725457432173865299c046adc4b42d263ecac</id>
<content type='text'>
* src/keylist.c (parse_sec_field15): Remove duplicate '0' character.

Signed-off-by: Collin Funk &lt;collin.funk1@gmail.com&gt;
</content>
</entry>
<entry>
<title>Allow signing using an exactly specified subkey.</title>
<updated>2025-05-05T14:01:10Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-05-05T13:52:08Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=bfd320abfeaf0c7a16af3057279c77a45bfa961a'/>
<id>urn:sha1:bfd320abfeaf0c7a16af3057279c77a45bfa961a</id>
<content type='text'>
* src/engine-gpg.c (append_args_from_signers): Detect exactly
specified keys and apped the '!' suffix.
--

Due to the ABI break which removed long long deprecated functions we
can also risk to introduce a slight semantic change in the way signer
keys are specified.  The change is that iff a subkey-fingerprint with
the '!' suffix was used to lookup a signer's key we now use this
specific subkey and not any key gpg considers to be a good signing
subkey.  Most people would have considered the old behaviour anyway as
a bug because it differs from what gpg uses at the command line.

GnuPG-bug-id: 3325
Suggested-by: Benjamin Kibbey
</content>
</entry>
<entry>
<title>Mark the subkey used to find a key.</title>
<updated>2025-05-05T13:03:01Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-05-05T13:02:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=87d6da1188db3c7df899821e4c0d895c61504522'/>
<id>urn:sha1:87d6da1188db3c7df899821e4c0d895c61504522</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_subkey): New flag subkey_match.
* src/keylist.c (spacep): New.
(op_data_t): Add field requested_subkey.
(release_op_data): Free it.
(exact_match_pattern): New.
(maybe_setup_for_requested_subkey): New.
(gpgme_op_keylist_start): Call it here.
(gpgme_op_keylist_ext_start): Call it for each pattern until one
found.
(gpgme_op_keylist_next): Set the subkey_match field.
---

This is needed for
GnuPG-bug-id: 3325
</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>core: Preserve more specific existing failure code</title>
<updated>2023-11-14T12:51:24Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-11-14T12:48:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=77e982579ccadb20ee865337ada9579ac41164e1'/>
<id>urn:sha1:77e982579ccadb20ee865337ada9579ac41164e1</id>
<content type='text'>
* src/decrypt.c (_gpgme_decrypt_status_handler): Ignore received failure
code if we already have a specific failure code.
* src/encrypt.c (_gpgme_encrypt_status_handler): Ditto.
* src/export.c (export_status_handler): Ditto.
* src/genkey.c (genkey_status_handler): Ditto.
* src/keylist.c (keylist_status_handler): Ditto.
* src/keysign.c (keysign_status_handler): Ditto.
* src/passwd.c (passwd_status_handler): Ditto.
* src/revsig.c (revsig_status_handler): Ditto.
* src/setexpire.c (setexpire_status_handler): Ditto.
* src/sign.c (_gpgme_sign_status_handler): Ditto.
* src/tofupolicy.c (tofu_policy_status_handler): Ditto.
* src/verify.c (_gpgme_verify_status_handler): Ditto.
--

Usually, a process emits at most one failure code. But some operations
like the creation of an encrypted archive involve multiple chained
processes, so that multiple failure codes can be received. We want to
keep the first specific failure code we received. Further failure codes
are only parsed if we received just an unspecific "general error" so
far.

GnuPG-bug-id: 6575
</content>
</entry>
<entry>
<title>core: Add key capability flags has_encrypt etc.</title>
<updated>2023-10-05T12:18:03Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2023-10-05T12:10:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=b63d203d3ba49483b079fb118a90990c452cd232'/>
<id>urn:sha1:b63d203d3ba49483b079fb118a90990c452cd232</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_key): Add flags has_encrypt,
has_certify, has_sign, and has_authenticate.
* src/keylist.c (finish_key): Set these flags.
* tests/run-keylist.c (main): Print them.
--

GnuPG-bug-id: 6748
</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>
</feed>
