<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/verify.c, branch gpgme-2.2.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.2.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.2.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2026-08-05T10:17:31Z</updated>
<entry>
<title>Fix handling of missing timestamp in SIGINFO status</title>
<updated>2026-08-05T10:17:31Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2026-08-05T10:17:31Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8dc1de3acb86375830e7034cab419030bdf1d36b'/>
<id>urn:sha1:8dc1de3acb86375830e7034cab419030bdf1d36b</id>
<content type='text'>
* src/verify.c (parse_sig_info): Add argument protocol. Check for "-"
if protocol is CMS.
(_gpgme_verify_status_handler): Pass protocol to parse_sig_info.

* tests/gpg/t-verify.c (check_result): Add argument timestamp. Check
timestamp.
(main): Add expected timestamp to all check_result calls.
* tests/gpgsm/t-verify.c (check_result): Add argument timestamp. Check
timestamp.
(main): Add expected timestamp to all check_result calls.
--

S/MIME signatures do not necessarily have a timestamp. In this case
gpgsm emits "-" in the SIGINFO status line.

Fixes-commit: 31eb884e8f102ed3cf1220ccdd77e6e1931a9a7b
GnuPG-bug-id: 8368
</content>
</entry>
<entry>
<title>Provide serial number and issuer of unknown S/MIME signing certificates</title>
<updated>2026-08-03T13:55:35Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2026-08-03T13:55:35Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7ba3ef8e40518ec109b6e0551ac3cc076c95b53f'/>
<id>urn:sha1:7ba3ef8e40518ec109b6e0551ac3cc076c95b53f</id>
<content type='text'>
* src/gpgme.h.in (_gpgme_signature): Add fields issuer_serial and
issuer_name.
* src/verify.c (release_op_data): Free new fields.
(parse_no_pubkey): New.
(_gpgme_verify_status_handler): Handle NO_PUBKEY status code.

* tests/run-verify.c (print_result): Print issuer_serial and
issuer_name.
--

GnuPG-bug-id: 8369
</content>
</entry>
<entry>
<title>Handle new SIGINFO status line</title>
<updated>2026-07-30T13:35:44Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2026-07-30T13:35:44Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=31eb884e8f102ed3cf1220ccdd77e6e1931a9a7b'/>
<id>urn:sha1:31eb884e8f102ed3cf1220ccdd77e6e1931a9a7b</id>
<content type='text'>
* src/gpgme.h.in (gpgme_status_code_t): Add status code for SIGINFO.
* src/status-table.c (status_table): Add "SIGINFO".
* src/verify.c (parse_sig_info): New.
(_gpgme_verify_status_handler): Handle SIGINFO status line.
--

GnuPG-bug-id: 8368
</content>
</entry>
<entry>
<title>Ignore TRUST_ status lines if no NEWSIG was seen</title>
<updated>2026-07-09T14:35:58Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2026-07-09T14:34:06Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4cb1906c1c47ce2c8b7180bc31ffdb1af4b5ffe8'/>
<id>urn:sha1:4cb1906c1c47ce2c8b7180bc31ffdb1af4b5ffe8</id>
<content type='text'>
* src/verify.c (_gpgme_verify_status_handler): Don't return error if
TRUST_* status line is seen before NEWSIG status line has been seen.
--

Since recently, in de-vs compliance mode, gpgsm emits TRUST_ status
lines during decryption if the validation of the encryption certificate
fails. Consequently, it's not an error if a TRUST_ status line is seen
without having seen a NEWSIG status line before.

GnuPG-bug-id: 8333
</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: 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: Return bad data error instead of general error on unexpected data</title>
<updated>2023-07-28T12:18:21Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-07-28T12:18:05Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=777cf7f2d17331cfe127129c750121970fcad58f'/>
<id>urn:sha1:777cf7f2d17331cfe127129c750121970fcad58f</id>
<content type='text'>
* src/verify.c (_gpgme_verify_status_handler): Return GPG_ERR_BAD_DATA
instead of GPG_ERR_GENERAL.
--

This gives users trying to decrypt and/or verify for example a public
key block a more useful error.

GnuPG-bug-id: 6617
</content>
</entry>
<entry>
<title>core: Support usage of gpgtar for verifying a signed archive</title>
<updated>2023-01-25T10:26:34Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-01-25T10:21:39Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=5b79b323971cb0794c45791851d85f8a66f0a441'/>
<id>urn:sha1:5b79b323971cb0794c45791851d85f8a66f0a441</id>
<content type='text'>
* src/gpgme.h.in (gpgme_verify_flags_t): New enum.
(GPGME_VERIFY_ARCHIVE): New const.
(gpgme_op_verify_ext_start): New func.
(gpgme_op_verify_ext): New func.
* src/gpgme.def, src/libgpgme.vers: Add new functions.
* src/verify.c (gpgme_op_verify_ext_start): New.
(gpgme_op_verify_ext): New.
(verify_start): Add arg FLAGS.  Pass the flags to
_gpgme_engine_op_verify.
(gpgme_op_verify_start): Call gpgme_op_verify_ext_start with 0 for
FLAGS.
(gpgme_op_verify): Call gpgme_op_verify_ext with 0 for FLAGS.
* src/engine.c, src/engine.h (_gpgme_engine_op_verify): Add arg FLAGS.
* src/engine-backend.h (struct engine_ops): Add FLAGS to 'verify'.
* src/engine-gpg.c (gpg_verify): Add arg FLAGS. Set use_gpgtar engine
flag if GPGME_VERIFY_ARCHIVE flag is set. Check for new enough gpg. Use
add_gpg_arg for gpg-only options without a value. Set extra options for
gpgtar and pass input data to stdin when using gpgtar.
* src/engine-gpgsm.c (gpgsm_verify): Add arg FLAGS. Return error if
GPGME_VERIFY_ARCHIVE flag is set.
* src/engine-uiserver.c (uiserver_verify): Ditto.

* tests/run-verify.c (show_usage): New options --archive, --directory,
and --diagnostics.
(main): Parse new options. Verify and extract with gpgtar if --archive
is given. Set file name of output data to value of --directory option.
Print stderr of gpg/gpgtar if --diagnostics is given.
--

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>core: Fix setting of the chain_model signature result.</title>
<updated>2020-06-05T12:46:56Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2020-06-05T12:44:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=728ead8ebd426307c6b3f1e3794b3a7ab585eebd'/>
<id>urn:sha1:728ead8ebd426307c6b3f1e3794b3a7ab585eebd</id>
<content type='text'>
* src/verify.c (parse_trust): Fix detection of "chain" keyword.
--

Fixes-commit: da6f3dc0c53f11f7432b3c258702db07d6c37f9a
from 2007 shortly after introducing this.  I doubt that this info has
ever been used (it is for qualified signatures, which are only
supported using the legacy German RegTP rules for them which were soon
overturned by the commercial CAs).

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>core: Fix format string errors in trace macros</title>
<updated>2018-11-16T15:57:09Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-11-16T15:57:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=cf423864062a2677d0eeabbb11462a788f527b4c'/>
<id>urn:sha1:cf423864062a2677d0eeabbb11462a788f527b4c</id>
<content type='text'>
--

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