u/mdw/putty
20 years agoAnd just to prove that psftp.c really is now platform-independent
simon [Sun, 24 Aug 2003 13:22:17 +0000 (13:22 +0000)]
And just to prove that psftp.c really is now platform-independent
... here's a Unix port of PSFTP. Woo. (Oddly PSCP looks to be
somewhat harder; there's more Windows code interleaved than there
was in PSFTP.)

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

20 years agoNext phase of general SFTP reworking: psftp.c is now a platform-
simon [Sun, 24 Aug 2003 12:47:46 +0000 (12:47 +0000)]
Next phase of general SFTP reworking: psftp.c is now a platform-
independent source file. All Windowsisms have been moved out to
winsftp.c.

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

20 years agoFix for `slow-startup-printer': use PRINTER_INFO_4 on NT-class systems, which
jacob [Thu, 21 Aug 2003 19:48:45 +0000 (19:48 +0000)]
Fix for `slow-startup-printer': use PRINTER_INFO_4 on NT-class systems, which
apparently tries less hard to find printers so won't slow the system down.

Tested on 2000 and 98; in both cases printer enumeration and printing worked
as well as they did in 2003-08-21.

Made a single shared copy of osVersion in winmisc.c so that printing.c can
find it. Made other users (window.c, pageant.c) use this copy.

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

20 years agoRichard B's patch to enable users to explicitly request shadow bold
simon [Thu, 21 Aug 2003 18:39:17 +0000 (18:39 +0000)]
Richard B's patch to enable users to explicitly request shadow bold
by disabling bold-font-name guessing (if their bold fonts are ugly).
I've turned the UI inside out, but the meat is pretty much the same.

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

20 years agoRichard B's patch to support X cut buffers as well as ordinary
simon [Thu, 21 Aug 2003 18:07:27 +0000 (18:07 +0000)]
Richard B's patch to support X cut buffers as well as ordinary
selections, meaning that (a) a pterm can leave copied text in the
cut buffer after it terminates so that applications can pick it up
even though it isn't still around to deliver the selection in
person, and (b) pterm can pick up things left in this way by other
apps.
Downside is that all of this only happens in ISO8859-1, because X is
weird like that.

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

20 years agoRichard Boulton's patch for improved correctness in selection
simon [Thu, 21 Aug 2003 18:03:06 +0000 (18:03 +0000)]
Richard Boulton's patch for improved correctness in selection
handling (generally, selection request timestamps should be set to
the timestamp on the event that caused them).

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

20 years agoControl of 'addr' is now handed over to {platform_,}new_connection() and
jacob [Thu, 7 Aug 2003 16:04:33 +0000 (16:04 +0000)]
Control of 'addr' is now handed over to {platform_,}new_connection() and
sk_new() on invocation; these functions become responsible for (eventually)
freeing it. The caller must not do anything with 'addr' after it's been passed
in. (Ick.)

Why:
A SOCKS5 crash appears to have been caused by overzealous freeing of
a SockAddr (ssh.c:1.257 [r2492]), which for proxied connections is
squirreled away long-term (and this can't easily be avoided).

It would have been nice to make a copy of the SockAddr, in case the caller has
a use for it, but one of the implementations (uxnet.c) hides a "struct
addrinfo" in there, and we have no defined way to duplicate those. (None of the
current callers _do_ have a further use for the SockAddr.)

As far as I can tell, everything _except_ proxying only needs addr for the
duration of the call, so sk_addr_free()s immediately. If I'm mistaken, it
should at least be easier to find the offending free()...

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

20 years agoClarify that '-m' takes a _local_ file.
jacob [Wed, 16 Jul 2003 08:28:31 +0000 (08:28 +0000)]
Clarify that '-m' takes a _local_ file.
ref. <kjt9hv49dagqmvru0nq9qcc0f5p11vg0ma@4ax.com>

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

20 years agoAdd SSH-1 password camouflage bug detection for version OSU_1.4alpha3 of the
jacob [Sat, 12 Jul 2003 13:45:21 +0000 (13:45 +0000)]
Add SSH-1 password camouflage bug detection for version OSU_1.4alpha3 of the
OSU VMS SSH server <http://kcgl1.eng.ohio-state.edu/~jonesd/ssh/>.

The changelog appears to indicate that the server was fixed for pwplain1 at
1.5alpha4, and for IGNORE and DEBUG messages at 1.5alpha6. However I'm going
to go on the reports we've had as I haven't tested this; and they indicate
only that 1.5alpha6 is known not to require any bug compatibility modes.

(I wasn't sure whether to add this at all, given that upgrading to version
OSU_1.5alpha6 is an easy way to fix the problem. However, there is precedent
for adding detection for old versions of servers which have since been fixed.)

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

20 years agoAdd section on "Access denied". This was mostly inspired by the password
jacob [Sat, 12 Jul 2003 13:25:43 +0000 (13:25 +0000)]
Add section on "Access denied". This was mostly inspired by the password
camouflage problems with SSH-1.5-OSU_1.4alpha3.

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

20 years agoMention Roald Ribe's success with OpenWatcom and Makefile.vc
jacob [Sun, 6 Jul 2003 09:34:03 +0000 (09:34 +0000)]
Mention Roald Ribe's success with OpenWatcom and Makefile.vc

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

20 years agoConsider bells as a display event.
owen [Sat, 5 Jul 2003 11:35:33 +0000 (11:35 +0000)]
Consider bells as a display event.

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

20 years agoPhase 1a of SFTP re-engineering: fix the glaring memory and request
simon [Sun, 29 Jun 2003 14:47:14 +0000 (14:47 +0000)]
Phase 1a of SFTP re-engineering: fix the glaring memory and request
ID leak in the previous checkin. Oops :-)

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

20 years agoFirst phase of SFTP re-engineering. Each base-level fxp_* function
simon [Sun, 29 Jun 2003 14:26:09 +0000 (14:26 +0000)]
First phase of SFTP re-engineering. Each base-level fxp_* function
has been split into a send half and a receive half, so that callers
can set several requests in motion at a time and deal with the
responses in whatever order they arrive.

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

20 years agoFailure to set multipliers[NPRIMES] was rendering the input-modulus
simon [Sat, 28 Jun 2003 14:11:28 +0000 (14:11 +0000)]
Failure to set multipliers[NPRIMES] was rendering the input-modulus
feature (make sure your prime is not congruent to Foo mod Bar)
largely ineffective. As a result, RSA keys were being generated
every so often with at least one prime congruent to 1 mod 37,
causing modinv(37, phi(n)) to divide by zero, and rightly so. I
believe this fixes `puttygen-zero-div'.

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

20 years agobignum_mod_short shouldn't be depending on a fixed place value in
simon [Sat, 28 Jun 2003 14:10:06 +0000 (14:10 +0000)]
bignum_mod_short shouldn't be depending on a fixed place value in
the bignum data! This wasn't actually causing puttygen-zero-div (its
unwarranted assumption was still correct under Windows) but it would
have caused the same symptoms under Unix when I got round to porting
PuTTYgen.

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

20 years agoSomeone pointed out that ^~ should generate the same as ^^, for
simon [Sat, 28 Jun 2003 07:52:19 +0000 (07:52 +0000)]
Someone pointed out that ^~ should generate the same as ^^, for
consistency with xterm.

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

20 years agoImplement sftp-backend-diagnostic in pscp.
owen [Thu, 26 Jun 2003 15:08:05 +0000 (15:08 +0000)]
Implement sftp-backend-diagnostic in pscp.

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

20 years agoImplement hostkey-prompt-type everywhere except Macintosh.
owen [Thu, 26 Jun 2003 14:19:33 +0000 (14:19 +0000)]
Implement hostkey-prompt-type everywhere except Macintosh.

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

20 years agoFix a segfault (non-security-critical - null dereference for
simon [Thu, 26 Jun 2003 13:41:30 +0000 (13:41 +0000)]
Fix a segfault (non-security-critical - null dereference for
reading) in the zlib code when fed certain kinds of invalid data. As
a result, ssh.c now needs to be prepared for zlib_decompress_block
to return failure.

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

20 years agoIncorporate Brad Clarke's suggestion to use "REGEDIT /EA" rather than
jacob [Wed, 25 Jun 2003 15:52:29 +0000 (15:52 +0000)]
Incorporate Brad Clarke's suggestion to use "REGEDIT /EA" rather than
"REGEDIT /E". On newer versions of Windows (verified on 2K), this will cause
the .REG file to be saved in REGEDIT4 format (ASCII) which can be read by
older Windows, rather than REGEDIT5 (Unicode). On older Windows, the extra "A"
is harmless (verified on Win98).

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

20 years agoMissing part of my recent SCOANSI fix.
ben [Sat, 21 Jun 2003 23:13:22 +0000 (23:13 +0000)]
Missing part of my recent SCOANSI fix.

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

20 years agoImprove SCOANSI emulation: The colours that SGR 0 returns to are now changed
ben [Sat, 21 Jun 2003 22:40:42 +0000 (22:40 +0000)]
Improve SCOANSI emulation:  The colours that SGR 0 returns to are now changed
by the SCO SNF and SNB sequences, which seems to be what the SCO console does
(at least in the new mode documented for OpenServer 5.0.6).

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

20 years agoOops, Ben got there first. Oh well, here's a comment.
jacob [Sat, 21 Jun 2003 21:19:21 +0000 (21:19 +0000)]
Oops, Ben got there first. Oh well, here's a comment.

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

20 years agoThe specific SSH cipher algorithms supported by PuTTY weren't listed anywhere
jacob [Sat, 21 Jun 2003 20:21:29 +0000 (20:21 +0000)]
The specific SSH cipher algorithms supported by PuTTY weren't listed anywhere
in the documentation.
Added some detail - feel free to tweak.

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

20 years agoAdd comments to case statements containing the mnemonics for the various
ben [Sat, 21 Jun 2003 19:38:56 +0000 (19:38 +0000)]
Add comments to case statements containing the mnemonics for the various
escape and control sequences.  This should make it easier to find the
implementation of the one you're interested in.

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

20 years agoRemove -DNO_SECURITY from the cygwin build, since <aclapi.h> has been
ben [Sat, 21 Jun 2003 19:34:36 +0000 (19:34 +0000)]
Remove -DNO_SECURITY from the cygwin build, since <aclapi.h> has been
available in cygwin for a year and a half.
Pointed out by Bruno Kozlowski.

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

20 years agoFix problem quitting terminal window while Change Settings active
owen [Thu, 19 Jun 2003 23:04:50 +0000 (23:04 +0000)]
Fix problem quitting terminal window while Change Settings active

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

20 years agoFix for `double-alt-keystrokes'. Thanks to Leonid Lisovskiy.
jacob [Thu, 19 Jun 2003 20:42:32 +0000 (20:42 +0000)]
Fix for `double-alt-keystrokes'. Thanks to Leonid Lisovskiy.

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

20 years agoMake SaneDialogBox and SaneEndDialog use [GS]etWindowLong rather than
owen [Wed, 18 Jun 2003 17:25:18 +0000 (17:25 +0000)]
Make SaneDialogBox and SaneEndDialog use [GS]etWindowLong rather than
a global variable.  Should mean that pageant builds.

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

20 years agoFix double-keystrokes by wrapping CreateDialog
owen [Mon, 16 Jun 2003 23:55:26 +0000 (23:55 +0000)]
Fix double-keystrokes by wrapping CreateDialog

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

20 years agoSupport for more SCO ANSI escape sequences:
ben [Sun, 15 Jun 2003 22:05:05 +0000 (22:05 +0000)]
Support for more SCO ANSI escape sequences:

CSI = Ps c
CSI = Pn1 ; Pn2 C
CSI = Ps D
CSI = Ps F
CSI = Ps G
SGR 6

Patch derived from one supplied by Leonid Lisoskiy, with several fixes from me.

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

20 years agoFix a couple of memory leaks pointed out by Adam Bernstein.
ben [Sat, 14 Jun 2003 18:27:10 +0000 (18:27 +0000)]
Fix a couple of memory leaks pointed out by Adam Bernstein.

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

20 years agoSuggest that local support staff are useful.
ben [Fri, 6 Jun 2003 18:16:52 +0000 (18:16 +0000)]
Suggest that local support staff are useful.

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

20 years agoMove prototype for platform_new_connection() to a header file so the
ben [Fri, 6 Jun 2003 10:42:14 +0000 (10:42 +0000)]
Move prototype for platform_new_connection() to a header file so the
definitions can be checked against it.

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

20 years agoExperimental change in the behaviour of `disable alternate terminal
simon [Tue, 27 May 2003 09:43:14 +0000 (09:43 +0000)]
Experimental change in the behaviour of `disable alternate terminal
screen'. Now it also disables the save-and-restore-cursor behaviour
of ESC[?1048h and ESC[?1049h, since these sequences seem to be
output by software trying to switch to the alternate screen, and it
looks very odd to have the cursor position restored to where it was
before `less' when the garbage `less' wrote all over the screen is
still around. The `traditional' ESC 7 and ESC 8 still function as
normal, on the basis that they aren't usually used in conjunction
with the alternate screen. I'm not sure whether this will be the
right decision; I'm prepared to change it back if a sufficiently
serious counterexample shows up.

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

20 years agoAdd exceptions for "VShell" to the ssh.com bug compatibility modes (which are
jacob [Sat, 24 May 2003 19:03:34 +0000 (19:03 +0000)]
Add exceptions for "VShell" to the ssh.com bug compatibility modes (which are
just numbers) in an attempt to fix `vshell-no-bug-compat'.
Not even tested a little bit.

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

20 years agoFixed accelerator clash between "Conversions" menu and "key comment" control
jacob [Sat, 24 May 2003 18:02:49 +0000 (18:02 +0000)]
Fixed accelerator clash between "Conversions" menu and "key comment" control
(former is now "Con&versions").

Add shortcut to key fingerprint for ease of copy-and-paste.

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

20 years agoModified form of Jim Lucas's PC speaker patch. I don't like
simon [Sat, 24 May 2003 12:31:32 +0000 (12:31 +0000)]
Modified form of Jim Lucas's PC speaker patch. I don't like
discriminating on the Windows version in order to decide whether to
call MessageBeep(-1) or Beep() - I'd prefer to directly test the
specific OS property in any given case - but it looks as if this is
the best available option.

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

20 years agoIncorporate matthew.gabeler-lee's suggested fix for badness with multiple
jacob [Sat, 24 May 2003 10:57:53 +0000 (10:57 +0000)]
Incorporate matthew.gabeler-lee's suggested fix for badness with multiple
exact hostnames in the proxy exclusion list.
<OF63043512.26ABC6B9-ON85256D21.006C33C6-85256D21.006C4B81@EU.novartis.net>

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

20 years agoUpdate a couple of bits of the FAQ. We do now default to SSH2, and
simon [Thu, 22 May 2003 08:43:50 +0000 (08:43 +0000)]
Update a couple of bits of the FAQ. We do now default to SSH2, and
we do have a Unix port of PuTTY proper.

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

21 years agoRene Post's other patch: PuTTYgen was generating double file dialogs
simon [Wed, 14 May 2003 18:53:28 +0000 (18:53 +0000)]
Rene Post's other patch: PuTTYgen was generating double file dialogs
by mistake.

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

21 years agoReal COMPOUND_TEXT support! I was expecting to have to read the spec
simon [Tue, 13 May 2003 19:57:17 +0000 (19:57 +0000)]
Real COMPOUND_TEXT support! I was expecting to have to read the spec
and implement the required subset of ISO-2022 in libcharset, but it
turns out that Xlib provides conversion functions between UTF-8 and
compound text, which are just about ideal for us. So now we can
paste multilingual stuff both to and from emacs21. Rock on.

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

21 years agoAllow pterm to receive selections in compound text format. Doesn't
simon [Tue, 13 May 2003 18:43:30 +0000 (18:43 +0000)]
Allow pterm to receive selections in compound text format. Doesn't
actually _understand_ compound text yet - anything with
non-ASCII-or-8859-1 characters will fail miserably - but it will at
least successfully receive plain text if the pasting application
doesn't see fit to give it out in any other format.

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

21 years agoRename crc32() to crc32_compute(), to avoid clashing catastrophically
simon [Tue, 13 May 2003 18:23:43 +0000 (18:23 +0000)]
Rename crc32() to crc32_compute(), to avoid clashing catastrophically
with the crc32() function in the zlib interface. (Not that PuTTY
itself _uses_ zlib, but on Unix it's linked against libgtk which
uses libpng which uses zlib. And zlib has poor namespace management
so it defines this ridiculously intrusive function name. Arrrrgh.)

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

21 years agoDebian bug #193013 points out that the (default-)one-pixel border is
simon [Tue, 13 May 2003 18:14:14 +0000 (18:14 +0000)]
Debian bug #193013 points out that the (default-)one-pixel border is
not redrawn when the window background colour is reconfigured mid-
session. In addition, the Official Window Background is not reset,
meaning that opaque resizes etc will flicker in the old background
colour. This checkin should fix both.

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

21 years agoPatch from Rene Post: ctrl_{drag,drop}list both now initialise the
simon [Mon, 12 May 2003 13:41:41 +0000 (13:41 +0000)]
Patch from Rene Post: ctrl_{drag,drop}list both now initialise the
same set of structure fields that the ordinary ctrl_listbox does.

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

21 years agoBrief man pages for PuTTY and PuTTYtel.
simon [Sun, 11 May 2003 14:32:43 +0000 (14:32 +0000)]
Brief man pages for PuTTY and PuTTYtel.

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

21 years agoMissing full stop.
simon [Sun, 11 May 2003 14:19:57 +0000 (14:19 +0000)]
Missing full stop.

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

21 years agoSome time ago I arranged for -geometry to be able to specify window
simon [Sun, 11 May 2003 14:19:17 +0000 (14:19 +0000)]
Some time ago I arranged for -geometry to be able to specify window
position as well as size. Now reflected in manpage.

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

21 years agoI think I've just fixed Debian bug #166396. The +ut option was
simon [Sun, 11 May 2003 12:28:53 +0000 (12:28 +0000)]
I think I've just fixed Debian bug #166396. The +ut option was
causing pty_utmp_helper_pipe to be closed, but its fd was kept
around even when stale, and closed again when the main child process
terminated - by which time the fd number had been reused for a
rather more vital fd, which GTK didn't appreciate having closed
under its feet. Hence, spin on POLLNVAL. Should now be sorted.

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

21 years agoFinally, column spanning.
ben [Sat, 10 May 2003 20:51:39 +0000 (20:51 +0000)]
Finally, column spanning.

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

21 years agoChange the way that panel-switching works so that we only hide the panel
ben [Sat, 10 May 2003 20:23:23 +0000 (20:23 +0000)]
Change the way that panel-switching works so that we only hide the panel
we're switching from and show the panel we're switching to, rather than
iterating over all the panels, hiding and showing them as appropriate.
This has that consequence that all controls have to be created invisible,
since they no longer get hidden after creation.  As usual, the scroll
bars on list boxes have a special hack of their own.

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

21 years agoMake ssh_agent_callback() and ssh_agentf_callback() static.
ben [Sat, 10 May 2003 12:54:29 +0000 (12:54 +0000)]
Make ssh_agent_callback() and ssh_agentf_callback() static.

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

21 years agoI believe that verify_ssh_host_key() should now be passed a real front-end
ben [Sat, 10 May 2003 12:27:38 +0000 (12:27 +0000)]
I believe that verify_ssh_host_key() should now be passed a real front-end
handle, which removes one of its many flaws.

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

21 years agoExtra const for loop_init() and null_init().
ben [Sat, 10 May 2003 11:57:55 +0000 (11:57 +0000)]
Extra const for loop_init() and null_init().

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

21 years agoEliminate a "possible unintended assignment" warning.
ben [Sat, 10 May 2003 11:50:18 +0000 (11:50 +0000)]
Eliminate a "possible unintended assignment" warning.

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

21 years agoUpdate signature of agent_query() to match the rest of the world.
ben [Sat, 10 May 2003 11:40:18 +0000 (11:40 +0000)]
Update signature of agent_query() to match the rest of the world.

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

21 years agoComment a few things I need to fix.
ben [Sat, 10 May 2003 11:26:33 +0000 (11:26 +0000)]
Comment a few things I need to fix.

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

21 years agoRemove the now incorrect `Unicode is not supported' from the bugs in
simon [Sat, 10 May 2003 10:15:36 +0000 (10:15 +0000)]
Remove the now incorrect `Unicode is not supported' from the bugs in
the pterm man page :-)

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

21 years agopterm will now attempt to guess suitable names for any missing fonts
simon [Sat, 10 May 2003 10:15:00 +0000 (10:15 +0000)]
pterm will now attempt to guess suitable names for any missing fonts
from the ones given; so it'll ask for a font twice as wide as your
base one if you don't specify a wide font, it'll ask for a bolded
version of your base font if you don't specify a bold font, and
similarly for a wide/bold font. Should solve Debian bug #187389; at
least it works for me.

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

21 years agopterm's manpage now documents the NoRemoteQTitle resource. Should
simon [Sat, 10 May 2003 09:06:00 +0000 (09:06 +0000)]
pterm's manpage now documents the NoRemoteQTitle resource. Should
fix the other half of Debian bug #191751.

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

21 years agoStupid braino in get_window_title (thanks Colin): window and icon
simon [Sat, 10 May 2003 09:05:41 +0000 (09:05 +0000)]
Stupid braino in get_window_title (thanks Colin): window and icon
titles were being reported the wrong way round. Should fix half of
Debian bug #191751.

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

21 years agoShould fix Debian bug #192674: another gcc complaint about
simon [Sat, 10 May 2003 08:37:54 +0000 (08:37 +0000)]
Should fix Debian bug #192674: another gcc complaint about
potentially uninitialised variable.

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

21 years agoFixes for Debian bug #192701 (64-bit gccs warn about casts between
simon [Sat, 10 May 2003 08:35:54 +0000 (08:35 +0000)]
Fixes for Debian bug #192701 (64-bit gccs warn about casts between
ptrs and ints of different size and -Werror makes this serious).
The GTK bits are done by Colin's patch to use GINT_TO_POINTER
(thanks); the uxnet bits are done by cleaning up the rest of the
code. In particular, network.h now typedefs `OSSocket' to be a type
capable of holding whatever the OS's socket data type is that
underlies our socket abstraction. Individual platforms can make this
typedef themselves if they define OSSOCKET_DEFINED to prevent
network.h redoing it; so the Unix OSSocket is now int. Default is
still void *, so other platforms should be unaffected.

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

21 years agoFix a typo in my backwards-compatibility wart. Oops.
simon [Thu, 8 May 2003 09:07:37 +0000 (09:07 +0000)]
Fix a typo in my backwards-compatibility wart. Oops.

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

21 years agoBah. Stop the Proxy panel appearing empty in Change Settings. One
simon [Wed, 7 May 2003 13:14:48 +0000 (13:14 +0000)]
Bah. Stop the Proxy panel appearing empty in Change Settings. One
day I'll make a reasonably big checkin and _not_ have six tiny mop-
up issues after it...

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

21 years agoYesterday's proxy enhancements also slightly nadgered the config
simon [Wed, 7 May 2003 12:07:23 +0000 (12:07 +0000)]
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.

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

21 years agoAhem. Well, the complicated Unix implementation of
simon [Wed, 7 May 2003 08:49:57 +0000 (08:49 +0000)]
Ahem. Well, the complicated Unix implementation of
platform_new_connection() worked fine, but the really simple stub
version for the other ports fell over horribly because I got its
name wrong. NEVER ASSUME YOU'VE DONE THE EASY BIT RIGHT.

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

21 years agoReinstate `-T title', in pterm only.
simon [Tue, 6 May 2003 19:55:00 +0000 (19:55 +0000)]
Reinstate `-T title', in pterm only.

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

21 years agoSupport, on Unix only (so far), for OpenSSH-style generic proxying
simon [Tue, 6 May 2003 19:52:31 +0000 (19:52 +0000)]
Support, on Unix only (so far), for OpenSSH-style generic proxying
(running a local command in a pair of pipes and proxying through
that, for example `ssh proxyhost nc -q0 %host %port').

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

21 years agoUpdate to use -title rather than -T
owen [Tue, 6 May 2003 08:43:11 +0000 (08:43 +0000)]
Update to use -title rather than -T

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

21 years agoColin's const-fixing Patch Of Death. Seems to build fine on Windows
simon [Sun, 4 May 2003 14:18:18 +0000 (14:18 +0000)]
Colin's const-fixing Patch Of Death. Seems to build fine on Windows
as well as Unix, so it can go in.

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

21 years agoColin's and my fixes to connection_fatal().
simon [Sun, 4 May 2003 14:14:10 +0000 (14:14 +0000)]
Colin's and my fixes to connection_fatal().

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

21 years agoAsynchronous agent requests on Windows. Actually, I've kept the
simon [Mon, 28 Apr 2003 13:59:32 +0000 (13:59 +0000)]
Asynchronous agent requests on Windows. Actually, I've kept the
ability to do synchronous ones as well, because PSCP and PSFTP don't
really need async ones and it would have been a serious pain to
implement them. Also, Pageant itself when run as a client of its
primary instance doesn't benefit noticeably from async agent
requests.

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

21 years agoFirst half of `pageant-async' work. agent_query() is now passed a
simon [Mon, 28 Apr 2003 11:41:39 +0000 (11:41 +0000)]
First half of `pageant-async' work. agent_query() is now passed a
callback function; it may return 0 to indicate that it doesn't have
an answer _yet_, in which case it will call the callback later on
when it does, or it may return 1 to indicate that it's got an answer
right now. The Windows agent_query() implementation is functionally
unchanged and still synchronous, but the Unix one is async (since
that one was really easy to do via uxsel). ssh.c copes cheerfully
with either return value, so other ports are at liberty to be sync
or async as they choose.

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

21 years agoAdd puttytel binary to .cvsignore
simon [Sun, 27 Apr 2003 11:11:35 +0000 (11:11 +0000)]
Add puttytel binary to .cvsignore

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

21 years agoSupport for non-ISO-8859-1 X keysyms. So in particular, pterm in a
simon [Sun, 27 Apr 2003 11:10:48 +0000 (11:10 +0000)]
Support for non-ISO-8859-1 X keysyms. So in particular, pterm in a
Euro-supporting font with a Euro-enabled X key map will now actually
generate a Euro character rather than shrugging and doing nothing.

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

21 years agoradioline() was broken after the portable-dialog stuff got added, so
simon [Sun, 27 Apr 2003 10:02:21 +0000 (10:02 +0000)]
radioline() was broken after the portable-dialog stuff got added, so
PuTTYgen was lacking its key type selector. Fixed.

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

21 years agoTake the random number generator back out of Pageant: the `random'
simon [Sun, 27 Apr 2003 09:45:35 +0000 (09:45 +0000)]
Take the random number generator back out of Pageant: the `random'
numbers needed for RSA blinding are now done deterministically by
hashes of the private key, much the same way we do it for DSA.

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

21 years agoRemove the TODO comment at the top of uxputty.c; I'm now not aware
simon [Sat, 26 Apr 2003 14:37:49 +0000 (14:37 +0000)]
Remove the TODO comment at the top of uxputty.c; I'm now not aware
of anything that makes the Unix port of PuTTY proper significantly
unfinished. That's quite a milestone :-)

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

21 years agoMight as well provide PuTTYtel for Unix. It's not much effort!
simon [Sat, 26 Apr 2003 14:36:48 +0000 (14:36 +0000)]
Might as well provide PuTTYtel for Unix. It's not much effort!

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

21 years agoFiner granularity of config box handling. SSH packet logging should
simon [Sat, 26 Apr 2003 14:35:34 +0000 (14:35 +0000)]
Finer granularity of config box handling. SSH packet logging should
now not show up when it's meaningless (in PuTTYtel, in pterm, and
in the middle of any non-SSH session), and the Connection panel is
inhibited completely in pterm.

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

21 years agoMake the `vtmode' config option work under X. In the process I've
simon [Sat, 26 Apr 2003 14:22:42 +0000 (14:22 +0000)]
Make the `vtmode' config option work under X. In the process I've
had to move another of its values out into wincfg.c - paradoxically,
this was the `font has X encoding' option! (Because the Unix font
handling code expects to be able to tell for _itself_ whether it has
a font with X-encoded line drawing glyphs.)

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

21 years agoAha, _that's_ why the icon title didn't work properly in pterm:
simon [Sat, 26 Apr 2003 13:55:47 +0000 (13:55 +0000)]
Aha, _that's_ why the icon title didn't work properly in pterm:
gtk_window_set_title() overwrote both titles at once. Icon title is
now working properly under X, and since X was the reason for the
whole icon/window title separation _anyway_ they default to being
separate.

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

21 years agoThe line-drawing paste config option has changed its meaning since
simon [Sat, 26 Apr 2003 13:22:25 +0000 (13:22 +0000)]
The line-drawing paste config option has changed its meaning since
it was first designed. Alter the wording and documentation to match.

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

21 years agoThe new ssh_do_close() function itself causes a segfault if the
simon [Fri, 25 Apr 2003 17:44:09 +0000 (17:44 +0000)]
The new ssh_do_close() function itself causes a segfault if the
connection goes foom before ssh->channels is set up. Oops. Fixed.

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

21 years agoFix another segfault on abrupt X connection shutdown. This should
simon [Fri, 25 Apr 2003 16:42:36 +0000 (16:42 +0000)]
Fix another segfault on abrupt X connection shutdown. This should
have happened in rev 1.5 [r996] but didn't! Now we never call
sk_get_private_ptr() on a socket unless we've ensured it's non-NULL.

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

21 years agoDon't block SIGPIPE until _after_ pterm forks, since otherwise the
simon [Fri, 25 Apr 2003 15:44:01 +0000 (15:44 +0000)]
Don't block SIGPIPE until _after_ pterm forks, since otherwise the
blockage will propagate to the child process.

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

21 years agoRobustness in the face of sudden connection closures: we now make a
simon [Fri, 25 Apr 2003 11:48:24 +0000 (11:48 +0000)]
Robustness in the face of sudden connection closures: we now make a
credible effort to shut down open forwardings cleanly when the
owning SSH connection terminates abruptly (for whatever reason).

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

21 years agoForce gcc to use x86's built-in 64/32->32,32 division instruction
simon [Wed, 23 Apr 2003 15:25:45 +0000 (15:25 +0000)]
Force gcc to use x86's built-in 64/32->32,32 division instruction
rather than swanning off to a helper function. This seems to make
woefully little actual performance difference, which annoys me, but
it's a just-about-detectable improvement so I'll leave it in.

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

21 years agoAdded framework to sshbn.c to make it possible to vary the
simon [Wed, 23 Apr 2003 14:48:57 +0000 (14:48 +0000)]
Added framework to sshbn.c to make it possible to vary the
underlying integer type forming the Bignum. Using this, arranged
that gcc/x86 uses 32-bit chunks rather than the guaranteed ANSI-
portable 16-bit chunks. This has gained another 30% on key exchanges
by my measurements, but I'm not yet convinced that it's all
perfectly robust - it seems to work fine for SSH1 and SSH2/RSA but
I haven't ensured that every bignum routine is actually being
tested, so it may yet show up problems in DSA or key generation.

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

21 years agoUnix makefile now uses -O2, which massively cuts down key exchange
simon [Wed, 23 Apr 2003 13:48:09 +0000 (13:48 +0000)]
Unix makefile now uses -O2, which massively cuts down key exchange
time. This gives rise to a whole bunch of spare warnings, one or two
of which might have been actual bugs; now all resolved.

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

21 years agoMissing bits for colour selection support.
ben [Fri, 18 Apr 2003 13:09:46 +0000 (13:09 +0000)]
Missing bits for colour selection support.

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

21 years agoMissing bits for System 7 listbox support.
ben [Fri, 18 Apr 2003 13:09:08 +0000 (13:09 +0000)]
Missing bits for System 7 listbox support.

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

21 years agoRemoving items from a list box using gtk_container_remove is nasty,
simon [Fri, 18 Apr 2003 09:14:54 +0000 (09:14 +0000)]
Removing items from a list box using gtk_container_remove is nasty,
because when the selected item is removed the selection moves on to
another item. Thus, calling dlg_listbox_clear causes repeated
selchanges in the list, which in turn cause repeated valchanges if
the list is attached to a combo box. This has been completely
scuppering the Translation panel.

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

21 years agoOops; we _do_ need to set dport even when doing dynamic forwarding,
simon [Fri, 18 Apr 2003 09:06:11 +0000 (09:06 +0000)]
Oops; we _do_ need to set dport even when doing dynamic forwarding,
because otherwise the `if (sport && dport)' statement runs the risk
of not working.

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

21 years agoMissed out a couple of uxsel_tell() which were hanging forwarded X
simon [Fri, 18 Apr 2003 09:00:37 +0000 (09:00 +0000)]
Missed out a couple of uxsel_tell() which were hanging forwarded X
connections in at least some situations. Oops.

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

21 years agoFix obvious foulup in X forwarding: my recent `how did this ever
simon [Fri, 18 Apr 2003 09:00:16 +0000 (09:00 +0000)]
Fix obvious foulup in X forwarding: my recent `how did this ever
work' change to port forwarding completely broke it, by failing to
set peeraddr{,len} before reading them. Oops.

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

21 years agoReplace use of FIONBIO with POSIX-approved O_NONBLOCK (set using fcntl()).
ben [Wed, 16 Apr 2003 23:58:59 +0000 (23:58 +0000)]
Replace use of FIONBIO with POSIX-approved O_NONBLOCK (set using fcntl()).
This should save us having to worry about different OSs' defining it in
different headers.

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