Simon Tatham [Mon, 2 Sep 2002 13:47:50 +0000 (13:47 +0000)]
After trying a succession of tests on Jacob's machine, I think I've
finally isolated the _important_ difference between Romano Trampus's
working printing.c and my failing one: he ignores the error return
from the first exploratory how-big-does-my-buffer-need-to-be call to
EnumPrinters(), because not having enough buffer space counts as an
error condition. Hence I am officially a klutz, but this should now
work. (Also reverted ENUM_LEVEL to 1, again, because that seems to
be the choice of people whose code works.)
Jacob Nevins [Mon, 2 Sep 2002 13:04:46 +0000 (13:04 +0000)]
Mention PocketPC in the WinCE question. I'm not sure how similar WinCE and
PocketPC are, though -- perhaps it merits its own question. (Although I don't
know of anyone who's looked into it yet.)
Simon Tatham [Sun, 1 Sep 2002 13:12:51 +0000 (13:12 +0000)]
I'm rapidly running out of patience for trying all possible
combinations of options to EnumPrinters() to see which one works,
but here's another one tried at random for now. *sigh*
Simon Tatham [Sun, 18 Aug 2002 09:27:15 +0000 (09:27 +0000)]
Add BUG_SSH2_DERIVEKEY, present (according to OpenSSH) in ssh.com
versions 2.0.*, and causing the shared secret not to be included in
key derivation hashes. (This doesn't quite cause a blatant security
hole because the session ID - _derived_ from the shared secret - is
still included.)
Simon Tatham [Sun, 18 Aug 2002 09:10:17 +0000 (09:10 +0000)]
In SSH2, if decrypting the packet length gave us a negative value,
subsequent packet-receiver code would fail to notice anything was
wrong and segfault. Since this is clearly a silly packet length
anyway, we now explicitly reject it as a daft encryption error.
Simon Tatham [Mon, 12 Aug 2002 14:08:55 +0000 (14:08 +0000)]
Alter the Feedback page, so that instead of saying `at some point we
plan to start blocking executable attachments' it now says we _do_
block executable attachments. :-)
Simon Tatham [Sun, 11 Aug 2002 13:02:01 +0000 (13:02 +0000)]
Final fixes to keyboard-interactive so it now works with packets
containing more than one prompt instead of less than one, and also
correctly enables echo on prompts that the server requests it for.
In the process I've moved the whole username/password input routine
out into its own function, where it's called independently of which
SSH protocol we're using, so this should even have _saved_ code
size. Rock!
Simon Tatham [Sun, 11 Aug 2002 12:17:25 +0000 (12:17 +0000)]
Anecdotal evidence suggests that a single EnumPrinters() call
specifying both PRINTER_ENUM_LOCAL and PRINTER_ENUM_CONNECTIONS
catches more printers in some circumstances than two EnumPrinters()
calls each specifying just one of them. We'll try it for a bit; if
it goes wrong I might have to put back the two original calls as
well and sort out some means of removing duplicate printers from the
list.
Simon Tatham [Thu, 8 Aug 2002 17:03:58 +0000 (17:03 +0000)]
ssh.com 3.2.0 uses zlib sync flush (start and close an empty
uncompressed block at the end of each compressed packet) which we
were embarrassingly unable to deal with because we assumed every
uncompressed block contained at least one byte. Particularly silly
because I _knew_ about the existence of sync flush when I coded this
module. Arrgh. Still, now fixed.
Simon Tatham [Wed, 7 Aug 2002 19:09:33 +0000 (19:09 +0000)]
Arrgh, we can't have -p for port number because we're already using
it for preserving file attributes in PSCP! Ah well; looks as if
that's one where we'll have to agree to differ with OpenSSH.
Simon Tatham [Tue, 6 Aug 2002 17:57:37 +0000 (17:57 +0000)]
Pageant's command line handling now uses my new split_into_argv()
function, because it's silly to have two (and because the old one
was not the same as the new one, violating the Principle of Least
Surprise).
Simon Tatham [Tue, 6 Aug 2002 17:35:34 +0000 (17:35 +0000)]
Oops. That is to say, only loading and saving of PuTTY private keys
should default to .PPK - loading and saving of public keys and of
foreign key formats still defaults to All Files. Ahem.
Simon Tatham [Sun, 4 Aug 2002 21:18:56 +0000 (21:18 +0000)]
Revamp of command-line handling. Most command line options should
now be processed in cmdline.c, which is called from all utilities
(well, not Pageant or PuTTYgen). This should mean we get to
standardise almost all options across almost all tools. Also one
major change: `-load' is now the preferred option for loading a
saved session in PuTTY proper. `@session' still works but is
deprecated.
Simon Tatham [Sat, 3 Aug 2002 16:22:55 +0000 (16:22 +0000)]
Fix culpable lack of generality in keyboard-interactive
authentication: a k-i request packet can contain any number of auth
prompts (including zero!) and we must ask the user all of them and
send back a packet containing the same number of responses. FreeBSD
systems were sending a zero-prompts packet which was crashing us;
this now appears fixed (we correctly return a zero-responses packet)
but I haven't tested a multiple-prompts packet because I can't
immediately think of a server that generates them.
Simon Tatham [Sat, 15 Jun 2002 16:52:35 +0000 (16:52 +0000)]
One of the recent port forwarding crash reports contained details
which suggested bufchain_prefix() was finding an improperly
initialised bufchain structure. Looking at the code, this may indeed
have been able to happen, since the bufchain in a SOCKDATA_DORMANT
channel was not initialised until CHANNEL_OPEN_CONFIRMATION was
received. This seems utterly daft, so I now call bufchain_init()
when the channel structure is actually created. With any luck the
crash will mystically disappear now (I wasn't able to reproduce it
myself).
Simon Tatham [Sat, 15 Jun 2002 16:31:22 +0000 (16:31 +0000)]
Padding on the end of the encrypted data in OpenSSH key format was
broken: the OpenSSL EVP layer specifies a very particular form of
padding, which I wasn't generating because it hadn't occurred to me
that it might be mandatory. Irritatingly this was causing our
exported OpenSSH keys to load perfectly happily back in through our
OpenSSH import routines, but to be rejected by OpenSSH proper. Sigh.
Simon Tatham [Sat, 8 Jun 2002 09:00:00 +0000 (09:00 +0000)]
Modify the Feedback page / Appendix B to expand the section about
not sending us large attachments, and in particular remove the
emphasis on screen shots in the hope of also decreasing the number
of _other_ large attachments we get.
Simon Tatham [Fri, 31 May 2002 17:39:16 +0000 (17:39 +0000)]
Workaround for the SSH2 RSA padding bug in OpenSSH 2.5 - 3.2
inclusive. Padding is accomplished by rewriting the signature blob
rather than at the point of generation, in order to avoid having to
move part of the workaround into Pageant (and having to corrupt the
agent wire protocol to allow PuTTY to specify whether it wants its
signatures padded!).
Simon Tatham [Sat, 18 May 2002 09:20:41 +0000 (09:20 +0000)]
UI changes for key imports. We now have a separate Load command and
Import command; the former warns you if you load a foreign key,
whereas the latter doesn't. So the user should always be aware, one
way or the other, that a format conversion is taking place.
Simon Tatham [Sat, 11 May 2002 16:45:29 +0000 (16:45 +0000)]
Added a framework for importing foreign key formats, and implemented
importing of OpenSSH SSH2 private key files (both encrypted and
unencrypted). Seems to work fine.
Simon Tatham [Sat, 11 May 2002 12:13:42 +0000 (12:13 +0000)]
Improved error messages if you use the wrong key type: you should
now be told that the key is the wrong type, _and_ what type it is,
rather than being given a blanket `unable to read key file' message.
Simon Tatham [Sat, 27 Apr 2002 16:20:16 +0000 (16:20 +0000)]
Additions to the Feedback page to emphasise that we can't answer all
our mail any more, and to encourage support questions to be sent
elsewhere as a first resort.
Jacob Nevins [Thu, 18 Apr 2002 22:23:12 +0000 (22:23 +0000)]
Added comments to document '-gui' Windows messages, based on putty-bugs post
<E14g2ty-0008WN-00@ixion.tartarus.org> (except for Ryan Finnie's extra
messages).
Simon Tatham [Sun, 31 Mar 2002 16:28:06 +0000 (16:28 +0000)]
The console version of askappend() completely forgot to check
cfg.logxfovr to see whether the user had already specified what
should happen to log files. Fixed.
Simon Tatham [Wed, 27 Mar 2002 21:58:11 +0000 (21:58 +0000)]
Remember to wait for SSH1_MSG_SUCCESS after enabling remote port
forwardings in SSH1. Was causing several MSG_SUCCESS to be queued up
unread, which was wrong-but-benign in most cases but caused a hard
crash with compression enabled (one of those uncompressed
MSG_SUCCESSes was fed to the zlib decompressor with spectacular
results).
Simon Tatham [Wed, 27 Mar 2002 21:09:16 +0000 (21:09 +0000)]
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.
Simon Tatham [Wed, 27 Mar 2002 20:30:57 +0000 (20:30 +0000)]
Dominique Faure's patch (slightly modified) to implement the PuTTY
saved-sessions menu in Pageant. Disabled if it can't find the PuTTY
binary on startup (just like the help features are disabled if it
can't find the help file).
Simon Tatham [Sat, 23 Mar 2002 18:04:27 +0000 (18:04 +0000)]
Attempt to ensure that everything passed to connection_fatal() is
also logged to the Event Log, so that it's easy to cut-and-paste the
error message afterwards.
Simon Tatham [Sat, 23 Mar 2002 17:47:21 +0000 (17:47 +0000)]
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.
Simon Tatham [Sat, 16 Mar 2002 15:49:28 +0000 (15:49 +0000)]
Completely revamped mkfiles.pl which incorporates dependency
analysis (for both .c and .rc files). Generates the VC++ makefile as
well as the other two; the authoritative source is now the new file
`Recipe' rather than any particular Makefile. Note that `Makefile'
is still here as a relic of the old way until we stop the nightly
builds using it, but it'll be gone soon.
Simon Tatham [Wed, 13 Mar 2002 19:55:01 +0000 (19:55 +0000)]
Rev 1.189 [r1517] of this file introduced a bug. While it is correct
to avoid calling term_out() during a drag-select, it's false to
assume that all drags are selects - some are xterm mouse-reported
drags, and term_out absolutely _should_ be called in those so that
the application can show the dragged object moving. Should now be
fixed.
Jacob Nevins [Sun, 10 Mar 2002 22:00:06 +0000 (22:00 +0000)]
Slightly less grotty script to convert OpenSSH known_hosts and known_hosts2
host key files to .REG files for Windows.
(renamed from 'hosts2reg' because of 8.3 considerations)
Simon Tatham [Wed, 6 Mar 2002 20:13:22 +0000 (20:13 +0000)]
Ensure our network layer is properly cleaned up before PuTTY exits.
Specifically, we explicitly closesocket() all open sockets, which
appears to be necessary since otherwise Windows sends RST rather
than FIN. I'm _sure_ that's a Windows bug, but there we go.