simon-git: putty (master): Simon Tatham
Commits to Tartarus CVS repository.
tartarus-commits at lists.tartarus.org
Mon May 11 18:11:36 BST 2015
TL;DR:
b4f17f2 Support synchronous agent requests on Unix.
66b5455 Fix faulty length fields in pageant_get_keylist*().
da94497 Unix Pageant: prepare to add client-side modes.
cd528f3 Unix Pageant: link in uxagentc.c and uxcons.c.
af20ed5 Unix Pageant: support loading keys.
Repository: git://git.tartarus.org/simon/putty.git
On the web: http://tartarus.org/~simon-git/gitweb/?p=putty.git
Branch updated: master
Committer: Simon Tatham <anakin at pobox.com>
Date: 2015-05-11 18:11:36
commit b4f17f26e376757b8426853b4240b6545d6a91df
web diff http://tartarus.org/~simon-git/gitweb/?p=putty.git;a=commitdiff;h=b4f17f26e376757b8426853b4240b6545d6a91df;hp=8228085c540edbe822529699025641a05fae383f
Author: Simon Tatham <anakin at pobox.com>
Date: Mon May 11 17:12:40 2015 +0100
Support synchronous agent requests on Unix.
This is only intended for use in Unix Pageant; for any application
that's actually trying to get something else useful done at the same
time as the agent request is pending, it's much more sensible to use
the more rigorous existing approach of requesting a callback once the
agent request is answered.
Adding this mode is the easiest way to allow Unix Pageant's
command-line key loading to work, but it doesn't solve the underlying
problem that the supposedly cross-platform pageant_add_keyfile will
not work on a platform where we really _are_ constrained to do agent
requests asynchronously (perhaps because we're a GUI app in some
system that doesn't let us control our own top-level event loop).
If and when that situation arises, I'll have no choice but to turn
pageant_add_keyfile and friends (specifically, any function in
pageant.c that calls agent_query) into coroutine-structured functions,
and have clients call them repeatedly until they return 'finished'.
But for now, this is a lot easier!
unix/uxagentc.c | 74 ++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 57 insertions(+), 17 deletions(-)
commit 66b5455b139942ff08625ac194e4e4a3f27abcf5
web diff http://tartarus.org/~simon-git/gitweb/?p=putty.git;a=commitdiff;h=66b5455b139942ff08625ac194e4e4a3f27abcf5;hp=b4f17f26e376757b8426853b4240b6545d6a91df
Author: Simon Tatham <anakin at pobox.com>
Date: Mon May 11 17:52:45 2015 +0100
Fix faulty length fields in pageant_get_keylist*().
Those must have been wrong _forever_, but because Windows Pageant
doesn't mind if the message length is longer than it should be, I've
never noticed before. How embarrassing.
pageant.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit da944972d8c69fea3ff93c968814c4c16440fbd2
web diff http://tartarus.org/~simon-git/gitweb/?p=putty.git;a=commitdiff;h=da944972d8c69fea3ff93c968814c4c16440fbd2;hp=66b5455b139942ff08625ac194e4e4a3f27abcf5
Author: Simon Tatham <anakin at pobox.com>
Date: Mon May 11 17:56:37 2015 +0100
Unix Pageant: prepare to add client-side modes.
I've moved the setup and running of the actual agent server into
run_agent(), so that main() is now only command-line parsing and
validation. We recognise a collection of new command-line options for
talking to an existing agent as a client (analogous to ssh-add), which
go to a new run_client() function, but I haven't filled in that
function itself yet.
unix/uxpgnt.c | 250 +++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 174 insertions(+), 76 deletions(-)
commit cd528f3e763caeed244ee9b4567ab47056b22da9
web diff http://tartarus.org/~simon-git/gitweb/?p=putty.git;a=commitdiff;h=cd528f3e763caeed244ee9b4567ab47056b22da9;hp=da944972d8c69fea3ff93c968814c4c16440fbd2
Author: Simon Tatham <anakin at pobox.com>
Date: Mon May 11 17:56:51 2015 +0100
Unix Pageant: link in uxagentc.c and uxcons.c.
This brings in the code we'll need to request passphrases from the
terminal, and to talk to an existing SSH agent as a client.
Adding uxcons.c required adjusting the set of stub functions in
uxpgnt.c: uxcons.c removed the need for several, but added one of its
own (log_eventlog). A net win, though.
Recipe | 7 ++++---
unix/uxpgnt.c | 12 +++++-------
2 files changed, 9 insertions(+), 10 deletions(-)
commit af20ed5799474b2f0961250a7169f70b8f888966
web diff http://tartarus.org/~simon-git/gitweb/?p=putty.git;a=commitdiff;h=af20ed5799474b2f0961250a7169f70b8f888966;hp=cd528f3e763caeed244ee9b4567ab47056b22da9
Author: Simon Tatham <anakin at pobox.com>
Date: Mon May 11 17:58:55 2015 +0100
Unix Pageant: support loading keys.
You can now load keys at Pageant init time, by putting the key file
names as bare arguments on the command line, e.g. 'pageant -T key.ppk'
or 'pageant key.ppk --exec some command'; also, 'pageant -a key.ppk'
behaves more or less like ssh-add, contacting an existing agent to add
the key.
The askpass() function currently supports terminal-based prompting
only. X11 askpass is yet to be implemented.
unix/uxpgnt.c | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 120 insertions(+), 3 deletions(-)
More information about the tartarus-commits
mailing list