<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/gpgme-tool.c, branch gpgme-1.4.1</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.4.1</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.4.1'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2013-02-07T20:03:44Z</updated>
<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>
<entry>
<title>gpgme-tool: Initialize input_fd and output_fd</title>
<updated>2012-09-28T06:25:48Z</updated>
<author>
<name>W. Trevor King</name>
<email>wking@tremily.us</email>
</author>
<published>2012-09-26T23:26:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=dda3702a9024a08da7bb949e15b63a47d23d59f5'/>
<id>urn:sha1:dda3702a9024a08da7bb949e15b63a47d23d59f5</id>
<content type='text'>
* src/gpgme-tool.c (gpgme_server): Initialize input_fd and output_fd.

Signed-off-by: W. Trevor King &lt;wking@tremily.us&gt;
</content>
</entry>
<entry>
<title>gpgme-tool: Fix handling of file descriptors</title>
<updated>2012-09-26T07:37:22Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2012-09-26T07:37:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=193eb62538b9413e0dfbd04c075f871d5aa9130b'/>
<id>urn:sha1:193eb62538b9413e0dfbd04c075f871d5aa9130b</id>
<content type='text'>
* src/gpgme-tool.c (server_reset_fds): Use close/CloseHandle instead
of the assuan close functions.
(_cmd_decrypt_verify, _cmd_sign_encrypt, cmd_verify, cmd_import)
(cmd_export, cmd_genkey, cmd_getauditlog): Use SERVER object instead
of assuan_get_*_fd functions.
--

Although we used our own handlers for INPUT and OUTPUT, we still used
assuan_get_input_fd, assuan_get_output_fd and their close functions.
That clearly can't work because libassuan does not have any values for
them.
</content>
</entry>
<entry>
<title>Remove all trailing whitespace from source files</title>
<updated>2012-09-25T13:29:49Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2012-09-25T13:29:49Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=139e798c8782b09460052a453142addf1174d878'/>
<id>urn:sha1:139e798c8782b09460052a453142addf1174d878</id>
<content type='text'>
--
Command used:  sed -i 's,[ \t]*$,,' FILE
</content>
</entry>
</feed>
