1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 18:07:59 +00:00
Commit Graph

2465 Commits

Author SHA1 Message Date
Simon Tatham
089775eb02 First-stage support for Unicode combining characters. The `chars'
array of each `termline' structure now contains optional additional
entries after the normal number of columns, which are used to chain
a linked list of combining characters off any primary termchar that
needs it. This means we support arbitrarily many combining
characters per cell (unlike xterm's hard limit of 2).

Cut and paste works correctly (selecting a character cell containing
multiple code points causes all those code points to be cut and
pasted). Display works by simply overlaying all the relevant
characters on top of one another; this is good enough for Unix
(xterm does the same thing), and mostly seems OK for Windows except
that the Windows Unicode fonts have a nasty habit of not containing
most of the combining characters and thus overlaying an
unknown-code-point box on your perfectly good base glyph.

I had no idea how to add support in the Mac do_text(), so I've
simply stuck in an assertion that will trigger the first time a
combining character is displayed, and hopefully this will bite
someone with the clue to fix it.

[originally from svn r4622]
2004-10-14 16:42:43 +00:00
Simon Tatham
dd279dffc2 Implement part of `ssh2-generality': introduce the ability to tell
PuTTY / Plink not to run a remote shell/command at all. Supported in
the GUI configuration and via the (OpenSSH-like) -N command-line
option.

No effort is currently made to arrange `nice' UI properties. If you
do this in GUI PuTTY, a full-size terminal window will still be
created, and will sit there with almost nothing in it throughout
your session. If you do it in Plink, Plink will not accept any kind
of request to terminate gracefully; you'll have to ^C or kill it.
Nonetheless, even this little will be useful to some people...

[originally from svn r4614]
2004-10-13 13:43:11 +00:00
Simon Tatham
8f656a37b5 Fix segfaults in terminal resizing, introduced by re-engineering.
[originally from svn r4613]
2004-10-13 13:35:29 +00:00
Simon Tatham
71ad69f897 I think we've been told before that you're not supposed to
CloseHandle() the thing returned from MonitorFromPoint. Certainly MS
Visual Studio's debugger complained about it just now. CloseHandle()
call removed.

[originally from svn r4612]
2004-10-13 12:29:50 +00:00
Jacob Nevins
e3e59cb340 Fix '/*' in comment.
[originally from svn r4611]
2004-10-13 12:10:30 +00:00
Simon Tatham
709a94e5f2 Re-engineering of terminal emulator, phase 1.
The active terminal screen is no longer an array of `unsigned long'
encoding 16-bit Unicode plus 16 attribute bits. Now it's an array of
`termchar' structures, which currently have 32-bit Unicode and 32
attribute bits but which will probably expand further in future.

To prevent bloat of the memory footprint, I've introduced a mostly
RLE-like compression scheme for storing scrollback: each line is
compressed into a compact (but hard to modify) form when it moves
into the term->scrollback tree, and is temporarily decompressed when
the user wants to scroll back over it. My initial tests suggest that
this compression averages about 1/4 of the previous (32 bits per
character cell) data size in typical output, which means this is an
improvement even without counting the new ability to extend the
information stored in each character cell.

Another beneficial side effect is that the insane format in which
Unicode was passed to front ends through do_text() has now been
rendered sane.

Testing is incomplete; this _may_ still have instabilities. Windows
and Unix front ends both seem to work as far as I've looked, but I
haven't yet looked very hard. The Mac front end I've edited (it
seemed obvious how to change it) but I can't compile or test it.

As an immediate functional effect, the terminal emulator now
supports full 32-bit Unicode to whatever extent the host platform
allows it to. For example, if you output a 4-or-more-byte UTF-8
character in Unix pterm, it will not display it properly, but it
will correctly paste it back out in a UTF8_STRING selection. Windows
is more restricted, sadly.

[originally from svn r4609]
2004-10-13 11:50:16 +00:00
Jacob Nevins
f531e558f3 faq-alternate-localhost: You can now download the fix directly rather than
having to go through MS support.

[originally from svn r4607]
2004-10-08 12:38:08 +00:00
Jacob Nevins
00953e4cd3 faq-permission: xref licence
[originally from svn r4606]
2004-10-07 10:19:46 +00:00
Jacob Nevins
98028c746f X forwarding changes:
- new function platform_get_x_display() to find a sensible local display.
   On Unix, the Gtk apps weren't taking account of --display when
   determining where to send forwarded X traffic.
 - explicitly document that leaving X display location blank in config tries
   to do something sensible (and that it's now blank by default)
 - don't override X11Display setting in plink, since that's more properly
   done later

[originally from svn r4604]
2004-10-06 22:31:07 +00:00
Jacob Nevins
e375ba107d `ssh-log-pw-blank': known password fields are now omitted from SSH packet logs
by default (although they can be included). There's also an option to remove
session data, which is good both for privacy and for reducing the size of
logfiles.

[originally from svn r4593]
2004-10-02 00:33:27 +00:00
Jacob Nevins
fb92f118bd Mention the negotiated SSH-2 MAC algorithm(s) in the Event Log.
(It should be possible to at least see what MAC is in use without going to a
SSH packet log.)

[originally from svn r4591]
2004-09-29 23:57:03 +00:00
Simon Tatham
05696aabfd Report details in Event Log when receiving SSH2_MSG_CHANNEL_OPEN_FAILURE.
[originally from svn r4589]
2004-09-29 12:38:45 +00:00
Jacob Nevins
3a11379597 Line (as opposed to block) cursors were being displayed when they shouldn't
have been, including when they were blinked off. Fixes Debian bug #272877.

[originally from svn r4586]
2004-09-28 20:42:39 +00:00
Jacob Nevins
aba082f324 "Incoming packet was garbled on decryption": I think this could in principle
be due to corruption on the wire?

[originally from svn r4582]
2004-09-27 00:23:19 +00:00
Jacob Nevins
f927fd9728 Treat USER specially in event logging of Telnet ENVIRON option; it's
occasionally been a pain that the username wasn't visible in the Event Log.

[originally from svn r4573]
2004-09-22 22:38:23 +00:00
Jacob Nevins
6f83b757e9 Document telnet_keyboard more completely, cross-reference from "Special
Commands" section, and tweak option description in code.

[originally from svn r4572]
2004-09-22 22:15:25 +00:00
Jacob Nevins
7e1d6dad22 faq-missing-slash: the missing-slash-in-PSFTP OpenSSH bug keeps coming up.
[originally from svn r4568]
2004-09-22 14:07:35 +00:00
Jacob Nevins
57c34f0872 Add `OSU_1.5alpha4' to BUG_CHOKES_ON_SSH1_IGNORE; this is apparently enough to
enable login with this version. (I'd suspected as much -- see ssh.c CVS
log 1.299 [r3359] -- and Geoffrey Hughes has now confirmed this.)

[originally from svn r4566]
[r3359 == d534d4e104]
2004-09-21 21:04:28 +00:00
Jacob Nevins
43c4ff62d7 ampersat-in-username': tweak strchr' to `strrchr' where necessary to
consistently support usernames containing `@'.

[originally from svn r4563]
2004-09-21 16:49:51 +00:00
Jacob Nevins
90cdc99795 Reformat special commands to use \b instead of \dt / \dd.
[originally from svn r4558]
2004-09-20 22:10:09 +00:00
Jacob Nevins
a7231c2133 Explicitly list all the special commands supported by PuTTY.
[originally from svn r4557]
2004-09-20 22:06:29 +00:00
Jacob Nevins
175bfe1971 Add accelerator for "Special Command" sub-menu.
[originally from svn r4556]
2004-09-20 21:42:27 +00:00
Jacob Nevins
a514f399cf First gentle encouragement to direct mirroring efforts to regions where we
don't already _have_ lots of mirrors.

[originally from svn r4550]
2004-09-19 23:49:46 +00:00
Jacob Nevins
e574e3711e Make it a bit easier to find our explanation of `raw' mode.
[originally from svn r4547]
2004-09-17 14:26:39 +00:00
Jacob Nevins
43ab6808fc Tweak language re "Remote ports [accept connections from other hosts]"
[originally from svn r4546]
2004-09-16 15:44:58 +00:00
Simon Tatham
e7470a08cd `dwalin' spotted a NULL dereference in the new makekey() error
handling. Oops.

[originally from svn r4541]
2004-09-12 22:02:06 +00:00
Jacob Nevins
c7498e2b18 Mention requirement for Gtk+-1.2.
Other minor cleanups.

[originally from svn r4539]
2004-09-09 18:00:05 +00:00
Jacob Nevins
a55e8d34fa Make it clearer that the XP SP2 hotfix is described in the KB article.
[originally from svn r4538]
2004-09-09 10:37:17 +00:00
Jacob Nevins
27193c4bf0 Improved diagnostics in port-forwarding: we now log any error returned by
pfd_addforward() rather than just ignoring it.

[originally from svn r4529]
2004-09-03 13:46:39 +00:00
Jacob Nevins
47997ad904 In SSH-2, list each compression algorithm only once. (No particular reason
for this change, just tidiness.)

[originally from svn r4528]
2004-09-03 12:28:19 +00:00
Jacob Nevins
065c303a29 Bleh, grammar.
[originally from svn r4523]
2004-09-01 10:19:22 +00:00
Jacob Nevins
b7d834f61c Documentation existence of SOCKS5 CHAP authentication.
[originally from svn r4522]
2004-09-01 10:12:41 +00:00
Simon Tatham
f076feed67 Ben Hutchings points out that the initial states of the key-type
radio buttons and menu items are inconsistent.

[originally from svn r4521]
2004-08-31 18:26:54 +00:00
Simon Tatham
5d5ffc274f Credit Malcolm Smith in the copyrights.
[originally from svn r4518]
2004-08-30 13:23:23 +00:00
Simon Tatham
3af7d33340 Malcolm Smith's patch to support CHAP (digest-based) authentication
when talking to SOCKS 5 proxies. Configures itself transparently (if
the proxy offers CHAP it will use it, otherwise it falls back to
ordinary cleartext passwords).

[originally from svn r4517]
2004-08-30 13:11:17 +00:00
Simon Tatham
e2cd7e404e More sensible error handling when we receive an SSH1 public key
modulus of zero (!!), and also a robustness fix in ssh1_rdpkt which
I happened to notice while debugging that.

[originally from svn r4516]
2004-08-28 16:51:26 +00:00
Jacob Nevins
60b9bfe3fe faq-alternate-localhost language tweak
[originally from svn r4509]
2004-08-27 13:33:25 +00:00
Jacob Nevins
1393528a3a Handle WM_SYSCOLORCHANGE if using system colours. (Resets the whole palette,
whereas ideally it would restrict itself to the affected colour slots.)

[originally from svn r4505]
2004-08-27 12:24:08 +00:00
Jacob Nevins
0484dbe54a Add comments indicating why these manifest files are present at all.
[originally from svn r4498]
2004-08-25 09:20:41 +00:00
Jacob Nevins
b892d14103 Patch to use enum constants for cfg.funky_type instead of numeric
literals, from "Anthony" <410C2A86.2010003@mail2004.ajrh.net>.

[originally from svn r4491]
2004-08-20 14:04:13 +00:00
Jacob Nevins
d8d6714b47 alternate-localhost: add "apparently" since none of this is first-hand
[originally from svn r4488]
2004-08-20 09:09:01 +00:00
Jacob Nevins
4c660a3405 alternate-localhost WinXP SP2: apparently SP2 fixes the problem with
Terminal Services that meant you needed to use alternate-localhost in
the first place!

[originally from svn r4487]
2004-08-20 08:32:30 +00:00
Jacob Nevins
97fb4184d8 Fix an annoying inconsistency that's been bugging me for years: "plink host"
and "plink user@host" differed in that the former attempted to load session
`host' while the latter didn't. Now both forms attempt to load a session.
Someone will probably complain, but hey.

[originally from svn r4485]
2004-08-19 15:05:31 +00:00
Jacob Nevins
87ecc7e052 Remove claim in usage text that Plink defaults to SSH, since it's not true
in a number of situations.

[originally from svn r4484]
2004-08-19 13:15:02 +00:00
Jacob Nevins
7f2a2636eb Add the WinXPSP2 alternate-localhost problem to the FAQ.
[originally from svn r4481]
2004-08-19 12:58:14 +00:00
Jacob Nevins
3b8df4811e Mention the mirroring guidelines on the web.
[originally from svn r4478]
2004-08-18 10:24:40 +00:00
Jacob Nevins
1af5523edc Someone complained that their keyboard-interactive password prompt was being
truncated - it was from OpenSSH on HP/UX and had all sorts of stuff in it
("last successful login" etc).

Bodged it by bumping up the space allocated in the fixed array for a password
prompt. Also added an indication that the prompt is being truncated, as
required by draft-ietf-secsh-auth-kbdinteract-06.

(NB that before this checkin, there was a more-or-less harmless buffer overread
where if we ever received a keyboard-interactive prompt with echo=1, we'd
probably spew goo on the terminal; fixed now.)

[originally from svn r4476]
2004-08-17 14:08:05 +00:00
Simon Tatham
e8b2b6a5dc Update comment on dupprintf().
[originally from svn r4468]
2004-08-16 14:43:29 +00:00
Jacob Nevins
df66432b5d Patch from Kurt Roeckx: apparently on Debian amd64, the ut_time member of
struct utmp is not equivalent to time_t (it's 32-bit). From Debian bug#265910.

[originally from svn r4459]
2004-08-16 09:38:12 +00:00
Jacob Nevins
0edefb1809 Note behaviour of `cd' with no arguments.
[originally from svn r4458]
2004-08-15 17:21:46 +00:00