u/mdw/putty
19 years agoNow that we have Subversion's file renaming ability, it's time at
simon [Tue, 16 Nov 2004 22:14:56 +0000 (22:14 +0000)]
Now that we have Subversion's file renaming ability, it's time at
long last to move all the Windows-specific source files down into a
`windows' subdirectory. Only platform-specific files remain at the
top level. With any luck this will act as a hint to anyone still
contemplating sending us a Windows-centric patch...

git-svn-id: svn://svn.tartarus.org/sgt/putty@4792 cda61777-01e9-0310-a592-d414129be87e

19 years agoVarious changes related to the Subversion migration.
simon [Tue, 16 Nov 2004 18:01:39 +0000 (18:01 +0000)]
Various changes related to the Subversion migration.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4790 cda61777-01e9-0310-a592-d414129be87e

19 years agoRemove .cvsignore files on all active branches.
simon [Tue, 16 Nov 2004 15:29:14 +0000 (15:29 +0000)]
Remove .cvsignore files on all active branches.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4788 cda61777-01e9-0310-a592-d414129be87e

19 years agoCVS revision numbers, stored as `cvs2svn:cvs-rev' properties, are a
simon [Tue, 16 Nov 2004 15:27:00 +0000 (15:27 +0000)]
CVS revision numbers, stored as `cvs2svn:cvs-rev' properties, are a
useful piece of history in this repository but we don't want to
preserve their latest values on future commits. Accordingly, I'm
deleting them from all active development (though not from past
release branches).

git-svn-id: svn://svn.tartarus.org/sgt/putty@4787 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention that comp.terminals may also be a useful newsgroup.
jacob [Mon, 15 Nov 2004 15:57:28 +0000 (15:57 +0000)]
Mention that comp.terminals may also be a useful newsgroup.
I've done this by centralising information about newsgroups in feedback.but
and linking to that from elsewhere; I've also put in a link to Google Groups.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4781 cda61777-01e9-0310-a592-d414129be87e

19 years agoMiloslav Cempirek Ing points out that we should return from
simon [Mon, 15 Nov 2004 11:10:36 +0000 (11:10 +0000)]
Miloslav Cempirek Ing points out that we should return from
sessionsaver_handler after processing a one-click saved session
launch, to protect against accidentally calling dlg_end twice on the
same dialog.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4779 cda61777-01e9-0310-a592-d414129be87e

19 years agoI masked off LATTR_WRAPPED et al in do_text_internal(), but forgot
simon [Thu, 11 Nov 2004 09:40:50 +0000 (09:40 +0000)]
I masked off LATTR_WRAPPED et al in do_text_internal(), but forgot
to do the same in do_cursor(). Bet that's the cause of Andrey
Borzenkov's cursor positioning bug.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4770 cda61777-01e9-0310-a592-d414129be87e

19 years agoDJSD requests a force-monochrome option for users who dislike angry-
simon [Tue, 9 Nov 2004 17:57:32 +0000 (17:57 +0000)]
DJSD requests a force-monochrome option for users who dislike angry-
fruit-salad applications :-)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4762 cda61777-01e9-0310-a592-d414129be87e

19 years agoNote upper limit of WM_SYSCOMMAND identifiers in a comment.
jacob [Tue, 2 Nov 2004 23:06:43 +0000 (23:06 +0000)]
Note upper limit of WM_SYSCOMMAND identifiers in a comment.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4734 cda61777-01e9-0310-a592-d414129be87e

19 years agoGo back to using intervals of 16 for the saved session identifiers for the
jacob [Tue, 2 Nov 2004 23:06:20 +0000 (23:06 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4733 cda61777-01e9-0310-a592-d414129be87e

19 years agoSimon has reminded me _why_ menu identifiers were spaced every sixteen, so
jacob [Tue, 2 Nov 2004 22:30:24 +0000 (22:30 +0000)]
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>

git-svn-id: svn://svn.tartarus.org/sgt/putty@4732 cda61777-01e9-0310-a592-d414129be87e

19 years agoSince neither I nor Owen know why the IDM_ values for the saved-sessions
jacob [Tue, 2 Nov 2004 17:44:06 +0000 (17:44 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4731 cda61777-01e9-0310-a592-d414129be87e

19 years agoArgh, I messed up SSH1 remote tunnels too (same mistake).
jacob [Mon, 1 Nov 2004 14:18:37 +0000 (14:18 +0000)]
Argh, I messed up SSH1 remote tunnels too (same mistake).

git-svn-id: svn://svn.tartarus.org/sgt/putty@4728 cda61777-01e9-0310-a592-d414129be87e

19 years agoAhem, let's not try initialising a static with a non-constant initialiser.
jacob [Mon, 1 Nov 2004 00:47:37 +0000 (00:47 +0000)]
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).

git-svn-id: svn://svn.tartarus.org/sgt/putty@4727 cda61777-01e9-0310-a592-d414129be87e

19 years agoArgh. Failure to make a variable static to get round coroutine
jacob [Mon, 1 Nov 2004 00:17:31 +0000 (00:17 +0000)]
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...

git-svn-id: svn://svn.tartarus.org/sgt/putty@4725 cda61777-01e9-0310-a592-d414129be87e

19 years agoMalcolm Rowe spotted that we broke display of SSH2_MSG_DEBUG messages while
jacob [Thu, 28 Oct 2004 00:23:44 +0000 (00:23 +0000)]
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().)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4718 cda61777-01e9-0310-a592-d414129be87e

19 years agoMalcolm Rowe's UI tweak patch for About/Licence: recognise `Esc' to close
jacob [Wed, 27 Oct 2004 15:50:52 +0000 (15:50 +0000)]
Malcolm Rowe's UI tweak patch for About/Licence: recognise `Esc' to close
windows (PuTTY, Pageant, PuTTYgen); Licence window parent in PuTTY.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4715 cda61777-01e9-0310-a592-d414129be87e

19 years agoGood grief! I should create the `htmldoc' subdir in the release tree
simon [Tue, 26 Oct 2004 19:47:35 +0000 (19:47 +0000)]
Good grief! I should create the `htmldoc' subdir in the release tree
_before_ I create the md5sums files. I am a gibbon.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4702 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd bumping version number on trunk to new post-release checklist.
jacob [Tue, 26 Oct 2004 19:32:25 +0000 (19:32 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4700 cda61777-01e9-0310-a592-d414129be87e

19 years agoMerge version number bump (0.56) from release branch.
jacob [Tue, 26 Oct 2004 18:59:39 +0000 (18:59 +0000)]
Merge version number bump (0.56) from release branch.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4699 cda61777-01e9-0310-a592-d414129be87e

19 years agoReorder a couple of points on the wishlist, and also add a few
simon [Tue, 26 Oct 2004 18:44:42 +0000 (18:44 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4698 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd a note about documentation of the Unix port (i.e., we don't, specifically).
jacob [Sun, 24 Oct 2004 22:57:36 +0000 (22:57 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4690 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention -i.
jacob [Sun, 24 Oct 2004 18:30:10 +0000 (18:30 +0000)]
Mention -i.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4688 cda61777-01e9-0310-a592-d414129be87e

19 years agoRandom tweaks:
jacob [Sun, 24 Oct 2004 18:26:00 +0000 (18:26 +0000)]
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

git-svn-id: svn://svn.tartarus.org/sgt/putty@4686 cda61777-01e9-0310-a592-d414129be87e

19 years agoFreshness tweaks:
jacob [Sun, 24 Oct 2004 16:48:43 +0000 (16:48 +0000)]
Freshness tweaks:
 - mention `Restart Session'
 - tweak language of `-N' (plural->singular)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4684 cda61777-01e9-0310-a592-d414129be87e

19 years agoFreshness tweaks:
jacob [Sun, 24 Oct 2004 16:24:58 +0000 (16:24 +0000)]
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

git-svn-id: svn://svn.tartarus.org/sgt/putty@4681 cda61777-01e9-0310-a592-d414129be87e

19 years agoDifferences between protocols: remove the entire paragraph about environment
jacob [Sun, 24 Oct 2004 15:58:31 +0000 (15:58 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4679 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention PSFTP on title page
jacob [Sun, 24 Oct 2004 15:41:44 +0000 (15:41 +0000)]
Mention PSFTP on title page

git-svn-id: svn://svn.tartarus.org/sgt/putty@4678 cda61777-01e9-0310-a592-d414129be87e

19 years agoBetter bounds checking in the exit-signal handler.
simon [Fri, 22 Oct 2004 16:50:51 +0000 (16:50 +0000)]
Better bounds checking in the exit-signal handler.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4670 cda61777-01e9-0310-a592-d414129be87e

19 years agoWe ought to be using the ssh_pkt_* routines for the messages which we
simon [Fri, 22 Oct 2004 16:47:46 +0000 (16:47 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4669 cda61777-01e9-0310-a592-d414129be87e

19 years agoI just had a need to decode a piece of Zlib data from out of the
simon [Thu, 21 Oct 2004 10:59:53 +0000 (10:59 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4657 cda61777-01e9-0310-a592-d414129be87e

19 years agoMunge line-drawing description to match current naming and order of options
jacob [Tue, 19 Oct 2004 13:54:50 +0000 (13:54 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4654 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd support for logging "exit-signal", why not.
jacob [Mon, 18 Oct 2004 00:41:48 +0000 (00:41 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4653 cda61777-01e9-0310-a592-d414129be87e

19 years agoSupport the SSH-2 mechanism for sending signals to a running session. Neither
jacob [Sun, 17 Oct 2004 21:22:22 +0000 (21:22 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4652 cda61777-01e9-0310-a592-d414129be87e

19 years agoWe shouldn't offer the Break special when we don't have a session to send it
jacob [Sun, 17 Oct 2004 15:32:42 +0000 (15:32 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4650 cda61777-01e9-0310-a592-d414129be87e

19 years agoTelnet specials menu was not being reinstated after a session was restarted in
jacob [Sun, 17 Oct 2004 14:44:27 +0000 (14:44 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4649 cda61777-01e9-0310-a592-d414129be87e

19 years agoMarkus Kuhn's UTF-8 page
simon [Sat, 16 Oct 2004 14:17:58 +0000 (14:17 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4648 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix bug in scrollback compression, which manifested when attempting
simon [Sat, 16 Oct 2004 12:36:50 +0000 (12:36 +0000)]
Fix bug in scrollback compression, which manifested when attempting
to encode a very long (len>128) run of the same literal.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4647 cda61777-01e9-0310-a592-d414129be87e

19 years agoMoved the environment variables config block out of the Telnet panel
simon [Sat, 16 Oct 2004 10:56:54 +0000 (10:56 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4645 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention plink's new -N option in usage and man page.
jacob [Fri, 15 Oct 2004 23:32:01 +0000 (23:32 +0000)]
Mention plink's new -N option in usage and man page.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4643 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix two memory leaks in the new code. (There's no point compressing
simon [Fri, 15 Oct 2004 12:37:44 +0000 (12:37 +0000)]
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 :-)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4638 cda61777-01e9-0310-a592-d414129be87e

19 years agoAnd fix _cursor_ display on double-width double-width characters (as
simon [Fri, 15 Oct 2004 12:25:51 +0000 (12:25 +0000)]
And fix _cursor_ display on double-width double-width characters (as
it were).

git-svn-id: svn://svn.tartarus.org/sgt/putty@4637 cda61777-01e9-0310-a592-d414129be87e

19 years agoDouble-height and double-width line attributes (ESC#3, ESC#4, ESC#6)
simon [Fri, 15 Oct 2004 12:17:48 +0000 (12:17 +0000)]
Double-height and double-width line attributes (ESC#3, ESC#4, ESC#6)
were not working correctly with double-width Unicode characters (CJK).

git-svn-id: svn://svn.tartarus.org/sgt/putty@4636 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd missing check_boundary() calls in destructive backspace handler.
simon [Fri, 15 Oct 2004 11:51:26 +0000 (11:51 +0000)]
Add missing check_boundary() calls in destructive backspace handler.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4635 cda61777-01e9-0310-a592-d414129be87e

19 years agoA combining character on U+0020 SPACE stops it from being
simon [Fri, 15 Oct 2004 11:42:02 +0000 (11:42 +0000)]
A combining character on U+0020 SPACE stops it from being
`uninteresting' to the clipboard processing.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4634 cda61777-01e9-0310-a592-d414129be87e

19 years agoMark the trial decompress in every call to compressline() with the
simon [Fri, 15 Oct 2004 11:29:02 +0000 (11:29 +0000)]
Mark the trial decompress in every call to compressline() with the
XXX-REMOVE-BEFORE-RELEASE tag.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4633 cda61777-01e9-0310-a592-d414129be87e

19 years agoDon't forget to flush the bidi cache when the user enables or
simon [Fri, 15 Oct 2004 11:14:42 +0000 (11:14 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4632 cda61777-01e9-0310-a592-d414129be87e

19 years agoStore line widths in the bidi cache, so we don't fail to re-bidi a
simon [Fri, 15 Oct 2004 11:11:19 +0000 (11:11 +0000)]
Store line widths in the bidi cache, so we don't fail to re-bidi a
line when the window size changes.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4631 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix many bugs in resizeline().
simon [Fri, 15 Oct 2004 10:48:27 +0000 (10:48 +0000)]
Fix many bugs in resizeline().

git-svn-id: svn://svn.tartarus.org/sgt/putty@4629 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix applying combining characters to double-width characters.
simon [Fri, 15 Oct 2004 09:28:46 +0000 (09:28 +0000)]
Fix applying combining characters to double-width characters.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4628 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix Windows redraw problem on RH half of wrapped lines. (term_paint
simon [Fri, 15 Oct 2004 09:16:58 +0000 (09:16 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4627 cda61777-01e9-0310-a592-d414129be87e

19 years agoI broke ordinary line wrapping as a result of retiring cpos. Oops.
simon [Fri, 15 Oct 2004 09:06:45 +0000 (09:06 +0000)]
I broke ordinary line wrapping as a result of retiring cpos. Oops.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4626 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix cursor display on a combined character cell.
simon [Fri, 15 Oct 2004 08:51:57 +0000 (08:51 +0000)]
Fix cursor display on a combined character cell.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4625 cda61777-01e9-0310-a592-d414129be87e

19 years agoMark cc_check() and all calls to it with the new
simon [Fri, 15 Oct 2004 08:22:49 +0000 (08:22 +0000)]
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 :-)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4624 cda61777-01e9-0310-a592-d414129be87e

19 years agoI'm instituting a policy that before every release I will grep the
simon [Fri, 15 Oct 2004 08:16:29 +0000 (08:16 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4623 cda61777-01e9-0310-a592-d414129be87e

19 years agoFirst-stage support for Unicode combining characters. The `chars'
simon [Thu, 14 Oct 2004 16:42:43 +0000 (16:42 +0000)]
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.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4622 cda61777-01e9-0310-a592-d414129be87e

19 years agoImplement part of `ssh2-generality': introduce the ability to tell
simon [Wed, 13 Oct 2004 13:43:11 +0000 (13:43 +0000)]
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...

git-svn-id: svn://svn.tartarus.org/sgt/putty@4614 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix segfaults in terminal resizing, introduced by re-engineering.
simon [Wed, 13 Oct 2004 13:35:29 +0000 (13:35 +0000)]
Fix segfaults in terminal resizing, introduced by re-engineering.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4613 cda61777-01e9-0310-a592-d414129be87e

19 years agoI think we've been told before that you're not supposed to
simon [Wed, 13 Oct 2004 12:29:50 +0000 (12:29 +0000)]
I think we've been told before that you're not supposed to
CloseHandle() the thing returned from MonitorFromPoint. Certainly MS
Visual Studio's debugger complained about it just now. CloseHandle()
call removed.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4612 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix '/*' in comment.
jacob [Wed, 13 Oct 2004 12:10:30 +0000 (12:10 +0000)]
Fix '/*' in comment.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4611 cda61777-01e9-0310-a592-d414129be87e

19 years agoRe-engineering of terminal emulator, phase 1.
simon [Wed, 13 Oct 2004 11:50:16 +0000 (11:50 +0000)]
Re-engineering of terminal emulator, phase 1.

The active terminal screen is no longer an array of `unsigned long'
encoding 16-bit Unicode plus 16 attribute bits. Now it's an array of
`termchar' structures, which currently have 32-bit Unicode and 32
attribute bits but which will probably expand further in future.

To prevent bloat of the memory footprint, I've introduced a mostly
RLE-like compression scheme for storing scrollback: each line is
compressed into a compact (but hard to modify) form when it moves
into the term->scrollback tree, and is temporarily decompressed when
the user wants to scroll back over it. My initial tests suggest that
this compression averages about 1/4 of the previous (32 bits per
character cell) data size in typical output, which means this is an
improvement even without counting the new ability to extend the
information stored in each character cell.

Another beneficial side effect is that the insane format in which
Unicode was passed to front ends through do_text() has now been
rendered sane.

Testing is incomplete; this _may_ still have instabilities. Windows
and Unix front ends both seem to work as far as I've looked, but I
haven't yet looked very hard. The Mac front end I've edited (it
seemed obvious how to change it) but I can't compile or test it.

As an immediate functional effect, the terminal emulator now
supports full 32-bit Unicode to whatever extent the host platform
allows it to. For example, if you output a 4-or-more-byte UTF-8
character in Unix pterm, it will not display it properly, but it
will correctly paste it back out in a UTF8_STRING selection. Windows
is more restricted, sadly.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4609 cda61777-01e9-0310-a592-d414129be87e

19 years agofaq-alternate-localhost: You can now download the fix directly rather than
jacob [Fri, 8 Oct 2004 12:38:08 +0000 (12:38 +0000)]
faq-alternate-localhost: You can now download the fix directly rather than
having to go through MS support.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4607 cda61777-01e9-0310-a592-d414129be87e

19 years agofaq-permission: xref licence
jacob [Thu, 7 Oct 2004 10:19:46 +0000 (10:19 +0000)]
faq-permission: xref licence

git-svn-id: svn://svn.tartarus.org/sgt/putty@4606 cda61777-01e9-0310-a592-d414129be87e

19 years agoX forwarding changes:
jacob [Wed, 6 Oct 2004 22:31:07 +0000 (22:31 +0000)]
X forwarding changes:
 - new function platform_get_x_display() to find a sensible local display.
   On Unix, the Gtk apps weren't taking account of --display when
   determining where to send forwarded X traffic.
 - explicitly document that leaving X display location blank in config tries
   to do something sensible (and that it's now blank by default)
 - don't override X11Display setting in plink, since that's more properly
   done later

git-svn-id: svn://svn.tartarus.org/sgt/putty@4604 cda61777-01e9-0310-a592-d414129be87e

19 years ago`ssh-log-pw-blank': known password fields are now omitted from SSH packet logs
jacob [Sat, 2 Oct 2004 00:33:27 +0000 (00:33 +0000)]
`ssh-log-pw-blank': known password fields are now omitted from SSH packet logs
by default (although they can be included). There's also an option to remove
session data, which is good both for privacy and for reducing the size of
logfiles.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4593 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention the negotiated SSH-2 MAC algorithm(s) in the Event Log.
jacob [Wed, 29 Sep 2004 23:57:03 +0000 (23:57 +0000)]
Mention the negotiated SSH-2 MAC algorithm(s) in the Event Log.
(It should be possible to at least see what MAC is in use without going to a
SSH packet log.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4591 cda61777-01e9-0310-a592-d414129be87e

19 years agoReport details in Event Log when receiving SSH2_MSG_CHANNEL_OPEN_FAILURE.
simon [Wed, 29 Sep 2004 12:38:45 +0000 (12:38 +0000)]
Report details in Event Log when receiving SSH2_MSG_CHANNEL_OPEN_FAILURE.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4589 cda61777-01e9-0310-a592-d414129be87e

19 years agoLine (as opposed to block) cursors were being displayed when they shouldn't
jacob [Tue, 28 Sep 2004 20:42:39 +0000 (20:42 +0000)]
Line (as opposed to block) cursors were being displayed when they shouldn't
have been, including when they were blinked off. Fixes Debian bug #272877.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4586 cda61777-01e9-0310-a592-d414129be87e

19 years ago"Incoming packet was garbled on decryption": I think this could in principle
jacob [Mon, 27 Sep 2004 00:23:19 +0000 (00:23 +0000)]
"Incoming packet was garbled on decryption": I think this could in principle
be due to corruption on the wire?

git-svn-id: svn://svn.tartarus.org/sgt/putty@4582 cda61777-01e9-0310-a592-d414129be87e

19 years agoTreat USER specially in event logging of Telnet ENVIRON option; it's
jacob [Wed, 22 Sep 2004 22:38:23 +0000 (22:38 +0000)]
Treat USER specially in event logging of Telnet ENVIRON option; it's
occasionally been a pain that the username wasn't visible in the Event Log.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4573 cda61777-01e9-0310-a592-d414129be87e

19 years agoDocument telnet_keyboard more completely, cross-reference from "Special
jacob [Wed, 22 Sep 2004 22:15:25 +0000 (22:15 +0000)]
Document telnet_keyboard more completely, cross-reference from "Special
Commands" section, and tweak option description in code.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4572 cda61777-01e9-0310-a592-d414129be87e

19 years agofaq-missing-slash: the missing-slash-in-PSFTP OpenSSH bug keeps coming up.
jacob [Wed, 22 Sep 2004 14:07:35 +0000 (14:07 +0000)]
faq-missing-slash: the missing-slash-in-PSFTP OpenSSH bug keeps coming up.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4568 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd `OSU_1.5alpha4' to BUG_CHOKES_ON_SSH1_IGNORE; this is apparently enough to
jacob [Tue, 21 Sep 2004 21:04:28 +0000 (21:04 +0000)]
Add `OSU_1.5alpha4' to BUG_CHOKES_ON_SSH1_IGNORE; this is apparently enough to
enable login with this version. (I'd suspected as much -- see ssh.c CVS
log 1.299 [r3359] -- and Geoffrey Hughes has now confirmed this.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4566 cda61777-01e9-0310-a592-d414129be87e

19 years ago`ampersat-in-username': tweak `strchr' to `strrchr' where necessary to
jacob [Tue, 21 Sep 2004 16:49:51 +0000 (16:49 +0000)]
`ampersat-in-username': tweak `strchr' to `strrchr' where necessary to
consistently support usernames containing `@'.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4563 cda61777-01e9-0310-a592-d414129be87e

19 years agoReformat special commands to use \b instead of \dt / \dd.
jacob [Mon, 20 Sep 2004 22:10:09 +0000 (22:10 +0000)]
Reformat special commands to use \b instead of \dt / \dd.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4558 cda61777-01e9-0310-a592-d414129be87e

19 years agoExplicitly list all the special commands supported by PuTTY.
jacob [Mon, 20 Sep 2004 22:06:29 +0000 (22:06 +0000)]
Explicitly list all the special commands supported by PuTTY.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4557 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd accelerator for "Special Command" sub-menu.
jacob [Mon, 20 Sep 2004 21:42:27 +0000 (21:42 +0000)]
Add accelerator for "Special Command" sub-menu.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4556 cda61777-01e9-0310-a592-d414129be87e

19 years agoFirst gentle encouragement to direct mirroring efforts to regions where we
jacob [Sun, 19 Sep 2004 23:49:46 +0000 (23:49 +0000)]
First gentle encouragement to direct mirroring efforts to regions where we
don't already _have_ lots of mirrors.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4550 cda61777-01e9-0310-a592-d414129be87e

19 years agoMake it a bit easier to find our explanation of `raw' mode.
jacob [Fri, 17 Sep 2004 14:26:39 +0000 (14:26 +0000)]
Make it a bit easier to find our explanation of `raw' mode.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4547 cda61777-01e9-0310-a592-d414129be87e

19 years agoTweak language re "Remote ports [accept connections from other hosts]"
jacob [Thu, 16 Sep 2004 15:44:58 +0000 (15:44 +0000)]
Tweak language re "Remote ports [accept connections from other hosts]"

git-svn-id: svn://svn.tartarus.org/sgt/putty@4546 cda61777-01e9-0310-a592-d414129be87e

19 years ago`dwalin' spotted a NULL dereference in the new makekey() error
simon [Sun, 12 Sep 2004 22:02:06 +0000 (22:02 +0000)]
`dwalin' spotted a NULL dereference in the new makekey() error
handling. Oops.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4541 cda61777-01e9-0310-a592-d414129be87e

19 years agoMention requirement for Gtk+-1.2.
jacob [Thu, 9 Sep 2004 18:00:05 +0000 (18:00 +0000)]
Mention requirement for Gtk+-1.2.
Other minor cleanups.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4539 cda61777-01e9-0310-a592-d414129be87e

19 years agoMake it clearer that the XP SP2 hotfix is described in the KB article.
jacob [Thu, 9 Sep 2004 10:37:17 +0000 (10:37 +0000)]
Make it clearer that the XP SP2 hotfix is described in the KB article.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4538 cda61777-01e9-0310-a592-d414129be87e

19 years agoImproved diagnostics in port-forwarding: we now log any error returned by
jacob [Fri, 3 Sep 2004 13:46:39 +0000 (13:46 +0000)]
Improved diagnostics in port-forwarding: we now log any error returned by
pfd_addforward() rather than just ignoring it.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4529 cda61777-01e9-0310-a592-d414129be87e

19 years agoIn SSH-2, list each compression algorithm only once. (No particular reason
jacob [Fri, 3 Sep 2004 12:28:19 +0000 (12:28 +0000)]
In SSH-2, list each compression algorithm only once. (No particular reason
for this change, just tidiness.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4528 cda61777-01e9-0310-a592-d414129be87e

19 years agoBleh, grammar.
jacob [Wed, 1 Sep 2004 10:19:22 +0000 (10:19 +0000)]
Bleh, grammar.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4523 cda61777-01e9-0310-a592-d414129be87e

19 years agoDocumentation existence of SOCKS5 CHAP authentication.
jacob [Wed, 1 Sep 2004 10:12:41 +0000 (10:12 +0000)]
Documentation existence of SOCKS5 CHAP authentication.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4522 cda61777-01e9-0310-a592-d414129be87e

19 years agoBen Hutchings points out that the initial states of the key-type
simon [Tue, 31 Aug 2004 18:26:54 +0000 (18:26 +0000)]
Ben Hutchings points out that the initial states of the key-type
radio buttons and menu items are inconsistent.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4521 cda61777-01e9-0310-a592-d414129be87e

19 years agoCredit Malcolm Smith in the copyrights.
simon [Mon, 30 Aug 2004 13:23:23 +0000 (13:23 +0000)]
Credit Malcolm Smith in the copyrights.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4518 cda61777-01e9-0310-a592-d414129be87e

19 years agoMalcolm Smith's patch to support CHAP (digest-based) authentication
simon [Mon, 30 Aug 2004 13:11:17 +0000 (13:11 +0000)]
Malcolm Smith's patch to support CHAP (digest-based) authentication
when talking to SOCKS 5 proxies. Configures itself transparently (if
the proxy offers CHAP it will use it, otherwise it falls back to
ordinary cleartext passwords).

git-svn-id: svn://svn.tartarus.org/sgt/putty@4517 cda61777-01e9-0310-a592-d414129be87e

19 years agoMore sensible error handling when we receive an SSH1 public key
simon [Sat, 28 Aug 2004 16:51:26 +0000 (16:51 +0000)]
More sensible error handling when we receive an SSH1 public key
modulus of zero (!!), and also a robustness fix in ssh1_rdpkt which
I happened to notice while debugging that.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4516 cda61777-01e9-0310-a592-d414129be87e

19 years agofaq-alternate-localhost language tweak
jacob [Fri, 27 Aug 2004 13:33:25 +0000 (13:33 +0000)]
faq-alternate-localhost language tweak

git-svn-id: svn://svn.tartarus.org/sgt/putty@4509 cda61777-01e9-0310-a592-d414129be87e

19 years agoHandle WM_SYSCOLORCHANGE if using system colours. (Resets the whole palette,
jacob [Fri, 27 Aug 2004 12:24:08 +0000 (12:24 +0000)]
Handle WM_SYSCOLORCHANGE if using system colours. (Resets the whole palette,
whereas ideally it would restrict itself to the affected colour slots.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4505 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd comments indicating why these manifest files are present at all.
jacob [Wed, 25 Aug 2004 09:20:41 +0000 (09:20 +0000)]
Add comments indicating why these manifest files are present at all.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4498 cda61777-01e9-0310-a592-d414129be87e

19 years agoPatch to use enum constants for cfg.funky_type instead of numeric
jacob [Fri, 20 Aug 2004 14:04:13 +0000 (14:04 +0000)]
Patch to use enum constants for cfg.funky_type instead of numeric
literals, from "Anthony" <410C2A86.2010003@mail2004.ajrh.net>.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4491 cda61777-01e9-0310-a592-d414129be87e

19 years agoalternate-localhost: add "apparently" since none of this is first-hand
jacob [Fri, 20 Aug 2004 09:09:01 +0000 (09:09 +0000)]
alternate-localhost: add "apparently" since none of this is first-hand

git-svn-id: svn://svn.tartarus.org/sgt/putty@4488 cda61777-01e9-0310-a592-d414129be87e

19 years agoalternate-localhost WinXP SP2: apparently SP2 fixes the problem with
jacob [Fri, 20 Aug 2004 08:32:30 +0000 (08:32 +0000)]
alternate-localhost WinXP SP2: apparently SP2 fixes the problem with
Terminal Services that meant you needed to use alternate-localhost in
the first place!

git-svn-id: svn://svn.tartarus.org/sgt/putty@4487 cda61777-01e9-0310-a592-d414129be87e

19 years agoFix an annoying inconsistency that's been bugging me for years: "plink host"
jacob [Thu, 19 Aug 2004 15:05:31 +0000 (15:05 +0000)]
Fix an annoying inconsistency that's been bugging me for years: "plink host"
and "plink user@host" differed in that the former attempted to load session
`host' while the latter didn't. Now both forms attempt to load a session.
Someone will probably complain, but hey.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4485 cda61777-01e9-0310-a592-d414129be87e

19 years agoRemove claim in usage text that Plink defaults to SSH, since it's not true
jacob [Thu, 19 Aug 2004 13:15:02 +0000 (13:15 +0000)]
Remove claim in usage text that Plink defaults to SSH, since it's not true
in a number of situations.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4484 cda61777-01e9-0310-a592-d414129be87e

19 years agoAdd the WinXPSP2 alternate-localhost problem to the FAQ.
jacob [Thu, 19 Aug 2004 12:58:14 +0000 (12:58 +0000)]
Add the WinXPSP2 alternate-localhost problem to the FAQ.

git-svn-id: svn://svn.tartarus.org/sgt/putty@4481 cda61777-01e9-0310-a592-d414129be87e