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