Simon Tatham [Tue, 30 Oct 2001 22:02:15 +0000 (22:02 +0000)]
Word-by-word (double-click) selection now spans line breaks if the
line break was created by wrapping. (Equivalently, if the selection
would _paste_ as a single word without a newline in the middle, then
it will _select_ in the same way.)
Simon Tatham [Sun, 28 Oct 2001 10:40:11 +0000 (10:40 +0000)]
Fix character set problems. Some systems lack the ISO8859 codepages,
so we specify them explicitly to avoid this problem. Also in
particular get_unitab() no longer depends on querying Windows
codepage 28591 (ISO8859-1), so UTF-8 mode should stop failing on
such systems.
Simon Tatham [Sun, 28 Oct 2001 09:38:43 +0000 (09:38 +0000)]
Fix silly scrolling-vs-selection bug: if you selected text on line
9, then did ANSI Delete Line on line 10, the selection highlight
would move up a line even though it wasn't over any text that
actually moved. Easy to reproduce in the likes of vi. Trivial fix.
Simon Tatham [Sat, 27 Oct 2001 10:39:54 +0000 (10:39 +0000)]
Update to password length traffic analysis: one Cisco router can
apparently not deal with SSH1_MSG_IGNORE _or_ padded passwords, so
we must fall back to sending an undefended password.
Simon Tatham [Wed, 24 Oct 2001 11:50:07 +0000 (11:50 +0000)]
Now that we can configure whether ^C and friends generate Telnet IP
and friends, we should honour the user's choice even in line editing
mode. In particular, Telnet talkers don't like us randomly spraying
Telnet IP whenever the user accidentally hits ^C, so this is not a
helpful default.
Simon Tatham [Tue, 23 Oct 2001 19:51:23 +0000 (19:51 +0000)]
Better robustness in visual bell timeouts: handling GetTickCount
wraparound, not referencing vbell_timeout if in_vbell==FALSE, that
sort of thing. I doubt it'll fix the reported problems with screen
vbells, since none of the failure modes I've just prevented looked
all that probable to me, but it's nice to have extra robustness
anyway.
Simon Tatham [Wed, 17 Oct 2001 21:21:03 +0000 (21:21 +0000)]
Wez Furlong's patch to tidy up full-screen mode: make it
multi-monitor aware and make the scrollbar separately configurable
in and out of full-screen mode. Also (not Wez's patch, this bit) fix
the case where the user reconfigures _while_ the window is
full-screen, and disables full-screening. (In this case the window
should return gracefully to normal, rather than losing all its title
bars and getting confused.)
Simon Tatham [Fri, 12 Oct 2001 21:10:56 +0000 (21:10 +0000)]
Revamp the window-resize behaviour UI so there are only three states
rather than four. Should fix all sorts of bugs, since the fourth
(and default!) state was behaving weirdly and nobody liked it.
Simon Tatham [Fri, 12 Oct 2001 19:32:13 +0000 (19:32 +0000)]
Due to fears that an incompetent WinSock might allow localhost-
listening sockets to be talked to by non-local hosts, reinstate the
explicit peer address check on connection acceptance.
Simon Tatham [Tue, 25 Sep 2001 20:12:14 +0000 (20:12 +0000)]
Spelling fix. When the user hits `Browse' next to the `Private key'
box, they should see a file chooser labelled Select _Private_ Key
File, not Public!
Simon Tatham [Fri, 21 Sep 2001 17:54:29 +0000 (17:54 +0000)]
Ongoing pastes were being abandoned on any key-down event. Quite
apart from the debatable semantic sanity of abandoning mid-paste,
this was breaking Shift-paste (theoretically valid in any case,
actually necessary with xterm mouse reporting enabled) because when
you hold down Shift the window receives a steady stream of KEYDOWN
messages as the key auto-repeats. One of those is likely to show up
in mid-paste and scupper you. For the moment, this has been changed
so that only a key press that actually _generates session data_
aborts a paste. In future I plan to review just why we're doing this
anyway (it may be that paste-little-by-little was a response to
rubbish socket buffering, in which case we can dispense with it
completely now).
Simon Tatham [Tue, 18 Sep 2001 19:41:07 +0000 (19:41 +0000)]
terminal.c's from_backend() no longer calls term_out(), because
term_out() can in turn call ldisc_send() which calls back to
from_backend() when local echo is enabled. This was giving rise to
crazy re-entrancy stuff and stack overflows. Instead from_backend()
deposits its data in a bufchain which term_out() empties the next
time it's called.
Simon Tatham [Tue, 18 Sep 2001 18:59:37 +0000 (18:59 +0000)]
Selection point movement on scroll should move selanchor as well as
selstart and selend, otherwise all those worthy ideals go *foom*
while the mouse buttons are held down.
Simon Tatham [Tue, 18 Sep 2001 18:51:10 +0000 (18:51 +0000)]
Reintroduce Cyrillic Caps Lock mode, which was in 0.51 but got
kicked out by the Unicode patch. It's not very good - only works
sanely on US keyboards - but it's no worse than it was in 0.51.
After 0.52 maybe I should fix it properly.
Simon Tatham [Tue, 18 Sep 2001 18:40:00 +0000 (18:40 +0000)]
Fix the licence again. (Despite the copyright holders being more
numerous, it still only said _I_ would not be liable rather than
_everybody_ not being liable; also the resource file versions
weren't up to date.)
Simon Tatham [Tue, 18 Sep 2001 18:16:56 +0000 (18:16 +0000)]
SSH back end should now be tolerant of garbage appearing in the data
stream after the actual SSH connection is finished. Some firewalls
add this for no good reason.
Simon Tatham [Sat, 15 Sep 2001 15:54:24 +0000 (15:54 +0000)]
Three more patches from RDB: one to make Atomica work right, one to
fiddle with the widths of characters in DBCS screen fonts, and (the
big one) one to enable a mode in which resizing the window locks the
terminal size and lets the font change, instead of vice versa. That
should shut up a few feature requests!
Simon Tatham [Sat, 15 Sep 2001 14:58:26 +0000 (14:58 +0000)]
Cygwin build fixes: update the dependencies, add -DNO_SECURITY to
the Cygwin CFLAGS, and declare `struct ssh_channel' in ssh.h to
prevent gcc warning about scope-confined-to-parameter-list.
Simon Tatham [Wed, 12 Sep 2001 20:38:40 +0000 (20:38 +0000)]
Scrollback viewing position, and selection endpoints, now keep pace
with the scrollback movement. (The former is of course only
detectable when reset-scrollback-on-activity is disabled.)
Simon Tatham [Wed, 12 Sep 2001 20:16:45 +0000 (20:16 +0000)]
PSFTP: when choosing a default destination filename for `get' and
`put', it makes more sense to pick the _basename_ of the source
rather than use the whole path - particularly when the latter might
cause us to try to use a DOS pathname like `f:\stuff' in a Unix (or
worse, such as VMS!) file system.
Simon Tatham [Wed, 12 Sep 2001 20:11:48 +0000 (20:11 +0000)]
psftp and pscp should disable all forwarding (ports, X, agent).
Partly because that's a good idea _anyway_, and partly because it
seems to be causing trouble. (Specifically, their pathetic attempt
to emulate plink's proper select handling seems to get confused when
the back end tries to open a local listening socket.)
Simon Tatham [Sun, 9 Sep 2001 15:41:58 +0000 (15:41 +0000)]
Modify the FIXME into a calculated risk. I don't like this, but I
don't like the thought of having to try to fix it either,
particularly when I can't tell whether it'll work or not without
reproducing the (probably phantom) problem. Gah. I wish WinSock
would give better documentation of possible error returns.
Simon Tatham [Sat, 8 Sep 2001 15:16:30 +0000 (15:16 +0000)]
Fix potential float screwup in scp percentage indicator. (Don't
compute (100*a)/b. Instead compute 100*(a/b), because that way
there's no chance that 100*a will become inexact enough to fail to
yield 100 when a==b.)
Simon Tatham [Fri, 7 Sep 2001 22:58:00 +0000 (22:58 +0000)]
Another patch from RDB: prevent luni_send from sending a particular
range of Unicode characters. Not entirely sure I understand this one
but I trust that RDB knows what he's talking about with Unicode.
Simon Tatham [Fri, 7 Sep 2001 22:52:51 +0000 (22:52 +0000)]
RDB points out that when you memset a newly allocated structure to
zero, covering the size of the _structure_ rather than the size of
the pointer to it might help :-)
Simon Tatham [Fri, 7 Sep 2001 22:51:52 +0000 (22:51 +0000)]
RDB's session logging patch: due to some ghastly special case, UTF-8
characters that failed the UTF-8 canonicality rules were being sent
to the session log twice. Sounds trivial, but I bet it'd have
confused anyone who turned on session logging precisely to track
down a canonicality bug :-)
Simon Tatham [Fri, 7 Sep 2001 22:45:05 +0000 (22:45 +0000)]
Patch from RDB: in the case where the protocol read from the
settings file is unrecognised (i.e. PuTTYtel reading PuTTY's
registry), fall back to the default _port_ as well as the default
protocol.
Simon Tatham [Fri, 7 Sep 2001 22:39:01 +0000 (22:39 +0000)]
Robert de Bath's asynchronous-connect patch. Helps a lot in port
forwarding; improves Event Log; and causes the PuTTY window to
appear earlier in the setup process.
Simon Tatham [Fri, 7 Sep 2001 21:39:03 +0000 (21:39 +0000)]
Robert de Bath's `Patch.a_alt_key': clean up the handling of
Alt-Space, Alt-only and the System menu. It lets Windows do more of
the work, and also saves a static variable, so it must be good :-)
Simon Tatham [Fri, 7 Sep 2001 20:35:38 +0000 (20:35 +0000)]
Jacob's patch to cause Shift to return to copy-and-paste when xterm
mouse tracking is enabled. (This can be turned off if your app
really wants Shift+mouse, but it defaults to on for general
usefulness.)
Simon Tatham [Wed, 5 Sep 2001 22:04:19 +0000 (22:04 +0000)]
Fix the intermittent fault in the socket layer that was occasionally
bombing out X forwarding. It turns out to be a workaround for YET
ANOTHER useless WinSock implementation. Arrgh!
Simon Tatham [Wed, 5 Sep 2001 21:01:04 +0000 (21:01 +0000)]
Unicode cleanup phase 2: we now reintroduce the ability to enter a
numeric code page, and also reinstate the direct-to-font zero
translation mode (but now under an actual _name_ rather than blank).
Also add CP437 to the list since at least one expatriate DOS user
wanted it; also select a sensible ISO or KOI codepage based on the
system locale.
Simon Tatham [Wed, 5 Sep 2001 19:58:25 +0000 (19:58 +0000)]
Better yet, look for sftp-server on the user's PATH as well, which
allows individual users with shell access to install it without
reference to the admin.
Simon Tatham [Wed, 5 Sep 2001 19:48:52 +0000 (19:48 +0000)]
PSFTP will now attempt to find /usr/[local]/lib/sftp-server if it
can't start the sftp subsystem. This should enable convenient sftp
access to SSH1-only systems: all the admin needs is to install
sftp-server in the right place.
Simon Tatham [Wed, 5 Sep 2001 19:33:12 +0000 (19:33 +0000)]
When pscp in SFTP mode does client-side matching of a server-side
wildcard, it's polite to let the user know if the wildcard didn't
match any file names.
Simon Tatham [Tue, 28 Aug 2001 12:26:16 +0000 (12:26 +0000)]
stripslashes() should have been dealing with colons as well. I don't
_think_ there was an exploit (even if the server sends "c:foobar",
the client will not attempt to create "c:foobar"; instead it will
try to create ".\c:foobar" which will fail), but it's as well to be
sure.
Simon Tatham [Tue, 28 Aug 2001 12:24:50 +0000 (12:24 +0000)]
Semantic fix in the X11 `authentication failed' error packet
construction. Doesn't actually affect anything right now, since the
bug was a failure to round a length up to the next multiple of 4 and
it so happens that our current message was exactly 40 bytes anyway
:-) But if we start giving a wider variety of messages one day then
it might be handy to be able to do them without gratuitous crashes.