Simon Tatham [Sun, 25 Nov 2001 19:22:47 +0000 (19:22 +0000)]
Further documentation work. Tidy up the Config chapter (add a few
new features - the code had got ahead of the docs), and propagate a
couple of cross-references to other files as a result.
Simon Tatham [Sun, 25 Nov 2001 18:59:12 +0000 (18:59 +0000)]
Add a new chapter full of intermediate-useful-things, somewhere
between `Getting Started' (things we can barely believe you don't
know) and the Configuration reference chapter (things you already
knew and had just forgotten). Only half-written at the moment.
Simon Tatham [Sun, 25 Nov 2001 18:39:57 +0000 (18:39 +0000)]
RDB's general resizing cleanup. He's put his favourite resize mode
back in again, but as long as it's not the default it doesn't bother
me too much :-)
Simon Tatham [Sun, 25 Nov 2001 17:32:39 +0000 (17:32 +0000)]
Editorial policy change: I've decided that it's better to use \q
than \e when describing button names and menu items: the "Foo"
button rather than the _Foo_ button. Certainly consistent use of
either is better than the mixed use of both we had before :-)
Simon Tatham [Sun, 25 Nov 2001 16:57:45 +0000 (16:57 +0000)]
Miscellaneous documentation updates. Finished a first draft of the
Pageant chapter; wrote something about passphrase lengths; added
\versionid to all chapters that didn't have it yet.
Simon Tatham [Sun, 25 Nov 2001 15:21:25 +0000 (15:21 +0000)]
Add support for most of the ESC[<low number>t sequences, which xterm
uses to manipulate the window (minimise, maximise, front, back,
move, resize) and report things about the window (is it minimised or
maximised, how big is it, what's its title). Missing are ESC[4;X;Yt
(resize to a specified pixel size; our resize code doesn't like it)
and ESC[19;X;Yt (report size of _screen_ in _characters_, which it
isn't even obvious how to do when you've got a variable font size).
Simon Tatham [Sun, 25 Nov 2001 14:31:46 +0000 (14:31 +0000)]
INCOMPATIBLE CHANGE to the SSH2 private key file format. There is
now a passphrase-keyed MAC covering _all_ important data in the
file, including the public blob and the key comment. Should
conclusively scupper any attacks based on nobbling the key file in
an attempt to sucker the machine that decrypts it. MACing the
comment field also protects against a key-substitution attack (if
someone's worked out a way past our DSA protections and can extract
the private key from a signature, swapping key files and
substituting comments might just enable them to get the signature
they need to do this. Paranoid, but might as well).
Simon Tatham [Sun, 25 Nov 2001 11:36:49 +0000 (11:36 +0000)]
Rob Wood's patch to provide standard -L and -R options for port
forwarding in Plink. Cleaned up a bit to remove segfaults and work
correctly with saved sessions.
Simon Tatham [Sun, 25 Nov 2001 10:24:29 +0000 (10:24 +0000)]
Jacob's patch to make full-screen mode available even when Alt-Enter
isn't configured to do it: we now have a sysmenu option for it. In
addition, there's a special case such that clicking the top left
pixel on the screen in full-screen mode brings up the sysmenu (so
you can still get at the sysmenu in FS mode without Alt-anything
configured to bring it up and without ghastly fiddling with the
Windows key). Also Change Settings while in full-screen mode now
adds/removes the scrollbar in response to scrollbar_in_fullscreen
rather than scrollbar (oops).
Simon Tatham [Sat, 24 Nov 2001 17:51:26 +0000 (17:51 +0000)]
Make use of the new section-relabelling in Buttress to arrange for
all the FAQ questions to be cross-referenced as `question A.1.2'
instead of `section A.1.2'.
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.