u/mdw/putty
21 years agoSupport for doing DNS at the proxy end. I've invented a new type of
simon [Wed, 18 Dec 2002 16:23:11 +0000 (16:23 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2353 cda61777-01e9-0310-a592-d414129be87e

21 years agoBetter reporting of DNS errors while trying to find the proxy server.
simon [Wed, 18 Dec 2002 12:32:18 +0000 (12:32 +0000)]
Better reporting of DNS errors while trying to find the proxy server.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2350 cda61777-01e9-0310-a592-d414129be87e

21 years agoStop proxying connections to localhost by default; should fix
simon [Wed, 18 Dec 2002 12:18:54 +0000 (12:18 +0000)]
Stop proxying connections to localhost by default; should fix
`x11-proxy-crash'.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2348 cda61777-01e9-0310-a592-d414129be87e

21 years agoPlacate a trivial compiler warning.
simon [Wed, 18 Dec 2002 11:51:09 +0000 (11:51 +0000)]
Placate a trivial compiler warning.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2347 cda61777-01e9-0310-a592-d414129be87e

21 years agoImprove the tab order in the Tunnels box: the `Add' button should
simon [Wed, 18 Dec 2002 11:49:14 +0000 (11:49 +0000)]
Improve the tab order in the Tunnels box: the `Add' button should
happen _after_ all the controls that set up the forwarding, since
that's the obvious order you'd want to use them in.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2346 cda61777-01e9-0310-a592-d414129be87e

21 years agoImplement `portfwd-loopback-choice'. Works on local side in Unix as
simon [Wed, 18 Dec 2002 11:39:25 +0000 (11:39 +0000)]
Implement `portfwd-loopback-choice'. Works on local side in Unix as
well, though it's a lot less useful since you still can't bind to
low-numbered ports of odd loopback IPs. Should work in principle for
SSH2 remote forwardings as well as local ones, but OpenSSH seems
unwilling to cooperate.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2344 cda61777-01e9-0310-a592-d414129be87e

21 years agoBUG_SSH2_DERIVEKEY is apparently only present in SSH 2.0.11 and
simon [Wed, 18 Dec 2002 10:06:38 +0000 (10:06 +0000)]
BUG_SSH2_DERIVEKEY is apparently only present in SSH 2.0.11 and
before, not in 2.0.13. Verified on at least one host. Fixes bug
`ssh2-keyderive-nonbug'.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2342 cda61777-01e9-0310-a592-d414129be87e

21 years ago`Leonid' points out a stupid mistake in MD5 HMAC initialisation: we
simon [Wed, 18 Dec 2002 09:54:55 +0000 (09:54 +0000)]
`Leonid' points out a stupid mistake in MD5 HMAC initialisation: we
should initialise _both_ MD5 states, not the same one twice.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2341 cda61777-01e9-0310-a592-d414129be87e

21 years agologeventf()'s first argument is ssh, not ssh->frontend! This is what
simon [Wed, 18 Dec 2002 09:47:20 +0000 (09:47 +0000)]
logeventf()'s first argument is ssh, not ssh->frontend! This is what
I get for making the latter a `void *' - type checking deserts me in
my hour of need. Should fix Andrey Borzenkov's bug.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2340 cda61777-01e9-0310-a592-d414129be87e

21 years agoFixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
jacob [Sun, 15 Dec 2002 13:31:58 +0000 (13:31 +0000)]
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
  window.c:90: warning: `do_mouse_wheel_msg' declared `static' but never defined
Introduced in 1.185 [r1499]. This function doesn't appear to ever have
existed.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2334 cda61777-01e9-0310-a592-d414129be87e

21 years agoFixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
jacob [Sun, 15 Dec 2002 13:25:24 +0000 (13:25 +0000)]
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
  psftp.c: In function `sftp_cmd_chmod':
  psftp.c:835: warning: too many arguments for format

git-svn-id: svn://svn.tartarus.org/sgt/putty@2333 cda61777-01e9-0310-a592-d414129be87e

21 years agoFixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
jacob [Sun, 15 Dec 2002 13:23:13 +0000 (13:23 +0000)]
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
  plink.c:65: warning: `password' defined but not used
(introduced in 1.50 [r1525])

git-svn-id: svn://svn.tartarus.org/sgt/putty@2332 cda61777-01e9-0310-a592-d414129be87e

21 years agoFixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
jacob [Sun, 15 Dec 2002 13:19:59 +0000 (13:19 +0000)]
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2:
  plink.c: In function `from_backend':
  plink.c:172: warning: unused variable `h'
(introduced in 1.35 [r1198])

git-svn-id: svn://svn.tartarus.org/sgt/putty@2331 cda61777-01e9-0310-a592-d414129be87e

21 years agoFrom Greg Prosser: Apparently using "MS Shell Dlg" instead of "MS Sans Serif"
jacob [Sun, 15 Dec 2002 12:44:21 +0000 (12:44 +0000)]
From Greg Prosser: Apparently using "MS Shell Dlg" instead of "MS Sans Serif"
in resource files interoperates better with WinXP (enabling font smoothing
and improving display of password boxes). I've verified that it's harmless
on Win95.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2329 cda61777-01e9-0310-a592-d414129be87e

21 years agofaq-rh8-utf8: Problems with Red Hat 8.0 and UTF-8
jacob [Sun, 15 Dec 2002 11:51:21 +0000 (11:51 +0000)]
faq-rh8-utf8: Problems with Red Hat 8.0 and UTF-8

git-svn-id: svn://svn.tartarus.org/sgt/putty@2327 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove an unnecessary "{Includes}" from the example Rez command.
ben [Fri, 13 Dec 2002 00:50:53 +0000 (00:50 +0000)]
Remove an unnecessary "{Includes}" from the example Rez command.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2317 cda61777-01e9-0310-a592-d414129be87e

21 years agoProvide a full set of small application icons for PuTTY, now equipped with
ben [Fri, 13 Dec 2002 00:45:08 +0000 (00:45 +0000)]
Provide a full set of small application icons for PuTTY, now equipped with
small lightning flashes too.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2316 cda61777-01e9-0310-a592-d414129be87e

21 years agoUse the Unicode Converter to convert from Unicode to the display encoding
ben [Fri, 13 Dec 2002 00:02:48 +0000 (00:02 +0000)]
Use the Unicode Converter to convert from Unicode to the display encoding
if it's available.  Linking against the static Unicode Converter library
costs us about 30k on Classic 68K, which I can live with.

Because the default fallback converter can generate multiple output
characters for a single input character, we provide our own fallback that
doesn't.  It converts everything to '?' instead.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2315 cda61777-01e9-0310-a592-d414129be87e

21 years agoWhen loading a string setting, expect in the same form we would have
ben [Thu, 12 Dec 2002 23:55:51 +0000 (23:55 +0000)]
When loading a string setting, expect in the same form we would have
saved (raw text rather than Pascal string).

git-svn-id: svn://svn.tartarus.org/sgt/putty@2314 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd some documentation for the Mac port.
ben [Wed, 11 Dec 2002 18:34:49 +0000 (18:34 +0000)]
Add some documentation for the Mac port.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2305 cda61777-01e9-0310-a592-d414129be87e

21 years agoIPv4/IPv6 sense problem in SOCKS5 proxying spotted by Andrey Borzenkov --
jacob [Tue, 10 Dec 2002 10:19:51 +0000 (10:19 +0000)]
IPv4/IPv6 sense problem in SOCKS5 proxying spotted by Andrey Borzenkov --
recent change.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2301 cda61777-01e9-0310-a592-d414129be87e

21 years agoSince PuTTY depends on lots of features of System 7, have it bale out if
ben [Tue, 10 Dec 2002 01:11:40 +0000 (01:11 +0000)]
Since PuTTY depends on lots of features of System 7, have it bale out if
it finds itself running on anything older.  This is better than killing the
whole system with an umimplemented trap.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2300 cda61777-01e9-0310-a592-d414129be87e

21 years agoWhen resizing the window, redraw the grow box as well as the scroll bar.
ben [Mon, 9 Dec 2002 23:26:52 +0000 (23:26 +0000)]
When resizing the window, redraw the grow box as well as the scroll bar.
I wasn't noticing the bug on my system, since the Appearance Manager handles
the grow box itself when it's present.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2299 cda61777-01e9-0310-a592-d414129be87e

21 years agoUpdate the non-Color Quickdraw code in pre_paint() to match recent changes
ben [Mon, 9 Dec 2002 22:49:56 +0000 (22:49 +0000)]
Update the non-Color Quickdraw code in pre_paint() to match recent changes
to the Color Quickdraw code.  This makes redraw work properly on old Macs
again.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2298 cda61777-01e9-0310-a592-d414129be87e

21 years agoOops. When deciding which attributes are interesting, we want the union of
ben [Sun, 8 Dec 2002 22:23:08 +0000 (22:23 +0000)]
Oops.  When deciding which attributes are interesting, we want the union of
all the screens' capabilites, not the intersection.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2297 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove a stray prototype for mac_set_attr_mask().
ben [Sun, 8 Dec 2002 22:15:10 +0000 (22:15 +0000)]
Remove a stray prototype for mac_set_attr_mask().

git-svn-id: svn://svn.tartarus.org/sgt/putty@2296 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove some unused cruft.
ben [Sun, 8 Dec 2002 22:09:47 +0000 (22:09 +0000)]
Remove some unused cruft.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2295 cda61777-01e9-0310-a592-d414129be87e

21 years agoModify bug-compatibility checks to use wildcards. Should have exactly the
jacob [Sun, 8 Dec 2002 16:54:31 +0000 (16:54 +0000)]
Modify bug-compatibility checks to use wildcards. Should have exactly the
same behaviour as before (tested a little bit), but should be easier to
expand.
(This is the easy bit -- work still needs to be done to fix
ssh2-keyderive-nonbug, vshell-no-bug-compat, etc -- but should be easier
now.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@2293 cda61777-01e9-0310-a592-d414129be87e

21 years agoWrong length was causing spurious \0 to be sent during SSH negotiation with
jacob [Sun, 8 Dec 2002 15:32:40 +0000 (15:32 +0000)]
Wrong length was causing spurious \0 to be sent during SSH negotiation with
HTTP proxy -- fixed. (Also added a "len -= eol" to HTTP header munching,
although it has no practical effect.) HTTP proxying now works again, hurrah.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2292 cda61777-01e9-0310-a592-d414129be87e

21 years agoArgh. With DEBUG and MALLOC_LOG enabled, I found output intended for the
jacob [Sun, 8 Dec 2002 14:44:42 +0000 (14:44 +0000)]
Argh. With DEBUG and MALLOC_LOG enabled, I found output intended for the
console was ending up in one or other of debug.log or putty_mem.log. I
don't really understand why, but I've put some extra paranoia and caching
in debug(()) and that seems to have fixed it (tm). Perhaps I can get back
to debugging...

git-svn-id: svn://svn.tartarus.org/sgt/putty@2291 cda61777-01e9-0310-a592-d414129be87e

21 years agoDoofus Award: logfopen is shared between SSH-packet and session-logging modes,
jacob [Sun, 8 Dec 2002 12:10:58 +0000 (12:10 +0000)]
Doofus Award: logfopen is shared between SSH-packet and session-logging modes,
so of _course_ it has to be mode "wb". Restored, and added \r to all of the
SSH packet logging stuff.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2289 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd a new diagnostic in winnet.c, to attempt to pinpoint the reason
simon [Sun, 8 Dec 2002 11:00:47 +0000 (11:00 +0000)]
Add a new diagnostic in winnet.c, to attempt to pinpoint the reason
for the tree234 assertion failure we've had reported recently.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2288 cda61777-01e9-0310-a592-d414129be87e

21 years agoSlightly cheesy size-tip implementation. This is suboptimal in two ways:
ben [Sun, 8 Dec 2002 01:17:31 +0000 (01:17 +0000)]
Slightly cheesy size-tip implementation.  This is suboptimal in two ways:
 * It paints over the top-left corner of the terminal window.  A little
   floating window would be rather nicer and not much harder to do.
 * It uses the low-memory global, DragHook, which is unavailable in Carbon
   and broken in some versions of Mac OS 8 (8.5?).  I suspect this is
   unavoidable, though.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2287 cda61777-01e9-0310-a592-d414129be87e

21 years agoFor some reason Roman Pompejus' original logging patch opened the log in
jacob [Sat, 7 Dec 2002 21:35:05 +0000 (21:35 +0000)]
For some reason Roman Pompejus' original logging patch opened the log in
"wb" mode. Since we were mostly writing "\n" rather than "\r\n", I've
changed it to just "w" and refunded the difference.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2286 cda61777-01e9-0310-a592-d414129be87e

21 years agoFix write to freed memory in HTTP proxying. Things aren't entirely happy yet,
jacob [Sat, 7 Dec 2002 21:15:49 +0000 (21:15 +0000)]
Fix write to freed memory in HTTP proxying. Things aren't entirely happy yet,
though.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2285 cda61777-01e9-0310-a592-d414129be87e

21 years agoWhen scrolling part of the window, scroll the update region as well so that
ben [Sat, 7 Dec 2002 15:21:56 +0000 (15:21 +0000)]
When scrolling part of the window, scroll the update region as well so that
parts that haven't been painted yet still get an update event in their new
location.  This code seems far too complicated, and I suspect there's a
better way.  Still, scrolling continuously with the window partially
off-screen now works.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2284 cda61777-01e9-0310-a592-d414129be87e

21 years agoIgnore generated Mac Makefile
jacob [Sat, 7 Dec 2002 12:03:33 +0000 (12:03 +0000)]
Ignore generated Mac Makefile

git-svn-id: svn://svn.tartarus.org/sgt/putty@2283 cda61777-01e9-0310-a592-d414129be87e

21 years agoUse the Script Manager to find a small Roman font for the licence box rather
ben [Fri, 6 Dec 2002 00:09:34 +0000 (00:09 +0000)]
Use the Script Manager to find a small Roman font for the licence box rather
than assuming that the application font at 9pt will be useful (which it
probably won't be on non-Roman systems).

git-svn-id: svn://svn.tartarus.org/sgt/putty@2282 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd some comments explaining what each of these functions is used for.
ben [Wed, 4 Dec 2002 19:44:57 +0000 (19:44 +0000)]
Add some comments explaining what each of these functions is used for.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2280 cda61777-01e9-0310-a592-d414129be87e

21 years agoAvoid potential memory leak.
owen [Wed, 4 Dec 2002 12:53:42 +0000 (12:53 +0000)]
Avoid potential memory leak.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2278 cda61777-01e9-0310-a592-d414129be87e

21 years ago#include <signal.h>. Compiled fine without it on Debian 3.0, but not
simon [Wed, 4 Dec 2002 12:40:36 +0000 (12:40 +0000)]
#include <signal.h>. Compiled fine without it on Debian 3.0, but not
on 2.2. Wonder what changed.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2277 cda61777-01e9-0310-a592-d414129be87e

21 years agoChanged to use strerror()
owen [Wed, 4 Dec 2002 12:39:32 +0000 (12:39 +0000)]
Changed to use strerror()

git-svn-id: svn://svn.tartarus.org/sgt/putty@2276 cda61777-01e9-0310-a592-d414129be87e

21 years agoDriver script for building PuTTY under MPW. MPW isn't multi-tasking, so its
ben [Mon, 2 Dec 2002 21:06:12 +0000 (21:06 +0000)]
Driver script for building PuTTY under MPW.  MPW isn't multi-tasking, so its
"make" program just emits a script for us to run.  This script wraps all that
horribleness up so we don't have to see it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2274 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd an entry for the Mac version of PuTTY.
ben [Mon, 2 Dec 2002 21:03:14 +0000 (21:03 +0000)]
Add an entry for the Mac version of PuTTY.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2273 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd support for generating MPW Makefiles. This makes the following changes:
ben [Mon, 2 Dec 2002 21:01:11 +0000 (21:01 +0000)]
Add support for generating MPW Makefiles.  This makes the following changes:

* splitline gets support for changing the continuation character.
* deps returns a data structure for the output routine to format as
  appropriate.
* There's a new program type, [M], for Macintosh.
* There's a new backend to output mac/Makefile.mpw.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2272 cda61777-01e9-0310-a592-d414129be87e

21 years agoImprove support for non-colour displays by adding a mask of attributes to
ben [Fri, 29 Nov 2002 00:32:03 +0000 (00:32 +0000)]
Improve support for non-colour displays by adding a mask of attributes to
ignore when breaking text into runs for display, and implement setting this
on Mac (other ports just use 0xffffffff).

We don't use DeviceLoop for this any more because Apple Technical Q&A
QA1024 says we shouldn't.  Unlike their example, we don't depend on the
Display Manager's being present either.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2264 cda61777-01e9-0310-a592-d414129be87e

21 years agoDon't call SetFractEnable every time we draw some text, since
ben [Thu, 28 Nov 2002 21:10:55 +0000 (21:10 +0000)]
Don't call SetFractEnable every time we draw some text, since
SetFractEnable unconditionally flushes the Font Manager's width cache,
and the default is fine for us anyway.  This more or less doubles
redraw speed, which is nice, but still not really fast enough.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2263 cda61777-01e9-0310-a592-d414129be87e

21 years agoFollow the recommendations in Tech Note TB575 for clipping off the space
ben [Thu, 28 Nov 2002 21:02:07 +0000 (21:02 +0000)]
Follow the recommendations in Tech Note TB575 for clipping off the space
for the horizontal scroll bar when drawing the grow box.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2262 cda61777-01e9-0310-a592-d414129be87e

21 years agoUse StdText() rather than DrawText, so that (later) we can support scaling of
ben [Thu, 28 Nov 2002 00:25:09 +0000 (00:25 +0000)]
Use StdText() rather than DrawText, so that (later) we can support scaling of
text to get double-width etc.

Also set the background when scrolling in Original Quickdraw.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2261 cda61777-01e9-0310-a592-d414129be87e

21 years agoIncrease the size of the `font' buffer in the Config structure, for
simon [Tue, 26 Nov 2002 19:35:40 +0000 (19:35 +0000)]
Increase the size of the `font' buffer in the Config structure, for
the benefit of X font names which are rather more verbose than
Windows. One day I want to replace all these fixed-size buffers with
sensible dynamically allocated stuff, but not today.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2260 cda61777-01e9-0310-a592-d414129be87e

21 years agoSubstantial overhaul of colour handling in do_text(). Highlights include:
ben [Tue, 26 Nov 2002 01:32:51 +0000 (01:32 +0000)]
Substantial overhaul of colour handling in do_text().  Highlights include:
* No more mucking about with transfer modes.  We always set up the foreground
  and background sensibly, EraseRect the whole lot and use srcOr.  Apple
  Tech Note QD505 suggests that this should be faster than srcCopy.
* Always use the Palette Manager if we've got Color QuickDraw, even in 1bpp
  modes.
* Apply the cursor colours _after_ all the other stuff, rather than trying to
  get them through everything else intact.

Unfortunately, this doesn't make much difference to the speed.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2259 cda61777-01e9-0310-a592-d414129be87e

21 years agoMake the default font on Mac OS be Monaco 9 rather than Monaco 10, since the
ben [Mon, 25 Nov 2002 23:34:59 +0000 (23:34 +0000)]
Make the default font on Mac OS be Monaco 9 rather than Monaco 10, since the
former is available as a bitmap.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2258 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove a spurious 'q'.
ben [Mon, 25 Nov 2002 19:02:23 +0000 (19:02 +0000)]
Remove a spurious 'q'.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2257 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd support for displaying the licence window.
ben [Sun, 24 Nov 2002 15:08:52 +0000 (15:08 +0000)]
Add support for displaying the licence window.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2255 cda61777-01e9-0310-a592-d414129be87e

21 years agoFix scrolling on systems without Color QuickDraw. It seems that the current
ben [Sun, 24 Nov 2002 00:38:44 +0000 (00:38 +0000)]
Fix scrolling on systems without Color QuickDraw.  It seems that the current
background colour and pen mode have some silly effects on ScrollRect, so
set them back to their defaults before calling it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2254 cda61777-01e9-0310-a592-d414129be87e

21 years agoDon't try to initialise the palette unless we have Color QuickDraw. This gets
ben [Sat, 23 Nov 2002 22:36:56 +0000 (22:36 +0000)]
Don't try to initialise the palette unless we have Color QuickDraw.  This gets
PuTTY running on my Mac SE again (albeit very slowly and with scroll
optimisation broken for some reason).

git-svn-id: svn://svn.tartarus.org/sgt/putty@2253 cda61777-01e9-0310-a592-d414129be87e

21 years agoFix a bug in scroll_display(): when the scrolled region contains the cursor
ben [Sat, 23 Nov 2002 21:42:46 +0000 (21:42 +0000)]
Fix a bug in scroll_display(): when the scrolled region contains the cursor
we need to update dispcurs as well as disptext.

Add scroll optimisation to scroll().  This makes it rather obvious that scroll
optimisation is breaking with PuTTY's usual policy of lazy updates, since
scrolling is done eagerly.  Fixing this so that all the scrolling is saved
up for do_paint would be nice, but non-trivial.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2252 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove stray debugging printfs.
ben [Sat, 23 Nov 2002 20:40:22 +0000 (20:40 +0000)]
Remove stray debugging printfs.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2251 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd a Config * argument to ldisc_create(), and use it in place of the global
ben [Sat, 23 Nov 2002 20:02:38 +0000 (20:02 +0000)]
Add a Config * argument to ldisc_create(), and use it in place of the global
cfg throughout ldisc.c.  Not tested other than on Mac, but all other ports
just pass &cfg as this argument for now.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2250 cda61777-01e9-0310-a592-d414129be87e

21 years agoReturn the state information from loop_init() in the correct way. This means
ben [Sat, 23 Nov 2002 19:58:55 +0000 (19:58 +0000)]
Return the state information from loop_init() in the correct way.  This means
the backend actually works now.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2249 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd a "Config *" argument to term_init(), and use that instead of the global
ben [Sat, 23 Nov 2002 19:01:01 +0000 (19:01 +0000)]
Add a "Config *" argument to term_init(), and use that instead of the global
cfg throughout the terminal emulator.  Not tested in PuTTY and pterm, but they
just pass in &cfg.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2248 cda61777-01e9-0310-a592-d414129be87e

21 years agoOnly try to retrieve a 'vers' resource from the current resource file (the
ben [Sat, 23 Nov 2002 18:22:47 +0000 (18:22 +0000)]
Only try to retrieve a 'vers' resource from the current resource file (the
application), rather from the entire chain.  This prevents us displaying the
System version if PuTTY doesn't have one.  Also cope with not finding any
'vers' resource.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2247 cda61777-01e9-0310-a592-d414129be87e

21 years agoWe don't currently need the Thread Manager (and all being well we never will),
ben [Sat, 23 Nov 2002 15:11:13 +0000 (15:11 +0000)]
We don't currently need the Thread Manager (and all being well we never will),
so stop checking for it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2246 cda61777-01e9-0310-a592-d414129be87e

21 years agoOn a keypress, hide the mouse cursor, send the key to the line discipline
ben [Sat, 23 Nov 2002 14:22:11 +0000 (14:22 +0000)]
On a keypress, hide the mouse cursor, send the key to the line discipline
(rather than straight to the backend), and then prod the terminal.  I think
this is closer to the correct set of things to do.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2245 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove a debugging printf.
ben [Sat, 23 Nov 2002 13:16:36 +0000 (13:16 +0000)]
Remove a debugging printf.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2243 cda61777-01e9-0310-a592-d414129be87e

21 years agoBring in some of my scroll-optimisation stuff from the old Mac port.
ben [Sat, 23 Nov 2002 13:07:29 +0000 (13:07 +0000)]
Bring in some of my scroll-optimisation stuff from the old Mac port.
This introduces a new front-end function, do_scroll(), which is expected to
scroll a part of the physical display and cause repaint events for any
areas that couldn't be scrolled (e.g. because they were hidden).
scroll_display() is a wrapper around this which also updates disptext to
match.

Currently, scroll_display is only used in response to user scrollback requests
(via term_scroll()), but extending scroll() to use it as well should be
easy.

All of this is conditional on the front end's defining OPTIMISE_SCROLL, since
only the Mac front end currently implements do_scroll().

git-svn-id: svn://svn.tartarus.org/sgt/putty@2242 cda61777-01e9-0310-a592-d414129be87e

21 years agoNote about CTRL-C trick for copying text of error dialogs
jacob [Sat, 23 Nov 2002 11:22:57 +0000 (11:22 +0000)]
Note about CTRL-C trick for copying text of error dialogs

git-svn-id: svn://svn.tartarus.org/sgt/putty@2240 cda61777-01e9-0310-a592-d414129be87e

21 years agoUpdate the status of the Mac port.
ben [Fri, 22 Nov 2002 00:07:31 +0000 (00:07 +0000)]
Update the status of the Mac port.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2239 cda61777-01e9-0310-a592-d414129be87e

21 years agoNote that default will change to SSH-2 next release
jacob [Thu, 21 Nov 2002 00:15:52 +0000 (00:15 +0000)]
Note that default will change to SSH-2 next release

git-svn-id: svn://svn.tartarus.org/sgt/putty@2238 cda61777-01e9-0310-a592-d414129be87e

21 years agoFixes for more robust handling of command-line parse errors.
simon [Wed, 20 Nov 2002 20:09:02 +0000 (20:09 +0000)]
Fixes for more robust handling of command-line parse errors.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2236 cda61777-01e9-0310-a592-d414129be87e

21 years agoInterchange two parameters in a printf, to prevent a silly segfault.
simon [Wed, 20 Nov 2002 19:56:10 +0000 (19:56 +0000)]
Interchange two parameters in a printf, to prevent a silly segfault.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2235 cda61777-01e9-0310-a592-d414129be87e

21 years agoLargely-placeholder man page for Plink, for the sake of not
simon [Wed, 20 Nov 2002 19:49:59 +0000 (19:49 +0000)]
Largely-placeholder man page for Plink, for the sake of not
irritating `make install'. Thanks RJK, again.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2234 cda61777-01e9-0310-a592-d414129be87e

21 years agoFiddle with mac_initpalette() so that the cursor works in 2bpp modes as well.
ben [Wed, 20 Nov 2002 00:33:44 +0000 (00:33 +0000)]
Fiddle with mac_initpalette() so that the cursor works in 2bpp modes as well.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2233 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove has_focus from Session and use the one in Terminal. Active vs passive
ben [Wed, 20 Nov 2002 00:11:05 +0000 (00:11 +0000)]
Remove has_focus from Session and use the one in Terminal.  Active vs passive
cursor now behaves correctly.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2232 cda61777-01e9-0310-a592-d414129be87e

21 years agoRemove CURSOR_FG_BOLD and CURSOR_BG_BOLD, and hence bring reality in line
ben [Tue, 19 Nov 2002 23:59:27 +0000 (23:59 +0000)]
Remove CURSOR_FG_BOLD and CURSOR_BG_BOLD, and hence bring reality in line
with palette_reset()'s expectations.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2231 cda61777-01e9-0310-a592-d414129be87e

21 years agoPass co-ordinates to term_paint() in characters rather than pixels. Partial
ben [Tue, 19 Nov 2002 22:05:48 +0000 (22:05 +0000)]
Pass co-ordinates to term_paint() in characters rather than pixels.  Partial
redraws now work rather better.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2230 cda61777-01e9-0310-a592-d414129be87e

21 years agoAdd mac/ to include paths after discussion with bjh21
jacob [Tue, 19 Nov 2002 19:36:14 +0000 (19:36 +0000)]
Add mac/ to include paths after discussion with bjh21

git-svn-id: svn://svn.tartarus.org/sgt/putty@2229 cda61777-01e9-0310-a592-d414129be87e

21 years agoA couple of useful test backends.
ben [Tue, 19 Nov 2002 12:29:45 +0000 (12:29 +0000)]
A couple of useful test backends.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2228 cda61777-01e9-0310-a592-d414129be87e

21 years agoMac resource source file, missed in last commit.
ben [Tue, 19 Nov 2002 02:14:35 +0000 (02:14 +0000)]
Mac resource source file, missed in last commit.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2227 cda61777-01e9-0310-a592-d414129be87e

21 years agoTentative merge of ben-mac-port (only dead for three years!) into the trunk.
ben [Tue, 19 Nov 2002 02:13:46 +0000 (02:13 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2226 cda61777-01e9-0310-a592-d414129be87e

21 years agoWhen processing input, refer to CR and LF as \015 and \012 respectively,
ben [Mon, 18 Nov 2002 23:49:30 +0000 (23:49 +0000)]
When processing input, refer to CR and LF as \015 and \012 respectively,
rather than \r and \n.  The latter tend to get swapped around by Mac C
compilers.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2225 cda61777-01e9-0310-a592-d414129be87e

21 years agoISO-IR entry 157 appears to correspond to ISO/IEC 8859-10, and lists
ben [Mon, 18 Nov 2002 22:27:25 +0000 (22:27 +0000)]
ISO-IR entry 157 appears to correspond to ISO/IEC 8859-10, and lists
code point 3/13 as HORIZONTAL BAR, which agrees with unicode.org's mapping
table.  Change ours to match (it used to have EM DASH, courtesy of RDB).
This brings all our 8859-to-Unicode tables into line with unicode.org.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2224 cda61777-01e9-0310-a592-d414129be87e

21 years agoMore comment cleanup.
ben [Mon, 18 Nov 2002 20:06:46 +0000 (20:06 +0000)]
More comment cleanup.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2223 cda61777-01e9-0310-a592-d414129be87e

21 years agoDon't forget the IEC!
ben [Mon, 18 Nov 2002 18:24:35 +0000 (18:24 +0000)]
Don't forget the IEC!

git-svn-id: svn://svn.tartarus.org/sgt/putty@2222 cda61777-01e9-0310-a592-d414129be87e

21 years agoBoth ISO and unicode.org now admit the existence of 8859-11 (:2001, FWIW),
ben [Mon, 18 Nov 2002 18:14:18 +0000 (18:14 +0000)]
Both ISO and unicode.org now admit the existence of 8859-11 (:2001, FWIW),
and unicode.org agrees with our mapping table.  Update text accordingly.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2221 cda61777-01e9-0310-a592-d414129be87e

21 years agoThanks to Hans-Juergen Petrich for spotting this tiny memory leak:
simon [Sun, 17 Nov 2002 15:06:16 +0000 (15:06 +0000)]
Thanks to Hans-Juergen Petrich for spotting this tiny memory leak:
`otherbuf' should still be freed even if the RegEnumKey function
that was supposed to fill it with data failed. While I'm at it, also
remove the redundant check for its non-NULL-ness (what's the point
of having a malloc wrapper that dies rather than return NULL if you
then waste effort checking its return value for NULL _anyway_, eh?).

git-svn-id: svn://svn.tartarus.org/sgt/putty@2217 cda61777-01e9-0310-a592-d414129be87e

21 years agoApple's C compilers don't think that putting parentheses around assignments
ben [Sun, 17 Nov 2002 02:00:06 +0000 (02:00 +0000)]
Apple's C compilers don't think that putting parentheses around assignments
in "if" conditions is enough.  Use an actual comparison against NULL instead.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2216 cda61777-01e9-0310-a592-d414129be87e

21 years agoChange a temporary buffer from unsigned chars to chars, avoiding a pointer-cast
ben [Sun, 17 Nov 2002 01:56:01 +0000 (01:56 +0000)]
Change a temporary buffer from unsigned chars to chars, avoiding a pointer-cast
warning.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2215 cda61777-01e9-0310-a592-d414129be87e

21 years agoBump latest version to 0.53b for release!
simon [Tue, 12 Nov 2002 18:55:41 +0000 (18:55 +0000)]
Bump latest version to 0.53b for release!

git-svn-id: svn://svn.tartarus.org/sgt/putty@2210 cda61777-01e9-0310-a592-d414129be87e

21 years agoUse <stddef.h> to get wchar_t, rather than <wchar.h> (or nothing, in putty.h).
ben [Sun, 10 Nov 2002 00:03:55 +0000 (00:03 +0000)]
Use <stddef.h> to get wchar_t, rather than <wchar.h> (or nothing, in putty.h).
Both are required to contain wchar_t in C99, but only <stddef.h> does in the
version of MPW I've got here.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2206 cda61777-01e9-0310-a592-d414129be87e

21 years agoRename CharWidth() to char_width(). The former name clashes with an API
ben [Sat, 9 Nov 2002 21:46:21 +0000 (21:46 +0000)]
Rename CharWidth() to char_width().  The former name clashes with an API
function in Mac OS.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2205 cda61777-01e9-0310-a592-d414129be87e

21 years agoImprove robustness in random seed file handling.
simon [Thu, 7 Nov 2002 20:01:04 +0000 (20:01 +0000)]
Improve robustness in random seed file handling.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2200 cda61777-01e9-0310-a592-d414129be87e

21 years agoRobustness fixes for KEXINIT handling and others. In particular, I've
simon [Thu, 7 Nov 2002 19:49:03 +0000 (19:49 +0000)]
Robustness fixes for KEXINIT handling and others. In particular, I've
created a self-mallocing variant of sprintf, to obviate any future
need for paranoid %.100s type stuff in format strings.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2199 cda61777-01e9-0310-a592-d414129be87e

21 years agoBorland makefile needs to define _WINDOWS; apparently this makefile
simon [Thu, 7 Nov 2002 19:37:36 +0000 (19:37 +0000)]
Borland makefile needs to define _WINDOWS; apparently this makefile
hasn't worked since the Unix port started and nobody has noticed
until now :-)

git-svn-id: svn://svn.tartarus.org/sgt/putty@2198 cda61777-01e9-0310-a592-d414129be87e

21 years agoPacket-level logging should now work properly in Unix Plink.
simon [Tue, 5 Nov 2002 13:21:03 +0000 (13:21 +0000)]
Packet-level logging should now work properly in Unix Plink.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2193 cda61777-01e9-0310-a592-d414129be87e

21 years agoFix command-line error handling in pterm. (Hint: wrapping a multi-
simon [Tue, 5 Nov 2002 13:20:42 +0000 (13:20 +0000)]
Fix command-line error handling in pterm. (Hint: wrapping a multi-
statement macro in `do ... while (0)' and putting a `continue'
within it don't go well together. Oops.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@2192 cda61777-01e9-0310-a592-d414129be87e

21 years agoSubstitute `-' (magical hyphen) for `\-' (inert minus sign) in the
simon [Tue, 5 Nov 2002 09:37:31 +0000 (09:37 +0000)]
Substitute `-' (magical hyphen) for `\-' (inert minus sign) in the
manpage. Fixes Debian bug #167761.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2190 cda61777-01e9-0310-a592-d414129be87e

21 years agoHalf of Lars Gunnarsson's iXplorer compatibility patch: the PSFTP
simon [Sun, 3 Nov 2002 08:46:35 +0000 (08:46 +0000)]
Half of Lars Gunnarsson's iXplorer compatibility patch: the PSFTP
login prompt should be fflushed (presumably fgets fails to implicitly
do this when stdin and stdout are redirected weirdly).

git-svn-id: svn://svn.tartarus.org/sgt/putty@2186 cda61777-01e9-0310-a592-d414129be87e

21 years agoProbably about time we mentioned the nascent Unix port in the FAQ.
simon [Sat, 2 Nov 2002 16:27:17 +0000 (16:27 +0000)]
Probably about time we mentioned the nascent Unix port in the FAQ.
Not that I desperately want to shout about it just yet, but I feel a
bit bad about the FAQ saying `we don't have a Unix port, anyone who
told you so was wrong'. :-)

git-svn-id: svn://svn.tartarus.org/sgt/putty@2185 cda61777-01e9-0310-a592-d414129be87e

21 years agoImprove shadow bold mode: set the default shadow bold offset to +1
simon [Sat, 2 Nov 2002 16:16:35 +0000 (16:16 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2184 cda61777-01e9-0310-a592-d414129be87e