<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/gpgme-tool.c, branch gpgme-1.4.4</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.4.4</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.4.4'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2013-08-09T17:19:26Z</updated>
<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>gpgme-tool: Allow for symmetric encryption.</title>
<updated>2013-05-22T14:20:14Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-05-22T08:50:12Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0c1de7abd57b677998792e6cd5df5ddfb6e451b7'/>
<id>urn:sha1:0c1de7abd57b677998792e6cd5df5ddfb6e451b7</id>
<content type='text'>
* src/gpgme-tool.c (gt_sign_encrypt): Pass NULL for recp if no
recipients are given.
</content>
</entry>
<entry>
<title>Make definition of off_t robust against misbehaving w32 toolchains.</title>
<updated>2013-05-16T15:48:50Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-04-25T11:00:16Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=6d0d8e7ba0bb989c251545fa8af35b97d1a703ba'/>
<id>urn:sha1:6d0d8e7ba0bb989c251545fa8af35b97d1a703ba</id>
<content type='text'>
* configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t
and gpgme_ssize_t.
(API__OFF_T, API__SSIZE_T): New ac_subst.
* src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros.
* src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h
* src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c
* src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c
* src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t
by gpgme_off_t and sszie_t by gpgme_ssize_t.
* src/ath-pthread.c, src/ath.h: Include gpgme.h.
--

For a detailed description, see the gpgme.texi diff.
</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>Use gpg_error_from_syserror instead of directly accessing errno.</title>
<updated>2013-02-06T16:35:40Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2013-02-06T16:35:40Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=51fd6d8292cb41d743407e6ac9d86a5ab8e68d8c'/>
<id>urn:sha1:51fd6d8292cb41d743407e6ac9d86a5ab8e68d8c</id>
<content type='text'>
--

Also fixed a couple of minor thing; e.g. save the error before calling
cleanup functions.  Do not save the errno if only free is called
in between.
</content>
</entry>
<entry>
<title>gpgme-tool: Use membuf functions to build up strings.</title>
<updated>2012-10-11T15:02:50Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2012-10-11T15:02:50Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=e11e7fc5586613525035c3358e15ae24accb96ea'/>
<id>urn:sha1:e11e7fc5586613525035c3358e15ae24accb96ea</id>
<content type='text'>
* src/gpgme-tool.c (clear_membuf, init_membuf, put_membuf)
(put_membuf_str, get_membuf, peek_membuf): Add membuf functions.
Take from GnuPG master's common/membuf.[ch] and patch for our use.
(result_xml_escape): Rewrite using new functions.
--

First counting, then allocating, and finally copying data is prone to
errors.  We better use the membuf functions which make it much easier.
</content>
</entry>
<entry>
<title>gpgme-tool: Change license from LPGLv2+ to GPLv3+</title>
<updated>2012-10-11T14:54:58Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2012-10-11T14:54:58Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=aa30b47aa010bf46876f2335e288f8bd8718e396'/>
<id>urn:sha1:aa30b47aa010bf46876f2335e288f8bd8718e396</id>
<content type='text'>
* src/gpgme-tool.c: Change license notice.
--

gpgme-tool.c is a standalone program, thus it makes no sense to keep
it under the LGPL.  We already had the manual under GPLv3+.
</content>
</entry>
<entry>
<title>gpgme-tool: escape special characters in output XML data (&lt;, &gt;, and &amp;).</title>
<updated>2012-10-11T14:22:46Z</updated>
<author>
<name>W. Trevor King</name>
<email>wking@tremily.us</email>
</author>
<published>2012-10-06T15:30:21Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3f1329e1c9b99b1632cc4c4eec2e4399676fd93d'/>
<id>urn:sha1:3f1329e1c9b99b1632cc4c4eec2e4399676fd93d</id>
<content type='text'>
[[PGP Signed Part:Undecided]]
src/gpgme-tool.c (result_xml_escape_replacement, result_xml_escape):
New.
(result_xml_tag_data): Use result_xml_escape() to escape data.
(result_add_error): Use unescaped &lt; and &gt;.
--

This is a general solution for generating valid XML, but the specific
output that inspired the change was from the KEYLIST command:

  &lt;uid&gt;William Trevor King &lt;wking@tremily.us&gt;&lt;/uid&gt;

Now the uids are properly escaped:

   &lt;uid&gt;William Trevor King &amp;lt;wking@tremily.us&amp;gt;&lt;/uid&gt;

Signed-off-by: W. Trevor King &lt;wking@tremily.us&gt;
</content>
</entry>
<entry>
<title>gpgme-tool: Fix chain_id -&gt; chain-id in KEYLIST XML.</title>
<updated>2012-10-11T14:18:24Z</updated>
<author>
<name>W. Trevor King</name>
<email>wking@tremily.us</email>
</author>
<published>2012-10-06T13:33:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c28ebca9f2e21344d68e9fdcec60553f225c2e54'/>
<id>urn:sha1:c28ebca9f2e21344d68e9fdcec60553f225c2e54</id>
<content type='text'>
[[PGP Signed Part:Undecided]]
src/gpgme-tool.c (cmd_keylist): Use &lt;chain-id&gt; instead of &lt;chain_id&gt;.
--
All the other tags map struct attribute underscores to hyphens, so
fixing &lt;chain_id&gt; follows the priciple of least surprise.

Signed-off-by: W. Trevor King &lt;wking@tremily.us&gt;
</content>
</entry>
<entry>
<title>gpgme-tool: Return more detailed XML from KEYLIST</title>
<updated>2012-09-28T06:31:51Z</updated>
<author>
<name>W. Trevor King</name>
<email>wking@tremily.us</email>
</author>
<published>2012-09-28T06:31:13Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3d69b51f7f083193db28f364da4590c33b5e44e6'/>
<id>urn:sha1:3d69b51f7f083193db28f364da4590c33b5e44e6</id>
<content type='text'>
src/gpgme-tool.c (cmd_keylist): Convert output from a list of
to more detailed XML.
(xml_preamble1, xml_preamble2, xml_end): Make global.
(result_add_protocol, result_add_validity): New functions for
generating XML from GPGME types.
(result_add_string): Treat NULL strings as "".
(result_xml_tag_data): Make 'data' a 'const char' so we can use the
value returned by gpgme_get_protocol_name directly.
--

This is a first pass at returning most of the gpgme_key_t data from the
KEYLIST call.

Signed-off-by: W. Trevor King &lt;wking@tremily.us&gt;
</content>
</entry>
</feed>
