1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 18:07:59 +00:00
Commit Graph

273 Commits

Author SHA1 Message Date
Simon Tatham
a9bd716df8 Cleanups from yesterday's destabilisation: lots of stuff in
terminal.c was apparently relying on implicit initialisation to
zero, and also I've removed the backends' dependency on terminal.h
by having terminal sizes explicitly passed in to back->size().

[originally from svn r2117]
2002-10-23 12:41:35 +00:00
Simon Tatham
0a80c983e2 Major destabilisation, phase 1. In this phase I've moved (I think)
all the global and function-static variables out of terminal.c into
a dynamically allocated data structure. Note that this does not yet
confer the ability to run more than one of them in the same process,
because other things (the line discipline, the back end) are still
global, and also in particular the address of the dynamically
allocated terminal-data structure is held in a global variable
`term'. But what I've got here represents a reasonable stopping
point at which to check things in. In _theory_ this should all still
work happily, on both Unix and Windows. In practice, who knows?

[originally from svn r2115]
2002-10-22 16:11:33 +00:00
Simon Tatham
ace232f5fa Remove last vestiges of `buggymac' in the Config structure. Might
have been cause of a Plink bug since it no longer got initialised.

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

[originally from svn r1982]
2002-09-26 18:37:33 +00:00
Simon Tatham
30e159d112 Be proactively pedantic about channel-close irregularities: we no
longer just sit there like a lemon if we can't find the channel in
question, we bomb out and complain. With any luck, remaining
problems of this type should be easier to catch under this policy.

[originally from svn r1962]
2002-09-15 13:31:11 +00:00
Simon Tatham
9b69e1b8aa Improvements to SSH1 channel close handling: track sending and
receiving of CLOSE and CLOSE_CONFIRMATION separately rather than
taking short cuts. I believe ssh-1.2.33 sending CLOSE_CONFIRMATION
before CLOSE was causing the remaining incidences of bug
`nonexistent-channel'. (ssh-1.2.33 appears to have unilaterally
decreed that CLOSE and CLOSE_CONFIRMATION are respectively renamed
INPUT_EOF and OUTPUT_CLOSING, hence there is no longer an ordering
constraint on them. Bah.)

[originally from svn r1961]
2002-09-15 13:24:00 +00:00
Jacob Nevins
9f9739602b Semi-bug "long-usernames":
Bump username storage from 32 to 100 chars. Also replaced a couple of magic
numbers with sizeof in ssh.c.
I don't believe this is going to startle any of the protocols PuTTY talks.

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

[originally from svn r1936]
2002-09-08 13:28:38 +00:00
Simon Tatham
b15be34edf Increase length limit on SSH1_MSG_DEBUG; 70 chars is short enough to
lose vital information in some existing servers' messages.

[originally from svn r1932]
2002-09-07 12:27:13 +00:00
Simon Tatham
c24016e0da 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.)

[originally from svn r1853]
2002-08-18 09:27:15 +00:00
Simon Tatham
67cb02d03d 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.

[originally from svn r1852]
2002-08-18 09:10:17 +00:00
Simon Tatham
4b64ea9db9 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!

[originally from svn r1830]
2002-08-11 13:02:01 +00:00
Simon Tatham
5ac941933a Oops. Didn't quite get the new SSH protocol selection code right. *blush*
[originally from svn r1818]
2002-08-07 17:57:06 +00:00
Simon Tatham
6e00685af0 Add an option to force SSH1 protocol only. Partly for symmetry;
mostly because I'm about to want it for the -1 command line option.

[originally from svn r1816]
2002-08-07 17:48:26 +00:00
Simon Tatham
118fc8c81e 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.

[originally from svn r1799]
2002-08-04 21:18:56 +00:00
Simon Tatham
949cecd569 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.

[originally from svn r1797]
2002-08-03 16:22:55 +00:00
Simon Tatham
3f8d151c5a 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).

[originally from svn r1735]
2002-06-15 16:52:35 +00:00
Simon Tatham
858441ba81 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!).

[originally from svn r1708]
2002-05-31 17:39:16 +00:00
Simon Tatham
8cdae4f73b ieof-for-nonexistent-channel problem: avoid comparing an unsigned with -1
[originally from svn r1686]
2002-05-17 12:33:20 +00:00
Owen Dunn
c71432cb86 SSH2 only support
[originally from svn r1664]
2002-05-11 13:08:37 +00:00
Simon Tatham
8c3a0eb50b 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.

[originally from svn r1662]
2002-05-11 12:13:42 +00:00
Simon Tatham
17af65c78c 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).

[originally from svn r1609]
2002-03-27 21:58:11 +00:00
Simon Tatham
e40f043ff8 Matt Harden's (modified) patch to do getservbyname() lookups on port-
forwarding port numbers.

[originally from svn r1608]
2002-03-27 21:43:37 +00:00
Simon Tatham
36d125e1d7 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.

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

[originally from svn r1598]
2002-03-23 17:47:21 +00:00
Simon Tatham
869989e7e6 Pedantic little patch to ensure blank usernames work vaguely as
expected, in case anyone really wants to use one

[originally from svn r1596]
2002-03-20 22:34:00 +00:00
Simon Tatham
dac0d45699 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.

[originally from svn r1574]
2002-03-06 20:13:22 +00:00
Simon Tatham
ae7c314f33 Set SSH socket variable to NULL if connect() fails. Failure to do
this was causing PSCP to hang indefinitely after reporting
Connection Refused.

[originally from svn r1569]
2002-02-27 22:45:52 +00:00
Simon Tatham
84c3ece865 Cisco routers apparently have yet another bug: they can't handle RSA
auth attempts at all without panicking and bombing out. Workaround
added.

[originally from svn r1568]
2002-02-27 22:41:31 +00:00
Simon Tatham
e6cc16b8b2 Add support for sending SSH2_MSG_UNIMPLEMENTED for unrecognised
messages; also do something with the debugging messages sent as
SSH2_MSG_DEBUG.

[originally from svn r1544]
2002-01-10 19:50:53 +00:00
Simon Tatham
46803abdbe Support SSH2_MSG_GLOBAL_REQUEST (just return failure)
[originally from svn r1542]
2002-01-10 16:42:17 +00:00
Simon Tatham
cf8190f637 Extra safety feature to avoid sending SSH2_MSG_WINDOW_ADJUST on
a nonexistent channel. I don't quite know why this was happening,
but whatever it was this ought to fix it.

[originally from svn r1540]
2002-01-10 13:29:43 +00:00
Simon Tatham
d237773599 Add the CRC32 compensation attack detector that all other SSH
clients have had for ages and I forgot about. Of course I've got the
version with the buffer overflow fixed!

[originally from svn r1535]
2002-01-08 11:57:32 +00:00
Simon Tatham
ccf9a051ca I have no brain at all. The SSH1 auth loop was trying all Pageant
keys before _every_ other authentication; so if you tried a local
pubkey _and_ a password, for example, you'd also try Pageant twice.
Now fixed.

[originally from svn r1524]
2001-12-30 16:27:07 +00:00
Simon Tatham
2ce502eae2 PuTTY can now detect when one of the Pageant keys it tries matches
the private key file given in the config; if it spots this then it
avoids trying it again (and in particular avoids needing to ask for
the passphrase when it knows perfectly well it won't work).

[originally from svn r1523]
2001-12-30 16:20:31 +00:00
Simon Tatham
ef885c78ca Add a new back-end function to return the exit code of the remote
process. This is functional in SSH, and vestigial (just returns 0)
in the other three protocols. Plink's Windows exit code is now
determined by the remote process exit code, which should make it
more usable in scripting applications. Tested in both SSH1 and SSH2.

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

[originally from svn r1496]
2001-12-15 12:15:24 +00:00
Simon Tatham
3ed0d44f16 Retired the #ifdef DUMP_PACKETS stuff in ssh.c because I'm utterly
sick of recompiling to enable packet dumps. SSH packet dumping is
now provided as a logging option, and dumps to putty.log like all
the other logging options. While I'm at it I cleaned up the format
so that packet types are translated into strings for easy browsing.
POSSIBLE SIDE EFFECT: in the course of this work I had to re-enable
the SSH1 packet length checks which it turns out hadn't actually
been active for some time, so it's possible things might break as a
result. If need be I can always disable those checks for the 0.52
release and think about it more carefully later.

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

[originally from svn r1474]
2001-12-11 21:00:01 +00:00
Simon Tatham
46f2897cf6 Apparently sending DISCONNECT on a normal SSH2 connection close is
actually _less_ polite than just closing the connection, rather than
more polite as I'd believed. So we now just close.

[originally from svn r1468]
2001-12-10 18:12:51 +00:00
Simon Tatham
994bb17c57 Make the nonstandard "des-cbc" cipher disabled by default
[originally from svn r1429]
2001-11-29 22:26:52 +00:00
Simon Tatham
3270c74f9e Configurable TCP_NODELAY option on network connections
[originally from svn r1428]
2001-11-29 21:47:11 +00:00
Simon Tatham
82e7fd0f23 Make keyboard-interactive authentication configurable off. (This is
a stopgap until we get round to a proper authentications preference
list.)

[originally from svn r1426]
2001-11-29 20:34:06 +00:00
Simon Tatham
64df2cd90f Remember to terminate the prompt string in keyboard-interactive
[originally from svn r1425]
2001-11-29 20:27:20 +00:00
Simon Tatham
b49fde9410 Add single-DES support in SSH2
[originally from svn r1396]
2001-11-21 23:06:10 +00:00
Jacob Nevins
dd4bfacd9a Primitive protection against SSH2 not actually agreeing a cipher in
either direction.

[originally from svn r1394]
2001-11-21 22:48:20 +00:00
Simon Tatham
15517300d8 Send SSH2_MSG_NEWKEYS _before_ expecting to receive it, rather than
after. Shouldn't make a difference for any server that previously
worked, but we should now interoperate sensibly with servers that
wait to receive our NEWKEYS before sending their own. Apparently
Unisphere produce one such.

[originally from svn r1390]
2001-11-21 22:06:53 +00:00
Simon Tatham
7530a9905a Handle incoming SSH2_MSG_CHANNEL_REQUEST (by refusing all requests).
Should have done this ages ago; the OpenSSH 3.0 ClientAliveInterval
mechanism requires it so now it's really necessary.

[originally from svn r1380]
2001-11-13 22:06:37 +00:00
Simon Tatham
818176c66f Oops - one missing set of the ssh1 throttling indicator
[originally from svn r1377]
2001-11-10 17:09:17 +00:00
Simon Tatham
f2319456bc Tidy up the SERIOUS NETWORK ERROR fixes
[originally from svn r1345]
2001-10-30 20:57:22 +00:00
Simon Tatham
d1e305543a Tidy up SSH packet-level debugging
[originally from svn r1344]
2001-10-30 20:35:29 +00:00
Simon Tatham
8493e83d74 Add remaining comments to the last checkin (gah, remember to hit
Save in the editor _before_ running cvs commit).

[originally from svn r1333]
2001-10-27 11:06:11 +00:00
Simon Tatham
6c9cdbe29f Update to password length traffic analysis: one Cisco router can
apparently not deal with SSH1_MSG_IGNORE _or_ padded passwords, so
we must fall back to sending an undefended password.

[originally from svn r1332]
2001-10-27 10:39:54 +00:00
Simon Tatham
28292dbc95 `Server got confused by' error messages now quote a packet type, so
I can start debugging as soon as I get one sent to me.

[originally from svn r1304]
2001-09-26 20:29:03 +00:00
Simon Tatham
39c3f9b8bc Fix pasting of newlines in local line editing mode. Possibly not a
very _good_ fix; something might want doing after the release.

[originally from svn r1277]
2001-09-19 20:07:15 +00:00
Simon Tatham
2e4480d6b6 SSH back end should now be tolerant of garbage appearing in the data
stream after the actual SSH connection is finished. Some firewalls
add this for no good reason.

[originally from svn r1271]
2001-09-18 18:16:56 +00:00
Simon Tatham
7bb4a9f5f0 Be more careful of bombouts at the s_rdpkt level: if these happen
(for example SSH_MSG_DISCONNECT) we should avoid even calling
ssh_protocol.

[originally from svn r1259]
2001-09-09 14:47:29 +00:00
Simon Tatham
b12f450964 Jacob's TIS / CCard authentication tweaks.
[originally from svn r1253]
2001-09-08 12:50:15 +00:00
Simon Tatham
a3bfa43b0f Fix error message: couldn't load _private_ key, not public.
[originally from svn r1251]
2001-09-08 11:57:00 +00:00
Simon Tatham
2e4cefa420 When we receive SSH_MSG_DISCONNECT, say so in an error box because
it's likely to be more helpful than `Strange packet received' or
whatever.

[originally from svn r1250]
2001-09-08 10:33:56 +00:00
Simon Tatham
f08de20a1e Robert de Bath's asynchronous-connect patch. Helps a lot in port
forwarding; improves Event Log; and causes the PuTTY window to
appear earlier in the setup process.

[originally from svn r1239]
2001-09-07 22:39:01 +00:00
Simon Tatham
47e97ae032 Fix gratuitous assertion failure in Plink (ssh1_throttle_count was
being decremented far too many times).

[originally from svn r1238]
2001-09-07 22:04:44 +00:00
Simon Tatham
d1d2fd7a13 D'oh! Putting keyboard-interactive authentication _before_ publickey
causes password login to occur on a server that supports password-
through-k-i. Of course when we use the new preference list mechanism
for selecting the order of authentications this will all become much
more sane, but for the moment I've put publickey back up to the top
and things seem to be happier.

[originally from svn r1220]
2001-08-28 08:43:33 +00:00
Simon Tatham
ea27f048f9 Fix various small compiler warnings, mostly unused local variables
[originally from svn r1218]
2001-08-28 08:08:43 +00:00
Simon Tatham
5c646f3270 Fix handling of SSH2_MSG_CHANNEL_CLOSE, which was breaking in port
forwarding talking to ssh.com's ssh-3.0.1.

[originally from svn r1216]
2001-08-27 16:58:47 +00:00
Simon Tatham
254f50974e Port forwarding bug fix: we were unable to handle receiving
CHANNEL_OPEN_FAILURE messages, which occur when the remote side is
unable to open a forwarded network connection we have requested. (It
seems they _don't_ show up if you get something mundane like
Connection Refused - the channel is cheerfully opened and
immediately slammed shut - but they do if you try to connect to a
host that doesn't even exist. Try forwarding a port to
frogwibbler:4800 and see what you get.)

[originally from svn r1213]
2001-08-27 15:13:14 +00:00
Simon Tatham
ff9a038cdd PSCP now uses the modern SFTP protocol if it can, and falls back to
scp1 if it can't. Currently not very tested - I checked it in as
soon as it completed a successful recursive copy in both directions.
Also, one known bug: you can't specify a remote wildcard, because by
the nature of SFTP we'll need to implement the wildcard engine on
the client side. I do intend to do this (and use the same wildcard
engine in PSFTP as well) but I haven't got round to it yet.

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

[originally from svn r1199]
2001-08-25 19:33:33 +00:00
Simon Tatham
c87fa98d09 Extensive changes that _should_ fix the socket buffering problems,
by ceasing to listen on input channels if the corresponding output
channel isn't accepting data. Has had basic check-I-didn't-actually-
break-anything-too-badly testing, but hasn't been genuinely tested
in stress conditions (because concocting stress conditions is non-
trivial).

[originally from svn r1198]
2001-08-25 17:09:23 +00:00
Simon Tatham
7ff3999e49 Oops - fix that fix :-/
[originally from svn r1197]
2001-08-22 20:23:49 +00:00
Simon Tatham
96fd4be809 Fix to allow more than one challenge/response pair during
keyboard-interactive authentication. UNTESTED except that I checked
it compiles. Will ask for testing from the user who complained.

[originally from svn r1195]
2001-08-22 19:47:05 +00:00
Simon Tatham
24e97a365d Trivial port forwarding fixes from Jacob
[originally from svn r1185]
2001-08-15 18:23:50 +00:00
Simon Tatham
9cbaacd673 Stop yelling about Access Denied if the server refuses even to
attempt keyboard-interactive authentication. We can yell about it if
we make a creditable attempt and are rejected, but if the server
just refuses to even consider it then the user won't really want to
know (and if they do there's the Event Log).

[originally from svn r1180]
2001-08-09 21:22:38 +00:00
Simon Tatham
54bcab760f Port forwarding now works in SSH 2 as well as SSH 1.
[originally from svn r1179]
2001-08-09 21:17:05 +00:00
Simon Tatham
fa6b9c1896 Keyboard-interactive authentication, thanks to Paul Sokolovsky.
[originally from svn r1178]
2001-08-09 20:13:17 +00:00
Simon Tatham
50766ce729 SSH port forwarding! How cool is that?
Only currently works on SSH1; SSH2 should be doable but it's late
and I have other things to do tonight. The Cool Guy award for this
one goes to Nicolas Barry, for doing most of the work and actually
understanding the code he was adding to.

[originally from svn r1176]
2001-08-08 20:44:35 +00:00
Simon Tatham
4fb01728e1 Fix segfault if the server maliciously sends the wrong type of key
after a different type has been agreed.

[originally from svn r1165]
2001-08-04 12:37:43 +00:00
Simon Tatham
a4c1aad9b2 Yet another possible segfault path in the backends fixed. I don't
_believe_ I'm still finding these. I have no idea what I was
thinking when I wrote this stuff.

[originally from svn r1162]
2001-07-31 14:23:21 +00:00
Simon Tatham
fb473cc16c Placate gcc's `-Wall' warnings.
[originally from svn r1121]
2001-05-13 14:02:28 +00:00
Simon Tatham
839353ad3a Control characters are now allowed as part of the password, if
they're not special control characters processed by the line input
routines.

[originally from svn r1116]
2001-05-13 11:44:57 +00:00
Simon Tatham
e45f75a2be Attempt to report the error condition right when an SCP connection
with a pre-supplied password fails to authenticate.

[originally from svn r1114]
2001-05-13 11:15:16 +00:00
Simon Tatham
c2eb57a034 `realhost', passed back from all the backend init functions, was
scoped within those functions. It's now dynamically allocated.

[originally from svn r1108]
2001-05-09 14:01:15 +00:00
Simon Tatham
3730ada5ce Run entire source base through GNU indent to tidy up the varying
coding styles of the various contributors! Woohoo!

[originally from svn r1098]
2001-05-06 14:35:20 +00:00
Simon Tatham
f30937f737 Debugging improvements. Started using Dave Hinton's dmemdump
function (woohoo!), improved that function so it provides an ASCII
dump as well as hex (whee!), removed all remaining spurious \r in
debug statements (ooh!), and made enabling of packet debugging in
SSH a matter of one ifdef rather than lots (phew!).

[originally from svn r1091]
2001-04-28 17:35:18 +00:00
Simon Tatham
76dfe1cac9 Fix completely stupid agent_exists test. (Hint to self: you have to
actually _call_ a boolean-returning function, not just test its
address for nonzerohood.) Thanks Jacob.

[originally from svn r1082]
2001-04-28 11:25:58 +00:00
Simon Tatham
b7844a20af Add some fflushes to make it easier for piped programs to talk to
plink and pscp

[originally from svn r1078]
2001-04-28 08:42:06 +00:00
Simon Tatham
3abea3d4ea Having now compiled the last few days' changes with MSVC, it's turned
up a bunch of warnings, mostly unused variables. All fixed.

[originally from svn r1058]
2001-04-17 08:24:29 +00:00
Simon Tatham
03c9b6107b Replace PuTTY's 2-3-4 tree implementation with the shiny new counted
one, in preparation for using it to speed up scrollback.

[originally from svn r1053]
2001-04-16 17:18:24 +00:00
Simon Tatham
522f130391 Pageant interface changes. You can now do `pageant -c command' to
spawn another command after starting Pageant. Also, if Pageant is
already running, `pageant keyfile' and `pageant -c command' will do
the Right Thing, that is, add the key to the _first_ Pageant and/or
run a command and then exit. The only time you now get the `Pageant
is already running' error is if you try to start the second copy
with no arguments.
NB the affected files in this checkin are rather wide-ranging
because I renamed the not really SSH1-specific
`ssh1_bignum_bitcount' function to just `bignum_bitcount'.

[originally from svn r1044]
2001-04-16 11:16:58 +00:00
Simon Tatham
fb8745a7d7 Log the text message in SSH_MSG_DISCONNECT (both protocols) so that
when people submit Event Logs for diagnosis it's a little easier to
work out what's up.

[originally from svn r1043]
2001-04-16 09:10:34 +00:00
Simon Tatham
36df70978a After we fall back to 3DES, double-check the server really does
support it, and bomb out with a complaint if not.

[originally from svn r1042]
2001-04-16 07:49:11 +00:00
Simon Tatham
1734a09466 Experimental checkin to see if we can prevent multiple closes ever
being sent on an SSH1 forwarding (or indeed primary) channel.

[originally from svn r1037]
2001-04-11 12:29:35 +00:00
Simon Tatham
ab3443b9e6 Fix the detect_bugs routine, which was failing to find the right bit
of the version string :-)

[originally from svn r1026]
2001-03-29 13:40:03 +00:00
Simon Tatham
6a4294fbac Fix the SSH protocol version exchange, which had a weird stack trash
in it which for some reason didn't show up when built with VC++6 but
blew up the nightlies. Should be OK now.

[originally from svn r1023]
2001-03-23 10:28:36 +00:00
Simon Tatham
4d881300c8 Remove the length limit on protocol version strings. (In principle, I
could have got away with upping it to 256, but I didn't want a repeat
of the chaos when some server accidentally breaks that limit too...)

[originally from svn r1019]
2001-03-22 17:32:40 +00:00
Simon Tatham
0cda163a2d Plink in noninteractive-script mode should not show the `Authenticated
with public key' message in SSH2 (it already doesn't in SSH1). It
shouldn't show the login banner either, since its output is probably
redirected to something which will choke on it.

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

[originally from svn r1010]
2001-03-19 10:24:55 +00:00
Simon Tatham
c152034706 SSH2 channel fix: received WINDOW_ADJUSTs were always applied to the
primary (shell session) channel, rather than the one they were aimed
at. This _despite_ me having deliberately gone and looked the channel
ID up in the B-tree - I was ignoring the result by accident :-/

X forwarding should now work in SSH2 even on non-trivial clients (ie
things other than xdpyinfo).

[originally from svn r1007]
2001-03-16 12:09:44 +00:00
Simon Tatham
02f012a66a Correct handling of SSH1 protocol flags, in particular
PROTOFLAG_SCREEN_NUMBER, without which OpenSSH 2.5.1 was objecting to
my gratuitous inclusion of a screen number in the SSH1 X forwarding
request. Ahem.

[originally from svn r1006]
2001-03-16 11:58:54 +00:00
Simon Tatham
947d33408f Add support for SSH2 userauth banners. We currently can't deal with
printing them _before_ the username prompt. This apparently isn't very
serious because OpenSSH doesn't _send_ it before the username prompt,
but only in response to USERAUTH_REQUEST "none". Good job we do that!

[originally from svn r1005]
2001-03-15 17:14:31 +00:00