jacob [Sun, 13 Nov 2005 16:06:41 +0000 (16:06 +0000)]
r6437 broke the case where Pageant is running but contains no SSH-2 keys
that the SSH-2 server is happy with. Fixed, and since I'm here, fix
`pubkeyfile-and-pageant' as well (for SSH-1 and SSH-2).
Also, in SSH-2, we now reexamine "methods that can continue" for every
Pageant key offer, which is technically more correct although it seems
unlikely that it was causing any real problems.
(It's not entirely pretty, but neither was the old code. We could probably
do with some sort of abstraction for public/private keys to avoid carting
lots of fiddly bits of data around.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6459
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sun, 13 Nov 2005 12:13:09 +0000 (12:13 +0000)]
Oops, used \I where I meant \i. I think this is the only instance.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6454
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 9 Nov 2005 23:19:33 +0000 (23:19 +0000)]
I broke the ability to cope with multiple consecutive k-i INFO_REQUESTS
in r6437. This ought to be better (but I can't test that case).
git-svn-id: svn://svn.tartarus.org/sgt/putty@6451
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 4 Nov 2005 23:31:11 +0000 (23:31 +0000)]
Fix minor hiccup in SSH-1 p-k auth.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6447
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 4 Nov 2005 23:21:42 +0000 (23:21 +0000)]
Placate a compiler warning introduced in r6437.
(I forgot we usually compile with -Werror on Unix, oops.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6446
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 4 Nov 2005 14:49:22 +0000 (14:49 +0000)]
Fix for `ssh2-password-expiry'. Success case tested.
(Much easier since r6437, and actually works to boot.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6445
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 2 Nov 2005 23:15:43 +0000 (23:15 +0000)]
When a userpass interaction has finished, make sure the 'prompts' structure
is safe for re-use.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6444
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 31 Oct 2005 22:43:51 +0000 (22:43 +0000)]
(do_ssh2_authconn_state).method is redundant since r6427; remove.
Remove FIXMEs from .type assignments, as they look fine.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6442
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sun, 30 Oct 2005 20:24:09 +0000 (20:24 +0000)]
Revamp SSH authentication code so that user interaction is more
abstracted out; replace loops structured around a single interaction
per loop with less tortuous code (fixes: `ki-multiprompt-crash',
`ssh1-bad-passphrase-crash'; makes `ssh2-password-expiry' and
`proxy-password-prompt' easier).
The new interaction abstraction has a lot of fields that are unused in
the current code (things like window captions); this is groundwork for
`gui-auth'. However, ssh.c still writes directly to stderr; that may
want to be fixed.
In the GUI apps, user interaction is moved to terminal.c. This should
make it easier to fix things like UTF-8 username entry, although I
haven't attempted to do so. Also, control character filtering can be
tailored to be appropriate for individual front-ends; so far I don't
promise anything other than not having made it any worse.
I've tried to test this fairly exhaustively (although Mac stuff is
untested, as usual). It all seems to basically work, but I bet there
are new bugs. (One I know about is that you can no longer make the
PuTTY window go away with a ^D at the password prompt; this should be
fixed.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6437
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sun, 30 Oct 2005 19:13:43 +0000 (19:13 +0000)]
In Unix PuTTYgen, existing SSH-1 key comments were coming out as "(null)"
for operations not performing decryption (e.g., "puttygen rsa1.ppk -L")
(A use for r6434 -- wasn't expecting that.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6436
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sun, 30 Oct 2005 16:28:45 +0000 (16:28 +0000)]
Fixes to make r6434 actually useful.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6435
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sun, 30 Oct 2005 15:16:42 +0000 (15:16 +0000)]
Allow rsakey_pubblob() to return the key comment.
(like r6433 but for SSH-1)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6434
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sun, 30 Oct 2005 13:42:36 +0000 (13:42 +0000)]
Add ability for ssh2_userkey_loadpub() to return the key comment.
(Not actually used currently, but it makes life easier for a patch I'm
working on.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6433
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 26 Oct 2005 22:18:11 +0000 (22:18 +0000)]
Fix an error I introduced into SSH packet logging in r5642: some outgoing
packets over about 256 bytes would be logged with 12 bytes of preceding
garbage. (But the rest of the packet was logged in its entirety. This
holds for packets where (int(len/256)%2)==1, with an appropriate fudge
factor applied to `len'.) Ahem.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6429
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 26 Oct 2005 20:58:01 +0000 (20:58 +0000)]
Comment explaining back->sendok() semantics from Simon.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6428
cda61777-01e9-0310-a592-
d414129be87e
jacob [Thu, 13 Oct 2005 22:51:44 +0000 (22:51 +0000)]
Tweak to r6392: spell "MAC" thus.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6399
cda61777-01e9-0310-a592-
d414129be87e
ben [Thu, 13 Oct 2005 21:56:43 +0000 (21:56 +0000)]
Fix 256-colours-match-xterm, based on 256colres.pl from xterm-205.
Largely untested -- may not even compile on Windows.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6393
cda61777-01e9-0310-a592-
d414129be87e
ben [Thu, 13 Oct 2005 21:51:38 +0000 (21:51 +0000)]
Make SSH_MSG_DISCONNECT reasons less scary (without removing useful content).
git-svn-id: svn://svn.tartarus.org/sgt/putty@6392
cda61777-01e9-0310-a592-
d414129be87e
simon [Sat, 8 Oct 2005 09:09:50 +0000 (09:09 +0000)]
Failed to call set_erase_char() after processing SCO colour sequences.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6379
cda61777-01e9-0310-a592-
d414129be87e
jacob [Tue, 4 Oct 2005 14:13:28 +0000 (14:13 +0000)]
`win-versioninfo': all builds of all Windows binaries now contain
a VERSIONINFO resource. The versioning scheme is described in
windows/version.rc2.
Some .rc files are now #included in others. In order to keep MSVC
project files working, these have been renamed to .rc2; there may exist
a better solution.
(This checkin also includes the documentation tweak missing from r6367.)
Testing performed:
- MinGW (cross-compiler): works
- VC nmake: works (tested with VC6)
- VC project files: builds with VERSIONINFO resource (no VER variable though)
- Borland: an old version of this patch was tested with it and more or
less worked, except that some of the VERSIONINFO strings were apparently
not terminated properly. Not attempted to work around this.
- LCC: not tested. Some fixes are in there from the last time we tried
this, but then the build ultimately failed and I haven't tried this
since that was fixed.
- Dev-C++: untested. (Haven't done anything special.)
- Unix Gtk/autoconf Makefiles work as before.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6374
cda61777-01e9-0310-a592-
d414129be87e
simon [Mon, 3 Oct 2005 11:38:30 +0000 (11:38 +0000)]
UTF-8 processing was discarding a valid character which interrupted
an otherwise legal sequence, if that valid character was the last
thing in a term_out() run. Spotted by Egmont Koblinger.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6373
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 3 Oct 2005 10:24:06 +0000 (10:24 +0000)]
thinko
git-svn-id: svn://svn.tartarus.org/sgt/putty@6372
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 1 Oct 2005 12:36:46 +0000 (12:36 +0000)]
Split out SVN_REV from SNAPSHOT define. This is to support `win-versioninfo',
but since Simon's made the corresponding change to the build process, this bit
needs checking in now (it should be harmless).
(The documentation in Recipe is slightly out of date; with luck I'll be
checking in `win-versioninfo' changes soon, and I can't be bothered to
disentangle the relevant changes in the meantime.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6367
cda61777-01e9-0310-a592-
d414129be87e
simon [Sat, 1 Oct 2005 11:40:26 +0000 (11:40 +0000)]
A swathe of new FAQ questions, along the general theme of `will you
sign something for us / give us assurances / give us indemnity'.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6365
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 30 Sep 2005 14:54:03 +0000 (14:54 +0000)]
Mention SSH-2 rekeys in the keepalive section.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6363
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 24 Sep 2005 18:33:06 +0000 (18:33 +0000)]
A first stab at guidance for those lost souls who email us asking for
login names and/or passwords. Feel free to hack.
(NB, renumbers a section of the FAQ.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6355
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 24 Sep 2005 16:17:30 +0000 (16:17 +0000)]
Add DEVCPP to svn:ignore.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6344
cda61777-01e9-0310-a592-
d414129be87e
simon [Wed, 21 Sep 2005 17:09:07 +0000 (17:09 +0000)]
dlg_listbox_select() now scrolls the list box to ensure that the
item it's just selected is visible.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6338
cda61777-01e9-0310-a592-
d414129be87e
owen [Wed, 21 Sep 2005 14:53:32 +0000 (14:53 +0000)]
Platform-independent support for zooming around session list by typing
in the session name box. Thwarted on Unix by GTK not automatically
scrolling the listbox to the selected item, but we can fix that in
the platform-specific side later.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6337
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 19 Sep 2005 14:34:01 +0000 (14:34 +0000)]
Mention that sessions can be saved from "Change Settings" in using.but.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6332
cda61777-01e9-0310-a592-
d414129be87e
ben [Wed, 14 Sep 2005 11:00:34 +0000 (11:00 +0000)]
AIX 5.1 has <utmpx.h> but no updwtmpx(). Treat the latter as a reason to
OMIT_UTMP. Reported by Mike Protts.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6311
cda61777-01e9-0310-a592-
d414129be87e
ben [Wed, 14 Sep 2005 10:53:39 +0000 (10:53 +0000)]
Some systems (HP-UX) don't yet have <sys/select.h>, putting select() in
<sys/time.h>. Cope with this. Where <sys/select.h> _is_ available, though,
use it (since it's where POSIX puts select()). Problem reported by Mike
Protts.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6310
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 13 Sep 2005 20:17:10 +0000 (20:17 +0000)]
When asked to malloc zero bytes, malloc one byte instead. This ensures
that we get a unique pointer rather than NULL (which ANSI C otherwise permits).
Problem pointed out by Mike Protts.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6308
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 13 Sep 2005 20:08:25 +0000 (20:08 +0000)]
The ANSI-C constant FILENAME_MAX is ludicrously small on some systems.
Use the POSIX PATH_MAX if it exists, and fall back to 1024 otherwise.
We should really allocate filenames dynamically if PATH_MAX isn't defined.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6307
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 13 Sep 2005 19:57:37 +0000 (19:57 +0000)]
Some hosts don't have TIOCSCTTY. Don't try to use it on them.
Patch from Mike Protts.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6306
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 13 Sep 2005 19:54:01 +0000 (19:54 +0000)]
A couple of places in sk_newlistener were using AF_INET6 even with NO_IPV6.
Correct them.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6305
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 13 Sep 2005 19:24:35 +0000 (19:24 +0000)]
Nothing seems to use the "int64" type, and it apparently causes conflicts
on some platform, so remove it. Thanks to Mike Protts for spotting this.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6304
cda61777-01e9-0310-a592-
d414129be87e
jacob [Tue, 13 Sep 2005 14:12:16 +0000 (14:12 +0000)]
Apparently the OS X port is stalled.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6302
cda61777-01e9-0310-a592-
d414129be87e
ben [Mon, 12 Sep 2005 15:45:29 +0000 (15:45 +0000)]
When the first element in a preference list was unrecognised, PuTTY would
hang when reading it because strtok() kept getting the full list passed in.
Fix this, and add an assert() for an assumption documented in a comment while
I'm in the area.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6294
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 10 Sep 2005 17:36:52 +0000 (17:36 +0000)]
Mention relationship between terminal types, keyboard sequences, and
termcap/terminfo. Suggested by Joachim Durchholz.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6285
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 10 Sep 2005 16:19:53 +0000 (16:19 +0000)]
Implement hmac-sha1-96. It's RECOMMENDED in the current transport draft,
and we don't have any strong reason not to implement it, for all that it's
rather pointless.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6284
cda61777-01e9-0310-a592-
d414129be87e
ben [Sun, 4 Sep 2005 14:53:39 +0000 (14:53 +0000)]
Add support for diffie-hellman-group-exchange-sha256. Tested against a
patched OpenSSH server. This is controlled by the same user settings
as diffie-hellman-group-exchange-sha1, which may not be optimal, especially
given that they're both referred to as dh-gex-sha1 in saved sessions.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6272
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 3 Sep 2005 17:29:28 +0000 (17:29 +0000)]
Mention xp-wont-run.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6264
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 3 Sep 2005 17:03:49 +0000 (17:03 +0000)]
Now that my arcfour-fixes draft has been approved by the IESG, use the
IANA-assigned names for its modes.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6263
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 3 Sep 2005 13:41:43 +0000 (13:41 +0000)]
Restructure things so that a single entry in the KEX preference list can
correspond to multiple SSH-2 KEX algorithms. We already do the equivalent
for cipher algorithms.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6262
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 2 Sep 2005 10:51:09 +0000 (10:51 +0000)]
Check ssh->v2_session_id_len _after_ assigning to it.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6260
cda61777-01e9-0310-a592-
d414129be87e
ben [Wed, 31 Aug 2005 22:32:05 +0000 (22:32 +0000)]
Don't bother compiling SHA-256 for now -- I need to think a bit before I use
it.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6253
cda61777-01e9-0310-a592-
d414129be87e
ben [Wed, 31 Aug 2005 21:48:22 +0000 (21:48 +0000)]
SHA-256 implementation, for use in future KEX algorithms, in particular
diffie-hellman-group-exchange-sha256, which the last DHGEX draft defined.
Code lifted from Simon's "crypto" directory, with changes to make it look
more like sshsh512.c.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6252
cda61777-01e9-0310-a592-
d414129be87e
ben [Wed, 31 Aug 2005 20:43:06 +0000 (20:43 +0000)]
Add infrastructure for supporting multiple hashes in key exchange.
Nothing very surprising here.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6251
cda61777-01e9-0310-a592-
d414129be87e
ben [Wed, 31 Aug 2005 19:11:19 +0000 (19:11 +0000)]
Rename ssh_md5 and ssh_sha1 to ssh_hmac_md5 and ssh_hmac_sha1 respectively.
This is to make room for a hash abstraction that's likely to want to use
ssh_sha1, at least.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6249
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 31 Aug 2005 16:14:21 +0000 (16:14 +0000)]
Explicitly note that "remote command" semantics typically involve the server
closing the connection after the command has executed.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6246
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 30 Aug 2005 22:39:35 +0000 (22:39 +0000)]
Further progress in the direction of variable exchange hashes -- stash the
outgoing KEXINIT, and only start generating the exchange hash once we know
which KEX method we're using.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6242
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 30 Aug 2005 20:38:57 +0000 (20:38 +0000)]
Beginnings of support for multiple exchange hashes in SSH-2: rather than
storing a SHA-1 hash of the client and server version strings, store the
strings themselves so we can feed them through the appropriate hash when
we know what it is.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6241
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 29 Aug 2005 00:34:03 +0000 (00:34 +0000)]
More versions of WeOnlyDo have the rekey bug (but they've fixed it now).
git-svn-id: svn://svn.tartarus.org/sgt/putty@6233
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 26 Aug 2005 21:17:49 +0000 (21:17 +0000)]
I think this should fix various problems with queued incoming data not being
processed and incoming data being processed out of order, which I suspect is
the cause of `ssh1-fwd-trouble' as noted by Gevan Dutton. I'm not able to
test the failure case, but it doesn't seem to have obviously broken anything
in the cases I have tested, anyway.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6221
cda61777-01e9-0310-a592-
d414129be87e
ben [Mon, 22 Aug 2005 20:37:13 +0000 (20:37 +0000)]
Add support for generating project files for use with Dev-C++, contributed
by Florian Gaab.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6201
cda61777-01e9-0310-a592-
d414129be87e
ben [Mon, 22 Aug 2005 20:07:46 +0000 (20:07 +0000)]
Florian Gaab reports that freeSSHd 1.0.7, which claims a "softwareversion"
of "WeOnlyDo-1.2.6", mishandles repeat key exchange. Add it to the list.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6200
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 10 Aug 2005 18:31:24 +0000 (18:31 +0000)]
Ben Rudiak-Gould points out that we should be using WM_APP as the base for
our app-private window messages, which is considerably higher than the
WM_XUSER we arbitrarily chose. (This isn't known to be causing any actual
problems. The fix seems not to have obviously broken anything.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6183
cda61777-01e9-0310-a592-
d414129be87e
ben [Sun, 24 Jul 2005 13:46:14 +0000 (13:46 +0000)]
draft-ietf-secsh-transport-24 says that only "SSH-" at the start of a line
marks a version string. It's a bit vague about the definition of a line,
but I think it's reasonable to assume that they'll end with LF. Change
do_ssh_init() to ignore "SSH-" anywhere else. This makes the existing state
machine overkill, so replace it with something a little more readable.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6138
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sun, 17 Jul 2005 13:37:58 +0000 (13:37 +0000)]
This is getting silly; nearly 25% of our mirrors are now in the US.
Discourage more strongly mirrors in well-served areas in the Feedback section.
Also, duplicate that text on the Mirrors page, along with a request to tell us
the country (since lots of people still don't).
git-svn-id: svn://svn.tartarus.org/sgt/putty@6109
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 15 Jul 2005 11:47:28 +0000 (11:47 +0000)]
Patch from Colin Watson: we were sometimes passing stack storage to putenv(),
which is Bad (in his case, it caused TERM to end up unset). Use malloc()'d
storage instead.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6095
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 6 Jul 2005 18:26:41 +0000 (18:26 +0000)]
Missing argument in MALLOC_LOG version of snrealloc() macro.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6075
cda61777-01e9-0310-a592-
d414129be87e
ben [Tue, 5 Jul 2005 21:15:23 +0000 (21:15 +0000)]
Piers Finlayson reports that "DigiSSH_2.0" chokes (in a new and exciting
manner) on rekeys. Add it to the list.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6067
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 29 Jun 2005 18:20:17 +0000 (18:20 +0000)]
Try to make it slightly clearer that TIS/CryptoCard are generic, since
SSH:TDGv2 seems to think that TIS is only relevant to its original
application (whose name eludes me at the moment).
git-svn-id: svn://svn.tartarus.org/sgt/putty@6038
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 25 Jun 2005 21:43:09 +0000 (21:43 +0000)]
In local-to-remote copies, abort if fxp_init() fails, rather than ploughing
on and trying to transfer files, which caused a null-pointer deference.
Thanks to Fernando Najera for reporting the bug.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6021
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 25 Jun 2005 19:22:13 +0000 (19:22 +0000)]
Quote session name in command line example for robustness.
git-svn-id: svn://svn.tartarus.org/sgt/putty@6020
cda61777-01e9-0310-a592-
d414129be87e
ben [Wed, 22 Jun 2005 10:00:09 +0000 (10:00 +0000)]
Improve IPA representation of "PuTTY", as suggested by John Lunney. My
rationale (as mailed to him):
I think you're right. I got the pronunciation there from the second edition
of the OED and my Collins dictionary at home, both of which believe that
"pretty" is pronounced /'prItI/, but, at least to me, those two vowels are
different. Both of them think that /i/ doesn't occur in English words, the
vowel in "beat" being /i:/. The third edition of the OED, though, adds /i/
as an English vowel in its pronunciation guide, with "happy" as an example
of its use. I'll update the FAQ following your suggestion.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5989
cda61777-01e9-0310-a592-
d414129be87e
jacob [Tue, 21 Jun 2005 20:13:48 +0000 (20:13 +0000)]
Fix an apparently-harmless error spotted by Ben Rudiak-Gould:
do_ssh2_transport() was returning the wrong value for rekeys after the first.
This apparent error was introduced in r4901, but we can't see any reason for
the change to have been made. If it turns out to be a mistake to revert it,
I'm sure we'll find out.
Here for posterity is Simon's analysis:
| A lot of the return values from do_ssh2_transport appear to be vestigial: it
| used to be that a zero return from do_ssh2_transport meant it had handled the
| packet internally, and a 1 return meant the packet wasn't a transport-layer
| one and needed to pass on to do_ssh2_authconn. Since r4901, however, the
| layer discrimination is done based on the message type ranges, and the only
| remaining dependency on the return value from do_ssh2_transport is a special
| case in ssh2_protocol which detects the first 1 return and makes the
| initialisation call to do_ssh2_authconn.
|
| Therefore, the gratuitous 1 return on every key exchange as a result of the
| confusing if statement is simply ignored in ssh2_protocol (because
| ssh->protocol_initial_phase_done is already TRUE). So the remaining question
| was, why does the _lack_ of that 1 return not cause a problem, if the if's
| sense is indeed reversed?
|
| The answer is that 1 is still returned, just not by the crReturn inside the
| if statement. It's returned by the next crReturn, just after
| wait_for_rekey(). Which suggests that in fact, the if statement has the
| correct sense, but the crReturn inside it has the wrong value - it should be
| returning _zero_, to indicate that every NEWKEYS after the first one is
| uninteresting to the authconn code, and on the very first run through that
| doesn't happen and the NEWKEYS gets all the way to the crReturn(1) later on.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5986
cda61777-01e9-0310-a592-
d414129be87e
ben [Mon, 20 Jun 2005 13:56:30 +0000 (13:56 +0000)]
Make the sanity-checks on the size of incoming packets much stricter. We now
enforce the following:
* Packet must have at least one byte of payload and four bytes of padding.
* Total packet length must not exceed 35000 bytes compressed.
* Total packet length including length field must be a multiple of cipher
block size (or eight bytes).
The feebleness of our old checks was noticed by Ben Rudiak-Gould.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5981
cda61777-01e9-0310-a592-
d414129be87e
ben [Sun, 19 Jun 2005 14:17:24 +0000 (14:17 +0000)]
A major purpose of PuTTY's memory-allocation functions is to succeed or die
trying, so there's no need to check their return values for NULL. Spotted
by Ben Rudiak-Gould.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5978
cda61777-01e9-0310-a592-
d414129be87e
ben [Sun, 19 Jun 2005 13:57:50 +0000 (13:57 +0000)]
Move comment about ECHO and LINE input modes to a more sensible position.
Spotted by Ben Rudiak-Gould.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5976
cda61777-01e9-0310-a592-
d414129be87e
jacob [Tue, 14 Jun 2005 23:20:42 +0000 (23:20 +0000)]
Detection of "auth-agent@openssh.com" was too liberal. Spotted by
Ben Rudiak-Gould.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5962
cda61777-01e9-0310-a592-
d414129be87e
jacob [Tue, 14 Jun 2005 14:48:17 +0000 (14:48 +0000)]
We should wait until the Rlogin server indicates that it's happy to receive
window-size notifications before we send them.
This clears up a problem where the first password entry always failed.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5960
cda61777-01e9-0310-a592-
d414129be87e
jacob [Thu, 9 Jun 2005 10:05:29 +0000 (10:05 +0000)]
"SanskritFritz" points out that digits at the start of RTF pastes were being
eaten by the trailing "\f0" on the RTF preamble. The RTF spec (1.0 and 1.6)
suggests that adding a space should defuse this situation and be otherwise
harmless, and it works for me (Win98).
git-svn-id: svn://svn.tartarus.org/sgt/putty@5931
cda61777-01e9-0310-a592-
d414129be87e
jacob [Wed, 8 Jun 2005 15:14:47 +0000 (15:14 +0000)]
Double-free on mkdir error, spotted by Brian Hartsock.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5929
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 28 May 2005 13:46:04 +0000 (13:46 +0000)]
Remove a couple of mistaken references to Telnet in comments.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5853
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 23 May 2005 12:41:21 +0000 (12:41 +0000)]
Miscellaneous updates:
- note Visual Foo version requirements
- note which things are done for you in our source snapshots
- other tweaks
git-svn-id: svn://svn.tartarus.org/sgt/putty@5839
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 21 May 2005 16:49:27 +0000 (16:49 +0000)]
Factor out all local SSH disconnections into a new function ssh_disconnect(),
and add the ability to treat a local disconnection as "unclean" -- notably, if
we can't agree any authentication methods to even try; someone was complaining
that the PuTTY window by default just disappears for no apparent reason in this
circumstance.
Also, use appropriate disconnect codes for those SSH2_MSG_DISCONNECT messages
that we do send.
I don't think I've seriously broken any user-visible behaviour, but the way
that connection-close distinctions are transmitted to the front-end is shaky
(or so it seems to me), so there may be non-ideal changes on some platforms.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5824
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 21 May 2005 15:09:36 +0000 (15:09 +0000)]
Fix documentation of NO_MANIFESTS (oops).
git-svn-id: svn://svn.tartarus.org/sgt/putty@5821
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 21 May 2005 14:35:21 +0000 (14:35 +0000)]
Add NO_MANIFESTS option to Windows build, as the manifests apparently cause
trouble for 64-bit Windows builds.
Also flag the build flags that only apply to Windows.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5820
cda61777-01e9-0310-a592-
d414129be87e
jacob [Sat, 21 May 2005 14:16:43 +0000 (14:16 +0000)]
Use {Get,Set}WindowLongPtr() instead of {Get,Set}WindowLong() for compatibility
with 64-bit Windows. Untested on 64-bit, but it doesn't appear to have broken
anything on 32-bit.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5819
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 20 May 2005 21:52:07 +0000 (21:52 +0000)]
Minor memory leak spotted by Mikhail Kruk.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5815
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 16 May 2005 14:41:08 +0000 (14:41 +0000)]
connection_fatal() should be called after ssh_closing() and other accesses to
`ssh', since it potentially frees it and potentially doesn't return.
Only affected a couple of rare circumstances.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5787
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 16 May 2005 08:31:05 +0000 (08:31 +0000)]
Don't try and set up reconfigured port-forwardings if the connection isn't yet
ready for them. Spotted by Martin Dushkov.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5786
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 14 May 2005 22:01:10 +0000 (22:01 +0000)]
Add experimental support for detecting BREAK on input and propagating it as
TS_BRK on output. This is tested to the extent that other data survive the
escaping performed by PARMRK, at least on my system. Actual passing on
of BREAK is as-yet untested.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5779
cda61777-01e9-0310-a592-
d414129be87e
jacob [Thu, 12 May 2005 15:09:35 +0000 (15:09 +0000)]
Use the packet dispatch table to handle USERAUTH_BANNER messages, which should
hopefully solve `drop-banner'. I haven't been able to test the failure case,
but the behaviour with OpenSSH appears no worse.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5772
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 9 May 2005 21:01:11 +0000 (21:01 +0000)]
s/public/private/ spotted by Walter Cleverly.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5765
cda61777-01e9-0310-a592-
d414129be87e
jacob [Mon, 9 May 2005 13:27:51 +0000 (13:27 +0000)]
Make Makefile.gtk build again on Linux (assume <utmpx.h>).
git-svn-id: svn://svn.tartarus.org/sgt/putty@5764
cda61777-01e9-0310-a592-
d414129be87e
simon [Sun, 8 May 2005 11:47:59 +0000 (11:47 +0000)]
Fix what looks like a cut-and-paste error which was stopping Unix
Plink building on MacOS X.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5762
cda61777-01e9-0310-a592-
d414129be87e
jacob [Fri, 6 May 2005 10:19:34 +0000 (10:19 +0000)]
Add `install-sh' to svn:ignore
git-svn-id: svn://svn.tartarus.org/sgt/putty@5752
cda61777-01e9-0310-a592-
d414129be87e
jacob [Thu, 5 May 2005 22:47:30 +0000 (22:47 +0000)]
Correct apparent misspelling of `SIOCATMARK'.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5749
cda61777-01e9-0310-a592-
d414129be87e
jacob [Thu, 5 May 2005 22:37:54 +0000 (22:37 +0000)]
Implement `bypass-ssh2-userauth', since from correspondence it sounds like
there are servers which could in principle operate in this mode, although I
don't know if any do in practice. (Hence, I haven't been able to test it.)
git-svn-id: svn://svn.tartarus.org/sgt/putty@5748
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 30 Apr 2005 17:08:48 +0000 (17:08 +0000)]
Also blank X authentication data when using SSH-1, and add a comment explaining
why this may not be sufficient to hide it.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5720
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 30 Apr 2005 16:13:11 +0000 (16:13 +0000)]
X11 authentication data are generally sensitive, so blank them from packet
logs by default.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5719
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 30 Apr 2005 14:30:07 +0000 (14:30 +0000)]
Unlike the AES and Blowfish code, our implementations of the various DES
modes of operation all took separate source and destination pointers. They
were never called with those pointers different, though, so reduce them to
a single pointer like everything else uses.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5716
cda61777-01e9-0310-a592-
d414129be87e
ben [Sat, 30 Apr 2005 14:26:46 +0000 (14:26 +0000)]
Fix stupid typo that probably utterly broke SSH-1 support, and caused compiles
with GCC to fail. Not sure how it survived long enough to test, really.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5715
cda61777-01e9-0310-a592-
d414129be87e
ben [Thu, 28 Apr 2005 09:03:16 +0000 (09:03 +0000)]
Minimally document 3des-ctr and blowfish-ctr.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5703
cda61777-01e9-0310-a592-
d414129be87e
ben [Thu, 28 Apr 2005 09:00:50 +0000 (09:00 +0000)]
Remove comment explaining why 3des-ctr is disabled, since it isn't.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5702
cda61777-01e9-0310-a592-
d414129be87e
ben [Thu, 28 Apr 2005 08:56:03 +0000 (08:56 +0000)]
Enable blowfish-ctr by default. It's been tested and found working.
Thanks to der Mouse for help with the testing.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5701
cda61777-01e9-0310-a592-
d414129be87e
ben [Thu, 28 Apr 2005 08:24:46 +0000 (08:24 +0000)]
In blowfish-ctr mode, increment the counter in the correct order. Thanks to
der Mouse for spotting the same error in my 3des-ctr implementation.
git-svn-id: svn://svn.tartarus.org/sgt/putty@5700
cda61777-01e9-0310-a592-
d414129be87e