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