Simon Tatham [Wed, 21 Nov 2001 22:23:40 +0000 (22:23 +0000)]
Ctrl and Alt shouldn't reset the scrollback even if reset-on-
keypress is enabled. (Shift already didn't, because that was
necessary for Shift-Pg{Up,Dn} to work sanely.)
Simon Tatham [Wed, 21 Nov 2001 22:16:04 +0000 (22:16 +0000)]
The dummy drag-list item wasn't being removed on a single-click or
double-click (DL_BEGINDRAG followed immediately by DL_DROPPED with
no intervening DL_DRAGGING). Fixed.
Simon Tatham [Wed, 21 Nov 2001 22:06:53 +0000 (22:06 +0000)]
Send SSH2_MSG_NEWKEYS _before_ expecting to receive it, rather than
after. Shouldn't make a difference for any server that previously
worked, but we should now interoperate sensibly with servers that
wait to receive our NEWKEYS before sending their own. Apparently
Unisphere produce one such.
Simon Tatham [Wed, 14 Nov 2001 12:58:42 +0000 (12:58 +0000)]
Yikes! sftp.c wasn't using the misc.h wrappered malloc functions,
meaning that PSFTP couldn't meaningfully be debugged using
Minefield. That's what I get for developing it under Unix and
forgetting to port it properly :-/
Simon Tatham [Tue, 13 Nov 2001 23:13:07 +0000 (23:13 +0000)]
Add a rant to the FAQ about host key checking. I'm _sick_ of people
implementing a command line option to disable it and expecting us to
cheerfully accept the patch.
Simon Tatham [Tue, 13 Nov 2001 22:39:46 +0000 (22:39 +0000)]
Modify a comment to try to remind myself that the &-in-session-names
hack (to create accelerators on the System menu) should have some
official status.
Simon Tatham [Tue, 13 Nov 2001 22:06:37 +0000 (22:06 +0000)]
Handle incoming SSH2_MSG_CHANNEL_REQUEST (by refusing all requests).
Should have done this ages ago; the OpenSSH 3.0 ClientAliveInterval
mechanism requires it so now it's really necessary.
Simon Tatham [Wed, 7 Nov 2001 22:22:53 +0000 (22:22 +0000)]
Implement writing RTF to the clipboard (off by default), so that if
you enable it text will paste into Word et al in the same font as
PuTTY itself is displaying in. In particular, this will be a fixed-
pitch font, so tables and `ls' and the like will naturally line up.
Simon Tatham [Sun, 4 Nov 2001 16:41:26 +0000 (16:41 +0000)]
RDB's fix to full-screen mode. Apparently sorts out most of the
fullscreen/maximised confusions, by treating fullscreen as a special
case of maximised (fair enough). Removes dependency on multimon.h,
but Wez thinks (though he was unable to test) that this version
should naturally do the Right Thing on multi-monitor systems anyway.
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.)