Subject: Re: ssh-agent support

Re: ssh-agent support

From: Daiki Ueno <ueno_at_unixuser.org>
Date: Sat, 19 Dec 2009 11:09:18 +0900

Peter Stuge <peter_at_stuge.se> writes:

> Also, we may want to look at reaching the OpenSSH ssh-agent in Cygwin
> from native Win32. It's a little bit of work but might be a nice
> further addon. The other way around should be simple. (Pageant from
> Cygwin)

Perhaps I'm missing something, it seems not that easy to communicate
with Cygwin process from native Win32 through the AF_LOCAL emulation of
Cygwin.

Here is my understanding:

Cygwin maps an AF_LOCAL address (a filename) to a locally listened port
of an AF_INET socket. It does the following steps on connect():

1. open the given file on the cygwin filesystem(?), and read the socket
   type, the port number to connect, and the random secret.
2. connect() to the port.
3. exchange the random secret
4. exchange the credentials (pid/uid/gid)

So we need: pathname conversion to the Cygwin filesystem (for 1)
and credentioals of the last Cygwin process (for 4).

I personally think it is too complicated to be supported... Can't we
assume that Cygwin DLL is linked if a user wants to access the Cygwin
ssh-agent?

> I think Pageant needs to be tried automatically on win32, both with
> Cygwin and MSYS. Also, maybe the HWND should be stored in
> LIBSSH2_AGENT on win32?

Yes, I also thought of that, but is it safer to find HWND each time
in the case Pageant is restarted?

Regards,

-- 
Daiki Ueno
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2009-12-19