<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/gpgme.h.in, branch gpgme-1.16.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.16.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.16.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2021-05-12T06:48:26Z</updated>
<entry>
<title>core: Make sure to stay ABI compatible.</title>
<updated>2021-05-12T06:48:26Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2021-05-12T06:38:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=88db69e1a964c9a36989e36fe5d972548432fb5c'/>
<id>urn:sha1:88db69e1a964c9a36989e36fe5d972548432fb5c</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_key_sig): Move trust_scope to the end
of the struct.
--

Fixes-commit: 276187f6b62a73e92b1c20f589510f80ab9e88d2

Note that we assume that splitting a reserved 28 bit field into 3
fields does not change the ABI.
</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: New flag GPGME_KEYSIGN_FORCE.</title>
<updated>2021-03-11T10:49:07Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2021-03-11T10:49:07Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0821e2b1495e8944a5a1b5ba20ad5f403dde0dd0'/>
<id>urn:sha1:0821e2b1495e8944a5a1b5ba20ad5f403dde0dd0</id>
<content type='text'>
* src/gpgme.h.in (GPGME_KEYSIGN_FORCE): New.
* src/engine-gpg.c (gpg_keysign): Implement.

* tests/run-keysign.c (show_usage): Add option --force
--

GnuPG-bug-id: 4584
</content>
</entry>
<entry>
<title>core: Remove experimental feature GPGME_EXPORT_MODE_NOUID.</title>
<updated>2021-02-01T15:48:30Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2021-02-01T15:47:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c8fd8870b3bf089f99156448b7d1e59c1150f994'/>
<id>urn:sha1:c8fd8870b3bf089f99156448b7d1e59c1150f994</id>
<content type='text'>
* src/export.c (export_start): Remove GPGME_EXPORT_MODE_NOUID check.
* src/engine-gpg.c (export_common): Ditto.
--

Note that this constant was never announed and used only for internal
tests.  It made it into some release only by accident.

The constants is kept in gpgme.h to not break any code but it is
non-fucntionals.  We do not consider this an ABI break.

GnuPG-bug-id: 5284
</content>
</entry>
<entry>
<title>Parse STATUS_CANCELED_BY_USER.</title>
<updated>2020-11-04T01:47:44Z</updated>
<author>
<name>Ben Kibbey</name>
<email>bjk@luxsci.net</email>
</author>
<published>2020-11-03T03:33:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=35ca460019ea29ae646d08c954d4d4bf2dc1e8e1'/>
<id>urn:sha1:35ca460019ea29ae646d08c954d4d4bf2dc1e8e1</id>
<content type='text'>
* src/gpgme.h.in (GPGME_STATUS_CANCELED_BY_USER): New.
* src/status-table.c (status_table_s): Add "CANCELED_BY_USER".
* src/passphrase.c (_gpgme_passphrase_status_handler): Return
GPG_ERR_CANCELED during GPGME_STATUS_CANCELED_BY_USER.

Signed-off-by: Ben Kibbey &lt;bjk@luxsci.net&gt;
</content>
</entry>
<entry>
<title>core: New function gpgme_op_revsig.</title>
<updated>2020-10-29T11:57:10Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2020-10-27T14:33:51Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=f3407d0ee4e34ed33be18de5f886a4da2affbf9f'/>
<id>urn:sha1:f3407d0ee4e34ed33be18de5f886a4da2affbf9f</id>
<content type='text'>
* src/gpgme.h.in (gpgme_op_revsig_start, gpgme_op_revsig): New.
(GPGME_REVSIG_LFSEP): New.
* src/context.h (ctx_op_data_id_t): Add OPDATA_REVSIG.
* src/revsig.c: New.
* src/Makefile.am (main_sources): Add revsig.
* src/libgpgme.vers, src/gpgme.def: Add gpgme_op_revsig and
gpgme_op_revsig_start.
* src/engine.h, src/engine.c: (_gpgme_engine_op_revsig): New.
* src/engine-backend.h (engine_ops): Add 'revsig' and adjust all
engine initializers.
* src/engine-gpg.c (gpg_revsig): New.
(_gpgme_engine_ops_gpg): Set revsig to gpg_revsig.
* doc/gpgme.texi: Document new functions.
* tests/run-keysign.c: Add option --revoke.
--

This extends GPGME to support the --quick-revoke-sig command
added by GnuPG 2.2.24. This allows revoking key signatures.

GnuPG-bug-id: 5094
</content>
</entry>
<entry>
<title>core: New function gpgme_op_setexpire.</title>
<updated>2020-08-04T14:51:56Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2020-08-04T12:32:31Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=db82e99a8a40c57a237dad030928d0fcf6b03ad7'/>
<id>urn:sha1:db82e99a8a40c57a237dad030928d0fcf6b03ad7</id>
<content type='text'>
* src/gpgme.h.in (gpgme_op_setexpire_start, gpgme_op_setexpire): New.
* src/libgpgme.vers, src/gpgme.def: Add new functions.
* src/genkey.c (setexpire): New.
(gpgme_op_setexpire_start, gpgme_op_setexpire): New.
* src/engine.h, src/engine.c: (_gpgme_engine_op_setexpire): New.
* src/engine-backend.h (engine_ops): Add 'setexpire' and adjust all
engine initializers.
* src/engine-gpg.c (gpg_setexpire): New.
(_gpgme_engine_ops_gpg): Set setexpire to gpg_setexpire.
* doc/gpgme.texi: Document new functions.
* tests/run-genkey.c: Add option --setexpire.
--

This extends GPGME to support the --quick-set-expire command
added by GnuPG 2.1.22. This allows changing subkeys expiry
date without going through the editinteractor interface.

Co-authored-by: Andre Heinecke &lt;aheinecke@gnupg.org&gt;
GnuPG-bug-id: 4999
</content>
</entry>
<entry>
<title>core: New export mode to export as OpenSSH public key.</title>
<updated>2020-07-16T10:00:46Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2020-07-16T10:00:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7f9e0ca57b29cc96bd1ca717d891c11db7435c5a'/>
<id>urn:sha1:7f9e0ca57b29cc96bd1ca717d891c11db7435c5a</id>
<content type='text'>
* src/gpgme.h.in (GPGME_EXPORT_MODE_SSH): New.
* src/export.c (export_ext_start): Allow for new mode.
* src/engine-gpg.c (export_common): Implement.
* tests/run-export.c (status_cb): New.
(main): New options --status and --ssh.
--

GnuPG-bug-id: 4310
Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>core: Deprecate the non-working trustlist functions.</title>
<updated>2020-07-15T14:34:24Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2020-07-15T14:34:24Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=858909168298e8c6fb6f9f9009be2ee2d0d9f0ec'/>
<id>urn:sha1:858909168298e8c6fb6f9f9009be2ee2d0d9f0ec</id>
<content type='text'>
* src/gpgme.h.in: Clarify that the trustlist function should not be
used.
* src/engine.c (_gpgme_engine_op_trustlist): Always return an error.
* src/engine-backend.h (struct engine_ops): Remove trustlist member.
* src/engine-gpg.c (gpg_trustlist): Remove.
(struct engine_ops): Remove that member.  Also in all other engines.
* tests/gpg/t-trustlist.c: Remove.
* lang/python/tests/t-trustlist.py: Remove.
--

This never worked in reality because the required feature has been
removed from GnuPG version 1.3.2 soon after introduction of this
feature in gpgme - 17 years ago.  It was anyway marked as
experimental.  We keep the API and ABI, though.

GnuPG-bug-id: 4834
Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>core: New keylist mode GPGME_KEYLIST_MODE_WITH_KEYGRIP.</title>
<updated>2020-07-15T12:11:17Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2020-07-15T12:10:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c8048bf8eb988f22b20215197f4739bedafc4264'/>
<id>urn:sha1:c8048bf8eb988f22b20215197f4739bedafc4264</id>
<content type='text'>
* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_KEYGRIP): New.
* src/gpgme-json.c (op_keylist): New flag "keygrip".
* src/engine-gpg.c (gpg_keylist_build_options): Pass the options.

* lang/cpp/src/global.h (WithKeygrip): New.
* lang/cpp/src/context.cpp: Add check.
* lang/cpp/src/key.cpp (Key::update): Handle WithKeygrip.
* lang/cpp/src/verificationresult.cpp: Ditto.
* lang/cpp/src/util.h (add_to_gpgme_keylist_mode_t): Ditto.
--

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