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

197 Commits

Author SHA1 Message Date
Simon Tatham
c87fa98d09 Extensive changes that _should_ fix the socket buffering problems,
by ceasing to listen on input channels if the corresponding output
channel isn't accepting data. Has had basic check-I-didn't-actually-
break-anything-too-badly testing, but hasn't been genuinely tested
in stress conditions (because concocting stress conditions is non-
trivial).

[originally from svn r1198]
2001-08-25 17:09:23 +00:00
Simon Tatham
50766ce729 SSH port forwarding! How cool is that?
Only currently works on SSH1; SSH2 should be doable but it's late
and I have other things to do tonight. The Cool Guy award for this
one goes to Nicolas Barry, for doing most of the work and actually
understanding the code he was adding to.

[originally from svn r1176]
2001-08-08 20:44:35 +00:00
Simon Tatham
4d3aad22f5 Remove the OSVERSIONINFOEX code because there's no obvious way to
determine whether it'll compile before receiving the compile error.
Gah.

[originally from svn r1175]
2001-08-07 08:42:17 +00:00
Simon Tatham
94d35cead5 Glenn Maynard's patch completely disabled PuTTY{,tel} on any system
that didn't support OSVERSIONINFOEX. For example, such wildly out of
date things as NT4. Now fixed.

[originally from svn r1174]
2001-08-04 15:45:25 +00:00
Simon Tatham
de987f33fe Glenn Maynard's IME patch
[originally from svn r1172]
2001-08-04 15:15:07 +00:00
Simon Tatham
dbe881a163 SCO function key mode now affects the small keypad (Ins, Del, etc)
in accordance with the keymap dump sent by Len Christiansen.

[originally from svn r1169]
2001-08-04 14:35:58 +00:00
Simon Tatham
7b7ec7e72e Add some spare SetForegroundWindow and SetActiveWindow calls to try
to improve window behaviour. Also make the About box a subdialog of
the config box instead of a separate child of the root.

[originally from svn r1139]
2001-05-19 15:23:12 +00:00
Simon Tatham
38b6d276d2 RDB: fix various UTF-8 glitches.
[originally from svn r1138]
2001-05-19 15:21:05 +00:00
Simon Tatham
079b6bc6f6 Reinstate the Shift-Ins paste behaviour, which was accidentally
broken by the mouse button redesignation that came with xterm mouse
reporting.

[originally from svn r1130]
2001-05-17 10:06:54 +00:00
Simon Tatham
d05e9f0b1a Fix wrong button codes in WM_MOUSEMOVE.
[originally from svn r1124]
2001-05-13 15:01:36 +00:00
Simon Tatham
84e58edf9f Glenn Maynard's patch (as adapted by Jacob) for taskbar flashing
when a bell occurs and the window is minimised.

[originally from svn r1123]
2001-05-13 14:42:17 +00:00
Simon Tatham
fb473cc16c Placate gcc's `-Wall' warnings.
[originally from svn r1121]
2001-05-13 14:02:28 +00:00
Simon Tatham
93e27a40ae Trim leading whitespace off the hostname if it's there.
[originally from svn r1120]
2001-05-13 13:23:12 +00:00
Simon Tatham
c0d65a351e Define WM_MOUSEWHEEL (to 0x20A) if it's not defined by windows.h.
[originally from svn r1115]
2001-05-13 11:19:20 +00:00
Simon Tatham
5723ec04de Fix the SCO function keys, which weren't quite right.
[originally from svn r1113]
2001-05-13 10:58:51 +00:00
Simon Tatham
26f1085038 RDB's Unicode patch. Fonts are now used in Unicode mode where
possible and we have a single unified means of trying to display any
Unicode code point. Instead of the various ad-hoc translation modes
we had before, we now have a single `codepage' option which allows
us to treat the incoming (and outgoing) text as any given character
set, and locally we map that to Unicode and back.

[originally from svn r1110]
2001-05-10 08:34:20 +00:00
Simon Tatham
e001f1533e From RDB: a patch to allow special keys (^C, ^Z, Delete, Return) to
send Telnet special sequences (Interrupt Process, Suspend, Erase
Char, End Of Line) instead of their ASCII equivalents. In particular
Return -> Telnet End Of Line is _always_ enabled irrespective of the
configuration, while the others are optional. Also in this patch, an
entertainingly ghastly use of `switch' to allow literal ^M^J to do
the same thing as magic-^M (the Return key) when in Raw protocol.

[originally from svn r1109]
2001-05-09 15:12:26 +00:00
Simon Tatham
c2eb57a034 `realhost', passed back from all the backend init functions, was
scoped within those functions. It's now dynamically allocated.

[originally from svn r1108]
2001-05-09 14:01:15 +00:00
Simon Tatham
9f32a1da35 From RDB: according to VT manuals, application cursor keys should
never be enabled when app keypad is disabled. Also CTRL+arrows flips
the application-ness to make it easy to generate the other sequences
if required.

[originally from svn r1105]
2001-05-09 13:30:06 +00:00
Simon Tatham
bc1a43efe8 RDB's alternative way to interpret the window size in Change
Settings: it describes the size of the _unmaximised_ window.
Maximisedness is a separate property which Change Settings doesn't
affect. So if you change the font while the window is maximised, the
terminal size adjusts accordingly. The downside is that you can't
read the width and height of a maximised window out of Change
Settings. Suggestions that restore this property are welcome.

[originally from svn r1102]
2001-05-09 13:03:16 +00:00
Simon Tatham
19b6dcc1ae Fix de Bath's last-ditch bell overload
[originally from svn r1100]
2001-05-06 16:18:58 +00:00
Simon Tatham
c1c1bc4715 Strip off and ignore `:port' on the end of a hostname.
[originally from svn r1099]
2001-05-06 15:09:32 +00:00
Simon Tatham
3730ada5ce Run entire source base through GNU indent to tidy up the varying
coding styles of the various contributors! Woohoo!

[originally from svn r1098]
2001-05-06 14:35:20 +00:00
Simon Tatham
93101b5a71 Wez Furlong's patch to add xterm mouse reporting and proper mouse
wheel support.

[originally from svn r1097]
2001-05-06 14:20:41 +00:00
Simon Tatham
50f50a009b Reduce out-of-focus timer interval to 2 seconds so we still have
some control over keepalives when not in the foreground.

[originally from svn r1093]
2001-04-28 18:23:58 +00:00
Simon Tatham
0086b20625 Add Jordan Russell's patch for a sunken-edge border like a DOS box.
Configurable, of course, because I for one like the border as thin
as possible.

[originally from svn r1092]
2001-04-28 18:02:19 +00:00
Simon Tatham
1c998f6482 Only update the system caret when we have the focus. This was
apparently causing the weird caret behaviour in Change Settings,
because that routine was still being called...

[originally from svn r1083]
2001-04-28 11:27:04 +00:00
Simon Tatham
5279229ad3 Include <mmsystem.h> and winmm.lib for PlaySound.
[originally from svn r1057]
2001-04-16 21:33:18 +00:00
Simon Tatham
abf6514f71 Put back Robert de Bath's second level of bell overload tracking. It
had a useful purpose: when primary overload handling is disabled, it
prevents MessageBeep calls overloading the program, because they
don't cancel each other like async PlaySounds do.

[originally from svn r1056]
2001-04-16 21:29:12 +00:00
Simon Tatham
a02e13ae3e Quote the hostname in the `unable to connect' box so that if the
user starts up N PuTTYs at once and one reports failure, they know
which one.

[originally from svn r1051]
2001-04-16 16:19:30 +00:00
Simon Tatham
19d76c9306 Add two more ghastly function key options. WE HAVE TOO MANY!
[originally from svn r1050]
2001-04-16 16:16:52 +00:00
Simon Tatham
639ab4c068 Roman Pompejus's patch to allow you to automatically select
overwrite or append in logging mode.

[originally from svn r1049]
2001-04-16 15:58:43 +00:00
Simon Tatham
953b7775b3 Small keyboard patches from Robert de Bath. Should fix the dead-key
problem and also some unspecified woe with the ever-problematic
Compose key.

[originally from svn r1046]
2001-04-16 12:08:37 +00:00
Simon Tatham
a9c6997326 Bell can now play an arbitrary sound file.
[originally from svn r1041]
2001-04-14 11:37:47 +00:00
Simon Tatham
a8116a8dae New improved bell handling. Choice between visual and audible bell;
configurable bell overload handling. Thanks to Robert de Bath for
galvanising me into doing this, but I've had to rip most of his code
out and redo it myself...

[originally from svn r1039]
2001-04-13 10:52:36 +00:00
Simon Tatham
d2369721bb Keyboard handling patch from RDB: the Windows Application key is now
always Compose (we have no better use for it), and Ctrl-Alt can be
made to act like AltGr (but it's never Compose even when AltGr is).

[originally from svn r1033]
2001-04-09 12:52:43 +00:00
Simon Tatham
9d9ca5300a Don't assume OEM fonts have a space in position 255. We know there's
one in position 32 so let's use that! (Thanks RDB.)

[originally from svn r1032]
2001-04-09 12:46:45 +00:00
Simon Tatham
313b332a38 Finally fixed the point/pixel confusion in font handling. Thanks to
Roman Surma for pointing me at the relevant bits of documentation. All
font sizes should now be measured in points, and everything should be
consistent, and (with any luck) old Registry settings should adapt
gracefully too.

[originally from svn r992]
2001-03-12 12:24:07 +00:00
Simon Tatham
5f0d3bd19d Fix problem with pointer hiding
[originally from svn r964]
2001-03-02 09:25:14 +00:00
Simon Tatham
4d830f7587 Jacob's patch to improve Close On Exit behaviour
[originally from svn r927]
2001-02-05 13:08:18 +00:00
Simon Tatham
d3185a40a0 Prevent "Connection closed" message box from appearing after the
"Network error" box. The latter on its own is enough.

[originally from svn r911]
2001-01-29 14:31:57 +00:00
Simon Tatham
7a79df8fe6 Rethink the whole line discipline architecture. Instead of having
multiple switchable line disciplines, we now have a single unified
one which changes its behaviour based on option settings. Each
option setting can be suggested by the back end and/or the terminal
handler, and can be forcibly overridden by the configuration. Local
echo and local line editing are separate, independently switchable,
options.

[originally from svn r895]
2001-01-24 14:08:20 +00:00
Simon Tatham
bde2f9ac8a Roman Pompejus's fix for the TAB-not-working-in-Event-Log bug
[originally from svn r891]
2001-01-23 17:37:52 +00:00
Simon Tatham
beeaa85fc5 Ability to hide the mouse pointer on a keypress a la Word
[originally from svn r883]
2001-01-22 16:38:43 +00:00
Simon Tatham
72cdcc611a Keepalives are now in seconds not minutes
[originally from svn r874]
2001-01-19 09:01:50 +00:00
Simon Tatham
d199d419fa Tidy up that latest checkin. PS_DOTTED is spelled PS_DOT and in any
case doesn't really cut it; we have to SetPixel every other one
manually because although PS_ALTERNATE exists it only works under
NT. Meanwhile, IDC_CURSTATIC was already used, for the cursor
_keys_. Duh.

[originally from svn r871]
2001-01-17 17:20:28 +00:00
Simon Tatham
c68959b584 Introduce alternative cursor shapes: underline, vertical line
[originally from svn r870]
2001-01-17 16:57:33 +00:00
Simon Tatham
e4532bb582 Enable explicit changing of the window title after session start
[originally from svn r852]
2001-01-08 16:28:21 +00:00
Simon Tatham
170a75b520 Fix for spurious Space getting sent when alt_space and alt_only are
both set and you bring up the Sysmenu with an alt_space and dispatch
it with an alt_only. (The SYSKEYDOWN for alt_only is never received,
but we get the SYSKEYUP which PostMessages the space since it
expects to be triggering the _creation_ of a sysmenu. Solution: set
alt_state to 0 when an alt_space triggers a sysmenu, so that the
final SYSKEYUP will be seen as spurious, which it is. Perhaps we
could do this better.)

[originally from svn r848]
2001-01-07 19:15:59 +00:00
Simon Tatham
0026e5ada7 Kestutis Kupciunas's Lithuanian-friendliness patch to TranslateKey
[originally from svn r847]
2001-01-07 18:28:01 +00:00
Simon Tatham
3a2a06b1fc Improved session logging courtesy of Roman Pompejus
[originally from svn r846]
2001-01-07 18:24:59 +00:00
Simon Tatham
947c03869e Squelch some spurious resize events.
[originally from svn r845]
2001-01-07 17:18:24 +00:00
Simon Tatham
1f22416c3c Oops - that do-we-need-to-resize-window check failed to spot font changes
[originally from svn r843]
2001-01-07 16:38:35 +00:00
Simon Tatham
175d849778 Fix the System Caret so it really is invisible, and the right size
too.

[originally from svn r842]
2001-01-07 16:35:44 +00:00
Simon Tatham
f2b13650c8 `Change Settings' now behaves sensibly w.r.t. window size.
[originally from svn r841]
2001-01-07 16:27:48 +00:00
Simon Tatham
5a908bb1d7 Apply `getservbyname' to the Port Number field in case it's
non-numeric. Patch due to Christian Biesinger.

[originally from svn r839]
2001-01-07 15:12:20 +00:00
Simon Tatham
a24c502f4f AltGr should now work again even when Compose key disabled
[originally from svn r838]
2001-01-07 14:30:00 +00:00
Simon Tatham
d5240d4157 Make memory management uniform: _everything_ now goes through the
smalloc() macros and thence to the safemalloc() functions in misc.c.
This should allow me to plug in a debugging allocator and track
memory leaks and segfaults and things.

[originally from svn r818]
2000-12-12 10:33:13 +00:00
Simon Tatham
9147f68fb6 Ron Kuris's "copy everything to clipboard" patch
[originally from svn r808]
2000-11-21 19:28:25 +00:00
Simon Tatham
f7aec0aa10 Patch from Robert de Bath: increase timer resolution.
[originally from svn r807]
2000-11-21 19:00:32 +00:00
Simon Tatham
8c0c31a0e9 Software invocation of the System menu now pops up the actual menu, rather
than just putting the window into the state where Down will do so

[originally from svn r793]
2000-11-07 17:50:59 +00:00
Simon Tatham
a739876719 Fix side-effect of Always On Top patch: any reconfiguring in mid-session
was zapping the window to the top left corner of the screen

[originally from svn r780]
2000-10-30 10:39:10 +00:00
Simon Tatham
21299d2c39 Reset compose state to zero when PuTTY window gains focus
[originally from svn r779]
2000-10-30 10:16:32 +00:00
Simon Tatham
091acb4e06 Add support for Always On Top. Patch due to Janes "Ender" Brown.
[originally from svn r773]
2000-10-27 09:46:04 +00:00
Simon Tatham
fc63ad0046 Gaaah, I might have known. Split combined app cursor / app keypad
disablement option into two options so the app cursor keys and app
keypad can be controlled separately. The Pedantic Software Award in
this case goes to the Midnight Commander for its egregious failure
to just use the terminal in Perfectly Normal mode.

[originally from svn r766]
2000-10-25 14:20:47 +00:00
Simon Tatham
fc9b38ed01 Add configurable option to disable application keypad/cursor keys totally
[originally from svn r760]
2000-10-24 13:49:23 +00:00
Simon Tatham
779069ccd3 Add a couple of ellipses in system menu
[originally from svn r759]
2000-10-24 13:40:19 +00:00
Simon Tatham
384eeb3f76 Fix miscellaneous compiler warnings. Thanks to Jacob Nevins
[originally from svn r755]
2000-10-24 10:47:49 +00:00
Simon Tatham
36156d858c Improved entropy gathering.
[originally from svn r750]
2000-10-23 15:20:05 +00:00
Simon Tatham
bbbda4110b Created a shiny new abstraction for the socket handling. Has many
advantages:
 - protocol modules can call sk_write() without having to worry
   about writes blocking, because blocking writes are handled in the
   abstraction layer and retried later.
 - `Lost connection while sending' is a thing of the past.
 - <winsock.h> is no longer needed in most modules, because
   "putty.h" doesn't have to declare `SOCKET' variables any more,
   only the abstracted `Socket' type.
 - select()-equivalent between multiple sockets will now be handled
   sensibly, which opens the way for things like SSH port
   forwarding.

[originally from svn r744]
2000-10-23 10:32:37 +00:00
Simon Tatham
6eb613e3c4 Three new configurable options:
- Robert de Bath's Compose key is now off by default and configurable on
 - The ages-old controversy over whether ALT by itself should bring the
   System menu up is now controllable by a config option
 - You can now independently configure whether scrollback resets on a
   keypress _and_ whether it resets on screen activity.

[originally from svn r741]
2000-10-21 16:30:58 +00:00
Simon Tatham
77c8e3c17c Chinese support patch from zmx@cdpa.nsysu.edu.tw
[originally from svn r740]
2000-10-20 18:36:15 +00:00
Simon Tatham
e32603347c Introduce a sane interface function, from_backend(), for backends to
use when they have data from the network. Replaces the utterly daft
inbuf / inbuf_head / term_out() interface, which only made sense
when feeding to terminal.c. (terminal.c now implements
from_backend() as a small function that gateways to the old
interface.)

As a side effect, from_backend() also has an `is_stderr' parameter,
so scp can once again separate the server's pronouncements on stderr
from the actual protocol progress on stdout.

[originally from svn r729]
2000-10-20 13:51:46 +00:00
Simon Tatham
31374678c0 Trim trailing whitespace off saved session names on the command line
[originally from svn r728]
2000-10-20 13:23:24 +00:00
Simon Tatham
8e7a270f7f Miscellaneous cleanups and reorgs in preparation for building
PuTTYgen. In particular, moved self-managing controls stuff out of
windlg.c into the new and reusable winctrls.c.

[originally from svn r714]
2000-10-18 15:36:32 +00:00
Simon Tatham
e67f143e61 Implement a much more visually appealing, but much more internally
grotty, hack to get around Explorer maximising the config box.

[originally from svn r707]
2000-10-12 12:56:33 +00:00
Simon Tatham
fa731eaf82 Add UNE 10053 to the cleartext ones
[originally from svn r703]
2000-10-11 19:56:22 +00:00
Simon Tatham
fd5588d087 Robert de Bath's big patch:
- cope with strange WinSock wrappers not supporting SIOCATMARK
  - define yet more terminal compatibility modes
  - support UK-ASCII (just like US-ASCII but # is a sterling sign)
  - support connection keepalives at a configurable interval

[originally from svn r692]
2000-10-09 12:53:32 +00:00
Simon Tatham
e48981def4 Miscellaneous fixes to try to make other compilers happier
[originally from svn r691]
2000-10-09 12:19:09 +00:00
Simon Tatham
f7d6cd2059 Alt-Enter was fouling up on Win95; added explicit handler
[originally from svn r687]
2000-10-07 08:10:32 +00:00
Simon Tatham
b584238186 Create settings.c and move the load/save session code out of
windlg.c into it. Allows plink and pscp to no longer link with
windlg.c, meaning they lose some of the sillier stub functions and
also can provide a console-based form of verify_ssh_host_key().

[originally from svn r683]
2000-10-06 13:21:36 +00:00
Simon Tatham
7b6106d62a Add a parameter to write_clip() so that windlg.c need not call term_deselect
[originally from svn r681]
2000-10-06 12:32:25 +00:00
Simon Tatham
7fc8ef792f Add ability to configure the initial window title
[originally from svn r661]
2000-10-02 12:24:58 +00:00
Simon Tatham
138b090f3e Oops - remove ugly debugging test pattern in cursor
[originally from svn r652]
2000-09-29 12:04:27 +00:00
Simon Tatham
a3df90a2e3 Try to improve the caret usage
[originally from svn r651]
2000-09-29 10:32:07 +00:00
Simon Tatham
aad0a52dfb Rationalised host key storage. Also started code reorg: persistent-state
routines have been moved out into a replaceable module winstore.c.

[originally from svn r639]
2000-09-27 15:21:04 +00:00
Simon Tatham
4f3def030a Add an invisible System Caret for blind-helper-software to track
[originally from svn r627]
2000-09-25 16:17:53 +00:00
Simon Tatham
f80f9d4299 Implement "putty -cleanup"
[originally from svn r626]
2000-09-25 15:47:57 +00:00
Simon Tatham
0fb760b16d Robert de Bath has a better alternative to revs 1.47/48 [r582,r583];
back out those changes and commit the simpler version

[originally from svn r625]
[r582 == 147fca411c]
[r583 == 22f91a3604]
2000-09-25 11:11:46 +00:00
Simon Tatham
117fd9affc Enable PuTTY command line to deal with "user@host" format
[originally from svn r620]
2000-09-25 09:27:26 +00:00
Simon Tatham
6522c357fc Avoid rapid-fire resize events during NT opaque drags
[originally from svn r617]
2000-09-22 14:10:58 +00:00
Simon Tatham
196d42f89c Everyone's favourite trivial change: Shift-Ins now pastes
[originally from svn r616]
2000-09-22 13:23:35 +00:00
Simon Tatham
e70425dda6 Enable better build-time flexibility over which WinSock to include
[originally from svn r615]
2000-09-22 13:16:49 +00:00
Simon Tatham
c0ac8ab9b4 Bug fix: line discipline selection is not enabled until after ssh
authentication phase to stop user/password prompts behaving oddly

[originally from svn r614]
2000-09-22 13:10:19 +00:00
Simon Tatham
e5ef37f3f5 Prevent network errors from summarily closing the window when CoE is off
[originally from svn r613]
2000-09-22 11:04:57 +00:00
Simon Tatham
985207d4a9 Num Lock shouldn't send anything in non-app-keypad mode
[originally from svn r612]
2000-09-22 09:49:34 +00:00
Simon Tatham
60b9871947 Work around the missing underline in some fonts
[originally from svn r609]
2000-09-22 09:30:11 +00:00
Simon Tatham
180b62b6b0 Miscellaneous ssh2 fixes. plink is now relatively sane
[originally from svn r608]
2000-09-21 14:34:32 +00:00
Simon Tatham
b18de5b924 Ensure backend netevent handlers are never reentered -
fixes many strange problems with the ssh.c coroutines

[originally from svn r603]
2000-09-20 11:40:23 +00:00
Simon Tatham
22f91a3604 Oops - remove diagnostics :-)
[originally from svn r583]
2000-09-11 09:36:12 +00:00