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