<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/libgpgme.vers, 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-04-10T11:01:00Z</updated>
<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>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>
<entry>
<title>Add function gpgme_signers_count.</title>
<updated>2013-06-18T08:27:46Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-06-18T08:27:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=f2eeccbdfaf855a81abb92abe5ab4c702712bac7'/>
<id>urn:sha1:f2eeccbdfaf855a81abb92abe5ab4c702712bac7</id>
<content type='text'>
* src/signers.c (gpgme_signers_count): New.
* src/libgpgme.vers, src/gpgme.def: Add as external symbol.
* src/gpgme.h.in: Add prototype.
</content>
</entry>
<entry>
<title>Add public function gpgme_get_pinentry_mode.</title>
<updated>2013-02-12T09:42:54Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-02-12T09:42:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4f381554411ef019d79492f1751543f145604bcf'/>
<id>urn:sha1:4f381554411ef019d79492f1751543f145604bcf</id>
<content type='text'>
* src/gpgme.c (gpgme_get_pinentry_mode): New.
</content>
</entry>
<entry>
<title>gpgme_tool: Support GPG's new pinentry-mode.</title>
<updated>2013-02-07T20:03:44Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-02-07T20:03:02Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=02a2cf0ccb4d01700adf6d18316d7705d519a048'/>
<id>urn:sha1:02a2cf0ccb4d01700adf6d18316d7705d519a048</id>
<content type='text'>
* src/gpgme-tool.c (log_error): Do not always print the error source.
(gt_set_pinentry_mode): New.
(server_passphrase_cb): New.
(cmd_pinentry_mode): New.
(register_commands): Add cmd_pinentry_mode.
(options): Add option --gpg-binary.
(struct args): Add field gpg-binary.
(parse_options, main): Implement that option.
</content>
</entry>
<entry>
<title>Add public function gpgme_io_writen.</title>
<updated>2013-02-07T19:51:29Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-02-07T19:51:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=29eced50687dd8a39dafe704102ae09ea8e8533a'/>
<id>urn:sha1:29eced50687dd8a39dafe704102ae09ea8e8533a</id>
<content type='text'>
* src/gpgme.c (gpgme_io_read): New.
--

This is a writen style variant for gpgme_io_write.  It is often easier
to use this one in passphrase and edit callbacks.
</content>
</entry>
<entry>
<title>Add gpgme_set_global_flag to help debugging</title>
<updated>2012-09-25T13:38:26Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2012-09-25T13:38:26Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c62b79a1d6e576d94e08cb81c2f5dbcb42ecf8cf'/>
<id>urn:sha1:c62b79a1d6e576d94e08cb81c2f5dbcb42ecf8cf</id>
<content type='text'>
* src/gpgme.c (gpgme_set_global_flag): New.
* src/gpgme.h.in (gpgme_set_global_flag): New.
* src/gpgme.def, src/libgpgme.vers: Add new public function.
* src/debug.c (envvar_override): New.:
(_gpgme_debug_set_debug_envvar): New.
(debug_init): Take ENVVAR_OVERRIDE in account.
--

On Android envvars can't be used, thus we need another way to enable
GPGME debugging.  The new function allows this and may be used in the
future to implement similar things.
</content>
</entry>
<entry>
<title>2010-08-18  Marcus Brinkmann  &lt;marcus@g10code.de&gt;</title>
<updated>2010-08-18T14:14:27Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2010-08-18T14:14:27Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=15a3f59481e6b134e80cbb9e88fffa0c9f67c8b4'/>
<id>urn:sha1:15a3f59481e6b134e80cbb9e88fffa0c9f67c8b4</id>
<content type='text'>
        * gpgme.def: Add gpgme_err_code_from_syserror and gpgme_err_set_errno.
        * libgpgme.vers: Likewise.
        * gpgme.h.in (gpgme_error_from_errno): Fix return type to
        gpgme_error_t.
	(gpgme_err_code_from_syserror, gpgme_err_set_errno): New prototype.
	(gpgme_error_from_syserror): New inline function (why are
        gpgme_err_make_from_errno and gpgme_error_from_errno not inline
        functions?).
        * error.c (gpgme_error_from_errno): Fix return type to gpgme_error_t.
        (gpgme_err_set_errno, gpgme_err_code_from_syserror): New functions.


</content>
</entry>
<entry>
<title>Add an API to change passphrases.  Currently only implemented for</title>
<updated>2010-01-05T17:36:53Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2010-01-05T17:36:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=97c5d4d312dbb6d6f70d1d8ea88ab6a03f4e2f2a'/>
<id>urn:sha1:97c5d4d312dbb6d6f70d1d8ea88ab6a03f4e2f2a</id>
<content type='text'>
GPGSM.  Requires GnuPG 2.1

</content>
</entry>
</feed>
