I fixed the issue that required running Pageant with cygstart (as discussed at https://github.com/wesleyd/charade/issues/closed#issue/5). I was inspired by a recent code change in Putty that was solving a similar issue -- see http://svn.tartarus.org/sgt?view=rev&revision=9043.
I tried applying that code as-is, but it didn't quite work. I modified it to copy over the entire security descriptor instead of just the SID, and that did the trick. I also simplified the load_system32_dll function from Putty to minimize the amount of dependencies I had to copy over.
I emailed the Putty guys about it and hopefully they'll incorporate the change as well. Let me know if you have any questions...
Set the security info for the file mapping to the same as
Pageant's process, to make sure Pageant's SID check will pass.
Fixes the problem that required running Pageant with cygstart
in order for charade to work.
Nice one. Thanks very much. I've merged that in. (Finally!! Apologies for the delay!)