Add `can PSCP and PSFTP do ASCII mode?' to the FAQ.
[u/mdw/putty] / doc / faq.but
index 77245fa..5405bcc 100644 (file)
@@ -1,4 +1,4 @@
-\versionid $Id: faq.but,v 1.14 2001/12/14 12:48:24 simon Exp $
+\versionid $Id: faq.but,v 1.19 2002/01/23 09:43:10 simon Exp $
 
 \A{faq} PuTTY FAQ
 
@@ -31,8 +31,8 @@ However, currently the \e{default} SSH protocol is v1; to select SSH
 v2 if your server supports both, go to the SSH panel and change the
 \e{Preferred SSH protocol version} option.
 
-Public key authentication (both RSA and DSA) in SSH v2 has been
-added since version 0.51.
+Public key authentication (both RSA and DSA) in SSH v2 is new in
+version 0.52.
 
 \S{faq-ssh2-keyfmt}{Question} Does PuTTY support reading OpenSSH or
 \cw{ssh.com} SSHv2 private key files?
@@ -48,25 +48,20 @@ Yes. SSH 1 support has always been available in PuTTY.
 
 \S{faq-localecho}{Question} Does PuTTY support local echo?
 
-Yes.
+Yes. Version 0.52 has proper support for local echo.
 
-In version 0.51 and before, local echo cannot be separated from
+In version 0.51 and before, local echo could not be separated from
 local line editing (where you type a line of text locally, and it is
 not sent to the server until you press Return, so you have the
 chance to edit it and correct mistakes \e{before} the server sees
-it). The two features can be enabled and disabled from the Terminal
-panel, using the checkbox marked \q{Use local terminal line
-discipline}. Note that due to a bug in those versions of PuTTY,
-changing this feature in mid-session will have no effect; you have
-to enable it \e{before} you open the connection.
-
-In later versions, local echo and local line editing are separate
-options, and by default PuTTY will try to determine automatically
-whether to enable them or not, based on which protocol you have
-selected and also based on hints from the server. If you have a
-problem with PuTTY's default choice, you can force each option to be
-enabled or disabled as you choose. The controls are in the Terminal
-panel, in the section marked \q{Line discipline options}.
+it). New in version 0.52, local echo and local line editing are
+separate options, and by default PuTTY will try to determine
+automatically whether to enable them or not, based on which protocol
+you have selected and also based on hints from the server. If you
+have a problem with PuTTY's default choice, you can force each
+option to be enabled or disabled as you choose. The controls are in
+the Terminal panel, in the section marked \q{Line discipline
+options}.
 
 \S{faq-disksettings}{Question} Does PuTTY support storing its
 settings in a disk file?
@@ -77,7 +72,7 @@ a method of achieving the same effect.
 \S{faq-fullscreen}{Question} Does PuTTY support full-screen mode,
 like a DOS box?
 
-Not in the 0.51 release, but it has been added since then.
+Yes; this is a new feature in version 0.52.
 
 \S{faq-password-remember}{Question} Does PuTTY have the ability to
 remember my password so I don't have to type it every time?
@@ -153,6 +148,18 @@ it would be for us to write a server from the ground up. We don't
 have time, and we don't have motivation. The code is available if
 anyone else wants to try it.
 
+\S{faq-pscp-ascii}{Question} Can PSCP or PSFTP transfer files in
+ASCII mode?
+
+Unfortunately not. This is a limitation of the file transfer
+protocols: the SCP and SFTP protocols have no notion of transferring
+a file in anything other than binary mode.
+
+SFTP is designed to be extensible, so it's possible that an
+extension might be proposed at some later date that implements ASCII
+transfer. But the PuTTY team can't do anything about it until that
+happens.
+
 \H{faq-ports} Ports to other operating systems
 
 The eventual goal is for PuTTY to be a multi-platform program, able
@@ -183,6 +190,23 @@ system.
 However, PuTTY on portable devices would clearly be a useful thing,
 so in the long term I hope there will be a WinCE port.
 
+\S{faq-win31}{Question} Is there a port to Windows 3.1?
+
+PuTTY is a 32-bit application from the ground up, so it won't run on
+Windows 3.1 as a native 16-bit program; and it would be \e{very}
+hard to port it to do so, because of Windows 3.1's vile memory
+allocation mechanisms.
+
+However, it is possible in theory to compile the existing PuTTY
+source in such a way that it will run under Win32s (an extension to
+Windows 3.1 to let you run 32-bit programs). In order to do this
+you'll need the right kind of C compiler - modern versions of Visual
+C at least have stopped being backwards compatible to Win32s. Also,
+the last time we tried this it didn't work very well.
+
+If you're interested in running PuTTY under Windows 3.1, help and
+testing in this area would be very welcome!
+
 \S{faq-mac-port}{Question} Will there be a port to the Mac?
 
 A Mac port was started once and is half-finished, but development
@@ -246,9 +270,7 @@ This is what CVS for Windows does, for example.
 \S{faq-term}{Question} What terminal type does PuTTY use?
 
 For most purposes, PuTTY can be considered to be an \cw{xterm}
-terminal, although full support for some of \cw{xterm}'s features,
-such as passing mouse actions to the server-side program, is not
-present in the 0.51 release (but has been added since).
+terminal.
 
 PuTTY also supports some terminal control sequences not supported by
 the real \cw{xterm}: notably the Linux console sequences that
@@ -327,9 +349,7 @@ You can also paste by pressing Shift-Ins.
 \S{faq-tunnels}{Question} How do I use X forwarding and port
 forwarding? I can't find the Tunnels panel.
 
-If you're looking in the 0.51 release or earlier, the Tunnels panel
-isn't there. It was added in the development snapshots after 0.51,
-and releases 0.52 and onwards will contain it.
+This is a new feature in version 0.52. You should upgrade.
 
 \S{faq-options}{Question} How do I use all PuTTY's features (public
 keys, port forwarding, SSH v2, etc.) in PSCP, PSFTP and Plink?
@@ -399,21 +419,39 @@ expects the client to construct them in the same wrong way. PuTTY
 constructs the MACs correctly by default, and hence these old
 servers will fail to work with it.
 
-If you are using PuTTY version 0.51 or below, go to the SSH panel
-and check the box labelled \q{Imitate SSH 2 MAC bug}. This will
-cause PuTTY to construct its MACs in the same incorrect manner as
-the buggy servers, so it will be able to work with them.
+If you are using PuTTY version 0.52 or better, this should work
+automatically: PuTTY should detect the buggy servers from their
+version number announcement, and automatically start to construct
+its MACs in the same incorrect manner as they do, so it will be able
+to work with them.
 
-Since version 0.51, PuTTY has been enhanced to detect buggy servers
-automatically (when they announce their version) and enable the
-workaround without the user needing to ask. Therefore you \e{should}
-never have to use this option again after 0.52, but it is still
-provided just in case another buggy server shows up.
+If you are using PuTTY version 0.51 or below, you can enable the
+workaround by going to the SSH panel and ticking the box labelled
+\q{Imitate SSH 2 MAC bug}. It's possible that you might have to do
+this with 0.52 as well, if a buggy server exists that PuTTY doesn't
+know about.
 
 In this context MAC stands for Message Authentication Code. It's a
 cryptographic term, and it has nothing at all to do with Ethernet
 MAC (Media Access Control) addresses.
 
+\S{faq-pscp-protocol}{Question} Why do I see \q{Fatal: Protocol
+error: Expected control record} in PSCP?
+
+This happens because PSCP was expecting to see data from the server
+that was part of the PSCP protocol exchange, and instead it saw data
+that it couldn't make any sense of at all.
+
+This almost always happens because the startup scripts in your
+account on the server machine are generating output. This is
+impossible for PSCP, or any other SCP client, to work around. You
+should never use startup files (\c{.bashrc}, \c{.cshrc} and so on)
+which generate output in non-interactive sessions.
+
+This is not actually a PuTTY problem. If PSCP fails in this way,
+then all other SCP clients are likely to fail in exactly the same
+way. The problem is at the server end.
+
 \S{faq-colours}{Question} I clicked on a colour in the Colours
 panel, and the colour didn't change in my terminal.
 
@@ -455,8 +493,7 @@ v2 servers from \cw{ssh.com} will require the key exchange to be
 repeated one hour after the start of the connection, and PuTTY will
 get this wrong.
 
-The bug has been fixed since version 0.51, so upgrading to a later
-version or snapshot should solve the problem.
+Upgrade to version 0.52 and the problem should go away.
 
 \S{faq-outofmem}{Question} After trying to establish an SSH 2
 connection, PuTTY says \q{Out of memory} and dies.
@@ -506,8 +543,8 @@ effect. It will only take effect once you reset the terminal.
 \S{faq-altgr}{Question} I can't type characters that require the
 AltGr key.
 
-In PuTTY version 0.51, the AltGr key was broken. The bug has been
-fixed since then.
+In PuTTY version 0.51, the AltGr key was broken. Upgrade to version
+0.52.
 
 \S{faq-idleout}{Question} My PuTTY sessions unexpectedly close after
 they are idle for a while.
@@ -597,6 +634,41 @@ as a row of asterisks either. This is so that someone looking at
 your screen can't even tell how \e{long} your password is, which
 might be valuable information.
 
+\S{faq-keyboard}{Question} One or more function keys don't do what I
+expected in a server-side application.
+
+If you've already tried all the relevant options in the PuTTY
+Keyboard panel, you may need to mail the PuTTY maintainers and ask.
+
+It is \e{not} usually helpful just to tell us which application,
+which server operating system, and which key isn't working; in order
+to replicate the problem we would need to have a copy of every
+operating system, and every application, that anyone has ever
+complained about.
+
+PuTTY responds to function key presses by sending a sequence of
+control characters to the server. If a function key isn't doing what
+you expect, it's likely that the character sequence your application
+is expecting to receive is not the same as the one PuTTY is sending.
+Therefore what we really need to know is \e{what} sequence the
+application is expecting.
+
+The simplest way to investigate this is to find some other terminal
+environment, in which that function key \e{does} work; and then
+investigate what sequence the function key is sending in that
+situation. One reasonably easy way to do this on a Unix system is to
+type the command \c{cat}, and then press the function key. This is
+likely to produce output of the form \c{^[[11~}. You can also do
+this in PuTTY, to find out what sequence the function key is
+producing in that. Then you can mail the PuTTY maintainers and tell
+us \q{I wanted the F1 key to send \c{^[[11~}, but instead it's
+sending \c{^[OP}, can this be done?}, or something similar.
+
+You should still read the
+\W{http://www.chiark.greenend.org.uk/~sgtatham/putty/feedback.html}{Feedback
+page} on the PuTTY website (also provided as \k{feedback} in the
+manual), and follow the guidelines contained in that.
+
 \H{faq-secure} Security questions
 
 \S{faq-publicpc}{Question} Is it safe for me to download PuTTY and
@@ -733,6 +805,16 @@ developers. If you want to be sure your donation is going towards
 something worthwhile, ask us first. If you don't like these terms,
 feel perfectly free not to donate. We don't mind.
 
+\S{faq-sillyputty}{Question} Where can I buy silly putty?
+
+You're looking at the wrong web site; the only PuTTY we know about
+here is the name of a computer program.
+
+If you want the kind of putty you can buy as an executive toy, the
+PuTTY team can personally recommend Thinking Putty, which you can
+buy from Crazy Aaron's Putty World, at
+\W{http://www.puttyworld.com}\cw{www.puttyworld.com}.
+
 \S{faq-pronounce}{Question} How do I pronounce PuTTY?
 
 Exactly like the normal word \q{putty}. Just like the stuff you put