<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/NEWS, branch gpgme-1.5.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.5.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.5.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2014-05-21T07:08:42Z</updated>
<entry>
<title>Release 1.5.0.</title>
<updated>2014-05-21T07:08:42Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-21T07:08:42Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0eca21113c1d1ab2aea58e1ea21075f472f99c23'/>
<id>urn:sha1:0eca21113c1d1ab2aea58e1ea21075f472f99c23</id>
<content type='text'>
* configure.ac: Change LT version to C22/A11/R0.
</content>
</entry>
<entry>
<title>Add 6 new GPGME_STATUS_ codes.</title>
<updated>2014-05-13T14:08:01Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-13T13:44:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=de6caeed6d6432101c673c35717f152d5facf823'/>
<id>urn:sha1:de6caeed6d6432101c673c35717f152d5facf823</id>
<content type='text'>
* src/status-table.c: Also add missing DECRYPTION_INFO entry.
</content>
</entry>
<entry>
<title>Add field CURVE to the key info.</title>
<updated>2014-05-08T18:39:15Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-08T18:39:15Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=88f15336ec0eadde68ff2618349efb9006b8e801'/>
<id>urn:sha1:88f15336ec0eadde68ff2618349efb9006b8e801</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_subkey): Add field CURVE.
* src/key.c (gpgme_key_unref): Free CURVE.
* src/keylist.c (keylist_colon_handler): Set CURVE.

* src/gpgme.c (gpgme_release): For failsafe reasons reset engine and
engine info after freeing.
--

The engine hack is useful in case the other release functions
accidently call engine release.
</content>
</entry>
<entry>
<title>Map public key algos returned by gpg to gpgme values.</title>
<updated>2014-05-08T12:11:58Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-08T12:03:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d5fb92cdaed21eea2f1a921e4f11df72635a8462'/>
<id>urn:sha1:d5fb92cdaed21eea2f1a921e4f11df72635a8462</id>
<content type='text'>
* src/conversion.c (_gpgme_map_pk_algo): New.
* src/decrypt.c (parse_enc_to): Add arg PROTOCOL and map pubkey algo.
(_gpgme_decrypt_status_handler): Map pubkey algo.
* src/keylist.c (keylist_colon_handler): Map pubkey algo.
* src/sign.c (parse_sig_created): Add arg PROTOCOL and map pubkey
algo.
* src/verify.c (parse_new_sig): Ditto.
(parse_valid_sig): Ditto.

* src/gpgme.h.in (GPGME_PK_ECC): New.
(GPGME_MD_SHA224): New.
* src/gpgme.c (gpgme_pubkey_algo_name): Add GPGME_PK_ECC case.
(gpgme_hash_algo_name): Add GPGME_MD_SHA224.
--

This affects only the not yet released ECC code of GnuPG 2.1.
</content>
</entry>
<entry>
<title>Add GPGME_ENCRYPT_NO_COMPRESS flag.</title>
<updated>2014-05-08T09:31:30Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-08T09:31:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=991cde9e79fec70aad093ded383c5574d30f9388'/>
<id>urn:sha1:991cde9e79fec70aad093ded383c5574d30f9388</id>
<content type='text'>
* src/gpgme.h.in (GPGME_ENCRYPT_NO_COMPRESS): New.
* src/engine-gpg.c (gpg_encrypt, gpg_encrypt_sign): Implement it.
* src/gpgme-tool.c (_cmd_sign_encrypt): Add option --no-compress.
</content>
</entry>
<entry>
<title>Add GPGME_PROTOCOL_SPAWN and gpgme_op_spawn.</title>
<updated>2014-04-10T11:01:00Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-10T11:01:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4f2d652e60700e03809307a10015ff9003ac3579'/>
<id>urn:sha1:4f2d652e60700e03809307a10015ff9003ac3579</id>
<content type='text'>
* src/gpgme.h.in (GPGME_PROTOCOL_SPAWN): New.
(GPGME_SPAWN_DETACHED, GPGME_SPAWN_ALLOW_SET_FG): New.
* src/gpgme.c (gpgme_set_protocol): Add new protocol.
(gpgme_get_protocol_name): Ditto.
* src/spawn.c: New.
* src/libgpgme.vers, src/gpgme.def: Add new public functions.
* src/engine-spawn.c: New.
* src/Makefile.am: Add new files.
* src/engine-backend.h (struct engine_ops): Add OPSPAWN.
* src/engine.c (engine_ops): Add _gpgme_engine_ops_spawn.
(gpgme_get_engine_info): Add Spawn to the list of protocols.
(_gpgme_engine_op_spawn): New.

* src/gpgme-tool.c (gt_protocol_from_name): Add new protocol.
(gt_spawn, cmd_spawn): New.
</content>
</entry>
<entry>
<title>Add gpgme_get_dirinfo.</title>
<updated>2014-04-10T09:48:20Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-10T09:47:19Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=77931a9a1468b0cfbaafd4153867d90764a6d258'/>
<id>urn:sha1:77931a9a1468b0cfbaafd4153867d90764a6d258</id>
<content type='text'>
* src/dirinfo.c (gpgme_get_dirinfo): New.
* tests/t-engine-info.c (main): Print results from that function.
</content>
</entry>
<entry>
<title>Locate engine names only at runtime and prefer GnuPG-2.</title>
<updated>2013-12-27T15:08:20Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-12-27T15:08:20Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=02ba35c1b6a2cbb3361b2f2ad507c53564b2be0b'/>
<id>urn:sha1:02ba35c1b6a2cbb3361b2f2ad507c53564b2be0b</id>
<content type='text'>
* configure.ac (NEED_GPG_VERSION, NEED_GPGSM_VERSION)
(NEED_G13_VERSION, NEED_GPGCONF_VERSION): Remove vars and all related
checks.  Do not check for any engine version.
(HAVE_ASSUAN): Remove AM conditional.
* src/Makefile.am: Remove separate component vars and always build all
engines but uiserver.
* src/dirinfo.c (WANT_GPGCONF_NAME): New.
(struct dirinfo): Add field gpgconf_name.
(_gpgme_get_default_gpgconf_name): Use WANT_GPGCONF_NAME.
(get_gpgconf_item): Set gpgconf name and adjust for _gpgme_get_*_path
now returning a malloced string.
* src/engine.c (engine_ops): Always init all engines except for
uiserver.
* src/posix-util.c (_gpgme_get_gpgsm_path, _gpgme_get_g13_path):
Remove unused functions.
(walk_path): New.
(_gpgme_get_gpg_path, _gpgme_get_gpgconf_path ): Re-implement using
walk_path.
* src/w32-util.c (_gpgme_get_gpgsm_path, _gpgme_get_g13_path): Remove
unused functions.
(_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Return a malloced
string.
* src/engine-g13.c (g13_get_req_version): Use a hardwired string with
the required version.  This info belongs into this file.
* src/engine-gpg.c (gpg_get_req_version): Ditto.
* src/engine-gpgconf.c (gpgconf_get_req_version): Ditto.
* src/engine-gpgsm.c (gpgsm_get_req_version): Ditto.
* tests/t-engine-info.c: Replace now useless test by an info output.
* tests/gpg/Makefile.am (GPG, GPG_AGENT): Hardwire gpg and gpg-agent.
* tests/gpgsm/Makefile.am (GPGSM): Hardwire gpgsm.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>Release 1.4.3.</title>
<updated>2013-08-12T12:33:49Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-08-12T12:33:49Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d788c35e19df9eade8eb0b880ca1dc47ae7928ad'/>
<id>urn:sha1:d788c35e19df9eade8eb0b880ca1dc47ae7928ad</id>
<content type='text'>
* configure.ac: Change LT version to C22/A11/R0.
</content>
</entry>
<entry>
<title>Add function gpgme_data_identify.</title>
<updated>2013-08-09T17:19:26Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-08-09T17:19:26Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8579091c4f6a36e6bb06fcfbd147a776166fd3ea'/>
<id>urn:sha1:8579091c4f6a36e6bb06fcfbd147a776166fd3ea</id>
<content type='text'>
* src/gpgme.h.in (gpgme_data_type_t): New.
(gpgme_data_identify): New prototype.
* src/data-identify.c: New.
* src/parsetlv.c, src/parsetlv.h: New.  Take from gpa.
* src/libgpgme.vers, src/gpgme.def: Add gpgme_data_identify.
* src/gpgme-tool.c (status): Add STATUS_IDENTIFY_RESULT.
(gt_identify): New.
(cmd_identify): New.

(hlp_passwd): Move close to cmd_passwd.
--

It is often useful to have a way to identify the data which needs
processing.  This is such a common task that it makes sense to
implement this in gpgme to avoid diverging implementations.
</content>
</entry>
</feed>
