Building the Macintosh version of Kerberos 5 and GSS ---------------------------------------------------- (Last updated $Date$) If you have questions or comments about the Macintosh build process, send e-mail to . To build the Macintosh version of Kerberos 5 and GSS: --- Installing tools --- 1) Install CodeWarrior Pro 4, including MPW. This build of Kerberos v5 and GSS requires CodeWarrior Pro4 MPW tools! 2) Download MacPerl and MacPerl MPW tool from The MacPerl directory contains several versions of the app and the MPW tool. The *_appl and *_tool versions work properly with our scripts, e.g., you should download "Mac_Perl_520r4_appl.bin" and "Mac_Perl_520r4_tool.bin". 3) Install MacPerl and MacPerl MPW tool (by following the installation instructions provided with them). --- Preparing Kerberos v5 build tree --- 4) Launch MPW. 5) Set directory in MPW to the top level of Kerberos 5 distribution (e.g. "GSS-Kerberos5"). 6) Build target "prebuild" in MPW. This will create a new Makefile, and launch your CodeWarrior IDE to build some CodeWarrior projects. You may be asked to locate CodeWarrior IDE. --- Building libraries --- 7) Build target "all" in MPW. Wait. Example build times: 30-40 minutes on a G3 machine, 80 minutes on a PowerMac 9600/233. You may receive some compile warnings about an ignored pragma, warnings about illegal implicit const pointer conversions, and some link warnings. These are normal and can be ignored. We used to see MPW crash during the link stage of the build. We think this has been fixed. If this happens to you, you should restart MPW and start the build again, and report the problem to macdev@mit.edu. --- Binaries --- The following assumes that you have followed the steps above to build the GSS & Kerberos 5 libraries. What you now have supports both the Kerberos 5 and GSS APIs. Each is supported as both CFM shared libraries and CodeWarrior static link libraries for both 68k & PowerPC Macs. We strongly recommend you use the CFM shared libraries. The following binary components are provided/built in this release: :GSSLib * Fat CFM Shared Library including both GSS and Kerberos 5 libraries. * Not for linking against in your projects; include in distributions to be placed in System Folder:Extensions. :GSSLibrary68K * CFM Shared Library including GSS for 68k Macs. :GSSLibraryPPC * CFM Shared Library including GSS for PowerPC Macs. :K5Library68K * CFM Shared Library including Kerberos 5 for 68k Macs. :K5LibraryPPC * CFM Shared Library including Kerberos 5 for PowerPC Macs. :mac:krb5.ini * Sample krb5.ini file using CYGNUS.COM as the default realm :include * An include directory containing the files necessary for development --- Installation --- To install the Kerberos 5 system on your Mac: 1) Copy the :mac:krb5.ini file (configured for your site) into the "Preferences" folder in the "System Folder". 2) Install the shared libraries by copying the "GSSLib" file to the "Extensions" folder in the "System Folder". 3) If you are using System 7.6 or earlier on a 68K Mac, install the CFM-68K Runtime Enabler 4.0, available from Apple at: --- Getting Started Programming --- You can program using either the Kerberos 5 or GSS APIs. (Currently the GSS Library depends on the krb5 library; this means you will have to link against both if you are using static libraries.) To add Kerberos functionality to a Code Warrior based application: 1) PPC application: use shared libraries: For GSSAPI, add GSSLibraryPPC to your project For Kerberos v5 API, add K5LibraryPPC to your project Set the project options to 4 byte integers and enums treated as ints. 2) CFM-68K application: use shared libraries For GSSAPI, add GSSLibrary68K to your project For Kerberos v5 API, add K5Library68K to your project Set the project options to 4 byte integers and enums treated as ints. 3) Classic 68K application: use glue for shared libraries For GSSAPI, add GSS.CFMglue.c to your project For Kerberos v5 API, add K5.CFMglue.c to your project Set the project options to 4 byte integers and enums treated as ints. A PDF document describing the Kerberos 5 API is located at: (That document was created from tex files in the main Kerberos 5 source tree.) The GSSAPI is described in Internet RFC's 1508 and 1509: