simon-git: putty (main): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Sat Jun 11 13:16:11 BST 2022
TL;DR:
0d4af8e1 Pageant: fix concurrent attempts to use an encrypted key.
bc61acc5 NTRU: fix copy-paste error in comment.
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: 2022-06-11 13:16:11
commit 0d4af8e1c4889ab7bf1cd00e91bb28987a7d1d05
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=0d4af8e1c4889ab7bf1cd00e91bb28987a7d1d05;hp=e0959d46471aeb94b3db4de662e124041f7d10f3
Author: Simon Tatham <anakin at pobox.com>
Date: Sat Jun 11 12:46:29 2022 +0100
Pageant: fix concurrent attempts to use an encrypted key.
If you had a key stored encrypted in Pageant, and you launched two
PuTTY sessions both trying to generate a signature with the key, and
then didn't type the passphrase into the async passphrase prompt until
after both sessions had made requests, then only one of the requests
would be replied to once you decrypted the key. The other would sit
there waiting for a response that Pageant never got round to sending.
This would also happen in the case where you launched two PuTTY
sessions each trying to use a _different_ encrypted key in Pageant, in
which case Pageant should have presented the next GUI passphrase box
after the first one was dismissed. That didn't happen either.
This was the result of two separate bugs in the code. Firstly, when
signop_coroutine() noticed that a GUI request was already in progress,
it would crReturn without making any arrangement to be called back.
Now there's a queue of 'requests blocked on waiting for some GUI
prompt to finish'.
Secondly, if multiple requests were blocked on the same key, the code
that went over the linked list of them had a bug in which it would
unblock the _first_ list item in every iteration, instead of
unblocking all the items once each.
pageant.c | 39 ++++++++++++++++++++++++++++++++++-----
1 file changed, 34 insertions(+), 5 deletions(-)
commit bc61acc53da1e5d780f4840aeef66d79e2044207
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=bc61acc53da1e5d780f4840aeef66d79e2044207;hp=0d4af8e1c4889ab7bf1cd00e91bb28987a7d1d05
Author: Simon Tatham <anakin at pobox.com>
Date: Sat Jun 11 13:12:33 2022 +0100
NTRU: fix copy-paste error in comment.
The polynomial Stein's algorithm in that code was adapted from the
binary Stein in mpint.c. One of the comments which originally said
'dividing by 2' should have been updated to say 'dividing by x' in the
polynomial case, and didn't.
crypto/ntru.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
More information about the tartarus-commits
mailing list