simon-git: putty (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Sat Feb 15 18:10:00 GMT 2020


TL;DR:
  891bf366 Fix benign memory leak in uxpgnt.
  2e479fab Rework the Pageant client code to use BinarySource.
  1ae8850d Pageant: unset decryption_prompt_active flag.
  9f15ab4c Pageant core: extension requests to re-encrypt keys.
  e563627d Pageant client: functions to send reencryption requests.
  2571eabe Unix Pageant: support -r and -R options to re-encrypt.

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2020-02-15 18:10:00

commit 891bf36600606a3a0beaaa76595e928e588a4a14
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=891bf36600606a3a0beaaa76595e928e588a4a14;hp=230c8ef4ee6091d9686f12707abbea964a701c69
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Feb 15 15:55:30 2020 +0000

    Fix benign memory leak in uxpgnt.
    
    No real need - when we fail to free this strbuf, we were about to exit
    the whole process anyway - but it keeps Leak Sanitiser off my back, as
    usual.

 unix/uxpgnt.c | 1 +
 1 file changed, 1 insertion(+)

commit 2e479fabadc4c6834d6d873e6c1ec8be0b42153c
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=2e479fabadc4c6834d6d873e6c1ec8be0b42153c;hp=891bf36600606a3a0beaaa76595e928e588a4a14
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Feb 15 07:30:19 2020 +0000

    Rework the Pageant client code to use BinarySource.
    
    There was a lot of ugly, repetitive, error-prone code that decoded
    agent responses in raw data buffers. Now my internal client query
    function is returning something that works as a BinarySource, so we
    can decode agent responses using the marshal.h system like any other
    SSH-formatted message in this code base.
    
    While I'm at it, I've centralised more of the parsing of key lists
    (saving repetition in pageant_add_key and pageant_enum_keys),
    including merging most of the logic between SSH-1 and SSH-2. The old
    functions pageant_get_keylist1 and pageant_get_keylist2 aren't exposed
    in pageant.h any more, because they no longer exist in that form, and
    also because nothing was using them anyway. (Windows Pageant was using
    the separate pageant_nth_ssh2_key() functions that talk directly to
    the core, and Unix Pageant was using the more cooked client function
    pageant_enum_keys.)

 pageant.c | 540 ++++++++++++++++++++++++++------------------------------------
 pageant.h |   6 -
 2 files changed, 225 insertions(+), 321 deletions(-)

commit 1ae8850d93925cf4b8b1b5dc9a05c0bec60100d9
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=1ae8850d93925cf4b8b1b5dc9a05c0bec60100d9;hp=2e479fabadc4c6834d6d873e6c1ec8be0b42153c
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Feb 15 16:35:41 2020 +0000

    Pageant: unset decryption_prompt_active flag.
    
    We set it when we started prompting for a passphrase, and never unset
    it again when the passphrase prompt either succeeded or failed. Until
    now it hasn't mattered, because the only use of the flag is to
    suppress duplicate prompts, and once a key has been decrypted, we
    never need to prompt for it again, duplicate or otherwise. But that's
    about to change, so now this bug needs fixing.

 pageant.c | 2 ++
 1 file changed, 2 insertions(+)

commit 9f15ab4cac8e7dba9da5c483f9cd36bfdd19db83
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=9f15ab4cac8e7dba9da5c483f9cd36bfdd19db83;hp=1ae8850d93925cf4b8b1b5dc9a05c0bec60100d9
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Feb 15 16:37:10 2020 +0000

    Pageant core: extension requests to re-encrypt keys.
    
    These requests parallel 'delete key' and 'delete all keys', but they
    work on keys which you originally uploaded in encrypted form: they
    cause Pageant to delete only the _decrypted_ form of the key, so that
    the next attempt to use the key will need to re-prompt for its
    passphrase.

 pageant.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 121 insertions(+), 3 deletions(-)

commit e563627d4b889923f5f44fe6c61d035e3310df52
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=e563627d4b889923f5f44fe6c61d035e3310df52;hp=9f15ab4cac8e7dba9da5c483f9cd36bfdd19db83
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Feb 15 16:39:02 2020 +0000

    Pageant client: functions to send reencryption requests.
    
    The reencrypt-all request is unusual in its ability to be _partially_
    successful. To handle this I've introduced a new return status,
    PAGEANT_ACTION_WARNING. At the moment, users of this client code don't
    expect it to appear on any request, and I'll make them watch for it
    only in the case where I know a particular function can generate it.

 defs.h    |  1 +
 pageant.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 pageant.h |  6 +++++-
 3 files changed, 55 insertions(+), 1 deletion(-)

commit 2571eabeefd9b486551fb60e1a0f34d5aee046cb
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=2571eabeefd9b486551fb60e1a0f34d5aee046cb;hp=e563627d4b889923f5f44fe6c61d035e3310df52
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Feb 15 16:40:19 2020 +0000

    Unix Pageant: support -r and -R options to re-encrypt.
    
    This links up the new re-encryption facilities to the Unix Pageant
    client-mode command line. Analogously to -d and -D, 'pageant -r key-id'
    re-encrypts a single key, and 'pageant -R' re-encrypts everything.

 unix/uxpgnt.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)



More information about the tartarus-commits mailing list