1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 09:58:01 +00:00
putty-source/mac
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
..
mac_res.r Oops, forgot to credit Ahmad Khalifa of arabeyes.org for the bidi/shaping work. 2005-04-07 12:00:01 +00:00
mac.c Close on exit. I'm not entirely happy with the distribution of this 2005-03-01 21:38:06 +00:00
mac.h Close on exit. I'm not entirely happy with the distribution of this 2005-03-01 21:38:06 +00:00
macabout.c Move the Mac port over to using snew/snewn/sresize. 2003-03-29 23:07:55 +00:00
macctrls.c Draglists, implemented as up-down preference lists as in GTK. 2005-03-02 23:33:59 +00:00
macdlg.c If a new session was saved from Change Settings, a side-effect on Windows was 2005-04-07 01:36:28 +00:00
macevlog.c Times and dates in the event log, fixing ltime() in the process. 2005-02-05 00:29:20 +00:00
macmisc.c Times and dates in the event log, fixing ltime() in the process. 2005-02-05 00:29:20 +00:00
macnet.c A first attempt at listening sockets in Open Transport. 2005-02-22 23:40:47 +00:00
macnoise.c Bits and pieces, mostly stubs, for the Mac port. 2005-01-18 22:01:25 +00:00
macpgen.c Handle suspend and resume events in PuTTYgen as well. 2003-02-23 13:31:12 +00:00
macpgen.r Oops, forgot to credit Ahmad Khalifa of arabeyes.org for the bidi/shaping work. 2005-04-07 12:00:01 +00:00
macpgkey.c The entropy pool is full of unsigned ints, not longs. 2003-03-29 23:57:55 +00:00
macpgrid.h Add a mechanism for collecting entropy, and displaying how much we've got, 2003-02-20 22:55:09 +00:00
macresid.h Grouping boxes for the configuration dialogue. The System 7 version is 2005-02-15 22:41:00 +00:00
macstore.c A first attempt at listening sockets in Open Transport. 2005-02-22 23:40:47 +00:00
macstuff.h On the Mac, support for setting the line codepage and for combining 2005-02-16 23:30:10 +00:00
macterm.c Revamp SSH authentication code so that user interaction is more 2005-10-30 20:24:09 +00:00
macucs.c On the Mac, support for setting the line codepage and for combining 2005-02-16 23:30:10 +00:00
mkputty.mpw Revert my LF->CR change following Owen's comment that it actually 2005-02-07 20:24:13 +00:00
mtcpnet.c A first attempt at listening sockets in Open Transport. 2005-02-22 23:40:47 +00:00
otnet.c Support for setting some options like keepalive, oobinline, nodelay, and 2005-02-23 21:19:53 +00:00
README.mac Beef up the `unfinished and experimental' warnings for the two Mac 2005-03-31 12:25:48 +00:00
setfile.sh Revert my LF->CR change following Owen's comment that it actually 2005-02-07 20:24:13 +00:00
stricmp.c Provide a version of stricmp() and strnicmp() for Mac OS, which doesn't have 2003-01-04 17:24:49 +00:00
version.r Version number and other tweakings prior to the 0.58 release. 2005-04-05 19:36:25 +00:00
vsnprint.c Add a vsnprintf() for the Mac, which doesn't have one of its own. This is 2003-01-04 19:01:45 +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: