<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/tests, 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-05T12:41:33Z</updated>
<entry>
<title>tests: Add test to check issuer serial number and issuer name</title>
<updated>2026-08-05T12:41:33Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2026-08-05T12:41:33Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=ecffd0c9a7ec00a156443d6d8d253da09c0cf23b'/>
<id>urn:sha1:ecffd0c9a7ec00a156443d6d8d253da09c0cf23b</id>
<content type='text'>
* tests/gpgsm/Makefile.am (LDADD): Add @GPG_ERROR_LIBS@.
* tests/gpgsm/t-support.h (_test, test, safe_strcmp, nonnull,
have_gpgsm_version): New.
* tests/gpgsm/cms-decrypt.c (nonnull): Remove.
* tests/gpgsm/cms-keylist.c (nonnull): Remove.
* tests/gpgsm/t-verify.c (test_opaque_without_cert): New.
(check_result): Add arguments issuer_serial, issuer_name. Use
safe_strcmp to compare fpr. Check issuer_serial and issuer_name.
(main): Add expected issuer serial and issuer name to existing
check_result calls. Add test to check S/MIME signature without embedded
signing certificate.
--

GnuPG-bug-id: 8369
</content>
</entry>
<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>Support setting attributes for CMS signatures.</title>
<updated>2026-05-17T10:59:42Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2026-05-17T10:59:42Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8081d34e5f620a614f58617700f9b473392e6478'/>
<id>urn:sha1:8081d34e5f620a614f58617700f9b473392e6478</id>
<content type='text'>
* src/gpgme.h.in (GPGME_SIG_NOTATION_UNPROTECTED): New.
(struct _gpgme_sig_notation): Add field 'unprotected'.
* src/sig-notation.c (sig_notation_set_flags): Set flag.
* src/engine-gpgsm.c (gpgsm_sign): Implement setting of notations.

* tests/run-support.h: Add conversion macros.
* tests/run-sign.c (struct mystringlist_s): New.
(xmalloc): New.
(xstrtokenize): New.
(print_result): Add arg fp and adjust callers.
(main): Add options --binary and --notation.
</content>
</entry>
<entry>
<title>w32:tests: Use pinentry executable instead of script.</title>
<updated>2026-05-15T07:45:08Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2026-05-15T07:45:08Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=45ccb2fa0ee4613a5327a8d7cddd060be4fbeec1'/>
<id>urn:sha1:45ccb2fa0ee4613a5327a8d7cddd060be4fbeec1</id>
<content type='text'>
* tests/gpg/pinentry: Remove.
* tests/gpg/pinentry.c: New.
* tests/gpg/Makefile.am (EXTRA_DIST): Remove pinentry script.
(noinst_PROGRAMS): Add pinentry executable and its rules to build.
* tests/json/Makefile.am (gpg-agent.conf): Use pinentry executable.

--

Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>w32:tests: Fix Makefiles and start-stop-agent for EXEEXT.</title>
<updated>2026-05-14T08:39:56Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2026-05-14T08:39:56Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=1291cfe1c14ea2b015a8cec7b4b60d1e234b49d8'/>
<id>urn:sha1:1291cfe1c14ea2b015a8cec7b4b60d1e234b49d8</id>
<content type='text'>
* tests/gpg/Makefile.am: Care about EXEEXT.
* tests/gpgsm/Makefile.am: Likewise.
* tests/json/Makefile.am: Likewise.
* tests/start-stop-agent: Use EXEEXT.  Handle \r correctly.

--

Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>New decryption flag GPGME_DECRYPT_SESSION_HASH.</title>
<updated>2026-04-23T12:29:53Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2026-04-23T12:29:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=63f18298d3f5c5f7551301b1e183890c503c644a'/>
<id>urn:sha1:63f18298d3f5c5f7551301b1e183890c503c644a</id>
<content type='text'>
* src/gpgme.h.in (_gpgme_op_decrypt_result): Add field session_hash.
(gpgme_decrypt_flags_t): Add flag GPGME_DECRYPT_SESSION_HASH.
(gpgme_status_code_t): Add flags GPGME_STATUS_SESSION_HASH.
* src/status-table.c (status_table): Add "SESSION_HASH".
* src/decrypt.c (release_op_data): Free new field.
(_gpgme_decrypt_status_handler): Handle new status code.
* src/engine-gpg.c (gpg_decrypt): Implement
  GPGME_DECRYPT_SESSION_HASH.

* tests/run-decrypt.c (print_result): Print session_hash.
(main): Add option --show-session-hash.
</content>
</entry>
<entry>
<title>Add flag fields is_de_vs and beta_compliance to encryption results</title>
<updated>2026-04-21T10:29:16Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2026-04-21T08:46:17Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2100e1fbdfeb9ecda00787032a8256938a113dde'/>
<id>urn:sha1:2100e1fbdfeb9ecda00787032a8256938a113dde</id>
<content type='text'>
* src/encrypt.c (_gpgme_encrypt_status_handler): Handle the compliance
status line.
* src/gpgme.h.in (struct _gpgme_op_encrypt_result): Add fields is_de_vs
and beta_compliance.
(gpgme_status_code_t): Add status code for the encryption compliance
status line.
* src/status-table.c (status_table): Add encryption compliance status
line.

* tests/run-encrypt.c (print_encrypt_result): Print compliance.
--

This allows checking whether the encrypt operation is in compliance with
the VS-NfD criteria.

GnuPG-bug-id: 6702
</content>
</entry>
<entry>
<title>Allow setting export filters when exporting keys</title>
<updated>2026-01-14T15:09:19Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2026-01-14T12:58:49Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=1823e06216f2e9eee302ae1233d635a4a92c03f6'/>
<id>urn:sha1:1823e06216f2e9eee302ae1233d635a4a92c03f6</id>
<content type='text'>
* src/context.h (struct gpgme_context): New field export_filter.
* src/engine-backend.h (struct engine_ops): Add arg export_filter to
field 'export' and field 'export_ext'.
* src/engine-gpg.c (export_common): Add arg export_filter and pass
option --export-filter with argument value to gpg.
(gpg_export, gpg_export_ext): Add arg export_filter and pass it to
export_common. Adjust all callers of the two functions.
* src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Add dummy arg
export_filter.
* src/gpgme.c (gpgme_release): Free 'export_filter'.
(gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "export-filter".

* tests/run-export.c (main): Add option --export-filter.
--

This makes the --export-filter option available in the GPGME API for
key exports.

GnuPG-bug-id: 8033
</content>
</entry>
<entry>
<title>tests: It's start-stop-agent which invokes gpg-agent.</title>
<updated>2026-01-09T06:16:40Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2026-01-09T06:16:40Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=9a1f409499c4e086e95c8dbca712929ee3c418ef'/>
<id>urn:sha1:9a1f409499c4e086e95c8dbca712929ee3c418ef</id>
<content type='text'>
* tests/gpgsm/Makefile.am (gpgsm.conf): Don't touch agent-program.
* tests/start-stop-agent: Don't modify gpg.conf and gpgsm.conf.

--

When start-stop-agent fails, this allows invocation of gpg-agent
by gpg/gpgsm.  This enables semihosted build.

Fixes-commit: 9cd2b58dfb2c21cce64520cf4c726859b583d14e
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
</feed>
