Граф коммитов

2212 Коммитов

Автор SHA1 Сообщение Дата
Jacob Nevins 0c4acb8c17 Note upper limit of WM_SYSCOMMAND identifiers in a comment.
[originally from svn r4734]
2004-11-02 23:06:43 +00:00
Jacob Nevins d8c7bc3337 Go back to using intervals of 16 for the saved session identifiers for the
system menu, but expand from 256 entries to 1024 as there seems to be plenty
of space.

Also remove a couple of unused IDM_* constants.

[originally from svn r4733]
2004-11-02 23:06:20 +00:00
Jacob Nevins 036424c74b Simon has reminded me _why_ menu identifiers were spaced every sixteen, so
let's add a comment so that we don't forget again. Source:
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_syscommand.asp>

[originally from svn r4732]
2004-11-02 22:30:24 +00:00
Jacob Nevins 8a4be1fe2f Since neither I nor Owen know why the IDM_ values for the saved-sessions
submenu were going up in steps of 16, I've changed to steps of 1, thus
increasing the possible number of sessions from ~256 to 4096, since a
recent report seemed to indicate that the previous limit might not be
enough for someone (!)
I can't find any documentation that puts an upper limit on the number of
menu items, and it seems to work on Win98, which is where I'd expect it to
break if anywhere.
Also a number of other tweaks to this code.

[originally from svn r4731]
2004-11-02 17:44:06 +00:00
Jacob Nevins 352bca5b1e Argh, I messed up SSH1 remote tunnels too (same mistake).
[originally from svn r4728]
2004-11-01 14:18:37 +00:00
Jacob Nevins f24ac64cef Ahem, let's not try initialising a static with a non-constant initialiser.
Also, I'm pretty sure that adding a source address to a remote SSH-2 forwarding
can never have worked, since we added an address string to the packet twice in
that case. OpenSSH 3.4p1 certainly doesn't like it (`Server has disabled port
forwarding' debug message). Fixed (and OpenSSH is happier now).

[originally from svn r4727]
2004-11-01 00:47:37 +00:00
Jacob Nevins 86ba7399bb Argh. Failure to make a variable static to get round coroutine
mechanics means that each SSH-2 remote tunnel will sfree() something
random and thus have a chance of crashing or doing something else
bad, although it won't otherwise affect execution. Introduced in
1.319 [r4529] (some of my improved diagnostics). One day I'll make a
checkin to ssh.c without forgetting about the coroutines...

[originally from svn r4725]
[r4529 == 27193c4bf0]
2004-11-01 00:17:31 +00:00
Jacob Nevins 2e90539429 Malcolm Rowe spotted that we broke display of SSH2_MSG_DEBUG messages while
fixing `vuln-ssh2-debug', by missing out a field. In most cases
(always_display = 0) we would log a zero-length or truncated message.

(Also add a prototype for ssh2_pkt_getbool().)

[originally from svn r4718]
2004-10-28 00:23:44 +00:00
Jacob Nevins 20bc2c1913 Malcolm Rowe's UI tweak patch for About/Licence: recognise `Esc' to close
windows (PuTTY, Pageant, PuTTYgen); Licence window parent in PuTTY.

[originally from svn r4715]
2004-10-27 15:50:52 +00:00
Simon Tatham 5d71729cdb Good grief! I should create the `htmldoc' subdir in the release tree
_before_ I create the md5sums files. I am a gibbon.

[originally from svn r4702]
2004-10-26 19:47:35 +00:00
Jacob Nevins a7c8747e0d Add bumping version number on trunk to new post-release checklist.
Also, sometimes `0.XX' is used in the docs as a placeholder for a version
number.

[originally from svn r4700]
2004-10-26 19:32:25 +00:00
Jacob Nevins fd070c31bf Merge version number bump (0.56) from release branch.
[originally from svn r4699]
2004-10-26 18:59:39 +00:00
Simon Tatham 4081fd7051 Reorder a couple of points on the wishlist, and also add a few
helpful chunks of `sh' to make life easier next time I make a release.

[originally from svn r4698]
2004-10-26 18:44:42 +00:00
Jacob Nevins f30cf17afb Add a note about documentation of the Unix port (i.e., we don't, specifically).
This is mainly intended to make the documentation suitable for including in
distributions such as the Debian package, but won't be amiss on the web site
docs. It will look a bit out of place in the .HLP, but never mind.

[originally from svn r4690]
2004-10-24 22:57:36 +00:00
Jacob Nevins 2faca0959f Mention -i.
[originally from svn r4688]
2004-10-24 18:30:10 +00:00
Jacob Nevins 599b0351e6 Random tweaks:
- change click-by-click advice on modifying saved sessions
 - add `Restart Session' as another reason you might not want to close the
   window on exit; other tweaks to this language
 - mention Shift-Backspace action
 - the window resizing configuration documentation was completely out of
   date; rewrite
 - add a note about Default Bold Background since it's caused confusion
 - "remote terminal" -> "remote system" in terminal-type doc

[originally from svn r4686]
2004-10-24 18:26:00 +00:00
Jacob Nevins b9728ebfb6 Freshness tweaks:
- mention `Restart Session'
 - tweak language of `-N' (plural->singular)

[originally from svn r4684]
2004-10-24 16:48:43 +00:00
Jacob Nevins 1f3cca0d1d Freshness tweaks:
- soften language around changing-username-during-login section; with SSH-2
   this is a misfeature of implementations rather than the protocol itself
 - tweak new-host-key dialog text

[originally from svn r4681]
2004-10-24 16:24:58 +00:00
Jacob Nevins dead559770 Differences between protocols: remove the entire paragraph about environment
variables. It was no longer true (given that we support them in SSH-2 now),
and the new situation was probably too complex to explain in an introductory
chapter. And the utility of setting them seems to be marginal these days given
the lack of server support.

[originally from svn r4679]
2004-10-24 15:58:31 +00:00
Jacob Nevins 172ebb0b5d Mention PSFTP on title page
[originally from svn r4678]
2004-10-24 15:41:44 +00:00
Simon Tatham 64821979b1 Better bounds checking in the exit-signal handler.
[originally from svn r4670]
2004-10-22 16:50:51 +00:00
Simon Tatham 5ff0e6b1d9 We ought to be using the ssh_pkt_* routines for the messages which we
process at any time in the rdpkt routines, as well as everywhere else.

[originally from svn r4669]
2004-10-22 16:47:46 +00:00
Simon Tatham ecd50ec349 I just had a need to decode a piece of Zlib data from out of the
middle of a PDF. So here's a modification to sshzlib.c which enables
it to be compiled into a standalone Zlib decoder if you define
ZLIB_STANDALONE. As an added bonus, it (both standalone and in
PuTTY) also validates the Zlib header, just to make sure someone
hasn't defined a new compression format.

[originally from svn r4657]
2004-10-21 10:59:53 +00:00
Jacob Nevins 83e15f8082 Munge line-drawing description to match current naming and order of options
(in the Windows version), and hopefully to clarify distinction between line
charset and local font, which has occasionally foxed me.

Cross-reference the Translation panel reference section from the intro
section in using.but and mention line-drawing characters there also.

[originally from svn r4654]
2004-10-19 13:54:50 +00:00
Jacob Nevins 7543a93516 Add support for logging "exit-signal", why not.
This is disgustingly huge because old versions of OpenSSH got the message
format wrong, so we have to infer which format is in use. Tested with
Debian stable OpenSSH (3.4p1), with `uint32' packet, and lshd, which uses
the correct `string' packet, and also let me test "core dumped" and the
explanatory message.

[originally from svn r4653]
2004-10-18 00:41:48 +00:00
Jacob Nevins 17b0d8c58e Support the SSH-2 mechanism for sending signals to a running session. Neither
of the SSH servers I conveniently have access to (Debian stable OpenSSH --
3.4p1 -- and lshd) seem to take a blind bit of notice, but the channel
requests look fine to me in the packet log.

I've included all the signals explicitly defined by
draft-ietf-secsh-connect-19, but I've put the more obscure ones in a submenu
of the specials menu; there's therefore been some minor upheaval to support
such submenus.

[originally from svn r4652]
2004-10-17 21:22:22 +00:00
Jacob Nevins 1efa60e40d We shouldn't offer the Break special when we don't have a session to send it
down. (A side effect of fixing this is that ssh->mainchain is set to NULL
when it closes, which might avoid other sorts of trouble.)

While we're here, don't bother offering SSH1_MSG_IGNORE if we believe the
remote will barf on it.

[originally from svn r4650]
2004-10-17 15:32:42 +00:00
Jacob Nevins 4482a79162 Telnet specials menu was not being reinstated after a session was restarted in
the same window (Windows version only).

Policy change: it's now the backend's responsibility to call
update_specials_menu() at the start of a session (or whenever it feels ready),
if it has any special commands. Otherwise the menu won't be displayed.

[originally from svn r4649]
2004-10-17 14:44:27 +00:00
Simon Tatham 1b3eb3e20d Markus Kuhn's UTF-8 page
http://www.cl.cam.ac.uk/~mgk25/unicode.html#activate
feels strongly that it should be easy to make _all_ your
applications work in UTF-8 mode, without having to remember a switch
for each one. Every application should simply note a UTF-8 locale
setting and switch into UTF-8 mode automatically.

Therefore, for the Unix port only, there's now a checkbox, enabled
by default, which causes the drop-down Translation box to be
overridden if the locale indicates UTF-8. Anyone who doesn't like
this, or doesn't like MGK, is welcome to turn it straight back off.

I'm not _completely_ convinced by MGK's argument myself; for
xterm/pterm to do _useful_ UTF-8 you also need to specify a decently
Unicode-capable font, and there's no way _that_ can be automagically
done on noticing a locale setting. But it's a de facto standard
(i.e. xterm does it :-) so I might as well at least be _able_ to
support it.

[originally from svn r4648]
2004-10-16 14:17:58 +00:00
Simon Tatham d412fed542 Fix bug in scrollback compression, which manifested when attempting
to encode a very long (len>128) run of the same literal.

[originally from svn r4647]
2004-10-16 12:36:50 +00:00
Simon Tatham 859d92a577 Moved the environment variables config block out of the Telnet panel
into the Connection panel, and implemented support for the SSH2
"env" request. (I haven't yet found a server which accepts this
request, so although I've visually checked the packet log and it
looks OK, I haven't yet been able to do a full end-to-end test.)
Also, the `pty' backend reads this data and does a series of
`putenv' commands before launching the shell or application.

This is mostly because in last week's UTF-8 faffings I got
thoroughly sick of typing `export LANG=en_GB.UTF-8' every time I
started a new testing pterm, and it suddenly occurred to me that
this would be precisely the sort of thing you'd want to have pterm
set up for you, particularly since you can configure it alongside
the translation settings and so you can ensure they match up
properly.

[originally from svn r4645]
2004-10-16 10:56:54 +00:00
Jacob Nevins 94546cdc2a Mention plink's new -N option in usage and man page.
[originally from svn r4643]
2004-10-15 23:32:01 +00:00
Simon Tatham 70230fc0ca Fix two memory leaks in the new code. (There's no point compressing
the scrollback if you then leak away all the memory you saved!) One
of the leaks - by far the bigger of the two - was in my temporary
diagnostic function cc_check(), which is particularly embarrassing :-)

[originally from svn r4638]
2004-10-15 12:37:44 +00:00
Simon Tatham aa3c6302b1 And fix _cursor_ display on double-width double-width characters (as
it were).

[originally from svn r4637]
2004-10-15 12:25:51 +00:00
Simon Tatham 4eef9ce190 Double-height and double-width line attributes (ESC#3, ESC#4, ESC#6)
were not working correctly with double-width Unicode characters (CJK).

[originally from svn r4636]
2004-10-15 12:17:48 +00:00
Simon Tatham 5f05f03fb2 Add missing check_boundary() calls in destructive backspace handler.
[originally from svn r4635]
2004-10-15 11:51:26 +00:00
Simon Tatham 833bcbb559 A combining character on U+0020 SPACE stops it from being
`uninteresting' to the clipboard processing.

[originally from svn r4634]
2004-10-15 11:42:02 +00:00
Simon Tatham 89e36c9567 Mark the trial decompress in every call to compressline() with the
XXX-REMOVE-BEFORE-RELEASE tag.

[originally from svn r4633]
2004-10-15 11:29:02 +00:00
Simon Tatham 9b37d130ed Don't forget to flush the bidi cache when the user enables or
disables bidi or shaping, otherwise they'll have to do a manual
screen refresh to see any difference.

[originally from svn r4632]
2004-10-15 11:14:42 +00:00
Simon Tatham 6b136f5c2f Store line widths in the bidi cache, so we don't fail to re-bidi a
line when the window size changes.

[originally from svn r4631]
2004-10-15 11:11:19 +00:00
Simon Tatham 0d05595db9 Fix many bugs in resizeline().
[originally from svn r4629]
2004-10-15 10:48:27 +00:00
Simon Tatham 845138a1e8 Fix applying combining characters to double-width characters.
[originally from svn r4628]
2004-10-15 09:28:46 +00:00
Simon Tatham 8d7edeafd3 Fix Windows redraw problem on RH half of wrapped lines. (term_paint
was checking whether lattr == LATTR_NORM, where it should have been
checking (lattr & LATTR_MODE) to mask off LATTR_WRAPPED et al.

[originally from svn r4627]
2004-10-15 09:16:58 +00:00
Simon Tatham e49ce5559b I broke ordinary line wrapping as a result of retiring cpos. Oops.
[originally from svn r4626]
2004-10-15 09:06:45 +00:00
Simon Tatham db54732e38 Fix cursor display on a combined character cell.
[originally from svn r4625]
2004-10-15 08:51:57 +00:00
Simon Tatham 557256c38e Mark cc_check() and all calls to it with the new
XXX-REMOVE-BEFORE-RELEASE tag, since they're performance-intensive.
And now that I'm reasonably confident of remembering to remove them
before the next release, I feel less guilty about adding them willy-
nilly all over the place, so I've shoved in a couple more for now :-)

[originally from svn r4624]
2004-10-15 08:22:49 +00:00
Simon Tatham ba8f3d464b I'm instituting a policy that before every release I will grep the
PuTTY source for the word XXX-REMOVE-BEFORE-RELEASE, and not release
until I've got rid of all of them. Hence, here's an addition to the
release checklist which will remind me to do so.

I don't want this mechanism to seriously inhibit a release by being
a placeholder for a large piece of work we might never get round to.
It should be used only in cases where it's _simple_ to change the
offending code: for example, a performance-impacting diagnostic
might be invaluable while testing nightly snapshots but wouldn't
want to slow down everyone's next release, and it's easy to get rid
of on release day.

[originally from svn r4623]
2004-10-15 08:16:29 +00:00
Simon Tatham 089775eb02 First-stage support for Unicode combining characters. The `chars'
array of each `termline' structure now contains optional additional
entries after the normal number of columns, which are used to chain
a linked list of combining characters off any primary termchar that
needs it. This means we support arbitrarily many combining
characters per cell (unlike xterm's hard limit of 2).

Cut and paste works correctly (selecting a character cell containing
multiple code points causes all those code points to be cut and
pasted). Display works by simply overlaying all the relevant
characters on top of one another; this is good enough for Unix
(xterm does the same thing), and mostly seems OK for Windows except
that the Windows Unicode fonts have a nasty habit of not containing
most of the combining characters and thus overlaying an
unknown-code-point box on your perfectly good base glyph.

I had no idea how to add support in the Mac do_text(), so I've
simply stuck in an assertion that will trigger the first time a
combining character is displayed, and hopefully this will bite
someone with the clue to fix it.

[originally from svn r4622]
2004-10-14 16:42:43 +00:00
Simon Tatham dd279dffc2 Implement part of `ssh2-generality': introduce the ability to tell
PuTTY / Plink not to run a remote shell/command at all. Supported in
the GUI configuration and via the (OpenSSH-like) -N command-line
option.

No effort is currently made to arrange `nice' UI properties. If you
do this in GUI PuTTY, a full-size terminal window will still be
created, and will sit there with almost nothing in it throughout
your session. If you do it in Plink, Plink will not accept any kind
of request to terminate gracefully; you'll have to ^C or kill it.
Nonetheless, even this little will be useful to some people...

[originally from svn r4614]
2004-10-13 13:43:11 +00:00
Simon Tatham 8f656a37b5 Fix segfaults in terminal resizing, introduced by re-engineering.
[originally from svn r4613]
2004-10-13 13:35:29 +00:00