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

260 Commits

Author SHA1 Message Date
Simon Tatham
342b5803e7 Fix a typo in my backwards-compatibility wart. Oops.
[originally from svn r3170]
2003-05-08 09:07:37 +00:00
Simon Tatham
8460ecd27d Yesterday's proxy enhancements also slightly nadgered the config
box, in that it started to expand under the weight of proxy options.
Now fixed, by folding the SOCKS version selector into the general
proxy type selector so there's one single 5- or 6-way radio button
set split over two lines. settings.c has of course grown a backwards
compatibility wart to deal with legacy config data.

[originally from svn r3168]
2003-05-07 12:07:23 +00:00
Simon Tatham
4b6ffd99f1 Disable window title reporting by default, since it's a security
hazard. I considered removing it completely, but I can't rule out
the possibility of an OS that actually takes security of its
terminal devices seriously, and which might be able to make sensible
and safe use of this feature.

[originally from svn r3103]
2003-04-12 08:59:06 +00:00
Simon Tatham
7706da5e17 Various error-handling fixes, mostly in Unix PuTTY but one (failure
to save a session) crosses over into the platform-independent side.

[originally from svn r3041]
2003-04-01 18:10:25 +00:00
Simon Tatham
d36a4c3685 Introduced wrapper macros snew(), snewn() and sresize() for the
malloc functions, which automatically cast to the same type they're
allocating the size of. Should prevent any future errors involving
mallocing the size of the wrong structure type, and will also make
life easier if we ever need to turn the PuTTY core code from real C
into C++-friendly C. I haven't touched the Mac frontend in this
checkin because I couldn't compile or test it.

[originally from svn r3014]
2003-03-29 16:14:26 +00:00
Simon Tatham
a185d54301 Yikes - saving of Default Settings must have been broken for some
time! The load code in settings.c was translating an empty string
into "Default Settings" to pass to {win,ux}store, whereas the save
code was passing the empty string straight down and expecting it to
be dealt with. So, a policy decision: the precise name of the
"Default Settings" special session _at the storage level_ is up to
the individual platform storage code to decide, and all platforms
MUST assume Default Settings is meant if they receive NULL or the
empty string as a session name.

[originally from svn r2974]
2003-03-22 09:49:20 +00:00
Simon Tatham
03a7096b3c Missed a couple of the Unix-specific settings out of settings.c. One
of these days I'll have to separate the platform-specific settings
out into winsett and uxsett modules, but for now it's not too urgent.

[originally from svn r2936]
2003-03-15 09:42:15 +00:00
Simon Tatham
c5181dc498 Richard B's patch to push erased text into the scrollback on ESC[2J
clears, and also to temporarily push the primary screen contents
into the scrollback while the alternate screen is active and bring
it back afterwards.

[originally from svn r2910]
2003-03-06 12:51:12 +00:00
Simon Tatham
be9718cb13 Add another bug workaround, this one for old OpenSSH (<2.3) servers
which have a strange idea of what data should be signed in a PK auth
request. This actually got in my way while doing serious things at
work! :-)

[originally from svn r2800]
2003-02-04 13:02:51 +00:00
Simon Tatham
f26b7aa0d3 Created new data types Filename' and FontSpec', intended to be
opaque to all platform-independent modules and only handled within
per-platform code. `Filename' is there because the Mac has a magic
way to store filenames (though currently this checkin doesn't
support it!); `FontSpec' is there so that all the auxiliary stuff
such as font height and charset and so on which is needed under
Windows but not Unix can be kept where it belongs, and so that I can
have a hope in hell of dealing with a font chooser in the forthcoming
cross-platform config box code, and best of all it gets the horrid
font height wart out of settings.c and into the Windows code where
it should be.
The Mac part of this checkin is a bunch of random guesses which will
probably not quite compile, but which look roughly right to me.
Sorry if I screwed it up, Ben :-)

[originally from svn r2765]
2003-02-01 12:54:40 +00:00
Simon Tatham
2877af56bb Of course, that cleanup I did earlier in which I rationalised all
the various `yes/no/maybe' enums into one common one missed a vital
point: all those enums mapped on to integers in different ways,
which affected the format of stored settings. Arrgh. So now
settings.c contains yet more painful warts and I'm _really_ starting
to think it's about time we designed a new set of human-usable
config keywords and retired this lot to the status of Unpleasant
Backwards-Compatibility Relic.

[originally from svn r2735]
2003-01-27 23:18:16 +00:00
Simon Tatham
6aa4211f6e Remove all `enum'-typed variables from the Config structure.
Everything in there which is integral is now an actual int, which
means my forthcoming revamp of the config box will be able to work
with `int *' pointers without fear of doom.

[originally from svn r2733]
2003-01-27 18:02:24 +00:00
Simon Tatham
dbee2d886f Next instalment of the Great Incompatible Defaults Change: `avoid
ever using icon title' now defaults to On, because in general it
seems to cause more problems than it solves.

[originally from svn r2679]
2003-01-22 20:22:39 +00:00
Ben Harris
99c1029649 Support for saving sessions on the Mac. This is slightly useful even in the
absence of a config dialogue, since it allows me to get Default Settings out.

[originally from svn r2646]
2003-01-18 20:09:21 +00:00
Simon Tatham
f6cc852c5d Miscellaneous fixes to finish up `remove-statics'. rlogin.c had a
holdout static I hadn't noticed; unicode.c had one too; and a large
number of statics that were perfectly OK due to being constants have
been made `const', with assorted `const' repercussions all over the
place. I now declare `remove-statics' to be fixed.

[originally from svn r2594]
2003-01-14 18:43:45 +00:00
Simon Tatham
fee1624c69 Support for XDM-AUTHORIZATION-1 at the SSH server end, making use of
the remote IP/port data provided by the server for forwarded
connections. Disabled by default, since it's incompatible with SSH2,
probably incompatible with some X clients, and tickles a bug in
at least one version of OpenSSH.

[originally from svn r2554]
2003-01-12 14:11:38 +00:00
Simon Tatham
4d86f5979d I'm sick of all those #ifdefs in settings.c, and in any case plink
and pterm need at least one default setting to be _different_ (pterm
needs the default term type to be `xterm', while plink needs it to
be taken from $TERM). So here's a completely new alternative
mechanism for platform- and app-specific default settings. Ben will
probably want to check the integrity of the Mac port, since I've
fiddled with it without testing that it still compiles.

[originally from svn r2513]
2003-01-09 18:06:29 +00:00
Simon Tatham
a298b2fe4b A couple of X forwarding fixes for Unix Plink. Firstly, under Unix
the default X display should be whatever comes out of $DISPLAY,
rather than Windows's hardwired `localhost:0'. Secondly, this may
give rise to a display name without a hostname (`:0' or similar),
which we now need to be able to deal with. Of course, we still don't
_properly_ support X forwarding in Unix Plink, since we still can't
authenticate with the local display.

[originally from svn r2420]
2003-01-02 10:45:56 +00:00
Ben Harris
71d699c28c Add an "open" command to the "file" (now "session") menu on the Mac to
open an existing saved session.  This has entailed adding an extra hook to
settings.c to allow for loading settings other than by name.

[originally from svn r2387]
2002-12-30 18:21:17 +00:00
Simon Tatham
a564ad3140 Support for doing DNS at the proxy end. I've invented a new type of
SockAddr, which just contains an unresolved hostname and is created
by a stub function in *net.c. It's an error to pass this to most of
the real-meat functions in *net.c; these fake addresses should have
been dealt with by the time they get down that far. proxy.c now
contains name_lookup(), a wrapper on sk_namelookup() which decides
whether or not to do real DNS, and the individual proxy
implementations each deal sensibly with being handed an unresolved
address and avoid ever passing one down to *net.c.

[originally from svn r2353]
2002-12-18 16:23:11 +00:00
Simon Tatham
8304f4e0dc Stop proxying connections to localhost by default; should fix
`x11-proxy-crash'.

[originally from svn r2348]
2002-12-18 12:18:54 +00:00
Ben Harris
f520d663c9 Make the default font on Mac OS be Monaco 9 rather than Monaco 10, since the
former is available as a bitmap.

[originally from svn r2258]
2002-11-25 23:34:59 +00:00
Ben Harris
c4eebb49a9 Tentative merge of ben-mac-port (only dead for three years!) into the trunk.
This doesn't include any mkfiles.pl glue, and is missing one or two other
fixes.  The terminal emulator is kind of working, though, as, I believe, is
the store module.  Everything else is yet to be done.

[originally from svn r2226]
2002-11-19 02:13:46 +00:00
Ben Harris
9902bc67fc Apple's C compilers don't think that putting parentheses around assignments
in "if" conditions is enough.  Use an actual comparison against NULL instead.

[originally from svn r2216]
2002-11-17 02:00:06 +00:00
Simon Tatham
82e447c1d0 Improve shadow bold mode: set the default shadow bold offset to +1
not -1 (it turns out _most_ X fonts prefer the former, though
irritatingly my favourite real X font used to prefer the latter
which was why I made the X version of my Font Of Choice do so too),
and also clip to the boundaries of the rectangle we should be
drawing text in. This still doesn't completely prevent display
corruption in the case where text drawn in one sweep is partially
overwritten in a future one, but gnome-terminal has this problem
too, and now we've got the right default SB offset _and_ offer the
opportunity to reconfigure it I think this is pretty good for now.

[originally from svn r2184]
2002-11-02 16:16:35 +00:00
Simon Tatham
79b086658d Further deglobalisation: settings.c now has a more sensible interface.
[originally from svn r2162]
2002-10-30 18:12:46 +00:00
Simon Tatham
ec5a7ee940 CloseOnExit now defaults to COE_ALWAYS for pterm, bringing it back
into line with most other xtermalikes. On Unix, the exit code of a
shell is the last exit code of one of its child processes, even if
it's an interactive shell - so some pterms will close and some will
not for no particularly good reason. Power-detaching a screen
session is especially bad for this.
COE_NORMAL is still useful for specialist purposes (running a single
command in its own pterm), but I don't think it's a sane default,
unfortunately.

[originally from svn r2154]
2002-10-28 17:39:21 +00:00
Simon Tatham
7d7b523977 Make the shadow bold offset configurable, after discovering that
7x13 goes the other way to all other X fonts I've ever seen. (Arrgh.)

[originally from svn r2095]
2002-10-17 16:51:01 +00:00
Simon Tatham
9b1e27716a Temporarily change the default for cut-and-paste of line drawing
characters, under Unix only, because the stub Unicode layer makes
the usual default break moderately painfully.

[originally from svn r2087]
2002-10-16 16:32:17 +00:00
Simon Tatham
8f922f77ba Oops, forgot to add BoldFont to the settings module.
[originally from svn r2085]
2002-10-16 14:32:21 +00:00
Simon Tatham
e30ab28d34 Oops - check in leftovers from yesterday's development. That's what
I get for running most of my cvs commands in the unix subdir :-/

[originally from svn r2078]
2002-10-16 09:28:17 +00:00
Simon Tatham
0c011dcbe0 Introduce the ability to control whether the shell run in pterm is a
login shell or not. Also moved these new pieces of configuration
into the Config structure, though they won't stay there forever
since they will need to be moved out into platform-dependent config.

[originally from svn r2060]
2002-10-15 13:07:18 +00:00
Simon Tatham
c809640aba Deal with the warnings generated when passing a pointer-to-enum to
gppi as a pointer-to-int.

[originally from svn r2057]
2002-10-15 10:52:13 +00:00
Simon Tatham
f4597fe4ee Bell overload was working in principle, but wasn't scaled to Unix's
greater time resolution. Oops.

[originally from svn r2049]
2002-10-14 10:29:50 +00:00
Simon Tatham
11505ede49 The Great Defaults Change (and about time too)! SSH now defaults to
protocol 2, and background-colour erase now defaults to on.

[originally from svn r2030]
2002-10-13 08:56:58 +00:00
Simon Tatham
5aee6cf2af Stop hard-coding a nonstandard font. We now default to `fixed', and
pick up the font's real width and height. This means I now _can't_
use my font of choice until I implement some command-line options; I
wonder what feature will appear next :-)

[originally from svn r2027]
2002-10-10 14:42:56 +00:00
Simon Tatham
6d0e9b205d First phase of porting. pterm now compiles and runs under Linux+gtk.
The current pty.c backend is temporarily a loopback device for
terminal emulator testing, the display handling is only just enough
to show that terminal.c is functioning, the keyboard handling is
laughable, and most features are absent. Next step: bring output and
input up to a plausibly working state, and put a real pty on the
back to create a vaguely usable prototype. Oh, and a scrollbar would
be nice too.
In _theory_ the Windows builds should still work fine after this...

[originally from svn r2010]
2002-10-09 18:09:42 +00:00
Simon Tatham
a394f20829 Add a new SSH2 bug: some servers apparently claim to be able to do
DH group exchange, but choke when you actually try it. Never
automatically enabled; manual control only.

[originally from svn r1982]
2002-09-26 18:37:33 +00:00
Simon Tatham
3391745d2d Introduce the Bugs control panel, for overriding PuTTY's server
version number checks to determine the presence or absence of server
bugs.

[originally from svn r1936]
2002-09-08 13:28:38 +00:00
Simon Tatham
ecd496a621 Updates to proxy support, both from me and from Justin Bradford.
Removed unnecessary spin locks, added a few comments, added support
for Telnet-type proxies, and wrote some documentation.

[originally from svn r1607]
2002-03-27 21:09:16 +00:00
Simon Tatham
eabd704d1e Justin Bradford's proxy support patch. Currently supports only HTTP
CONNECT, but contains an extensible framework to allow other
proxies. Apparently SOCKS and ad-hoc-telnet-proxy are already
planned (the GUI mentions them already even though they don't work
yet). GUI includes full configurability and allows definition of
exclusion zones. Rock and roll.

[originally from svn r1598]
2002-03-23 17:47:21 +00:00
Simon Tatham
ae476d5567 ANSI remote printer support. Raw mode only.
[originally from svn r1581]
2002-03-09 17:59:15 +00:00
Simon Tatham
fcb31d5cfe Well, there was bound to be one I'd forgotten: the new Features
panel should include an option to disable xterm mouse reporting. So
now it does. Woo.

[originally from svn r1579]
2002-03-09 11:47:39 +00:00
Simon Tatham
2df966b43c Add the Features panel, allowing you to disable a bunch of the more
controversial terminal features.

[originally from svn r1576]
2002-03-06 23:04:20 +00:00
Simon Tatham
726f9dde7e Add a configurable option to make Return in Telnet send an ordinary
^M instead of the Telnet New Line code. Unix-type telnetds don't
care one way or the other; RDB claims some telnetds prefer Telnet
NL; and now someone has found one that can't deal with Telnet NL and
prefers ^M. Sigh.

[originally from svn r1520]
2001-12-29 17:21:26 +00:00
Simon Tatham
66a53cd2c0 Jordan Russell's patch (again): a couple of registry read operations
were using RegCreateKey instead of RegOpenKey by mistake. This also
required a fix in settings.c to deal gracefully with a NULL return
from enum_settings_start() - since the use of RCK had caused this
never to happen, the code path had never been tested.

[originally from svn r1516]
2001-12-29 14:18:51 +00:00
Simon Tatham
88a3baa065 Add the remote counterpart for the `local port forwardings accept
connections from outside localhost' switch. Interestingly OpenSSH
3.0 appears to ignore this (though I know it works because ssh.com
3.0 gets it right, and the SSH packet dump agrees that I'm doing the
right thing).

[originally from svn r1496]
2001-12-15 12:15:24 +00:00
Simon Tatham
7983d2dd28 Disable username switching between SSH2 auth attempts, and add a
configurable option so users can re-enable the feature _if_ they
know they have an SSH2 server that isn't going to get shirty about
it. Inspired by a spectacular increase in OpenSSH's shirtiness.

[originally from svn r1474]
2001-12-11 21:00:01 +00:00
Simon Tatham
b9c8a9270a Oops - check the _rest_ of the SSH2 DES patch back in. D'oh!
[originally from svn r1431]
2001-11-29 23:58:02 +00:00
Simon Tatham
3270c74f9e Configurable TCP_NODELAY option on network connections
[originally from svn r1428]
2001-11-29 21:47:11 +00:00
Simon Tatham
82e7fd0f23 Make keyboard-interactive authentication configurable off. (This is
a stopgap until we get round to a proper authentications preference
list.)

[originally from svn r1426]
2001-11-29 20:34:06 +00:00
Simon Tatham
2a730c9865 Ensure we ignore a hostname in Default Settings, if a perverse user
has set one up using regedit. It badly confuses Plink.

[originally from svn r1404]
2001-11-23 12:51:23 +00:00
Simon Tatham
085c31e3a4 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.

[originally from svn r1381]
2001-11-13 22:39:46 +00:00
Simon Tatham
7f1e73904a 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.

[originally from svn r1373]
2001-11-07 22:22:53 +00:00
Simon Tatham
d2c9937691 Rectangular-block selection. Enabled by Alt+drag, unless you
configure it to be the default in which case it's _dis_abled by
Alt+drag.

[originally from svn r1350]
2001-10-31 18:50:09 +00:00
Simon Tatham
05226e43a9 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.)

[originally from svn r1310]
2001-10-17 21:21:03 +00:00
Simon Tatham
07b6efb23d 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.

[originally from svn r1307]
2001-10-12 21:10:56 +00:00
Simon Tatham
f3a17c0715 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.

[originally from svn r1273]
2001-09-18 18:51:10 +00:00
Simon Tatham
3d3ef9b8a4 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!

[originally from svn r1269]
2001-09-15 15:54:24 +00:00
Simon Tatham
fe43458dad Christopher Allene's patch for going full-screen on Alt-Enter.
[originally from svn r1267]
2001-09-13 18:24:51 +00:00
Simon Tatham
eebec27c99 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.

[originally from svn r1242]
2001-09-07 22:45:05 +00:00
Simon Tatham
5fad95e748 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.)

[originally from svn r1235]
2001-09-07 20:35:38 +00:00
Simon Tatham
12e7195c0e 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.

[originally from svn r1230]
2001-09-05 21:01:04 +00:00
Simon Tatham
ea27f048f9 Fix various small compiler warnings, mostly unused local variables
[originally from svn r1218]
2001-08-28 08:08:43 +00:00
Simon Tatham
ff9a038cdd PSCP now uses the modern SFTP protocol if it can, and falls back to
scp1 if it can't. Currently not very tested - I checked it in as
soon as it completed a successful recursive copy in both directions.
Also, one known bug: you can't specify a remote wildcard, because by
the nature of SFTP we'll need to implement the wildcard engine on
the client side. I do intend to do this (and use the same wildcard
engine in PSFTP as well) but I haven't got round to it yet.

[originally from svn r1208]
2001-08-26 18:32:28 +00:00
Simon Tatham
195db0c8c9 Fiddle with the registry format so that backwards compatibility is
natural and defaults are sensible.

[originally from svn r1200]
2001-08-25 20:01:36 +00:00
Simon Tatham
44c4ee79e6 Jacob's patch for a drag-list to select SSH ciphers. Heavily hacked
by me to make the drag list behaviour slightly more intuitive.
WARNING: DO NOT LOOK AT pl_itemfrompt() IF YOU ARE SQUEAMISH.

[originally from svn r1199]
2001-08-25 19:33:33 +00:00
Simon Tatham
686740c2fb First phase of Unicode polishing: replace the edit box with a combo
box. Also default to ISO8859-1 so that CSI works in the default
mode; this is ridiculously Western-centric but I can't honestly
think of a better option.

[originally from svn r1183]
2001-08-12 19:25:21 +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
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
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
d1d65fa6d0 From RDB: telnet can now start up in passive mode, in which it
doesn't do any negotiation until the remote side does.

[originally from svn r1107]
2001-05-09 13:51:07 +00:00
Simon Tatham
cefaa787ba We can now save the protocol and port number in Default Settings.
[originally from svn r1104]
2001-05-09 13:26:14 +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
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
321adcb4b9 The bell overload times are now measured in milliseconds, although
the config box still enters them in seconds (it allows fractions).

[originally from svn r1089]
2001-04-28 15:47:26 +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
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
8e91c62bfa We can now configure the terminal's answerback string when it receives ^E.
[originally from svn r1031]
2001-04-09 12:43:46 +00:00
Simon Tatham
2c39b69a52 Default handling of VT100 line drawing characters in cut and paste is
now to translate them into poor man's characters (+--+ and |). We also
have an option to disable this (and map line drawing characters to the
corresponding ASCII code as before). Thanks to Robert de Bath.

[originally from svn r1029]
2001-04-09 11:59:35 +00:00
Simon Tatham
4b5cda8aaa Add Norman Brandinger's suggested `-m' option in plink, to read the
remote command from a local file. Advantage: you can have more than
one line in it, so you can remotely run what's effectively a small
script.

[originally from svn r1010]
2001-03-19 10:24:55 +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
b182356f99 Support for selecting AES from the GUI. In the process, I've had to
introduce another layer of abstraction in SSH2 ciphers, such that a
single `logical cipher' (as desired by a user) can equate to more
than one `physical cipher'. This is because AES comes in several key
lengths (PuTTY will pick the highest supported by the remote end)
and several different SSH2-protocol-level names (aes*-cbc,
rijndael*-cbc, and an unofficial one rijndael-cbc@lysator.liu.se).

[originally from svn r967]
2001-03-02 13:55:23 +00:00
Simon Tatham
7717c386a1 Stop accidental subsystem attempts
[originally from svn r959]
2001-03-01 12:27:35 +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
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
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
4a339ef430 Add X11 forwarding, mainly thanks to Andreas Schultz
[originally from svn r878]
2001-01-22 11:34:52 +00:00
Simon Tatham
ca90be26a8 Experimental Rlogin support, thanks to Delian Delchev. Local flow
control is unsupported, and server-to-client comms may fail for want
of working TCP Urgent.

[originally from svn r875]
2001-01-19 10:10:37 +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
c68959b584 Introduce alternative cursor shapes: underline, vertical line
[originally from svn r870]
2001-01-17 16:57:33 +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
462063cdc5 Implement Zlib compression, in both SSH1 and SSH2.
[originally from svn r792]
2000-11-01 21:34:21 +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
384eeb3f76 Fix miscellaneous compiler warnings. Thanks to Jacob Nevins
[originally from svn r755]
2000-10-24 10:47:49 +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
17cea8353f Put back the code that ensures "Default Settings" is always in the
session list even if it isn't in the Registry. This got deleted
overenthusiastically because I didn't have a comment explaining what
it was doing there. Now there's a comment, so I probably won't
remove it again.

[originally from svn r733]
2000-10-20 15:20:53 +00:00
Simon Tatham
3e83d75154 Add a config option to emulate the HMAC bug in commercial SSH v2.3.x
and earlier (namely, it uses only 16 bytes of key rather than 20).

[originally from svn r706]
2000-10-12 12:39:44 +00:00
Simon Tatham
7b444de332 Add ISO8859-2 / CP852 translation courtesy of Jaromir Filsak
[originally from svn r695]
2000-10-09 16:29:12 +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
82dcef256f Fix sorting of saved sessions list box so Default Settings is back at
the top of the list instead of being filed under D

[originally from svn r686]
2000-10-06 16:19:44 +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