ssh: Add support for Putty.
authorWerner Koch <wk@gnupg.org>
Wed, 3 Jul 2013 11:29:47 +0000 (13:29 +0200)
committerWerner Koch <wk@gnupg.org>
Wed, 3 Jul 2013 11:29:47 +0000 (13:29 +0200)
commit9f32499f99a0817f63f7a73b09bdcebe60d4775d
treee25df27927567cc670712a1cb24bdd903da77e16
parented056d67c7c93306b68829f83a2565e978dcfd9b
ssh: Add support for Putty.

* agent/gpg-agent.c [W32]: Include Several Windows header.
(opts): Change help text for enable-ssh-support.
(opts, main): Add option --enable-putty-support
(putty_support, PUTTY_IPC_MAGIC, PUTTY_IPC_MAXLEN): New for W32.
(agent_init_default_ctrl): Add and asssert call.
(putty_message_proc, putty_message_thread): New.
(handle_connections) [W32]: Start putty message thread.
* common/sysutils.c (w32_get_user_sid): New for W32 only
* tools/gpgconf-comp.c (gc_options_gpg_agent): Add
--enable-ssh-support and --enable-putty-support.  Make the
configuration group visible at basic level.
* agent/command-ssh.c (serve_mmapped_ssh_request): New for W32 only.
--

This patch enables support for Putty.  It has been tested with Putty
0.62 using an Unix created ssh key copied to the private-keys-v1.d
directory on Windows and with a manually crafted sshcontrol file.  It
also works with a smartcard key.

May thanks to gniibe who implemented a proxy in Python to test the
putty/gpg-agent communication.

Signed-off-by: Werner Koch <wk@gnupg.org>
NEWS
agent/agent.h
agent/command-ssh.c
agent/gpg-agent.c
common/sysutils.c
common/sysutils.h
tools/gpgconf-comp.c