<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src, branch gpgme-1.17.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.17.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.17.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2022-02-03T14:56:30Z</updated>
<entry>
<title>core: New function gpgme_op_receive_keys</title>
<updated>2022-02-03T14:56:30Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-01-31T14:59:55Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3c2cff74b535422532e1256ee8177fa9c03eaf18'/>
<id>urn:sha1:3c2cff74b535422532e1256ee8177fa9c03eaf18</id>
<content type='text'>
* src/gpgme.h.in (gpgme_op_receive_keys_start, gpgme_op_receive_keys):
New.
* src/gpgme.def, src/libgpgme.vers: Add them.
* src/engine-backend.h (struct engine_ops): Add arg keyids to field
'import'.
* src/engine.h, src/engine.c (_gpgme_engine_op_import): Add arg keyids.
* src/engine.c (_gpgme_engine_op_import): Forward new arg keyids.
* src/import.c: (_gpgme_op_import_start, _gpgme_op_import_keys_start):
Pass NULL to new arg of _gpgme_op_import_start.
(_gpgme_op_receive_keys_start, gpgme_op_receive_keys_start,
gpgme_op_receive_keys): New.
* src/engine-gpg.c (gpg_import): Add arg keyids. Extend check for
valid arguments. Build command line if keyids are given.
* src/engine-gpgsm.c (gpgsm_import): Add arg keyids. Return error if
keyids is not NULL.

tests/run-receive-keys.c: New.
tests/Makefile.am (noinst_PROGRAMS): Add new test runner.
--

The new function allows importing keys given by their key ids or
fingerprints from a keyserver (like gpg's --recv-keys command).

GnuPG-bug-id: 5808
</content>
</entry>
<entry>
<title>core: Return an error for secret key export operations</title>
<updated>2022-01-10T11:34:49Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-01-10T11:32:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=a527bd7cf58563d07c89bec458c8967ab1b3e60f'/>
<id>urn:sha1:a527bd7cf58563d07c89bec458c8967ab1b3e60f</id>
<content type='text'>
src/export.c (export_status_handler): Handle "export_keys.secret".
--

This allows callers of the synchronous export operations to react
properly to errors (e.g. wrong passphrase) during the export of secret
keys.

GnuPG-bug-id: 5766
</content>
</entry>
<entry>
<title>core: Add new option --secret-subkey to help texts.</title>
<updated>2022-01-04T11:30:22Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-01-04T11:30:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2752e81f892568a9725fdd8d6a997a1cc80d2f88'/>
<id>urn:sha1:2752e81f892568a9725fdd8d6a997a1cc80d2f88</id>
<content type='text'>
* src/gpgme-tool.c (hlp_export): Add new option.
* tests/run-export.c (show_usage): Print new option.
--

GnuPG-bug-id: 5757
</content>
</entry>
<entry>
<title>core: New export mode to export secret subkeys.</title>
<updated>2022-01-04T08:23:40Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-01-03T15:25:40Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0e19c4879193ed7fa61ad5d488f237b2b5b5d1d7'/>
<id>urn:sha1:0e19c4879193ed7fa61ad5d488f237b2b5b5d1d7</id>
<content type='text'>
* src/gpgme.h.in (GPGME_EXPORT_MODE_SECRET_SUBKEY): New.
* src/export.c (check_mode): Allow new mode and check for invalid
combinations.
(export_keys_start): Return error if new mode flag is set.
* src/engine-gpg.c (export_common): Implement.
* src/gpgme-tool.c (cmd_export): New option --secret-subkey.
* tests/run-export.c (main): New option --secret-subkey.
--

This adds support for exporting secret subkeys (via gpg's
--export-secret-subkeys) to gpgme_op_export[_ext][_start].
The flag is not supported by gpgme_op_export_keys[_start] because
there is no way to specify which subkey(s) to export with these
functions.

GnuPG-bug-id: 5757
</content>
</entry>
<entry>
<title>core: Check for unsupported export mode flags</title>
<updated>2022-01-04T08:22:46Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-01-03T13:55:49Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c710af223cc2476d5f4d46c00d8e0521f6c13211'/>
<id>urn:sha1:c710af223cc2476d5f4d46c00d8e0521f6c13211</id>
<content type='text'>
src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Return error if an
unsupported mode flag is set.
--

The minimal mode flag has no effect for X.509 certificates, but we still
treat it as supported (as documented in the API documentation).

GnuPG-bug-id: 5757
</content>
</entry>
<entry>
<title>core: Check for combination of ssh mode with other mode flags</title>
<updated>2022-01-04T08:22:25Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-01-03T13:49:40Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c0581adabe7f5f63c0b96dac449790aa6ac4c291'/>
<id>urn:sha1:c0581adabe7f5f63c0b96dac449790aa6ac4c291</id>
<content type='text'>
* src/export.c (check_mode): Return error if ssh mode is combined with
another mode flag.
--

The SSH mode flag cannot be used in combination with other flags.

GnuPG-bug-id: 5757
</content>
</entry>
<entry>
<title>core: Factor out the check for valid export mode flags.</title>
<updated>2022-01-04T08:21:37Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2022-01-03T13:41:19Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=326857511587fa7878757d3884f91bf7eb86771c'/>
<id>urn:sha1:326857511587fa7878757d3884f91bf7eb86771c</id>
<content type='text'>
* src/export.c (check_mode): New.
(export_start, export_ext_start): Call check_mode.
--

GnuPG-bug-id: 5757
</content>
</entry>
<entry>
<title>core: Detect bad passphrase error on certificate import</title>
<updated>2021-12-22T14:25:42Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2021-12-22T11:13:23Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=305d8668ca724982c50fe4e05315c48a20cc33e5'/>
<id>urn:sha1:305d8668ca724982c50fe4e05315c48a20cc33e5</id>
<content type='text'>
* src/import.c (gpgme_op_import_result): Check fpr for NULL.
(parse_error): New.
(import_status_handler): Handle error status line.

* doc/gpgme.texi (gpgme_import_status_t): Mention that fpr can be NULL.

* tests/gpg/t-import.c (check_result): Check fpr for NULL.
* tests/run-threaded.c (delete_impres): Check fpr for NULL.
--

When importing an encrypted certificate a wrong passphrase may be
entered. In this case gpgsm emits a status line with a bad passphrase
error and an "invalid object" error. To make it possible for callers
to handle a wrong passphrase error more gracefully, an import status
with bad passphrase error is added to the import result for each
status line with bad passphrase error.

GnuPG-bug-id: 5713
</content>
</entry>
<entry>
<title>core: Allow setting import filters when importing keys</title>
<updated>2021-12-14T14:44:37Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2021-12-14T14:44:37Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d35d44efaf72f90ee4f92af8382c4bcb9982da3f'/>
<id>urn:sha1:d35d44efaf72f90ee4f92af8382c4bcb9982da3f</id>
<content type='text'>
* src/context.h (struct gpgme_context): New field import_filter.
* src/engine-backend.h (struct engine_ops): Add arg import_filter to
field 'import'.
* src/engine-gpg.c (gpg_import): Add arg import_filter and pass option
--import-filter with argument value to gpg. Adjust all callers.
* src/engine-gpgsm.c (gpgsm_import): Add dummy arg import_filter.
* src/gpgme.c (gpgme_release): Free 'import_filter'.
(gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "import-filter".

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

This makes the --import-filter option available in the GPGME API for
key imports.

GnuPG-bug-id: 5739
</content>
</entry>
<entry>
<title>core: Set --key-origin option only if supported by gpg</title>
<updated>2021-12-14T13:41:23Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2021-12-14T13:41:23Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=fd680254dae58a6bf6fb83688bf7c849257688a4'/>
<id>urn:sha1:fd680254dae58a6bf6fb83688bf7c849257688a4</id>
<content type='text'>
* src/engine-gpg.c (gpg_import): Do not pass --key-origin option to
gpg if gpg is too old.
--

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