When we are asked to unthrottle an SSH connection (by the front end
calling back->unthrottle), we should immediately call
ssh_process_queued_incoming_data to handle the SSH packets that have
been saved for later functioning while we were throttled. Otherwise,
they'll sit there unhandled until the next call to ssh_gotdata, which
might not be for ages if the server thinks it's waiting for us.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9523 cda61777-01e9-0310-a592-d414129be87e
Bug fix from Robert de Bath: since lpDx_maybe is always supposed to
equal either lpDx or NULL, we mustn't forget to update it when we
realloc lpDx.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9526 cda61777-01e9-0310-a592-d414129be87e
Fix from Robert de Bath which reorders the Windows initialisation
sequence: since init_fonts sets up ucsdata based on the available
Windows fonts, we should call it before passing ucsdata to term_init.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9527 cda61777-01e9-0310-a592-d414129be87e
Patch from Robert de Bath to substantially simplify timing.c.

The previous platform-dependent ifdefs, switching between a system
which tried to cope with spurious callbacks (which UI'd observed on
Windows) and one which tried to cope with system clock jumps (which
can happen on Unix, if you use gettimeofday) have been completely
removed, and replaced with a much simpler approach which just copes
with system clock jumps by triggering any timers immediately.

None of the resulting effects should be catastrophic (the worst thing
might be the waste of CPU in a spurious rekey, but as long as the
system clock isn't jumping around _all_ the time that's hardly
critical) and in any case the Unix port has had a long-standing oddity
involving occasional lockups if pterm or PuTTY runs for too long,
which hopefully this should replace with a much less bad failure mode.
And the code is much simpler, which is not to be sneezed at.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9528 cda61777-01e9-0310-a592-d414129be87e
Use clock_gettime(CLOCK_MONOTONIC) as the Unix getticks(), if it's
available.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9529 cda61777-01e9-0310-a592-d414129be87e
Fix bug in the new CLOCK_MONOTONIC implementation. I was treating the
nanoseconds field as a microseconds field, with hilarious consequences.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9535 cda61777-01e9-0310-a592-d414129be87e
Enhance my 'sresize' macro so that it type-checks the pointer you pass
_in_ to it, as well as the one it returns. Why have I never thought of
doing that before?!


git-svn-id: svn://svn.tartarus.org/sgt/putty@9539 cda61777-01e9-0310-a592-d414129be87e
Fix a bug in cygtermd, spotted by Casey Zacek, in which we
unconditionally set the telnet state to SEENCR regardless of whether
we have actually seen a CR, and as a result sending a NUL through
PuTTY (via Ctrl-Space or whatever) does not work. Must have arisen
through some kind of really weird cut-and-paste error!


git-svn-id: svn://svn.tartarus.org/sgt/putty@9545 cda61777-01e9-0310-a592-d414129be87e
Missing #include.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9551 cda61777-01e9-0310-a592-d414129be87e
Add missing check for failure to agree a host key algorithm.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9557 cda61777-01e9-0310-a592-d414129be87e
Introduce a third setting for the 'bold as colour' mode, which lets
you both brighten the colour _and_ bold the font at the same time.
(Fixes 'bold-font-colour' and Debian #193352.)


git-svn-id: svn://svn.tartarus.org/sgt/putty@9559 cda61777-01e9-0310-a592-d414129be87e
Support for dead keys and compose sequences on Unix, by instantiating
a GtkIMMulticontext and having that filter most keypresses. I think
I've got this right so that it doesn't break any previous deliberate
keyboard-handling behaviour that's now _after_ the 'if (filter
keypress) return' statement.


git-svn-id: svn://svn.tartarus.org/sgt/putty@9567 cda61777-01e9-0310-a592-d414129be87e