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

2311 Commits

Author SHA1 Message Date
Jacob Nevins
3c98d6e60d Add a preference list for SSH-2 key exchange algorithms, on a new "Kex" panel
(which will gain more content anon).

Retire BUG_SSH2_DH_GEX and add a backwards-compatibility wart, since we never
did find a way of automatically detecting this alleged server bug, and in any
case there was only ever one report (<3D91F3B5.7030309@inwind.it>, FWIW).

Also generalise askcipher() to a new askalg() (thus touching all the
front-ends).

I've made some attempt to document what SSH key exchange is and why you care,
but it could use some review for clarity (and outright lies).

[originally from svn r5022]
2004-12-23 02:24:07 +00:00
Jacob Nevins
f13f9f6420 Fix potential access of freed data (only if we couldn't create the
second of two registry keys, so pretty unlikely).

[originally from svn r5021]
2004-12-22 23:17:02 +00:00
Simon Tatham
56d5dc7eec Support diffie-hellman-group14-sha1 group exchange. Tested against
locally built OpenSSH 3.9, and seems to work fine.

[originally from svn r5018]
2004-12-22 10:53:58 +00:00
Simon Tatham
414aba9f5a In my revamp of cursor handling I had assumed that you were supposed
to call _either_ do_text() _or_ do_cursor() on a given character
cell. In fact you're supposed to call do_text() no matter what, and
then call do_cursor() as well if it's got the cursor on it, since
do_cursor() _only_ draws the actual cursor, which often doesn't also
cause the text to get drawn.

I'm half tempted to change this in the interface, retire do_cursor()
as an external function and relegate it to an internal function in
each front end, and require that do_text() must fully process all
cursor attributes it is passed. However, I haven't done this yet.

[originally from svn r5017]
2004-12-22 10:21:50 +00:00
Simon Tatham
e202f0f228 The end condition in the binary search loop in the new getType() was
incorrect. I must have written that binary search idiom a hundred
times, so it's rather embarrassing that I can't _automatically_ get
it right! This was causing all kinds of characters to be classified
as ON when they should have been various other classes.

Also while I'm here, I've added another test case to utf8.txt (a
small piece of Arabic within a predominantly L->R line), and also
supplied a means to compile minibidi.c with -DTEST_GETTYPE to
produce a command-line character class lookup tool. (Not sure what
use that'll be _other_ than debugging this precise problem, but I
don't like to throw it away now I've written it :-)

[originally from svn r5016]
2004-12-20 09:27:44 +00:00
Jacob Nevins
4cae179ff8 Restore border around terminal to default background colour rather than
something outside colours[] (consistently brown on my system).

(I don't understand why this code was the way it was, but it gave the
correct result before r4917 `256-colours', and now doesn't.)

[originally from svn r5014]
[r4917 == e4e10e494b]
2004-12-19 23:37:30 +00:00
Jacob Nevins
2a69c4e0fa Correct number of configurable colours (NCFGCOLOURS) to match reality
(leftover from `256-colours', r4917).

[originally from svn r5013]
[r4917 == e4e10e494b]
2004-12-19 23:15:17 +00:00
Jacob Nevins
a27ce0492b Fix line cursor colours (fallout from `256-colours'), on both Windows and Unix.
[originally from svn r5012]
2004-12-19 22:37:05 +00:00
Jacob Nevins
cbfd7bb7f5 Make sure the docs in a Unix release tarball are generated with the correct
version info.

[originally from svn r5011]
2004-12-18 11:34:41 +00:00
Jacob Nevins
eceacef0f0 Missed options off mput help
[originally from svn r5010]
2004-12-18 10:46:21 +00:00
Simon Tatham
88dba1e70a zip apparently gives a warning (`-l used on binary file') when you
use -l on a UTF-8 text file. Move potentially UTF-8 things (the new
testdata files) into a new category of source files, and suppress
zip's warning for that category.

[originally from svn r5009]
2004-12-18 10:00:27 +00:00
Simon Tatham
b3b70d749f Jacob has pointed out why SIGCHLD was blocked, so I've updated the
comment when I unblock it in pty.c to reflect reality. Also I've
moved block_signal() out of pterm.c into signal.c, so I can
conveniently use it for unblocking SIGCHLD rather than having to
reinvent it in pty.c.

[originally from svn r5006]
2004-12-17 14:25:53 +00:00
Simon Tatham
d649075539 The xfer mechanism wasn't gracefully terminating when an error was
encountered part way through transfer. In particular, this caused
psftp to hang (waiting for FXP_READ replies which had already
arrived) if you try `get' (without -r) on a remote directory.

[originally from svn r5005]
2004-12-17 13:39:41 +00:00
Jacob Nevins
cac296d9c0 Document recent SFTP changes:
- document behaviour of "-r" with mget/mput/reget/reput
 - document "close" command
 - document SFTP wildcard syntax for those who may not be familiar with Unix
   wildcards

[originally from svn r5004]
2004-12-17 13:00:01 +00:00
Simon Tatham
ba470dec5e I _think_ I've just fixed `font-overflow'. term->disptext now tracks
the start of every contiguous run passed to do_text() or
do_cursor(), and arranges never to overwrite only part of such a run
on the next update.

I'm a bit worried about this checkin because I've also completely
revamped cursor handling: the cursor was previously being drawn
_outside_ the main loop over the display line, and is now drawn as
part of that loop when it gets to the cursor location. It _seems_ to
still work sensibly, even in complex cases involving LATTR_WIDE and
double-width CJK characters etc, but I won't be entirely happy until
it's had some beta use.

[originally from svn r5003]
[this svn revision also touched putty-wishlist]
2004-12-17 12:55:12 +00:00
Jacob Nevins
cf44c428e3 Update online help for "-r" and "--" options to get/put commands.
Use command name in error messages rather than hardcoded "get:"/"put:".

[originally from svn r5002]
2004-12-17 12:15:17 +00:00
Simon Tatham
f4246872c4 Divide the do_paint() loop into several subloops. The activity of
going through the line and working out which bits need to be redrawn
is now in a separate loop from the subsequent activity of actually
going through and doing the redraws. This _should_ enable me to
tinker with the which-bits-to-redraw data in between the two, thus
fixing `font-overflow'. However, I thought it would be sensible to
break the work up into two commits so we can track bugs in the
restructuring separately from bugs introduced by the new feature.

Also added a couple more terminal test files.

[originally from svn r5001]
2004-12-17 11:37:16 +00:00
Simon Tatham
fb6a1e9d42 I had apparently broken wrapping of double-width characters (again).
Also fixed the new UTF-8 test file so that it tests double-width
wrapping both with _and_ without LATTR_WRAPPED2.

[originally from svn r5000]
2004-12-17 11:24:25 +00:00
Simon Tatham
4a8c36d4b7 I'd rather not keep losing these little test files, so here's some
stuff that I can `cat' into a terminal to test particular features
of it.

[originally from svn r4999]
2004-12-17 11:18:13 +00:00
Simon Tatham
ebf507497d Apparently SIGCHLD is blocked by default in processes run in a
pterm, which was breaking my bash job notification patch. This is
apparently not the case for xterm, so I've fiddled with it. Not
entirely sure _why_ it did this in the first place, but there we go.

[originally from svn r4997]
2004-12-17 09:43:09 +00:00
Simon Tatham
6c81ee6706 General mechanism for ensuring a dodgy SFTP server can't return
malicious filenames via FXP_READDIR.

[originally from svn r4995]
2004-12-16 19:36:47 +00:00
Simon Tatham
5ea746b15d Implement the `close' command, which terminates an SFTP session but
does not quit PSFTP, so you can then issue another `open' to connect
to somewhere else. This has apparently been trivial for some time,
for exactly the same reasons that `reuse-windows' was so easy, but
it hadn't occurred to me to actually do it until now.

[originally from svn r4994]
2004-12-16 19:19:59 +00:00
Simon Tatham
f1585f8f46 Jacob points out that I introduced a bug in PSFTP when I did the
timing shakeup: just running `psftp' caused the net/stdin select
loop (on both Unix and Windows) to get confused at the lack of any
network connection and give up immediately. Should now be fixed.

[originally from svn r4993]
2004-12-16 19:15:38 +00:00
Simon Tatham
69303f2d3e Wildcards in ls'. I think that completes psftp-multi'. Woo!
[originally from svn r4992]
[this svn revision also touched putty-wishlist]
2004-12-16 17:45:29 +00:00
Simon Tatham
a4fe439184 Implement mget and mput in PSFTP, supporting wildcards.
[originally from svn r4991]
[this svn revision also touched putty-wishlist]
2004-12-16 17:35:20 +00:00
Simon Tatham
bee5812a49 Support for recursive file transfer in PSFTP.
[originally from svn r4990]
[this svn revision also touched putty-wishlist]
2004-12-16 16:37:37 +00:00
Simon Tatham
d67bc798aa Fix obviously stupid segfault. Ahem.
[originally from svn r4989]
2004-12-16 15:38:39 +00:00
Jacob Nevins
a2e01a5604 Abe Crabtree complains that flushing the log file as often as we do in 0.56
results in unacceptable performance for him on Win2000. Add a checkbox to
revert to the old behaviour.

[originally from svn r4988]
[this svn revision also touched putty-wishlist]
2004-12-16 15:22:36 +00:00
Simon Tatham
89f4cf6a0a Rename scp.* to pscp.*, because I always misspell it that way. Also
it's more consistent with PSFTP like this: scp.c/pscp.c is more
similar to psftp.c (the main application framework) than it is to
sftp.c (a set of back-end library routines).

[originally from svn r4987]
2004-12-16 15:01:43 +00:00
Simon Tatham
6ef62aacfc Unix PSCP was tight-looping when connecting through a ProxyCommand.
Turned out that sk_localproxy_close() was closing the pipe fds
without removing them from the uxsel list.

[originally from svn r4965]
2004-12-10 11:41:14 +00:00
Simon Tatham
e711121152 Replace the RLE-based getType() function with one that binary-
searches a list of (start,end,type) tuples. This increases data size
by about 5Kb, which is a shame; but on the plus side, it boosts
performance from O(N) to O(log N). As an added bonus, the table now
covers _all_ of Unicode, not just the BMP.

[originally from svn r4964]
2004-12-08 19:41:14 +00:00
Simon Tatham
45534b2a5f Further clarity and speed cleanups of minibidi:
- rewrote the reversal loop in flipThisRun to be considerably clearer
 - rewrote leastGreaterOdd and leastGreaterEven as bit-twiddling macros
 - replaced malloc/free with snewn/sfree
 - lost some gratuitous repeat calls of getType on the same character
And most noticeably:
 - got rid of minibidi.h, since it was entirely full of minibidi.c
   internals (including constant data definitions!) and wasn't used
   to provide an external interface at all. Everything in it has
   been folded into minibidi.c.

[originally from svn r4963]
2004-12-08 19:07:05 +00:00
Simon Tatham
73231eeb54 Reformat minibidi.[ch] in line with my coding conventions. It was
just getting to be too much hassle trying to work with the existing
indentation.

[originally from svn r4952]
2004-12-07 18:18:28 +00:00
Simon Tatham
52eb87aed2 Bidi stability work. I _think_ I've now removed all the failures of
array bounds checking.

[originally from svn r4951]
2004-12-07 18:10:09 +00:00
Owen Dunn
30e94b6a5c Fix segfault when HOME not set on Unix.
[originally from svn r4948]
2004-12-07 11:50:44 +00:00
Simon Tatham
e83034fe3f \n and \r need double backslashes in Halibut.
[originally from svn r4947]
2004-12-02 13:48:32 +00:00
Jacob Nevins
d46ebde528 NULL a couple of members after freeing them in ssh_free(). In particular,
should stop ssh_do_close() accessing freed ssh->channels when invoked later
from ssh_free(). Spotted by Fred Sauer.

(Perhaps this is the cause of the crashes people have been reporting on
abnormal closures such as `Software caused connection abort'? I've not been
able to test this.)

[originally from svn r4946]
2004-12-02 13:37:28 +00:00
Ben Harris
3d3273337c Mention our assumptions about the execution character set. Not very
well-written, since my brain is largely absent today.

[originally from svn r4945]
2004-12-02 13:07:32 +00:00
Simon Tatham
9731b1425d Bah. Ben points out that SSH_1_ version strings should still end in
\n, and also that `\r' and `\n' don't mean what I think they mean on
all compilers (Mac reverses them).

[originally from svn r4941]
2004-12-01 15:34:12 +00:00
Simon Tatham
4c31b113a6 And now I look at it, the latest draft also says version strings
should be followed by \r\n, not just \n.

[originally from svn r4940]
2004-12-01 13:42:50 +00:00
Simon Tatham
22c46786be Kimmo Parviainen points out that SSH software version strings have
restrictions on the use of hyphens and spaces.

[originally from svn r4939]
2004-12-01 13:37:31 +00:00
Simon Tatham
a10edf435b term_bidi_cache_store() now has a need to distinguish between the
_width_ of a terminal line (number of character cell positions) and
its _size_ (number of termchars), since of course these differ in
the presence of combining characters.

[originally from svn r4938]
2004-12-01 09:25:20 +00:00
Simon Tatham
44aca28fad Fix large memory leak introduced in the r4915 bidi changes.
[originally from svn r4936]
[r4915 == 569da2eb7b]
2004-11-30 13:39:58 +00:00
Jacob Nevins
4cb0ead447 Another default-background fix for 256-colour mode
[originally from svn r4931]
2004-11-30 01:07:29 +00:00
Owen Dunn
7e7aec0ca4 Nitpick, close bracket.
[originally from svn r4926]
2004-11-29 16:58:02 +00:00
Simon Tatham
f237e23aff Some blurb about terminal types and 256-colour xterms. Thanks to Dan
Nicolaescu for the suggestion.

[originally from svn r4925]
2004-11-29 11:31:21 +00:00
Jacob Nevins
27cad589cc rm '$Source$' from comments as not meaningful under Subversion
[originally from svn r4924]
2004-11-29 09:40:59 +00:00
Jacob Nevins
d0992ade3d typo in comment
[originally from svn r4923]
2004-11-29 09:27:13 +00:00
Jacob Nevins
96a5923cc3 Briefly document the "CP866" manual-entry feature on Windows in the dialog
itself (since we have a bit of room).

[originally from svn r4922]
2004-11-29 09:23:11 +00:00
Simon Tatham
0600e8cf75 Bah, there's always one thing I miss. Correct the background-colour
handling in Unix PuTTY.

[originally from svn r4918]
2004-11-28 15:18:23 +00:00