Oops; we _do_ need to set dport even when doing dynamic forwarding,
because otherwise the `if (sport && dport)' statement runs the risk
of not working.


git-svn-id: svn://svn.tartarus.org/sgt@3129 cda61777-01e9-0310-a592-d414129be87e
Removing items from a list box using gtk_container_remove is nasty,
because when the selected item is removed the selection moves on to
another item. Thus, calling dlg_listbox_clear causes repeated
selchanges in the list, which in turn cause repeated valchanges if
the list is attached to a combo box. This has been completely
scuppering the Translation panel.


git-svn-id: svn://svn.tartarus.org/sgt@3130 cda61777-01e9-0310-a592-d414129be87e
Missing bits for System 7 listbox support.


git-svn-id: svn://svn.tartarus.org/sgt@3131 cda61777-01e9-0310-a592-d414129be87e
Missing bits for colour selection support.


git-svn-id: svn://svn.tartarus.org/sgt@3132 cda61777-01e9-0310-a592-d414129be87e
Unix makefile now uses -O2, which massively cuts down key exchange
time. This gives rise to a whole bunch of spare warnings, one or two
of which might have been actual bugs; now all resolved.


git-svn-id: svn://svn.tartarus.org/sgt@3134 cda61777-01e9-0310-a592-d414129be87e
Added framework to sshbn.c to make it possible to vary the
underlying integer type forming the Bignum. Using this, arranged
that gcc/x86 uses 32-bit chunks rather than the guaranteed ANSI-
portable 16-bit chunks. This has gained another 30% on key exchanges
by my measurements, but I'm not yet convinced that it's all
perfectly robust - it seems to work fine for SSH1 and SSH2/RSA but
I haven't ensured that every bignum routine is actually being
tested, so it may yet show up problems in DSA or key generation.


git-svn-id: svn://svn.tartarus.org/sgt@3135 cda61777-01e9-0310-a592-d414129be87e
Force gcc to use x86's built-in 64/32->32,32 division instruction
rather than swanning off to a helper function. This seems to make
woefully little actual performance difference, which annoys me, but
it's a just-about-detectable improvement so I'll leave it in.


git-svn-id: svn://svn.tartarus.org/sgt@3136 cda61777-01e9-0310-a592-d414129be87e
Robustness in the face of sudden connection closures: we now make a
credible effort to shut down open forwardings cleanly when the
owning SSH connection terminates abruptly (for whatever reason).


git-svn-id: svn://svn.tartarus.org/sgt@3137 cda61777-01e9-0310-a592-d414129be87e
Don't block SIGPIPE until _after_ pterm forks, since otherwise the
blockage will propagate to the child process.


git-svn-id: svn://svn.tartarus.org/sgt@3139 cda61777-01e9-0310-a592-d414129be87e
Fix another segfault on abrupt X connection shutdown. This should
have happened in rev 1.5 [r996] but didn't! Now we never call
sk_get_private_ptr() on a socket unless we've ensured it's non-NULL.


git-svn-id: svn://svn.tartarus.org/sgt@3140 cda61777-01e9-0310-a592-d414129be87e
The new ssh_do_close() function itself causes a segfault if the
connection goes foom before ssh->channels is set up. Oops. Fixed.


git-svn-id: svn://svn.tartarus.org/sgt@3141 cda61777-01e9-0310-a592-d414129be87e
The line-drawing paste config option has changed its meaning since
it was first designed. Alter the wording and documentation to match.


git-svn-id: svn://svn.tartarus.org/sgt@3143 cda61777-01e9-0310-a592-d414129be87e
Aha, _that's_ why the icon title didn't work properly in pterm:
gtk_window_set_title() overwrote both titles at once. Icon title is
now working properly under X, and since X was the reason for the
whole icon/window title separation _anyway_ they default to being
separate.


git-svn-id: svn://svn.tartarus.org/sgt@3144 cda61777-01e9-0310-a592-d414129be87e
Make the `vtmode' config option work under X. In the process I've
had to move another of its values out into wincfg.c - paradoxically,
this was the `font has X encoding' option! (Because the Unix font
handling code expects to be able to tell for _itself_ whether it has
a font with X-encoded line drawing glyphs.)


git-svn-id: svn://svn.tartarus.org/sgt@3145 cda61777-01e9-0310-a592-d414129be87e
Finer granularity of config box handling. SSH packet logging should
now not show up when it's meaningless (in PuTTYtel, in pterm, and
in the middle of any non-SSH session), and the Connection panel is
inhibited completely in pterm.


git-svn-id: svn://svn.tartarus.org/sgt@3146 cda61777-01e9-0310-a592-d414129be87e
Might as well provide PuTTYtel for Unix. It's not much effort!


git-svn-id: svn://svn.tartarus.org/sgt@3147 cda61777-01e9-0310-a592-d414129be87e
Remove the TODO comment at the top of uxputty.c; I'm now not aware
of anything that makes the Unix port of PuTTY proper significantly
unfinished. That's quite a milestone :-)


git-svn-id: svn://svn.tartarus.org/sgt@3148 cda61777-01e9-0310-a592-d414129be87e
Take the random number generator back out of Pageant: the `random'
numbers needed for RSA blinding are now done deterministically by
hashes of the private key, much the same way we do it for DSA.


git-svn-id: svn://svn.tartarus.org/sgt@3149 cda61777-01e9-0310-a592-d414129be87e
radioline() was broken after the portable-dialog stuff got added, so
PuTTYgen was lacking its key type selector. Fixed.


git-svn-id: svn://svn.tartarus.org/sgt@3150 cda61777-01e9-0310-a592-d414129be87e
Support for non-ISO-8859-1 X keysyms. So in particular, pterm in a
Euro-supporting font with a Euro-enabled X key map will now actually
generate a Euro character rather than shrugging and doing nothing.


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