simon-git: putty (master): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Tue Sep 25 17:24:23 BST 2018
TL;DR:
e4ee11d4 Fix accidental termination of wait-for-rekey loop.
da1e560b Fix failure to display the specials menu.
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: 2018-09-25 17:24:23
commit e4ee11d4c2258974a871c2e06fdf65f40b8a42eb
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=e4ee11d4c2258974a871c2e06fdf65f40b8a42eb;hp=f22d442003900ebed2d3322d4c258d73d5c6cc1c
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Sep 25 17:12:22 2018 +0100
Fix accidental termination of wait-for-rekey loop.
When I separated out the transport layer into its own source file, I
also reworked the logic deciding when to rekey, and apparently that
rework introduced a braino in which I compared rekey_reason (which is
a pointer) to RK_NONE (which is a value of the enumerated type that
lives in the similarly named variable rekey_class). Oops. The result
was that after the first rekey, the loop would terminate the next time
the transport coroutine got called, because the code just before the
loop had zeroed out rekey_class but not rekey_reason. So there'd be a
rekey on every keypress, or similar.
ssh2transport.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit da1e560b42db03e6cf8bd49866975d63d4e9da84
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=da1e560b42db03e6cf8bd49866975d63d4e9da84;hp=e4ee11d4c2258974a871c2e06fdf65f40b8a42eb
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Sep 25 17:18:54 2018 +0100
Fix failure to display the specials menu.
I reworked the code for this at the last moment while preparing the
Big Refactoring, having decided my previous design was overcomplicated
and introducing an argument parameter (commit f4fbaa1bd) would be
simpler.
I carefully checked after the rework that specials manufactured by the
code itself (e.g. SS_PING) came through OK, but apparently the one
thing I _didn't_ test after the rework was that the specials list was
actually returned correctly from ssh_get_specials to be incorporated
into the GUI.
In fact one stray if statement - both redundant even if it had been
right, and also tested the wrong pointer - managed to arrange that
when ssh->specials is NULL, it could never be overwritten by anything
non-NULL. And of course it starts off initialised to NULL. Oops.
ssh.c | 3 ---
1 file changed, 3 deletions(-)
More information about the tartarus-commits
mailing list