To Build the Macintosh version of Kerberos 5

These directions assume that the source is located in ~/k5mac.


1) Prepare Files to Move to the Mac

On the unix side, after checking out the source, build the target 
"kerbsrc.mac":
   
   cd ~/k5mac/src
   make -f Makefile.in kerbsrc.mac (the product of the make is "kerbsrc.tar")


2) Move the Source to the Mac

Transfer the resulting file from the previous step (kerbsrc.tar) to the
Macintosh.  Remember it is a tar file, and must be transferred in binary mode
without conversion.


3) Unpack the Source on the Mac

Untar the file onto a Macintosh disk.  The final built version occupies
on the order of 10M on disk.  If your tar expander program supports CR-LF
translation, turn it on to avoid having to perform the conversions yourself
in a later step.
	
    Programs that can perform tar translations:
    suntar 2.0.3   available on mac.archive.umich.edu
    untar          available on mac.archive.umich.edu
    tar 4.0        available on mac.archive.umich.edu
    Stuffit Deluxe (with an additional tar translator)
	
    suntar and stuffit deluxe can perform cr-lf translations

NOTE:  Beware that all tars are not created equal.  Some tars will dump 
the first level directory into the source file location, while others 
will create a directory and place the contents in that, and yet others 
will ask where the destination should start.  Suntar seems to do the 
"right" thing more often than not.


4) Perform CR-LF Conversion

If your tar program does support CR-LF translation, or you decided not to use
translation, you will need to convert the source files to Mac format text files.
Again there are a selection of programs that perform this function:
	
   Drop Text  available on mac.archive.umich.edu
   CRLF       available on mac.archive.umich.edu
   Stuffit    Deluxe (with translator) from Aladdin Systems Inc.
   BBEdit     demo version available on mac.archuve.umich.edu
              or Bare Bones Software

I would strongly recommend Drop Text, it seems to be the most flexible
of the above programs.


5) Unstuff .hqx Files

At this point all source files are now Mac text files.  There are a number
of special files which have been packed in binhqx format for the
Mac to ensure the resource forks were not damaged, and that binary 
translation did not corrupt them.  These files are located in the 
following paths:

   :mac:kconfig:kconfig.sit.hqx
   :mac:libraries:libraries.sit.hqx
   :mac:telnet-k5-auth:telnet-k5-auth.sit.hqx
   :mac:telnet:telnet.sit.hqx
		
These binhqx files each contain a Stuffit archive with metrowerks project
files and resource files.  To convert these files, use a program 
(listed below) to convert the file from binhqx format, then convert the 
"xxx.sit" file which should result from the previous conversion to the 
expanded files.  There are programs which accomplish both steps automatically.
		
To convert from binhqx to archive:
   Stuffit Expander	(available on mac.archive.umich.edu)
   Stuffit Deluxe (with binhqx translator)
   binhqx
   suntar 2.0.3
		
To convert from archive to individual files:
   Stuffit Expander	(available on mac.archive.umich.edu)
   Stuffit Deluxe
   Stuffit Lite
   DropUnstuff
   NOW Utilities 5.0 Quickfiler


6) Build the Kerberos Libraries
	
Building the static libraries:  Be sure to use "MW C/C++ 68K 1.2.2" when 
building these projects.  Open the project (libkrb5.µ or libgss.µ) and 
type Cmd-M, or select "Make" from the "Project" menu.  This will produce 
"libkrb5" or "libgss" depending on the selected project. You must
build libkrb5 before libgss.

Building the CFM libraries.  Be sure the use "MW C/C++ CFM68K 1.0d1" when
building these projects.  Open one of "Kerberos 5 Library.µ" or 
"GSS Library.µ".  Type Cmd-M, or select "Make" from the "Project" menu.
This will produce "Kerberos 5 Library" or "GSS Library" depending on the 
selected project.


7) Build the Cygnus Network Security Application

To start the build of kconfig (or CNS Config) double click on the project 
file named :mac:kconfig:kconfig.µ or drag it onto the application/compiler
"MW C/C++ 68K 1.2.2".  If you are doing CFM development be careful that the
CFM compiler is not invoked when you double click on the project file.
	
To start the build type Cmd-M or select "Make" from the "Project" menu.
The compiler should build the KerberosHeaders.pch file into a precompiled
header file, then start compiling the sources, finally link the executable
named "CNS Config" and write a symbol files for use with symbolic debugging.

At this point assuming a valid configuration (see kerberos release notes for
usage) double clicking on "CNS Config" should bring you to the main CNS 
configuration window where you can login, logout, change passwords and the
environment.

8) Build Kerberized Telnet

The telnet-k5-auth directory contains the project file necessary to
build a telnet authorization code resource module.  Open the project
"K5AuthModule" in the :mac:telnet-k5-auth folder and type Cmd-M,
or select "Make" from the "Project" menu.  This will build the
telnet authorization module.  The authorization module should be
placed in the same directory as the NCSA telnet application which uses
it. Any NCSA telnet version after 2.6.1d8 should work in conjunction
with the supplied authentication module.  Also included in the
telnet-k5-auth directory is version 2.7b4 of telnet.


Installation

The following assumes that you have followed the steps above to build
the Kerberos libraries.  What you now have supports both the Kerberos
and GSS APIs.  Each is supported as both a shared library and a Code 
Warrior static link library for 68k Macs.  Following are the binary
components provided in this release:

   * Code Fragment Manager libraries for 68k Macintosh
     (:mac:libraries:GSSLibrary and :mac:libraries:Kerberos 5 Library)
    
   * Code Warrior static libraries for 68k Macintosh
     (:mac:libraries:libgss and :mac:libraries:libkrb5)

   * Cygnus Network Security Configuration program
     (:mac:kconfig:CNS Config)
    
   * Sample krb5.ini file using CYGNUS.COM as the default realm
     (:mac:krb5.ini)
     
   * An include directory containing the files necessary
     for development (:include)

   To install the Kerberos system:

   1) Drop the :mac:krb5.ini file into the "Preferences"
   folder contained in the "System Folder".
   
   2) To install the shared libraries (optional), simply copy the 
   "GSS Library" and "Kerberos 5 Library" files to the "Extensions" 
   folder in the "System Folder".


Getting Started Programming

You may program using either the Kerberos or GSS APIs.  As delivered, the
libraries containing the GSS API are complete.  They do not rely on the
krb5 library.

To add Kerberos utility to a Code Warrior based application:

   1) Decide on whether to use CFM or static libraries.

   2) Decide on whether to use ther Kerberos or GSS APIs.

   3) Drag the appropriate library into your project
     (One of: :mac:libraries:libgss, mac:libraries:libkrb5,
     :mac:libraries:GSS Library or :mac:libraries:Kerberos 5 Library).

   4) Set the project options to 4 byte integers and enums treated as ints.
