1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-13 02:23:50 -05:00
Jacob Nevins 8719f92c14 Revamp SSH authentication code so that user interaction is more
abstracted out; replace loops structured around a single interaction
per loop with less tortuous code (fixes: `ki-multiprompt-crash',
`ssh1-bad-passphrase-crash'; makes `ssh2-password-expiry' and
`proxy-password-prompt' easier).

The new interaction abstraction has a lot of fields that are unused in
the current code (things like window captions); this is groundwork for
`gui-auth'. However, ssh.c still writes directly to stderr; that may
want to be fixed.

In the GUI apps, user interaction is moved to terminal.c. This should
make it easier to fix things like UTF-8 username entry, although I
haven't attempted to do so. Also, control character filtering can be
tailored to be appropriate for individual front-ends; so far I don't
promise anything other than not having made it any worse.

I've tried to test this fairly exhaustively (although Mac stuff is
untested, as usual). It all seems to basically work, but I bet there
are new bugs. (One I know about is that you can no longer make the
PuTTY window go away with a ^D at the password prompt; this should be
fixed.)

[originally from svn r6437]
[this svn revision also touched putty-wishlist]
2005-10-30 20:24:09 +00:00
..

$Id$

Information about PuTTY for the Mac OS
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

This is a port of PuTTY to the Classic Mac OS.  It is a work in
progress and should be considered unfinished and insecure.  It is
not considered to be of release quality, even if you found it (and
you're reading this) in a PuTTY release source archive.  Unless you
know what you're doing, don't use it.

Compiling it:

 See ../README for generic information.

 To compile PuTTY for Mac OS you will need:

 MPW
  <ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./
   MPW-GM_Images/MPW-GM.img.bin>
  Install this in the usual way.

 Universal Headers
  <ftp://ftp.apple.com/developer/Development_Kits/
   UniversalHeaders3.4.2.img.bin>
  Install using the script in "Documentation:MPW Users - ReadMe".

 Text Encoding Converter SDK
  <ftp://ftp.apple.com/developer/Development_Kits/TEC_1.5.sit.hqx>
  Copy contents of "68K Static Libraries" to
   "Interfaces&Libraries:Libraries:Libraries".
  Copy contents of "Stub Libraries" to
   "Interfaces&Libraries:Libraries:SharedLibraries".

 CarbonStdCLib.o
  <ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/
   MPW_Website_Downloads/CarbonStdCLib.o-3.8d3.hqx>
  Copy contents of "CIncludes" to
   "Interfaces&Libraries:Interfaces:CIncludes".
  Copy contents of "PPCLibraries" to
   "Interfaces&Libraries:Libraries:PPCLibraries".

 The "mkputty.mpw" script does all the work, and currently producess a
 Classic 68K build of PuTTY called "PuTTY.68k", a non-Carbon PowerPC
 build called "PuTTY.ppc", and similar builds of PuTTYtel called
 "PuTTYtel.68k" and "PuTTYtel.ppc".  The CFM-68K build is currently
 disabled because it overflows the global data space and I can't work
 out how to stop this happening.  The Carbon build doesn't work yet.

Runtime requirements:

 The Classic 68K build of PuTTY should work on any Macintosh running
 System 7.0 or later.  It runs in the Classic environment in Mac OS X.

 The CFM-68K build of PuTTY should work on any Macintosh with a 68020,
 68030 or 68040 processor and with either the CFM-68K Runtime Enabler
 or Mac OS 7.6.1 or later installed.

 The PowerPC build of PuTTY should work on any Power Macintosh.  It
 runs in the Classic environment in Mac OS X.

 The Carbon build of PuTTY (when it works) should work on any Power
 Macintosh with CarbonLib (and Mac OS 8.1 or later), Mac OS 9 or
 Mac OS X installed.

Known bugs:
 * Display is far too slow.
 * Real bold doesn't compensate for changing character widths without Color
   QuickDraw. [MAYBE FIXED]
 * When the last terminal window closes, the Edit menu doesn't get disabled
   immediately, which it should.
 * When using the "VT100" font, text copied to the clipboard doesn't
   get newlines in it, because that font has a graphic character at
   position 0x0d.  Even if we did insert 0x0d manually, TextEdit
   insists on displaying the graphic version, so I think we need a
   font switch at this point.  This can be seen as a special case of
   the need to switch fonts to get odd characters.
 * Pasting large blocks of text doesn't work.
 * The host key database is currently limited by its implementation to
   2727 host keys.

Unimplemented features (should be done before release):
 * TCP urgent data.
 * Listening sockets.
 * Changing font size in reponse to resize requests.
 * Full screen mode.
 * Session configuration. 
 * Entropy collection.
 * Private key files.
 * Pageant and PuTTYgen.
 * Do something with Open Application Apple Events.
 * Close-on-exit.
 * Warn-on-quit.
 * Non-block cursors.

Wishlist (after release):
 * SFTP client (GUI?)
 * Carbon compatibility (requires Open Transport and Navigation Services).
 * 'styl' paste, for script codes.
 * Handle 'gurl' Apple Events.

Local Variables:
mode: text
End: