simon-git: putty (main): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Fri Apr 2 13:46:00 BST 2021
TL;DR:
c4dc78bd winpgnt: use pageant_enum_keys to update GUI key list.
ceb645b0 winpgnt: mark encrypted/encryptable keys in GUI key list.
efc31ee3 Polish up passphrase prompts for key decryption.
04390ff4 winpgnt: more rigorous command-line processing.
af6adb5c winpgnt: command-line option to add keys encrypted.
b0f9e3a6 winpgnt: GUI actions to add keys encrypted.
fbab1667 winpgnt: fix GUI removal of encrypted keys.
30c87c28 Make unused Pageant accessor functions private.
e0bbe1e6 Refactor pageant_nth_ssh*_key.
fc9fbfe1 gtk-askpass: add margins on left and right of the prompt.
Repository: https://git.tartarus.org/simon/putty.git
On the web: https://git.tartarus.org/?p=simon/putty.git
Branch updated: main
Committer: Simon Tatham <anakin at pobox.com>
Date: 2021-04-02 13:46:00
commit c4dc78bd8578e7c5422ee10c3f0067d3201d1f49
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=c4dc78bd8578e7c5422ee10c3f0067d3201d1f49;hp=443034090c47a8ae0bfe4dbeab96d05803f870a4
Author: Simon Tatham <anakin at pobox.com>
Date: Sun Mar 28 15:40:57 2021 +0100
winpgnt: use pageant_enum_keys to update GUI key list.
The advantage of this API is that it gives us the extra flags saying
whether each key is encrypted or re-encryptable.
NFC: we don't yet do anything with that information, just make it
available for future work.
windows/winpgnt.c | 193 ++++++++++++++++++++++++++++++------------------------
1 file changed, 109 insertions(+), 84 deletions(-)
commit ceb645b042e888263ff901df7ab5de3ea45579af
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=ceb645b042e888263ff901df7ab5de3ea45579af;hp=c4dc78bd8578e7c5422ee10c3f0067d3201d1f49
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 10:13:01 2021 +0100
winpgnt: mark encrypted/encryptable keys in GUI key list.
Now they have '(encrypted)' or '(re-encryptable)' after them, the same
as Unix Pageant.
Mostly this just involved tinkering with the code in winpgnt.c that
makes up the entry to put in the list box. But I also had to sprinkle
a few more calls to keylist_update() into the cross-platform
pageant.c, to make sure that the key list window is proactively
updated whenever a key is decrypted, re-encrypted, or loaded in
encrypted-only form.
pageant.c | 6 ++++++
windows/winpgnt.c | 56 +++++++++++++++++++++++--------------------------------
2 files changed, 29 insertions(+), 33 deletions(-)
commit efc31ee30d88fdc615f08e00eb1ddc3b8cc95193
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=efc31ee30d88fdc615f08e00eb1ddc3b8cc95193;hp=ceb645b042e888263ff901df7ab5de3ea45579af
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 10:49:18 2021 +0100
Polish up passphrase prompts for key decryption.
Now Windows Pageant has two clearly distinct dialog boxes for
requesting a key passphrase: one to use synchronously when the user
has just used the 'Add Key' GUI action, and one to use asynchronously
in response to an agent client's attempt to use a key that was loaded
encrypted.
Also fixed the wording in the asynchronous box: there were two copies
of the 'enter passphrase' instruction, one from the dialog definition
in pageant.rc file and one from the cross-platform pageant.c. Now
pageant.c doesn't format a whole user-facing message any more: it
leaves that to the platform front end to do it the way it wants.
I've also added a call to SetForegroundWindow, to try to get the
passphrase prompt into the foreground. In my experience this doesn't
actually get it the keyboard focus, which I think is deliberate on
Windows's part and there's nothing I can do about it. But at least the
user should _see_ that the prompt is there, so they can focus it
themself.
pageant.c | 11 ++++-------
pageant.h | 14 ++++++++------
unix/uxpgnt.c | 12 +++++++++++-
windows/pageant.rc | 17 +++++++++++++++--
windows/winpgnt.c | 52 +++++++++++++++++++++++++++++++++++++++++++++-------
5 files changed, 83 insertions(+), 23 deletions(-)
commit 04390ff4a7e8c8f6c7fba089c58f2c508a14cdad
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=04390ff4a7e8c8f6c7fba089c58f2c508a14cdad;hp=efc31ee30d88fdc615f08e00eb1ddc3b8cc95193
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 11:02:36 2021 +0100
winpgnt: more rigorous command-line processing.
This makes Windows Pageant's slightly ad-hoc command-line handling a
bit more like a standard option loop: we start by deciding whether we
think any given argument _is_ an option or not, and if we think it is,
we give an error message if it's one we don't recognise.
windows/winpgnt.c | 56 +++++++++++++++++++++++++++++++++----------------------
1 file changed, 34 insertions(+), 22 deletions(-)
commit af6adb5c4b9f1993aea46bed07eb6239f632c5e3
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=af6adb5c4b9f1993aea46bed07eb6239f632c5e3;hp=04390ff4a7e8c8f6c7fba089c58f2c508a14cdad
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 11:07:42 2021 +0100
winpgnt: command-line option to add keys encrypted.
I couldn't quite decide whether to name the option 'encrypted' or
'no-decrypt', so I've supported both.
windows/winpgnt.c | 47 ++++++++++++++++++-----------------------------
1 file changed, 18 insertions(+), 29 deletions(-)
commit b0f9e3a6adac0e21b3ce5b26bbcde2b3f5009958
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=b0f9e3a6adac0e21b3ce5b26bbcde2b3f5009958;hp=af6adb5c4b9f1993aea46bed07eb6239f632c5e3
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 11:14:44 2021 +0100
winpgnt: GUI actions to add keys encrypted.
I've added a new option to the system tray menu, and a new button to
the key list window.
windows/pageant.rc | 1 +
windows/winpgnt.c | 27 +++++++++++++++++----------
2 files changed, 18 insertions(+), 10 deletions(-)
commit fbab1667284a99beb9640d0c6ba2ef7cd4fab003
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=fbab1667284a99beb9640d0c6ba2ef7cd4fab003;hp=b0f9e3a6adac0e21b3ce5b26bbcde2b3f5009958
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 11:30:18 2021 +0100
winpgnt: fix GUI removal of encrypted keys.
The GUI loop that responded to the 'Remove Key' button in the key list
worked by actually trying to retrieve a pointer to the ssh_key for a
stored key, and then passing that back to the delete function. But
when a key is encrypted, that pointer is NULL, so we segfaulted.
Fixed by changing pageant_delete_ssh2_key() to take a numeric index in
the list instead of a key pointer.
pageant.c | 26 ++++++++------------------
pageant.h | 4 ++--
windows/winpgnt.c | 15 ++-------------
3 files changed, 12 insertions(+), 33 deletions(-)
commit 30c87c2896cd35926a7bb9fae9e025afcc1049c7
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=30c87c2896cd35926a7bb9fae9e025afcc1049c7;hp=fbab1667284a99beb9640d0c6ba2ef7cd4fab003
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 11:39:01 2021 +0100
Make unused Pageant accessor functions private.
We're no longer calling pageant_nth_ssh*_key or pageant_add_ssh*_key
from outside pageant.c. Remove them from pageant.h and turn them
static, so that we carry on not doing so.
pageant.c | 10 ++++++----
pageant.h | 12 ++----------
2 files changed, 8 insertions(+), 14 deletions(-)
commit e0bbe1e6c05d837333fa46eba3cdcab303a4f5d5
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=e0bbe1e6c05d837333fa46eba3cdcab303a4f5d5;hp=30c87c2896cd35926a7bb9fae9e025afcc1049c7
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 11:42:17 2021 +0100
Refactor pageant_nth_ssh*_key.
I've merged the two previous functions, with different return types
per SSH version, into a single one that returns the containing
PageantKey instead of pulling out one of its internal fields.
This actually fixes a bug, though it would only have come up in the
Unix Pageant debugging mode: an encrypted-only key would have
terminated the key list in the diagnostic messages, because
pageant_nth_ssh2_key would have returned pk->skey which was NULL. Now
it returns pk itself, which isn't.
pageant.c | 48 ++++++++++++++++++++----------------------------
1 file changed, 20 insertions(+), 28 deletions(-)
commit fc9fbfe1e480082a5751f824846c10cf9bd6d6b6
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=fc9fbfe1e480082a5751f824846c10cf9bd6d6b6;hp=e0bbe1e6c05d837333fa46eba3cdcab303a4f5d5
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Apr 2 12:54:52 2021 +0100
gtk-askpass: add margins on left and right of the prompt.
If the prompt got big enough to reach to the edges of the dialog box,
it looked ugly without any margins. Previously I hadn't noticed,
because the prompt text was never that big.
unix/gtkask.c | 7 +++++++
1 file changed, 7 insertions(+)
More information about the tartarus-commits
mailing list