From 2cb3f0e03f86d144bcf5287be45f4fdba91775e8 Mon Sep 17 00:00:00 2001 From: Alexandra Ellwood Date: Fri, 21 Feb 2003 21:37:02 +0000 Subject: [PATCH] Fri Feb 21 16:30:00 2003 Alexandra Ellwood * Removed Mac OS 9 files git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15197 dc483132-0cff-0310-8789-dd5450dbe970 --- src/mac/CFMGlue.pl | 298 -------- src/mac/CFMglue.c | 121 ---- src/mac/ChangeLog | 3 + src/mac/ComErrLib ReadMe | 5 - src/mac/ComErrLib.glue.h | 6 - src/mac/ComErrLib.glue.post.cin | 7 - src/mac/ComErrLib.glue.pre.cin | 5 - src/mac/ComErrLib.glue.proto.h | 3 - src/mac/FragmentAlias.mpw | 24 - src/mac/GSS.CFM.c | 47 -- src/mac/GSS.CFMglue.cin | 5 - src/mac/GSS.CFMglue.proto.h | 43 -- src/mac/GSS.moreCFMglue.cin | 13 - src/mac/GSSLib ReadMe | 4 - src/mac/GSSLib.glue.h | 7 - src/mac/GSSLibrary.exp | 68 -- src/mac/K5.CFM.c | 53 -- src/mac/K5.CFMglue.cin | 5 - src/mac/K5.CFMglue.proto.h | 249 ------- src/mac/K5.moreCFMglue.cin | 7 - src/mac/K5Library.exp | 220 ------ src/mac/Kerberos5Lib.glue.h | 6 - src/mac/KerberosProfileLib ReadMe | 11 - src/mac/KrbProfileLib.glue.h | 6 - src/mac/KrbProfileLib.glue.post.cin | 7 - src/mac/KrbProfileLib.glue.pre.cin | 5 - src/mac/KrbProfileLib.glue.proto.h | 18 - src/mac/Makefile | 1028 --------------------------- src/mac/ProfileLib.CFM.c | 49 -- src/mac/create-folder.mpw | 27 - src/mac/krb5.ini | 45 -- src/mac/macfile_gen.pl | 551 -------------- 32 files changed, 3 insertions(+), 2943 deletions(-) delete mode 100644 src/mac/CFMGlue.pl delete mode 100644 src/mac/CFMglue.c delete mode 100644 src/mac/ComErrLib ReadMe delete mode 100644 src/mac/ComErrLib.glue.h delete mode 100644 src/mac/ComErrLib.glue.post.cin delete mode 100644 src/mac/ComErrLib.glue.pre.cin delete mode 100644 src/mac/ComErrLib.glue.proto.h delete mode 100644 src/mac/FragmentAlias.mpw delete mode 100644 src/mac/GSS.CFM.c delete mode 100644 src/mac/GSS.CFMglue.cin delete mode 100644 src/mac/GSS.CFMglue.proto.h delete mode 100644 src/mac/GSS.moreCFMglue.cin delete mode 100644 src/mac/GSSLib ReadMe delete mode 100644 src/mac/GSSLib.glue.h delete mode 100644 src/mac/GSSLibrary.exp delete mode 100644 src/mac/K5.CFM.c delete mode 100644 src/mac/K5.CFMglue.cin delete mode 100644 src/mac/K5.CFMglue.proto.h delete mode 100644 src/mac/K5.moreCFMglue.cin delete mode 100644 src/mac/K5Library.exp delete mode 100644 src/mac/Kerberos5Lib.glue.h delete mode 100644 src/mac/KerberosProfileLib ReadMe delete mode 100644 src/mac/KrbProfileLib.glue.h delete mode 100644 src/mac/KrbProfileLib.glue.post.cin delete mode 100644 src/mac/KrbProfileLib.glue.pre.cin delete mode 100644 src/mac/KrbProfileLib.glue.proto.h delete mode 100644 src/mac/Makefile delete mode 100644 src/mac/ProfileLib.CFM.c delete mode 100644 src/mac/create-folder.mpw delete mode 100644 src/mac/krb5.ini delete mode 100644 src/mac/macfile_gen.pl diff --git a/src/mac/CFMGlue.pl b/src/mac/CFMGlue.pl deleted file mode 100644 index f6386bb80..000000000 --- a/src/mac/CFMGlue.pl +++ /dev/null @@ -1,298 +0,0 @@ -#!/usr/local/bin/perl -w - -use strict; # Turn on careful syntax checking -use 5.002; # Require Perl 5.002 or later - -# Pre-declare globals, as required by "use strict" -use vars qw(%RESERVEDWORDS $file $prototype); - -# C words which aren't a type or a parameter name -# [digit] is special cased later on... -%RESERVEDWORDS = ( - const => "const", - "*" => "*", - "[]" => "[]", - struct => "struct", - enum => "enum", - union => "union", - unsigned => "unsigned", - register => "register" - ); - -# Read the entire file into $file -{ - local $/; - undef $/; # Ignore end-of-line delimiters in the file - $file .= ; -} - -# Remove the C and C++ comments from the file. -# If this regexp scares you, don't worry, it scares us too. -$file =~ s@/ # Both kinds of comment begin with a / - # First, process /* ... */ - ((\*[^*]*\*+ # 1: Identify /**, /***, /* foo *, etc. - ([^/*][^*]*\*+)* # 2: Match nothing, x*, x/*, x/y*, x*y* etc. - /) # 3: Look for the trailing /. If not present, back up - # through the matches from step 2 (x*y* becomes x*) - #### if we get here, we have /* ... */ - | # Or, it's // and we just need to match to the end of the line - (/.*?\n)) # 4. Slash, shortest possible run of characters ending in newline (\n) - @\n@xg; # => Replace match with a newline. - ### "x" modifier allows whitespace and comments in patterns - ### "g" modifier means "do this globally" - -$file =~ tr! \t\n! !s; # Convert newlines, tabs, and runs of spaces into single spaces - -foreach $prototype (split /;/, $file) # Break string apart at semicolons, pass each piece to our Convert routine -{ - Convert($prototype); -} - -exit (0); - -# ======================================== -# Subroutines follow -# ======================================== - -sub Convert() -{ - # Take our special C-style function prototypes and print out the - # appropriate glue code. - - my $prototype = shift; - my ($returnType, $functionName, $paramString); - my (@parameters, @types); - - return if ($prototype =~ /^\s*$/); # Ignore blank lines - # Use custom function to remove leading & trailing spaces & - # collapse runs of spaces. - $prototype = StripSpaces($prototype); - - # ==================== - # STAGE 1.1: Get the function name and return type. - # Do general syntax checking. - # ==================== - - # See if we have a legal prototype and begin parsing. A legal prototype has - # a return type (optional), function name, and parameter list. - unless ($prototype =~ /((\w+\*? )*(\w+\*?)) (\w+)\s*\((.*)\)$/) - { - die "Prototype \"$prototype;\" does not appear to be a legal prototype.\n"; - } - - # That unless had a nice side effect -- the parentheses in the regular expression - # stuffed the matching parts of the expression into variables $1, $2, and $3. - - ($returnType, $functionName) = ($1, $4); - # Kill 2 birds at a time -- get rid of leading & trailing spaces *and* get an - # empty string back if there are no parameters - $paramString = StripSpaces($5); - - # Insist on having an argument list in the prototype - unless ($paramString) - { - die("Prototype: \"$prototype;\" has no arguments.\n" . - "This is ambiguous between C and C++ (please specify " . - "either (int) or (void)).\n"); - } - - # Check for variable arguments by looking for - # "va_list " or "..." - if(($paramString =~ /va_list\s+\S+/) or # va_list + spaces + not-a-spaces - ($paramString =~ /\Q.../)) # \Q = "quote metacharacters" => \.\.\. - { - die("Prototype: \"$prototype;\" takes a variable " . - "number of arguments. Variable arguments are not " . - "supported by CFM Glue.\n"); - } - - # ==================== - # STAGE 1.2: Digest the parameter list. - # ==================== - - if ($paramString eq "void") - { - $parameters[0] = "void"; - $types[0] = "void"; - } - else - { - # The function has nonvoid arguments - - # Add spaces around * and turn [#] into [#] with spaces around it - # for ease of parsing - $paramString =~ s/\s*\*\s*/ \* /g; - $paramString =~ s/\s*\[(\d*)\]\s*/ [$1] /g; - - # Extract the list elements - my @arguments = split /,\s*/, $paramString; - - # Make sure we don't have more than 13 arguments - if ($#arguments >= 13) - { - die "Prototype \"$prototype;\" has more than 13 arguments,\n". - "which the CFM68K glue will not support."; - } - - # We need to look at each argument and come out with two lists: a list - # of parameter names and a corresponding list of parameter types. For example: - # ( const int x, short y[], int ) - # needs to become two lists: - # @parameters = ("x", "y", "__param0") - # @elements = ("const int", "short *", int) - my $i = 0; # parameter counter - foreach my $argument (@arguments) - { - my @elements = split(' ', $argument); - - # A legal argument will have a name and/or a parameter type. - # It might _also_ have some C keywords - # We'll syntax check the argument by counting the number of things - # which are names and/or variable types - my $identifierCount = grep { !$RESERVEDWORDS{$_} && !/\[\d*\]/ } @elements; - - if ($identifierCount == 1) { - # We have a type without a name, so generate an arbitrary unique name - push @parameters, "__param" . $i; - } - elsif ($identifierCount == 2) { - # We have a type and a name. We'll assume the name is the last thing seen, - my $paramName = pop @elements; - # ...but have to make certain it's not a qualified array reference - if ($paramName =~ /\[\d*\]/) - { - # Whoops...the argument ended in a [], so extract the name and put back - # the array notation - my $temp = $paramName; - $paramName = pop @elements; - push @elements, $temp; - } - push @parameters, $paramName; - } - else # $identifierCount == 0 or $identifierCount > 2 - { - die("Prototype: \"$prototype;\" has an " . - "invalid number ($identifierCount)" . - " of non-reserved words in argument '$argument'.\n"); - } - - # Replace all "[]" with "*" to turn array references into pointers. - # "map" sets $_ to each array element in turn; modifying $_ modifies - # the corresponding value in the array. (s -- substutition -- works - # on $_ by default.) - map { s/\[\d*\]/*/ } @elements; - - push @types, join(' ', @elements); # Construct a type definition - - # Increment the argument counter: - $i++; - } - } - - # ==================== - # STAGE 2: Print out the glue. - # ==================== - - # Generate the ProcInfo Macro: - # ---------------------------- - my $result = ""; # Will be inserted into the final macro - if ($returnType ne "void") { - $result = "\n | RESULT_SIZE(SIZE_CODE(sizeof($returnType)))"; - } - - # Convert a list of parameter types into entries for the macro. - # All non-void parameters need to have a line in the final macro. - my @parameterMacros; - my $paramCount = -1; - @parameterMacros = map { $paramCount++; $_ eq "void" ? "" : - " | STACK_ROUTINE_PARAMETER(" . ($paramCount + 1) . ", SIZE_CODE(sizeof($_)))" } @types; - my $macroString = join "\n", @parameterMacros; - - print < -#include -#include - -// Private function prototypes - -static OSErr Find_Symbol( - Ptr* pSymAddr, - Str255 pSymName, - ProcInfoType pProcInfo); - -static pascal Boolean HaveCFM(void); - -static pascal OSErr GetSystemArchitecture(OSType *archType); - -/* This code is directly from Technote 1077 */ - -/* changed Library name to be hardcoded at the top of the file - instead in the middle of the code */ - -// Private functions - -static pascal OSErr GetSystemArchitecture(OSType *archType) -{ - static long sSysArchitecture = 0; // static so we only Gestalt once. - OSErr tOSErr = noErr; - - *archType = kAnyCFragArch; // assume wild architecture - - // If we don't know the system architecture yet... - if (sSysArchitecture == 0) - // ...Ask Gestalt what kind of machine we are running on. - tOSErr = Gestalt(gestaltSysArchitecture, &sSysArchitecture); - - if (tOSErr == noErr) // if no errors - { - if (sSysArchitecture == gestalt68k) // 68k? - *archType = kMotorola68KCFragArch; - else if (sSysArchitecture == gestaltPowerPC) // PPC? - *archType = kPowerPCCFragArch; - else - tOSErr = gestaltUnknownErr; // who knows what might be next? - } - return tOSErr; -} - -static pascal Boolean HaveCFM(void) -{ - long response; - return ( (Gestalt (gestaltCFMAttr, &response) == noErr) && - (((response >> gestaltCFMPresent) & 1) != 0)); -} - -static OSErr Find_Symbol( - Ptr* pSymAddr, - Str255 pSymName, - ProcInfoType pProcInfo) -{ - static CFragConnectionID sCID = 0; - static OSType sArchType = kAnyCFragArch; - static OSErr sOSErr = noErr; - - Str255 errMessage; - Ptr mainAddr; - CFragSymbolClass symClass; - ISAType tISAType; - - if (sArchType == kAnyCFragArch) // if architecture is undefined... - { - sCID = 0; // ...force (re)connect to library - sOSErr = GetSystemArchitecture(&sArchType); // determine architecture - if (sOSErr != noErr) - return sOSErr; // OOPS! - } - - if (!HaveCFM()) { - // If we don't have CFM68K, return a reasonable-looking error. - sOSErr = cfragLibConnErr; - return sOSErr; - } - - if (sArchType == kMotorola68KCFragArch) // ...for CFM68K - tISAType = kM68kISA | kCFM68kRTA; - else if (sArchType == kPowerPCCFragArch) // ...for PPC CFM - tISAType = kPowerPCISA | kPowerPCRTA; - else - sOSErr = gestaltUnknownErr; // who knows what might be next? - - if (sCID == 0) // If we haven't connected to the library yet... - { - // NOTE: The library name is hard coded here. - // I try to isolate the glue code, one file per library. - // I have had developers pass in the Library name to allow - // plug-in type support. Additional code has to be added to - // each entry points glue routine to support multiple or - // switching connection IDs. - sOSErr = GetSharedLibrary(kLibraryName, sArchType, kLoadCFrag, - &sCID, &mainAddr, errMessage); - if (sOSErr != noErr) - return sOSErr; // OOPS! - } - - // If we haven't looked up this symbol yet... - if ((Ptr) *pSymAddr == (Ptr) kUnresolvedCFragSymbolAddress) - { - // ...look it up now - sOSErr = FindSymbol(sCID,pSymName,pSymAddr,&symClass); - if (sOSErr != noErr) // in case of error... - // ...clear the procedure pointer - *(Ptr*) &pSymAddr = (Ptr) kUnresolvedCFragSymbolAddress; -# if !GENERATINGCFM // if this is classic 68k code... - *pSymAddr = (Ptr)NewRoutineDescriptorTrap((ProcPtr) *pSymAddr, - pProcInfo, tISAType); // ...create a routine descriptor... -# endif - } - return sOSErr; -} - -/* --------------------------------- */ -/* Autogenerated section starts here */ -/* --------------------------------- */ diff --git a/src/mac/ChangeLog b/src/mac/ChangeLog index 86bc05be3..3a5bcb029 100644 --- a/src/mac/ChangeLog +++ b/src/mac/ChangeLog @@ -1,3 +1,6 @@ +Fri Feb 21 16:30:00 2003 Alexandra Ellwood + * Removed Mac OS 9 files. + Fri Oct 21 18:00:00 1998 Miro Jurisic * ReadMe: updated instructions to say we require CW Pro4 * version.r: upped to 1.1a4 diff --git a/src/mac/ComErrLib ReadMe b/src/mac/ComErrLib ReadMe deleted file mode 100644 index 3f1c8f4d0..000000000 --- a/src/mac/ComErrLib ReadMe +++ /dev/null @@ -1,5 +0,0 @@ -ComErrLib implements the UNIX com_err API. See the com_err man page on a UNIX -machine for details about the API. - -Note that you need both ComErrLib:Headers: and Kerberos5Lib:Headers in your -include path to use com_err.h \ No newline at end of file diff --git a/src/mac/ComErrLib.glue.h b/src/mac/ComErrLib.glue.h deleted file mode 100644 index deb4aeb63..000000000 --- a/src/mac/ComErrLib.glue.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _COMERR_CFMGLUE_H_ -#define _COMERR_CFMGLUE_H_ - -Boolean ComErrLibraryIsPresent (); - -#endif /* _KERBEROSPROFILE_CFMGLUE_H_ */ \ No newline at end of file diff --git a/src/mac/ComErrLib.glue.post.cin b/src/mac/ComErrLib.glue.post.cin deleted file mode 100644 index 495af6b19..000000000 --- a/src/mac/ComErrLib.glue.post.cin +++ /dev/null @@ -1,7 +0,0 @@ -#include - -Boolean ComErrLibraryIsPresent () -{ - Ptr symAddr; - return (Find_Symbol (&symAddr, "\perror_message", error_message_ProcInfo)) == noErr; -} \ No newline at end of file diff --git a/src/mac/ComErrLib.glue.pre.cin b/src/mac/ComErrLib.glue.pre.cin deleted file mode 100644 index e46153300..000000000 --- a/src/mac/ComErrLib.glue.pre.cin +++ /dev/null @@ -1,5 +0,0 @@ -/* Include prototypes for glue functions */ -#include - -/* Hardcode library fragment name here */ -#define kLibraryName "\pMIT Kerberos¥ComErrLib" diff --git a/src/mac/ComErrLib.glue.proto.h b/src/mac/ComErrLib.glue.proto.h deleted file mode 100644 index a07998465..000000000 --- a/src/mac/ComErrLib.glue.proto.h +++ /dev/null @@ -1,3 +0,0 @@ -const char* error_message(errcode_t); -errcode_t add_error_table (const struct error_table *); -errcode_t remove_error_table(const struct error_table *); diff --git a/src/mac/FragmentAlias.mpw b/src/mac/FragmentAlias.mpw deleted file mode 100644 index ff8689097..000000000 --- a/src/mac/FragmentAlias.mpw +++ /dev/null @@ -1,24 +0,0 @@ -# StreamEdit script to find a GSSLibrary fragment in a derez output and -# create an alias to it - -# If a line matches "/* [number] */", it's the first line of a cfrg array element. -# copy the next 11 lines, and if the last one matches "GSSLibrary", print them out with -# a different fragment name - -¥ - Print "#include ¶"CodeFragments.r¶"" - -/¶/¶* ¶[[0-9]*¶] ¶*¶// - Set FragEntry "" - -/¶"MIT_¥GSSLib¶"/ - Print "¶t¶t¶"GSSLibrary¶",¶t¶t" - Print FragEntry - -/¶"MIT_¥Kerberos5Lib¶"/ - Print "¶t¶t¶"K5Library¶",¶t¶t" - Print FragEntry - -/Å/ - Set -a FragEntry . - Set -a FragEntry "¶n" diff --git a/src/mac/GSS.CFM.c b/src/mac/GSS.CFM.c deleted file mode 100644 index 985ccd240..000000000 --- a/src/mac/GSS.CFM.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 1998 by the Massachusetts Institute of Technology. - * - * Permission to use, copy, modify, and distribute this - * software and its documentation for any purpose and without - * fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting - * documentation, and that the name of M.I.T. not be used in - * advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. - * Furthermore if you modify this software you must label - * your software as modified software and not distribute it in such a - * fashion that it might be confused with the original M.I.T. software. - * M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" - * without express or implied warranty. - */ - - -#include - -#include "gss_libinit.h" - -OSErr __initializeGSS(CFragInitBlockPtr ibp); -void __terminateGSS(void); - -OSErr __initializeGSS(CFragInitBlockPtr ibp) -{ - OSErr err = noErr; - - /* Do normal init of the shared library */ - err = __initialize(); - - /* Initialize the error tables */ - if (err == noErr) { - err = gssint_initialize_library (); - } - - return err; -} - -void __terminateGSS(void) -{ - gssint_cleanup_library (); - - __terminate(); -} diff --git a/src/mac/GSS.CFMglue.cin b/src/mac/GSS.CFMglue.cin deleted file mode 100644 index 530bef5d5..000000000 --- a/src/mac/GSS.CFMglue.cin +++ /dev/null @@ -1,5 +0,0 @@ -/* Include prototypes for glue functions */ -#include - -/* Hardcode library fragment name here */ -#define kLibraryName "\pGSSLibrary" diff --git a/src/mac/GSS.CFMglue.proto.h b/src/mac/GSS.CFMglue.proto.h deleted file mode 100644 index 5940797c1..000000000 --- a/src/mac/GSS.CFMglue.proto.h +++ /dev/null @@ -1,43 +0,0 @@ -OM_uint32 gss_acquire_cred(OM_uint32 *, gss_name_t, OM_uint32, gss_OID_set, gss_cred_usage_t, gss_cred_id_t *, gss_OID_set *, OM_uint32 * ); -OM_uint32 gss_release_cred(OM_uint32 *, gss_cred_id_t * ); -OM_uint32 gss_init_sec_context(OM_uint32 *, gss_cred_id_t, gss_ctx_id_t *, gss_name_t, gss_OID, OM_uint32, OM_uint32, gss_channel_bindings_t, gss_buffer_t, gss_OID *, gss_buffer_t, OM_uint32 *, OM_uint32 * ); -OM_uint32 gss_accept_sec_context(OM_uint32 *, gss_ctx_id_t *, gss_cred_id_t, gss_buffer_t, gss_channel_bindings_t, gss_name_t *, gss_OID *, gss_buffer_t, OM_uint32 *, OM_uint32 *, gss_cred_id_t * ); -OM_uint32 gss_process_context_token(OM_uint32 *, gss_ctx_id_t, gss_buffer_t ); -OM_uint32 gss_delete_sec_context(OM_uint32 *, gss_ctx_id_t *, gss_buffer_t ); -OM_uint32 gss_context_time(OM_uint32 *, gss_ctx_id_t, OM_uint32 * ); -OM_uint32 gss_get_mic(OM_uint32 *, gss_ctx_id_t, gss_qop_t, gss_buffer_t, gss_buffer_t ); -OM_uint32 gss_verify_mic(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, gss_qop_t * ); -OM_uint32 gss_wrap(OM_uint32 *, gss_ctx_id_t, int, gss_qop_t, gss_buffer_t, int *, gss_buffer_t ); -OM_uint32 gss_unwrap(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, int *, gss_qop_t * ); -OM_uint32 gss_display_status(OM_uint32 *, OM_uint32, int, gss_OID, OM_uint32 *, gss_buffer_t ); -OM_uint32 gss_indicate_mechs(OM_uint32 *, gss_OID_set * ); -OM_uint32 gss_compare_name(OM_uint32 *, gss_name_t, gss_name_t, int * ); -OM_uint32 gss_display_name(OM_uint32 *, gss_name_t, gss_buffer_t, gss_OID * ); -OM_uint32 gss_import_name(OM_uint32 *, gss_buffer_t, gss_OID, gss_name_t * ); -OM_uint32 gss_release_name(OM_uint32 *, gss_name_t * ); -OM_uint32 gss_release_buffer(OM_uint32 *, gss_buffer_t ); -OM_uint32 gss_release_oid_set(OM_uint32 *, gss_OID_set * ); -OM_uint32 gss_inquire_cred(OM_uint32 *, gss_cred_id_t, gss_name_t *, OM_uint32 *, gss_cred_usage_t *, gss_OID_set * ); -OM_uint32 gss_inquire_context(OM_uint32 *, gss_ctx_id_t, gss_name_t *, gss_name_t *, OM_uint32 *, gss_OID *, OM_uint32 *, int *, int * ); -OM_uint32 gss_wrap_size_limit(OM_uint32 *, gss_ctx_id_t, int, gss_qop_t, OM_uint32, OM_uint32 * ); -OM_uint32 gss_import_name_object(OM_uint32 *, void *, gss_OID, gss_name_t * ); -OM_uint32 gss_export_name_object(OM_uint32 *, gss_name_t, gss_OID, void * * ); -OM_uint32 gss_add_cred(OM_uint32 *, gss_cred_id_t, gss_name_t, gss_OID, gss_cred_usage_t, OM_uint32, OM_uint32, gss_cred_id_t *, gss_OID_set *, OM_uint32 *, OM_uint32 * ); -OM_uint32 gss_inquire_cred_by_mech(OM_uint32 *, gss_cred_id_t, gss_OID, gss_name_t *, OM_uint32 *, OM_uint32 *, gss_cred_usage_t * ); -OM_uint32 gss_export_sec_context(OM_uint32 *, gss_ctx_id_t *, gss_buffer_t ); -OM_uint32 gss_import_sec_context(OM_uint32 *, gss_buffer_t, gss_ctx_id_t * ); -OM_uint32 gss_release_oid(OM_uint32 *, gss_OID * ); -OM_uint32 gss_create_empty_oid_set(OM_uint32 *, gss_OID_set * ); -OM_uint32 gss_add_oid_set_member(OM_uint32 *, gss_OID, gss_OID_set * ); -OM_uint32 gss_test_oid_set_member(OM_uint32 *, gss_OID, gss_OID_set, int * ); -OM_uint32 gss_str_to_oid(OM_uint32 *, gss_buffer_t, gss_OID * ); -OM_uint32 gss_oid_to_str(OM_uint32 *, gss_OID, gss_buffer_t ); -OM_uint32 gss_inquire_names_for_mech(OM_uint32 *, gss_OID, gss_OID_set * ); -OM_uint32 gss_sign(OM_uint32 *, gss_ctx_id_t, int, gss_buffer_t, gss_buffer_t ); -OM_uint32 gss_verify(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, int * ); -OM_uint32 gss_seal(OM_uint32 *, gss_ctx_id_t, int, int, gss_buffer_t, int *, gss_buffer_t ); -OM_uint32 gss_unseal(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, int *, int * ); -OM_uint32 gss_export_name(OM_uint32 *, const gss_name_t, gss_buffer_t ); -OM_uint32 gss_duplicate_name(OM_uint32 *, const gss_name_t, gss_name_t * ); -OM_uint32 gss_canonicalize_name(OM_uint32 *, const gss_name_t, const gss_OID, gss_name_t * ); -OM_uint32 gss_krb5_ccache_name(OM_uint32 *minor_status, const char *name, const char **out_name); diff --git a/src/mac/GSS.moreCFMglue.cin b/src/mac/GSS.moreCFMglue.cin deleted file mode 100644 index 2e5901f0a..000000000 --- a/src/mac/GSS.moreCFMglue.cin +++ /dev/null @@ -1,13 +0,0 @@ -#include - -Boolean GSSAPILibraryIsPresent () -{ - Ptr symAddr; - return (Find_Symbol (&symAddr, "\pgss_init_sec_context", gss_init_sec_context_ProcInfo)) == noErr; -} - -Boolean GSSAPILibrarySupportsCCacheName () -{ - Ptr symAddr; - return (Find_Symbol (&symAddr, "\pgss_krb5_ccache_name", gss_krb5_ccache_name_ProcInfo)) == noErr; -} diff --git a/src/mac/GSSLib ReadMe b/src/mac/GSSLib ReadMe deleted file mode 100644 index 1f92f5529..000000000 --- a/src/mac/GSSLib ReadMe +++ /dev/null @@ -1,4 +0,0 @@ -GSSLib implements the Generic Security Services API. The APi is documented in -RFC 2078, which you can find at . - -The mechanism used by this implementation is Kerberos v5. diff --git a/src/mac/GSSLib.glue.h b/src/mac/GSSLib.glue.h deleted file mode 100644 index a06b530bc..000000000 --- a/src/mac/GSSLib.glue.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _GSS_CFMGLUE_H_ -#define _GSS_CFMGLUE_H_ - -Boolean GSSAPILibraryIsPresent (); -Boolean GSSAPILibrarySupportsCCacheName (); - -#endif /* _GSS_CFMGLUE_H_ */ \ No newline at end of file diff --git a/src/mac/GSSLibrary.exp b/src/mac/GSSLibrary.exp deleted file mode 100644 index 8adbf9f88..000000000 --- a/src/mac/GSSLibrary.exp +++ /dev/null @@ -1,68 +0,0 @@ -#---------------------------------------------------- -# GSSAPI.EXP - GSSAPI.DLL module definition file -#---------------------------------------------------- - - gss_acquire_cred - gss_release_cred - gss_init_sec_context - gss_accept_sec_context - gss_process_context_token - gss_delete_sec_context - gss_context_time - gss_sign - gss_verify - gss_seal - gss_unseal - gss_display_status - gss_indicate_mechs - gss_compare_name - gss_display_name - gss_import_name - gss_release_name - gss_release_buffer - gss_release_oid_set - gss_inquire_cred -# -# GSS-API v2 additional credential calls -# - gss_add_cred - gss_inquire_cred_by_mech -# -# GSS-API v2 additional context-level calls -# - gss_inquire_context - gss_wrap_size_limit - gss_export_sec_context - gss_import_sec_context -# -# GSS-API v2 additional calls for OID and OID_set operations -# - gss_release_oid - gss_create_empty_oid_set - gss_add_oid_set_member - gss_test_oid_set_member - gss_oid_to_str - gss_str_to_oid -# -# GSS-API v2 renamed message protection calls -# - gss_wrap - gss_unwrap - gss_get_mic - gss_verify_mic -# -# GSS-API v2 future extensions -# - gss_inquire_names_for_mech -# gss_inquire_mechs_for_name - gss_canonicalize_name - gss_export_name - gss_duplicate_name -# -# krb5-specific CCache name stuff -# - gss_krb5_ccache_name - - - - diff --git a/src/mac/K5.CFM.c b/src/mac/K5.CFM.c deleted file mode 100644 index efb918cfc..000000000 --- a/src/mac/K5.CFM.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright 1998 by the Massachusetts Institute of Technology. - * - * Permission to use, copy, modify, and distribute this - * software and its documentation for any purpose and without - * fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting - * documentation, and that the name of M.I.T. not be used in - * advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. - * Furthermore if you modify this software you must label - * your software as modified software and not distribute it in such a - * fashion that it might be confused with the original M.I.T. software. - * M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" - * without express or implied warranty. - */ - - -#include - -#include "krb5_libinit.h" -#include "crypto_libinit.h" - - -OSErr __initializeK5(CFragInitBlockPtr ibp); -void __terminateGSSK5glue(void); - -OSErr __initializeK5(CFragInitBlockPtr ibp) -{ - OSErr err = noErr; - - err = __initialize(); - - if (err == noErr) { - err = krb5int_initialize_library (); - } - - if (err == noErr) { - err = cryptoint_initialize_library (); - } - - return err; -} - -void __terminateK5(void) -{ - - cryptoint_cleanup_library (); - krb5int_cleanup_library (); - - __terminate(); -} diff --git a/src/mac/K5.CFMglue.cin b/src/mac/K5.CFMglue.cin deleted file mode 100644 index f0fe80e4c..000000000 --- a/src/mac/K5.CFMglue.cin +++ /dev/null @@ -1,5 +0,0 @@ -/* Include prototypes for glue functions */ -#include - -/* Hardcode library fragment name here */ -#define kLibraryName "\pMIT Kerberos¥Kerberos5Lib" diff --git a/src/mac/K5.CFMglue.proto.h b/src/mac/K5.CFMglue.proto.h deleted file mode 100644 index ddf86adf5..000000000 --- a/src/mac/K5.CFMglue.proto.h +++ /dev/null @@ -1,249 +0,0 @@ -krb5_error_code krb5_c_encrypt (krb5_context context, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*ivec, const krb5_data*input, krb5_enc_data*output); -krb5_error_code krb5_c_decrypt (krb5_context context, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*ivec, const krb5_enc_data*input, krb5_data*output); -krb5_error_code krb5_c_encrypt_length (krb5_context context, krb5_enctype enctype, size_t inputlen, size_t*length); -krb5_error_code krb5_c_block_size (krb5_context context, krb5_enctype enctype, size_t*blocksize); -krb5_error_code krb5_c_make_random_key (krb5_context context, krb5_enctype enctype, krb5_keyblock*random_key); -krb5_error_code krb5_c_random_make_octets (krb5_context context, krb5_data*data); -krb5_error_code krb5_c_random_seed (krb5_context context, krb5_data*data); -krb5_error_code krb5_c_string_to_key (krb5_context context, krb5_enctype enctype, const krb5_data*string, const krb5_data*salt, krb5_keyblock*key); -krb5_error_code krb5_c_enctype_compare (krb5_context context, krb5_enctype e1, krb5_enctype e2, krb5_boolean*similar); -krb5_error_code krb5_c_make_checksum (krb5_context context, krb5_cksumtype cksumtype, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*input, krb5_checksum*cksum); -krb5_error_code krb5_c_verify_checksum (krb5_context context, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*data, const krb5_checksum*cksum, krb5_boolean*valid); -krb5_error_code krb5_c_checksum_length (krb5_context context, krb5_cksumtype cksumtype, size_t*length); -krb5_error_code krb5_c_keyed_checksum_types (krb5_context context, krb5_enctype enctype, unsigned int*count, krb5_cksumtype**cksumtypes); -krb5_boolean valid_enctype (const krb5_enctype ktype); -krb5_boolean valid_cksumtype (const krb5_cksumtype ctype); -krb5_boolean is_coll_proof_cksum (const krb5_cksumtype ctype); -krb5_boolean is_keyed_cksum (const krb5_cksumtype ctype); -krb5_error_code krb5_encrypt (krb5_context context, const krb5_pointer inptr, krb5_pointer outptr, const size_t size, krb5_encrypt_block* eblock, krb5_pointer ivec); -krb5_error_code krb5_decrypt (krb5_context context, const krb5_pointer inptr, krb5_pointer outptr, const size_t size, krb5_encrypt_block* eblock, krb5_pointer ivec); -krb5_error_code krb5_process_key (krb5_context context, krb5_encrypt_block* eblock, const krb5_keyblock* key); -krb5_error_code krb5_finish_key (krb5_context context, krb5_encrypt_block* eblock); -krb5_error_code krb5_string_to_key (krb5_context context, const krb5_encrypt_block* eblock, krb5_keyblock* keyblock, const krb5_data* data, const krb5_data* salt); -krb5_error_code krb5_init_random_key (krb5_context context, const krb5_encrypt_block* eblock, const krb5_keyblock* keyblock, krb5_pointer* ptr); -krb5_error_code krb5_finish_random_key (krb5_context context, const krb5_encrypt_block* eblock, krb5_pointer* ptr); -krb5_error_code krb5_random_key (krb5_context context, const krb5_encrypt_block* eblock, krb5_pointer ptr, krb5_keyblock** keyblock); -krb5_enctype krb5_eblock_enctype (krb5_context context, const krb5_encrypt_block* eblock); -krb5_error_code krb5_use_enctype (krb5_context context, krb5_encrypt_block* eblock, const krb5_enctype enctype); -size_t krb5_encrypt_size (const size_t length, krb5_enctype crypto); -size_t krb5_checksum_size (krb5_context context, const krb5_cksumtype ctype); -krb5_error_code krb5_calculate_checksum (krb5_context context, const krb5_cksumtype ctype, const krb5_pointer in, const size_t in_length, const krb5_pointer seed, const size_t seed_length, krb5_checksum* outcksum); -krb5_error_code krb5_verify_checksum (krb5_context context, const krb5_cksumtype ctype, const krb5_checksum* cksum, const krb5_pointer in, const size_t in_length, const krb5_pointer seed, const size_t seed_length); -krb5_error_code krb5_random_confounder (size_t, krb5_pointer); -krb5_error_code krb5_encrypt_data (krb5_context context, krb5_keyblock*key, krb5_pointer ivec, krb5_data*data, krb5_enc_data*enc_data); -krb5_error_code krb5_decrypt_data (krb5_context context, krb5_keyblock*key, krb5_pointer ivec, krb5_enc_data*data, krb5_data*enc_data); -krb5_error_code krb5_rc_default (krb5_context, krb5_rcache*); -krb5_error_code krb5_rc_register_type (krb5_context, krb5_rc_ops*); -krb5_error_code krb5_rc_resolve_type (krb5_context, krb5_rcache*,char*); -krb5_error_code krb5_rc_resolve_full (krb5_context, krb5_rcache*,char*); -char* krb5_rc_get_type (krb5_context, krb5_rcache); -char* krb5_rc_default_type (krb5_context); -char* krb5_rc_default_name (krb5_context); -krb5_error_code krb5_auth_to_rep (krb5_context, krb5_tkt_authent*, krb5_donot_replay*); -krb5_error_code krb5_init_context (krb5_context*); -void krb5_free_context (krb5_context); -krb5_error_code krb5_set_default_in_tkt_ktypes (krb5_context, const krb5_enctype*); -krb5_error_code krb5_get_default_in_tkt_ktypes (krb5_context, krb5_enctype**); -krb5_error_code krb5_set_default_tgs_ktypes (krb5_context, const krb5_enctype*); -krb5_error_code krb5_get_tgs_ktypes (krb5_context, krb5_const_principal, krb5_enctype**); -krb5_error_code krb5_get_permitted_enctypes (krb5_context, krb5_enctype**); -krb5_boolean krb5_is_permitted_enctype (krb5_context, krb5_enctype); -krb5_error_code krb5_kdc_rep_decrypt_proc (krb5_context, const krb5_keyblock*, krb5_const_pointer, krb5_kdc_rep* ); -krb5_error_code krb5_decrypt_tkt_part (krb5_context, const krb5_keyblock*, krb5_ticket* ); -krb5_error_code krb5_get_cred_from_kdc (krb5_context, krb5_ccache, krb5_creds*, krb5_creds**, krb5_creds*** ); -krb5_error_code krb5_get_cred_from_kdc_validate (krb5_context, krb5_ccache, krb5_creds*, krb5_creds**, krb5_creds***); -krb5_error_code krb5_get_cred_from_kdc_renew (krb5_context, krb5_ccache, krb5_creds*, krb5_creds**, krb5_creds***); -void krb5_free_tgt_creds (krb5_context, krb5_creds**); -krb5_error_code krb5_get_credentials (krb5_context, const krb5_flags, krb5_ccache, krb5_creds*, krb5_creds**); -krb5_error_code krb5_get_credentials_validate (krb5_context, const krb5_flags, krb5_ccache, krb5_creds*, krb5_creds**); -krb5_error_code krb5_get_credentials_renew (krb5_context, const krb5_flags, krb5_ccache, krb5_creds*, krb5_creds**); -krb5_error_code krb5_get_cred_via_tkt (krb5_context, krb5_creds*, const krb5_flags, krb5_address* const*, krb5_creds*, krb5_creds**); -krb5_error_code krb5_mk_req (krb5_context, krb5_auth_context*, const krb5_flags, char*, char*, krb5_data*, krb5_ccache, krb5_data*); -krb5_error_code krb5_mk_req_extended (krb5_context, krb5_auth_context*, const krb5_flags, krb5_data*, krb5_creds*, krb5_data*); -krb5_error_code krb5_mk_rep (krb5_context, krb5_auth_context, krb5_data*); -krb5_error_code krb5_rd_rep (krb5_context, krb5_auth_context, const krb5_data*, krb5_ap_rep_enc_part**); -krb5_error_code krb5_mk_error (krb5_context, const krb5_error*, krb5_data*); -krb5_error_code krb5_rd_error (krb5_context, const krb5_data*, krb5_error**); -krb5_error_code krb5_rd_safe (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*); -krb5_error_code krb5_rd_priv (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*); -krb5_error_code krb5_parse_name (krb5_context, const char*, krb5_principal*); -krb5_error_code krb5_unparse_name (krb5_context, krb5_const_principal, char**); -krb5_error_code krb5_unparse_name_ext (krb5_context, krb5_const_principal, char**, int*); -krb5_error_code krb5_set_principal_realm (krb5_context, krb5_principal, const char*); -krb5_boolean krb5_address_search (krb5_context, const krb5_address*, krb5_address* const*); -krb5_boolean krb5_address_compare (krb5_context, const krb5_address*, const krb5_address*); -int krb5_address_order (krb5_context, const krb5_address*, const krb5_address*); -krb5_boolean krb5_realm_compare (krb5_context, krb5_const_principal, krb5_const_principal); -krb5_boolean krb5_principal_compare (krb5_context, krb5_const_principal, krb5_const_principal); -krb5_error_code krb5_copy_keyblock (krb5_context, const krb5_keyblock*, krb5_keyblock**); -krb5_error_code krb5_copy_keyblock_contents (krb5_context, const krb5_keyblock*, krb5_keyblock*); -krb5_error_code krb5_copy_creds (krb5_context, const krb5_creds*, krb5_creds**); -krb5_error_code krb5_copy_data (krb5_context, const krb5_data*, krb5_data**); -krb5_error_code krb5_copy_principal (krb5_context, krb5_const_principal, krb5_principal*); -krb5_error_code krb5_copy_addr (krb5_context, const krb5_address*, krb5_address**); -krb5_error_code krb5_copy_addresses (krb5_context, krb5_address* const*, krb5_address***); -krb5_error_code krb5_copy_ticket (krb5_context, const krb5_ticket*, krb5_ticket**); -krb5_error_code krb5_copy_authdata (krb5_context, krb5_authdata* const*, krb5_authdata***); -krb5_error_code krb5_copy_authenticator (krb5_context, const krb5_authenticator*, krb5_authenticator**); -krb5_error_code krb5_copy_checksum (krb5_context, const krb5_checksum*, krb5_checksum**); -void krb5_init_ets (krb5_context); -void krb5_free_ets (krb5_context); -krb5_error_code krb5_generate_subkey (krb5_context, const krb5_keyblock*, krb5_keyblock**); -krb5_error_code krb5_generate_seq_number (krb5_context, const krb5_keyblock*, krb5_int32*); -krb5_error_code krb5_get_server_rcache (krb5_context, const krb5_data*, krb5_rcache*); -krb5_error_code krb5_build_principal_va (krb5_context, krb5_principal, int, const char*, va_list); -krb5_error_code krb5_425_conv_principal (krb5_context, const char*name, const char*instance, const char*realm, krb5_principal*princ); -krb5_error_code krb5_524_conv_principal (krb5_context context, const krb5_principal princ, char*name, char*inst, char*realm); -krb5_error_code krb5_mk_chpw_req (krb5_context context, krb5_auth_context auth_context, krb5_data*ap_req, char*passwd, krb5_data*packet); -krb5_error_code krb5_rd_chpw_rep (krb5_context context, krb5_auth_context auth_context, krb5_data*packet, int*result_code, krb5_data*result_data); -krb5_error_code krb5_chpw_result_code_string (krb5_context context, int result_code, char**result_codestr); -krb5_error_code krb5_kt_register (krb5_context, krb5_kt_ops*); -krb5_error_code krb5_kt_resolve (krb5_context, const char*, krb5_keytab*); -krb5_error_code krb5_kt_default_name (krb5_context, char*, int); -krb5_error_code krb5_kt_default (krb5_context, krb5_keytab*); -krb5_error_code krb5_kt_free_entry (krb5_context, krb5_keytab_entry*); -krb5_error_code krb5_kt_remove_entry (krb5_context, krb5_keytab, krb5_keytab_entry*); -krb5_error_code krb5_kt_add_entry (krb5_context, krb5_keytab, krb5_keytab_entry*); -krb5_error_code krb5_principal2salt (krb5_context, krb5_const_principal, krb5_data*); -krb5_error_code krb5_principal2salt_norealm (krb5_context, krb5_const_principal, krb5_data*); -krb5_error_code krb5_cc_resolve (krb5_context, const char*, krb5_ccache*); -const char* krb5_cc_default_name (krb5_context); -krb5_error_code krb5_cc_set_default_name (krb5_context, const char*); -krb5_error_code krb5_cc_default (krb5_context, krb5_ccache*); -unsigned int krb5_get_notification_message (void); -krb5_error_code krb5_cc_copy_creds (krb5_context context, krb5_ccache incc, krb5_ccache outcc); -krb5_error_code krb5_check_transited_list (krb5_context, krb5_data*trans, krb5_data*realm1, krb5_data*realm2); -void krb5_free_realm_tree (krb5_context, krb5_principal*); -void krb5_free_principal (krb5_context, krb5_principal); -void krb5_free_authenticator (krb5_context, krb5_authenticator*); -void krb5_free_authenticator_contents (krb5_context, krb5_authenticator*); -void krb5_free_addresses (krb5_context, krb5_address**); -void krb5_free_address (krb5_context, krb5_address*); -void krb5_free_authdata (krb5_context, krb5_authdata**); -void krb5_free_enc_tkt_part (krb5_context, krb5_enc_tkt_part*); -void krb5_free_ticket (krb5_context, krb5_ticket*); -void krb5_free_tickets (krb5_context, krb5_ticket**); -void krb5_free_kdc_req (krb5_context, krb5_kdc_req*); -void krb5_free_kdc_rep (krb5_context, krb5_kdc_rep*); -void krb5_free_last_req (krb5_context, krb5_last_req_entry**); -void krb5_free_enc_kdc_rep_part (krb5_context, krb5_enc_kdc_rep_part*); -void krb5_free_error (krb5_context, krb5_error*); -void krb5_free_ap_req (krb5_context, krb5_ap_req*); -void krb5_free_ap_rep (krb5_context, krb5_ap_rep*); -void krb5_free_safe (krb5_context, krb5_safe*); -void krb5_free_priv (krb5_context, krb5_priv*); -void krb5_free_priv_enc_part (krb5_context, krb5_priv_enc_part*); -void krb5_free_cred (krb5_context, krb5_cred*); -void krb5_free_creds (krb5_context, krb5_creds*); -void krb5_free_cred_contents (krb5_context, krb5_creds*); -void krb5_free_cred_enc_part (krb5_context, krb5_cred_enc_part*); -void krb5_free_checksum (krb5_context, krb5_checksum*); -void krb5_free_checksum_contents (krb5_context, krb5_checksum*); -void krb5_free_keyblock (krb5_context, krb5_keyblock*); -void krb5_free_keyblock_contents (krb5_context, krb5_keyblock*); -void krb5_free_pa_data (krb5_context, krb5_pa_data**); -void krb5_free_ap_rep_enc_part (krb5_context, krb5_ap_rep_enc_part*); -void krb5_free_tkt_authent (krb5_context, krb5_tkt_authent*); -void krb5_free_pwd_data (krb5_context, krb5_pwd_data*); -void krb5_free_pwd_sequences (krb5_context, passwd_phrase_element**); -void krb5_free_data (krb5_context, krb5_data*); -void krb5_free_data_contents (krb5_context, krb5_data*); -void krb5_free_unparsed_name (krb5_context, char*); -void krb5_free_cksumtypes (krb5_context, krb5_cksumtype*); -krb5_error_code krb5_us_timeofday (krb5_context, krb5_int32*, krb5_int32*); -krb5_error_code krb5_timeofday (krb5_context, krb5_int32*); -krb5_error_code krb5_os_localaddr (krb5_context, krb5_address***); -krb5_error_code krb5_get_default_realm (krb5_context, char**); -krb5_error_code krb5_set_default_realm (krb5_context, const char*); -krb5_error_code krb5_sname_to_principal (krb5_context, const char*, const char*, krb5_int32, krb5_principal*); -krb5_error_code krb5_change_password (krb5_context context, krb5_creds*creds, char*newpw, int*result_code, krb5_data*result_code_string, krb5_data*result_string); -krb5_error_code krb5_get_profile (krb5_context, profile_t*); -krb5_error_code krb5_secure_config_files (krb5_context); -krb5_error_code krb5_send_tgs (krb5_context, const krb5_flags, const krb5_ticket_times*, const krb5_enctype*, krb5_const_principal, krb5_address* const*, krb5_authdata* const*, krb5_pa_data* const*, const krb5_data*, krb5_creds*, krb5_response*); -krb5_error_code krb5_get_in_tkt_with_password (krb5_context, const krb5_flags, krb5_address* const*, krb5_enctype*, krb5_preauthtype*, const char*, krb5_ccache, krb5_creds*, krb5_kdc_rep**); -krb5_error_code krb5_get_in_tkt_with_skey (krb5_context, const krb5_flags, krb5_address* const*, krb5_enctype*, krb5_preauthtype*, const krb5_keyblock*, krb5_ccache, krb5_creds*, krb5_kdc_rep**); -krb5_error_code krb5_get_in_tkt_with_keytab (krb5_context, const krb5_flags, krb5_address* const*, krb5_enctype*, krb5_preauthtype*, const krb5_keytab, krb5_ccache, krb5_creds*, krb5_kdc_rep**); -krb5_error_code krb5_decode_kdc_rep (krb5_context, krb5_data*, const krb5_keyblock*, krb5_kdc_rep**); -krb5_error_code krb5_rd_req (krb5_context, krb5_auth_context*, const krb5_data*, krb5_const_principal, krb5_keytab, krb5_flags*, krb5_ticket**); -krb5_error_code krb5_rd_req_decoded (krb5_context, krb5_auth_context*, const krb5_ap_req*, krb5_const_principal, krb5_keytab, krb5_flags*, krb5_ticket**); -krb5_error_code krb5_rd_req_decoded_anyflag (krb5_context, krb5_auth_context*, const krb5_ap_req*, krb5_const_principal, krb5_keytab, krb5_flags*, krb5_ticket**); -krb5_error_code krb5_kt_read_service_key (krb5_context, krb5_pointer, krb5_principal, krb5_kvno, krb5_enctype, krb5_keyblock**); -krb5_error_code krb5_mk_safe (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*); -krb5_error_code krb5_mk_priv (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*); -krb5_error_code krb5_cc_register (krb5_context, krb5_cc_ops*, krb5_boolean); -krb5_error_code krb5_sendauth (krb5_context, krb5_auth_context*, krb5_pointer, char*, krb5_principal, krb5_principal, krb5_flags, krb5_data*, krb5_creds*, krb5_ccache, krb5_error**, krb5_ap_rep_enc_part**, krb5_creds**); -krb5_error_code krb5_recvauth (krb5_context, krb5_auth_context*, krb5_pointer, char*, krb5_principal, krb5_int32, krb5_keytab, krb5_ticket**); -krb5_error_code krb5_walk_realm_tree (krb5_context, const krb5_data*, const krb5_data*, krb5_principal**, int); -krb5_error_code krb5_mk_ncred (krb5_context, krb5_auth_context, krb5_creds**, krb5_data**, krb5_replay_data*); -krb5_error_code krb5_mk_1cred (krb5_context, krb5_auth_context, krb5_creds*, krb5_data**, krb5_replay_data*); -krb5_error_code krb5_rd_cred (krb5_context, krb5_auth_context, krb5_data*, krb5_creds***, krb5_replay_data*); -krb5_error_code krb5_fwd_tgt_creds (krb5_context, krb5_auth_context, char*, krb5_principal, krb5_principal, krb5_ccache, int forwardable, krb5_data*); -krb5_error_code krb5_auth_con_init (krb5_context, krb5_auth_context*); -krb5_error_code krb5_auth_con_free (krb5_context, krb5_auth_context); -krb5_error_code krb5_auth_con_setflags (krb5_context, krb5_auth_context, krb5_int32); -krb5_error_code krb5_auth_con_getflags (krb5_context, krb5_auth_context, krb5_int32*); -krb5_error_code krb5_auth_con_setaddrs (krb5_context, krb5_auth_context, krb5_address*, krb5_address*); -krb5_error_code krb5_auth_con_getaddrs (krb5_context, krb5_auth_context, krb5_address**, krb5_address**); -krb5_error_code krb5_auth_con_setports (krb5_context, krb5_auth_context, krb5_address*, krb5_address*); -krb5_error_code krb5_auth_con_setuseruserkey (krb5_context, krb5_auth_context, krb5_keyblock*); -krb5_error_code krb5_auth_con_getkey (krb5_context, krb5_auth_context, krb5_keyblock**); -krb5_error_code krb5_auth_con_getlocalsubkey (krb5_context, krb5_auth_context, krb5_keyblock**); -krb5_error_code krb5_auth_con_set_req_cksumtype (krb5_context, krb5_auth_context, krb5_cksumtype); -krb5_error_code krb5_auth_con_set_safe_cksumtype (krb5_context, krb5_auth_context, krb5_cksumtype); -krb5_error_code krb5_auth_con_getcksumtype (krb5_context, krb5_auth_context, krb5_cksumtype*); -krb5_error_code krb5_auth_con_getlocalseqnumber (krb5_context, krb5_auth_context, krb5_int32*); -krb5_error_code krb5_auth_con_getremoteseqnumber (krb5_context, krb5_auth_context, krb5_int32*); -krb5_error_code krb5_auth_con_initivector (krb5_context, krb5_auth_context); -krb5_error_code krb5_auth_con_setivector (krb5_context, krb5_auth_context, krb5_pointer); -krb5_error_code krb5_auth_con_getivector (krb5_context, krb5_auth_context, krb5_pointer*); -krb5_error_code krb5_auth_con_setrcache (krb5_context, krb5_auth_context, krb5_rcache); -krb5_error_code krb5_auth_con_getrcache (krb5_context, krb5_auth_context, krb5_rcache*); -krb5_error_code krb5_auth_con_getauthenticator (krb5_context, krb5_auth_context, krb5_authenticator**); -krb5_error_code krb5_auth_con_getremotesubkey (krb5_context, krb5_auth_context, krb5_keyblock**); -krb5_error_code krb5_read_password (krb5_context, const char*, const char*, char*, int*); -krb5_error_code krb5_aname_to_localname (krb5_context, krb5_const_principal, const int, char*); -krb5_error_code krb5_get_host_realm (krb5_context, const char*, char***); -krb5_error_code krb5_free_host_realm (krb5_context, char* const*); -krb5_error_code krb5_get_realm_domain (krb5_context, const char*, char**); -krb5_boolean krb5_kuserok (krb5_context, krb5_principal, const char*); -krb5_error_code krb5_auth_con_genaddrs (krb5_context, krb5_auth_context, int, int); -krb5_error_code krb5_gen_portaddr (krb5_context, const krb5_address*, krb5_const_pointer, krb5_address**); -krb5_error_code krb5_make_fulladdr (krb5_context, krb5_address*, krb5_address*, krb5_address*); -krb5_error_code krb5_os_hostaddr (krb5_context, const char*, krb5_address***); -krb5_error_code krb5_set_real_time (krb5_context, krb5_int32, krb5_int32); -krb5_error_code krb5_set_debugging_time (krb5_context, krb5_int32, krb5_int32); -krb5_error_code krb5_use_natural_time (krb5_context); -krb5_error_code krb5_get_time_offsets (krb5_context, krb5_int32*, krb5_int32*); -krb5_error_code krb5_set_time_offsets (krb5_context, krb5_int32, krb5_int32); -krb5_error_code krb5_string_to_enctype (char*, krb5_enctype*); -krb5_error_code krb5_string_to_salttype (char*, krb5_int32*); -krb5_error_code krb5_string_to_cksumtype (char*, krb5_cksumtype*); -krb5_error_code krb5_string_to_timestamp (char*, krb5_timestamp*); -krb5_error_code krb5_string_to_deltat (char*, krb5_deltat*); -krb5_error_code krb5_enctype_to_string (krb5_enctype, char*, size_t); -krb5_error_code krb5_salttype_to_string (krb5_int32, char*, size_t); -krb5_error_code krb5_cksumtype_to_string (krb5_cksumtype, char*, size_t); -krb5_error_code krb5_timestamp_to_string (krb5_timestamp, char*, size_t); -krb5_error_code krb5_timestamp_to_sfstring (krb5_timestamp, char*, size_t, char*); -krb5_error_code krb5_deltat_to_string (krb5_deltat, char*, size_t); -krb5_error_code krb5_prompter_posix (krb5_context context, void*data, const char*name, const char*banner, int num_prompts, krb5_prompt prompts[]); -void krb5_get_init_creds_opt_init (krb5_get_init_creds_opt*opt); -void krb5_get_init_creds_opt_set_tkt_life (krb5_get_init_creds_opt*opt, krb5_deltat tkt_life); -void krb5_get_init_creds_opt_set_renew_life (krb5_get_init_creds_opt*opt, krb5_deltat renew_life); -void krb5_get_init_creds_opt_set_forwardable (krb5_get_init_creds_opt*opt, int forwardable); -void krb5_get_init_creds_opt_set_proxiable (krb5_get_init_creds_opt*opt, int proxiable); -void krb5_get_init_creds_opt_set_etype_list (krb5_get_init_creds_opt*opt, krb5_enctype*etype_list, int etype_list_length); -void krb5_get_init_creds_opt_set_address_list (krb5_get_init_creds_opt*opt, krb5_address**addresses); -void krb5_get_init_creds_opt_set_preauth_list (krb5_get_init_creds_opt*opt, krb5_preauthtype*preauth_list, int preauth_list_length); -void krb5_get_init_creds_opt_set_salt (krb5_get_init_creds_opt*opt, krb5_data*salt); -krb5_error_code krb5_get_init_creds_password (krb5_context context, krb5_creds*creds, krb5_principal client, char*password, krb5_prompter_fct prompter, void*data, krb5_deltat start_time, char*in_tkt_service, krb5_get_init_creds_opt*options); -krb5_error_code krb5_get_init_creds_keytab (krb5_context context, krb5_creds*creds, krb5_principal client, krb5_keytab arg_keytab, krb5_deltat start_time, char*in_tkt_service, krb5_get_init_creds_opt*options); -void krb5_verify_init_creds_opt_init (krb5_verify_init_creds_opt*options); -void krb5_verify_init_creds_opt_set_ap_req_nofail (krb5_verify_init_creds_opt*options, int ap_req_nofail); -krb5_error_code krb5_verify_init_creds (krb5_context context, krb5_creds*creds, krb5_principal ap_req_server, krb5_keytab ap_req_keytab, krb5_ccache*ccache, krb5_verify_init_creds_opt*options); -krb5_error_code krb5_get_validated_creds (krb5_context context, krb5_creds*creds, krb5_principal client, krb5_ccache ccache, char*in_tkt_service); -krb5_error_code krb5_get_renewed_creds (krb5_context context, krb5_creds*creds, krb5_principal client, krb5_ccache ccache, char*in_tkt_service); -krb5_error_code krb5_realm_iterator_create (krb5_context context, void**iter_p); -krb5_error_code krb5_realm_iterator (krb5_context context, void**iter_p, char**ret_realm); -void krb5_realm_iterator_free (krb5_context context, void**iter_p); -void krb5_free_realm_string (krb5_context context, char*str); diff --git a/src/mac/K5.moreCFMglue.cin b/src/mac/K5.moreCFMglue.cin deleted file mode 100644 index 34dc7b3db..000000000 --- a/src/mac/K5.moreCFMglue.cin +++ /dev/null @@ -1,7 +0,0 @@ -#include - -Boolean KerberosV5LibraryIsPresent () -{ - Ptr symAddr; - return (Find_Symbol (&symAddr, "\pkrb5_get_credentials", krb5_get_credentials_ProcInfo)) == noErr; -} \ No newline at end of file diff --git a/src/mac/K5Library.exp b/src/mac/K5Library.exp deleted file mode 100644 index 341e62e5e..000000000 --- a/src/mac/K5Library.exp +++ /dev/null @@ -1,220 +0,0 @@ -#---------------------------------------------------- -# KRB5.DEF - KRB5.DLL module definition file -#---------------------------------------------------- - -# Kerberos 5 - krb5_build_principal - krb5_build_principal_ext - krb5_copy_addr - krb5_copy_addresses - krb5_copy_authdata - krb5_copy_authenticator - krb5_copy_checksum - krb5_copy_creds - krb5_copy_data - krb5_copy_keyblock - krb5_copy_keyblock_contents - krb5_copy_principal - krb5_copy_ticket - krb5_decrypt_tkt_part - krb5_free_address - krb5_free_addresses - krb5_free_ap_rep - krb5_free_ap_rep_enc_part - krb5_free_ap_req - krb5_free_authdata - krb5_free_authenticator - krb5_free_authenticator_contents - krb5_free_checksum - krb5_free_context - krb5_free_cred - krb5_free_cred_contents - krb5_free_cred_enc_part - krb5_free_creds - krb5_free_data - krb5_free_data_contents - krb5_free_default_realm - krb5_free_enc_kdc_rep_part - krb5_free_enc_tkt_part - krb5_free_error - krb5_free_host_realm - krb5_free_kdc_rep - krb5_free_kdc_req - krb5_free_keyblock - krb5_free_keyblock_contents - krb5_free_last_req - krb5_free_pa_data - krb5_free_principal - krb5_free_priv - krb5_free_priv_enc_part - krb5_free_pwd_data - krb5_free_pwd_sequences - krb5_free_safe - krb5_free_tgt_creds - krb5_free_ticket - krb5_free_tickets - krb5_free_tkt_authent - krb5_free_checksum_contents - krb5_free_cksumtypes - krb5_fwd_tgt_creds - krb5_get_credentials - krb5_get_credentials_renew - krb5_get_credentials_validate - krb5_get_default_realm - krb5_get_host_realm - krb5_get_in_tkt - krb5_get_in_tkt_with_keytab - krb5_get_in_tkt_with_password - krb5_get_in_tkt_with_skey - krb5_get_init_creds_opt_init - krb5_get_init_creds_opt_set_tkt_life - krb5_get_init_creds_opt_set_renew_life - krb5_get_init_creds_opt_set_forwardable - krb5_get_init_creds_opt_set_proxiable - krb5_get_init_creds_opt_set_etype_list - krb5_get_init_creds_opt_set_address_list - krb5_get_init_creds_opt_set_preauth_list - krb5_get_init_creds_opt_set_salt - krb5_get_init_creds_password - krb5_get_init_creds_keytab - krb5_get_init_creds_opt_init - krb5_get_validated_creds - krb5_get_renewed_creds - krb5_get_notification_message - krb5_init_context - krb5_mk_error - krb5_mk_priv - krb5_mk_rep - krb5_mk_req - krb5_mk_req_extended - krb5_mk_safe - krb5_os_localaddr - krb5_parse_name - krb5_principal_compare - krb5_get_prompt_types - krb5_rd_cred - krb5_rd_error - krb5_rd_priv - krb5_rd_rep - krb5_rd_req - krb5_rd_safe - krb5_read_password - krb5_recvauth - krb5_sendauth - krb5_sname_to_principal - krb5_timeofday - krb5_unparse_name - krb5_unparse_name_ext - krb5_free_unparsed_name - krb5_us_timeofday - krb5_get_server_rcache -# - krb5_use_enctype - krb5_checksum_size - krb5_encrypt_size - krb5_calculate_checksum - krb5_verify_checksum - krb5_eblock_enctype -# - krb5_decrypt - krb5_encrypt - krb5_string_to_key - krb5_process_key - krb5_finish_key - krb5_init_random_key - krb5_finish_random_key - krb5_random_key -# - krb5_425_conv_principal - krb5_524_conv_principal -# - krb5_cksumtype_to_string - krb5_deltat_to_string - krb5_enctype_to_string - krb5_salttype_to_string - krb5_string_to_cksumtype - krb5_string_to_deltat - krb5_string_to_enctype - krb5_string_to_salttype - krb5_string_to_timestamp - krb5_timestamp_to_sfstring - krb5_timestamp_to_string -# - krb5_auth_con_init - krb5_auth_con_free - krb5_auth_con_setflags - krb5_auth_con_getflags - krb5_auth_con_setaddrs - krb5_auth_con_getaddrs - krb5_auth_con_setports - krb5_auth_con_setuseruserkey - krb5_auth_con_getkey - krb5_auth_con_getlocalsubkey - krb5_auth_con_set_req_cksumtype - krb5_auth_con_set_safe_cksumtype -# krb5_auth_con_getcksumtype Why is this missing from sources? - krb5_auth_con_getlocalseqnumber - krb5_auth_con_getremoteseqnumber - krb5_auth_con_initivector - krb5_auth_con_getivector - krb5_auth_con_setivector - krb5_auth_con_setrcache - krb5_auth_con_getrcache - krb5_auth_con_getremotesubkey - krb5_auth_con_getauthenticator - krb5_auth_con_genaddrs -# - krb5_cc_default - krb5_cc_default_name - krb5_cc_register - krb5_cc_resolve -# - krb5_kt_default - krb5_kt_register - krb5_kt_resolve - krb5_kt_add_entry - krb5_kt_free_entry - krb5_kt_read_service_key - krb5_kt_remove_entry - -# - krb5_change_password -# - krb5_realm_iterator_create - krb5_realm_iterator - krb5_realm_iterator_free - krb5_free_realm_string -# - krb5_cc_set_default_name -# - krb5_get_profile -# -# Added for 1.2: - krb5_decode_ticket - -#Temporary exports (DO NOT USE) - krb5_get_time_offsets # WrappersLib - krb5int_cc_default # GSSAPI - krb5_size_opaque # GSSAPI - krb5_internalize_opaque # GSSAPI - krb5_externalize_opaque # GSSAPI - krb5_ser_pack_int32 # GSSAPI - krb5_ser_unpack_int32 # GSSAPI - krb5_ser_pack_bytes # GSSAPI - krb5_ser_unpack_bytes # GSSAPI - krb5_ser_auth_context_init # GSSAPI - krb5_ser_context_init # GSSAPI - krb5_ser_ccache_init # GSSAPI - krb5_ser_keytab_init # GSSAPI - krb5_ser_rcache_init # GSSAPI - decode_krb5_ap_req # GSSAPI - krb5_mcc_ops # GSSAPI - krb5_c_keyed_checksum_types # GSSAPI - krb5_c_random_make_octets # GSSAPI - krb5_c_encrypt # GSSAPI - krb5_c_make_checksum # GSSAPI - krb5_c_decrypt # GSSAPI - krb5_c_verify_checksum # GSSAPI - krb5_c_block_size # GSSAPI - krb5_c_checksum_length # GSSAPI - krb5_c_encrypt_length # GSSAPI \ No newline at end of file diff --git a/src/mac/Kerberos5Lib.glue.h b/src/mac/Kerberos5Lib.glue.h deleted file mode 100644 index 0c9478c60..000000000 --- a/src/mac/Kerberos5Lib.glue.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _K5_CFMGLUE_H_ -#define _K5_CFMGLUE_H_ - -Boolean KerberosV5LibraryIsPresent (); - -#endif /* _K5_CFMGLUE_H_ */ \ No newline at end of file diff --git a/src/mac/KerberosProfileLib ReadMe b/src/mac/KerberosProfileLib ReadMe deleted file mode 100644 index 96fea1158..000000000 --- a/src/mac/KerberosProfileLib ReadMe +++ /dev/null @@ -1,11 +0,0 @@ -KerberosProfileLib implements the Kerberos 5 profile API, used for reading and writing -Kerberos configuration files. See profile.h for API documentation. - -Note that you should rarely, if ever, use profile_init or profile_init_path. You -probably mean to use krb5_get_profile, to avoid making your code depend on the -location of a specific Kerberos 5 preferences file. This is especially important -as the name and possibly the location of Kerberos configuration file is going to -change in the future. - -Also note that you need both Kerberos5Lib:Headers: and KerberosProfileLib:Headers: -in your include path to use profile.h \ No newline at end of file diff --git a/src/mac/KrbProfileLib.glue.h b/src/mac/KrbProfileLib.glue.h deleted file mode 100644 index 05748eea5..000000000 --- a/src/mac/KrbProfileLib.glue.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _KERBEROSPROFILE_CFMGLUE_H_ -#define _KERBEROSPROFILE_CFMGLUE_H_ - -Boolean KerberosProfileLibraryIsPresent (); - -#endif /* _KERBEROSPROFILE_CFMGLUE_H_ */ \ No newline at end of file diff --git a/src/mac/KrbProfileLib.glue.post.cin b/src/mac/KrbProfileLib.glue.post.cin deleted file mode 100644 index bc3bf9af4..000000000 --- a/src/mac/KrbProfileLib.glue.post.cin +++ /dev/null @@ -1,7 +0,0 @@ -#include - -Boolean KerberosProfileLibraryIsPresent () -{ - Ptr symAddr; - return (Find_Symbol (&symAddr, "\pprofile_init", profile_init_ProcInfo)) == noErr; -} \ No newline at end of file diff --git a/src/mac/KrbProfileLib.glue.pre.cin b/src/mac/KrbProfileLib.glue.pre.cin deleted file mode 100644 index 37b20e8de..000000000 --- a/src/mac/KrbProfileLib.glue.pre.cin +++ /dev/null @@ -1,5 +0,0 @@ -/* Include prototypes for glue functions */ -#include - -/* Hardcode library fragment name here */ -#define kLibraryName "\pMIT Kerberos¥KerberosProfileLib" diff --git a/src/mac/KrbProfileLib.glue.proto.h b/src/mac/KrbProfileLib.glue.proto.h deleted file mode 100644 index 80e33370d..000000000 --- a/src/mac/KrbProfileLib.glue.proto.h +++ /dev/null @@ -1,18 +0,0 @@ -long profile_init (profile_filespec_t *files, profile_t *ret_profile); -long profile_init_path (profile_filespec_list_t filelist, profile_t *ret_profile); -long profile_flush (profile_t profile); -void profile_abandon (profile_t profile); -void profile_release (profile_t profile); -long profile_get_values (profile_t profile, const char **names, char ***ret_values); -void profile_free_list (char **list); -long profile_get_string (profile_t profile, const char *name, const char *subname, const char *subsubname, const char *def_val, char **ret_string); long profile_get_integer (profile_t profile, const char *name, const char *subname, const char *subsubname, int def_val, int *ret_default); -long profile_get_relation_names (profile_t profile, const char **names, char ***ret_names); -long profile_get_subsection_names (profile_t profile, const char **names, char ***ret_names); -long profile_iterator_create (profile_t profile, const char **names, int flags, void **ret_iter); -void profile_iterator_free (void **iter_p); -long profile_iterator (void **iter_p, char **ret_name, char **ret_value); -void profile_release_string (char *str); -long profile_update_relation (profile_t profile, const char **names, const char *old_value, const char *new_value); -long profile_clear_relation (profile_t profile, const char **names); -long profile_rename_section (profile_t profile, const char **names, const char *new_name); -long profile_add_relation (profile_t profile, const char **names, const char *new_value); diff --git a/src/mac/Makefile b/src/mac/Makefile deleted file mode 100644 index ff2c09692..000000000 --- a/src/mac/Makefile +++ /dev/null @@ -1,1028 +0,0 @@ -############################################################################################################## -### Important global constants -############################################################################################################## - -root-folder = :: -mitsupportlib-root-folder = {root-folder}:::MITSupportLib: -mitkerberoslib-root-folder = {root-folder}: -makefile-name = {root-folder}mac:Makefile - -library-output-folder = {root-folder}bin: - -library-platform-PPC = .PPC - -library-kind-debug = .debug -library-kind-final = - -############################################################################################################## -### Top-level targets -- abstract targets for convenient grouping -############################################################################################################## - -# Everything -all Ä unset-echo all-debug all-final - -# Debugging versions -all-debug Ä unset-echo ppc-debug - -# Final versions -all-final Ä unset-echo ppc-final - -# Clasic 68K glue -glue Ä unset-echo glue-gss glue-krb5 - -unset-echo Ä - If ({MacdevScriptDebug}) - Set Echo 1 - Else - Unset Echo - End - -############################################################################################################## -### More global constants -############################################################################################################## - -gss-library-output-folder = {root-folder}:GSSLib:Binaries: -krb5-library-output-folder = {root-folder}:Kerberos5Lib:Binaries: -profile-library-output-folder = {root-folder}:KerberosProfileLib:Binaries: -comerr-library-output-folder = {root-folder}:ComErrLib:Binaries: - -gss-library-name = GSSLib -krb5-library-name = Kerberos5Lib -profile-library-name = KrbProfileLib -comerr-library-name = ComErrLib - -gss-library-export = {root-folder}mac:GSSLibrary.exp -krb5-library-export = {root-folder}mac:K5Library.exp -profile-library-export = {root-folder}util:profile:profile.exp -comerr-library-export = {root-folder}util:et:et.exp - -gss-library-fragment-name = "GSSLibrary" -krb5-library-fragment-name = "MIT Kerberos¥Kerberos5Lib" -profile-library-fragment-name = "MIT Kerberos¥KerberosProfileLib" -comerr-library-fragment-name = "MIT Kerberos¥ComErrLib" - -gss-library-main = ¶"¶" -krb5-library-main = ¶"¶" -profile-library-main = ¶"¶" -comerr-library-main = ¶"¶" - -gss-library-init = __initializeGSS -krb5-library-init = __initializeK5 -profile-library-init = InitializeProfileLib -comerr-library-init = __initialize - -gss-library-term = __terminateGSS -krb5-library-term = __terminateK5 -profile-library-term = TerminateProfileLib -comerr-library-term = __terminate - -gss-library-current-version = 1 -gss-library-definition-version = 0 -gss-library-implementation-version = 1 - -krb5-library-current-version = 4 -krb5-library-definition-version = 4 -krb5-library-implementation-version = 4 - -profile-library-current-version = 0 -profile-library-definition-version = 0 -profile-library-implementation-version = 0 - -comerr-library-current-version = 0 -comerr-library-definition-version = 0 -comerr-library-implementation-version = 0 - -############################################################################################################## -### Generation of file lists -############################################################################################################## - -list-generation-script-working-folder = "{root-folder}mac:" -list-generation-script-folder = "{root-folder}mac:" -list-generation-script = "{list-generation-script-folder}macfile_gen.pl" -list-generation-script-root = ".." - -all-files-list = {root-folder}"All files.list" -all-sources-list = {root-folder}"All sources.list" -all-folders-list = {root-folder}"All folders.list" -include-folders-list = {root-folder}"Include folders.list" - -gss-sources-list = {root-folder}"GSS sources.list" -krb5-sources-list = {root-folder}"Krb5 sources.list" -profile-sources-list = {root-folder}"Profile sources.list" - -gss-objects-ppc-debug-list = {root-folder}"GSS objects PPC debug.list" -gss-objects-ppc-final-list = {root-folder}"GSS objects PPC final.list" - -krb5-objects-ppc-debug-list = {root-folder}"Krb5 objects PPC debug.list" -krb5-objects-ppc-final-list = {root-folder}"Krb5 objects PPC final.list" - -profile-objects-ppc-debug-list = {root-folder}"Profile objects PPC debug.list" -profile-objects-ppc-final-list = {root-folder}"Profile objects PPC final.list" - -comerr-objects-ppc-debug-list = {root-folder}"ComErr objects PPC debug.list" -comerr-objects-ppc-final-list = {root-folder}"ComErr objects PPC final.list" - -all-lists = ¶ - {all-files-list} ¶ - {all-sources-list} ¶ - {all-folders-list} ¶ - {include-folders-list} ¶ - {gss-sources-list} ¶ - {krb5-sources-list} ¶ - {gss-objects-ppc-debug-list} ¶ - {gss-objects-ppc-final-list} ¶ - {krb5-objects-ppc-debug-list} ¶ - {krb5-objects-ppc-final-list} ¶ - {profile-objects-ppc-debug-list} ¶ - {profile-objects-ppc-final-list} ¶ - {comerr-objects-ppc-debug-list} ¶ - {comerr-objects-ppc-final-list} - -file-lists Ä {all-lists} - -# Note that even though the list generation script tries to have a mechanism allowing you to run it -# in different directories, it actually doesn't work too well because it wants a UNIX-style relative -# path to root Makefile.in. This is why we run it with -x to specify the root. - -{all-files-list} Ä {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} all-files {list-generation-script-root} ¶ - > {Targ} - -{all-sources-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} all-sources {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{all-folders-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} all-folders {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{include-folders-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} include-folders {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{gss-sources-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} gss-sources {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{krb5-sources-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} krb5-sources {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{gss-objects-ppc-debug-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} gss-objects-ppc-debug {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{gss-objects-ppc-final-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} gss-objects-ppc-final {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{krb5-objects-ppc-debug-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} krb5-objects-ppc-debug {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{krb5-objects-ppc-final-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} krb5-objects-ppc-final {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{profile-objects-ppc-debug-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} profile-objects-ppc-debug {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{profile-objects-ppc-final-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} profile-objects-ppc-final {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{comerr-objects-ppc-debug-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} comerr-objects-ppc-debug {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -{comerr-objects-ppc-final-list} Ä {all-files-list} {list-generation-script} {makefile-name} - perl -x"{list-generation-script-working-folder}" {list-generation-script} comerr-objects-ppc-final {list-generation-script-root} ¶ - < {all-files-list} > {Targ} - -############################################################################################################## -### Autogenerated files -############################################################################################################## - -autogeneration-h-script = {root-folder}util:et:et_h.perl -autogeneration-c-script = {root-folder}util:et:et_c.perl - -autogenerated-files = ¶ - {root-folder}include:asn1_err.h ¶ - {root-folder}include:kdb5_err.h ¶ - {root-folder}include:krb5_err.h ¶ - {root-folder}include:kv5m_err.h ¶ - {root-folder}include:adm_err.h ¶ - {root-folder}lib:gssapi:generic:gssapi_err_generic.h ¶ - {root-folder}lib:gssapi:krb5:gssapi_err_krb5.h ¶ - {root-folder}util:profile:prof_err.c ¶ - {root-folder}lib:krb5:error_tables:asn1_err.c ¶ - {root-folder}lib:krb5:error_tables:kdb5_err.c ¶ - {root-folder}lib:krb5:error_tables:krb5_err.c ¶ - {root-folder}lib:krb5:error_tables:kv5m_err.c ¶ - {root-folder}lib:krb5:error_tables:adm_err.c ¶ - {root-folder}lib:gssapi:generic:gssapi_err_generic.c ¶ - {root-folder}lib:gssapi:krb5:gssapi_err_krb5.c ¶ - {root-folder}util:profile:prof_err.h ¶ - {root-folder}include:krb5.h ¶ - {root-folder}util:profile:profile.h ¶ - {root-folder}include:profile.h ¶ - {root-folder}include:krb5:osconf.h ¶ - {root-folder}lib:gssapi:generic:gssapi.h ¶ - {root-folder}include:autoconf.h - -### error table headers - -{root-folder}include:asn1_err.h Ä {root-folder}lib:krb5:error_tables:asn1_err.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}include:asn1_err.h" < "{root-folder}lib:krb5:error_tables:asn1_err.et" - -{root-folder}include:kdb5_err.h Ä {root-folder}lib:krb5:error_tables:kdb5_err.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}include:kdb5_err.h" < "{root-folder}lib:krb5:error_tables:kdb5_err.et" - -{root-folder}include:krb5_err.h Ä {root-folder}lib:krb5:error_tables:krb5_err.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}include:krb5_err.h" < "{root-folder}lib:krb5:error_tables:krb5_err.et" - -{root-folder}include:kv5m_err.h Ä {root-folder}lib:krb5:error_tables:kv5m_err.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}include:kv5m_err.h" < "{root-folder}lib:krb5:error_tables:kv5m_err.et" - -{root-folder}include:adm_err.h Ä {root-folder}lib:krb5:error_tables:adm_err.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}include:adm_err.h" < "{root-folder}lib:krb5:error_tables:adm_err.et" - -{root-folder}lib:gssapi:generic:gssapi_err_generic.h Ä {root-folder}lib:gssapi:generic:gssapi_err_generic.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}lib:gssapi:generic:gssapi_err_generic.h" < "{root-folder}lib:gssapi:generic:gssapi_err_generic.et" - -{root-folder}lib:gssapi:krb5:gssapi_err_krb5.h Ä {root-folder}lib:gssapi:krb5:gssapi_err_krb5.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}lib:gssapi:krb5:gssapi_err_krb5.h" < "{root-folder}lib:gssapi:krb5:gssapi_err_krb5.et" - -{root-folder}util:profile:prof_err.h Ä {root-folder}util:profile:prof_err.et {makefile-name} {autogeneration-h-script} - perl {autogeneration-h-script} outfile="{root-folder}util:profile:prof_err.h" < "{root-folder}util:profile:prof_err.et" - -### error table sources - -{root-folder}lib:krb5:error_tables:asn1_err.c Ä {root-folder}lib:krb5:error_tables:asn1_err.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}lib:krb5:error_tables:asn1_err.c" < "{root-folder}lib:krb5:error_tables:asn1_err.et" - -{root-folder}lib:krb5:error_tables:kdb5_err.c Ä {root-folder}lib:krb5:error_tables:kdb5_err.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}lib:krb5:error_tables:kdb5_err.c" < "{root-folder}lib:krb5:error_tables:kdb5_err.et" - -{root-folder}lib:krb5:error_tables:krb5_err.c Ä {root-folder}lib:krb5:error_tables:krb5_err.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}lib:krb5:error_tables:krb5_err.c" < "{root-folder}lib:krb5:error_tables:krb5_err.et" - -{root-folder}lib:krb5:error_tables:kv5m_err.c Ä {root-folder}lib:krb5:error_tables:kv5m_err.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}lib:krb5:error_tables:kv5m_err.c" < "{root-folder}lib:krb5:error_tables:kv5m_err.et" - -{root-folder}lib:krb5:error_tables:adm_err.c Ä {root-folder}lib:krb5:error_tables:adm_err.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}lib:krb5:error_tables:adm_err.c" < "{root-folder}lib:krb5:error_tables:adm_err.et" - -{root-folder}lib:gssapi:generic:gssapi_err_generic.c Ä {root-folder}lib:gssapi:generic:gssapi_err_generic.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}lib:gssapi:generic:gssapi_err_generic.c" < "{root-folder}lib:gssapi:generic:gssapi_err_generic.et" - -{root-folder}lib:gssapi:krb5:gssapi_err_krb5.c Ä {root-folder}lib:gssapi:krb5:gssapi_err_krb5.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}lib:gssapi:krb5:gssapi_err_krb5.c" < "{root-folder}lib:gssapi:krb5:gssapi_err_krb5.et" - -{root-folder}util:profile:prof_err.c Ä {root-folder}util:profile:prof_err.et {makefile-name} {autogeneration-c-script} - perl {autogeneration-c-script} outfile="{root-folder}util:profile:prof_err.c" < "{root-folder}util:profile:prof_err.et" - -### other autogenerated files - -{root-folder}include:krb5.h Ä {root-folder}include:krb5.hin {root-folder}include:krb5_err.h ¶ - {root-folder}include:kdb5_err.h {root-folder}include:kv5m_err.h {root-folder}include:asn1_err.h - Catenate {root-folder}include:krb5.hin {root-folder}include:krb5_err.h {root-folder}include:kdb5_err.h ¶ - {root-folder}include:kv5m_err.h {root-folder}include:asn1_err.h > {root-folder}include:krb5.h - -{root-folder}util:profile:profile.h Ä {root-folder}util:profile:profile.hin {root-folder}util:profile:prof_err.h - Catenate {root-folder}util:profile:profile.hin {root-folder}util:profile:prof_err.h > {root-folder}util:profile:profile.h - -{root-folder}include:profile.h Ä {root-folder}util:profile:profile.h - Catenate {root-folder}util:profile:profile.h > {root-folder}include:profile.h - SetFile -a l "{Targ}" - -{root-folder}include:krb5:osconf.h Ä {root-folder}include:krb5:stock:osconf.h - Catenate {root-folder}include:krb5:stock:osconf.h > {root-folder}include:krb5:osconf.h - SetFile -a l "{Targ}" - -{root-folder}lib:gssapi:generic:gssapi.h Ä {root-folder}lib:gssapi:generic:gssapi.hin - Catenate {root-folder}lib:gssapi:generic:gssapi.hin > {root-folder}lib:gssapi:generic:gssapi.h - SetFile -a l "{Targ}" - -{root-folder}include:autoconf.h Ä {root-folder}mac:libraries:autoconf.h - Catenate {root-folder}mac:libraries:autoconf.h > {root-folder}include:autoconf.h - SetFile -a l "{Targ}" - -############################################################################################################## -### High-level abstract targets -- this is where we decide on options -############################################################################################################## -### We need to generate the following Make variables to pass to the Makefile: -### For GSS library -### gss-library-output-folder -- destination of GSS library output -### gss-library-name -- name of the GSS library -### gss-library-export -- name of gss GSS library export file -### gss-library-libraries -- list of libraries GSS library links against -### gss-library-objects -- list of object files GSS library links -### gss-library-fragment-name -- name of GSS library fragment -### gss-library-main -- name of GSS library main entry point -### gss-library-init -- name of GSS library initialization routine -### gss-library-term -- name of GSS library termination routine -### gss-library-linker-options -- all other GSS library linker options -### For Krb5 library -### krb5-library-output-folder -- destination of Krb5 library output -### krb5-library-name -- name of the Krb5 library -### krb5-library-export -- name of gss Krb5 library export file -### krb5-library-libraries -- list of libraries Krb5 library links against -### krb5-library-objects -- list of object files Krb5 library links -### krb5-library-fragment-name -- name of Krb5 library fragment -### krb5-library-main -- name of Krb5 library main entry point -### krb5-library-init -- name of Krb5 library initialization routine -### krb5-library-term -- name of Krb5 library termination routine -### krb5-library-linker-options -- all other Krb5 library linker options -### For profile library -### profile-library-output-folder -- destination of profile library output -### profile-library-name -- name of the profile library -### profile-library-export -- name of gss profile library export file -### profile-library-libraries -- list of libraries profile library links against -### profile-library-objects -- list of object files profile library links -### profile-library-fragment-name -- name of profile library fragment -### profile-library-main -- name of profile library main entry point -### profile-library-init -- name of profile library initialization routine -### profile-library-term -- name of profile library termination routine -### profile-library-linker-options -- all other profile library linker options -### For comerr library -### comerr-library-output-folder -- destination of comerr library output -### comerr-library-name -- name of the comerr library -### comerr-library-export -- name of gss comerr library export file -### comerr-library-libraries -- list of libraries comerr library links against -### comerr-library-objects -- list of object files comerr library links -### comerr-library-fragment-name -- name of comerr library fragment -### comerr-library-main -- name of comerr library main entry point -### comerr-library-init -- name of comerr library initialization routine -### comerr-library-term -- name of comerr library termination routine -### comerr-library-linker-options -- all other comerr library linker options -### General -### library-linker -- linker to use -### autogenerated-files -- list of autogenerated files -### library-platform -- platform name (68K or PPC) -### library-kind -- library kind (".debug" or "") -### object-suffix -- object file suffix (.ppcf.o, .ppcd.o, .68kf.o, .68kd.o) -### object-suffix-data -- object file suffix fdor data libraries (.ppc.o, .68k.o) - - -### The following variables are platform- or kind-specific, but constant - -clib-ppc-debug = {mitsupportlib-root-folder}CLib:Binaries:CLib.PPC.debug -clib-ppc-final = {mitsupportlib-root-folder}CLib:Binaries:CLib.PPC - -runtimelib-ppc-debug = {mitsupportlib-root-folder}RuntimeLib:Binaries:RuntimeLib.PPC.debug -runtimelib-ppc-final = {mitsupportlib-root-folder}RuntimeLib:Binaries:RuntimeLib.PPC - -runtimelib-static-ppc-debug = {mitsupportlib-root-folder}"RuntimeLib:Binaries:ShlibRuntime.Lib.PPC.debug" -runtimelib-static-ppc-final = {mitsupportlib-root-folder}"RuntimeLib:Binaries:ShlibRuntime.Lib.PPC" - -standard-libraries-ppc-debug = ¶ - "{clib-ppc-debug}" ¶ - "{runtimelib-ppc-debug}" ¶ - "{runtimelib-static-ppc-debug}" ¶ - ¶"{SharedLibraries}InterfaceLib¶" ¶ - ¶"{SharedLibraries}MathLib¶" -standard-libraries-ppc-final = ¶ - "{clib-ppc-final}" ¶ - "{runtimelib-ppc-final}" ¶ - "{runtimelib-static-ppc-final}" ¶ - ¶"{SharedLibraries}InterfaceLib¶" ¶ - ¶"{SharedLibraries}MathLib¶" - -ccachelib-ppc-debug = {mitkerberoslib-root-folder}CCacheLib:Binaries:CCacheLib.PPC.debug -ccachelib-ppc-final = {mitkerberoslib-root-folder}CCacheLib:Binaries:CCacheLib.PPC - -loginlib-ppc-debug = {mitkerberoslib-root-folder}LoginLib:Binaries:KrbLoginLib.stub.PPC.debug -loginlib-ppc-final = {mitkerberoslib-root-folder}LoginLib:Binaries:KrbLoginLib.stub.PPC - -socketslib-ppc-debug = {mitsupportlib-root-folder}SocketsLib:Binaries:SocketsLib.PPC.debug -socketslib-ppc-final = {mitsupportlib-root-folder}SocketsLib:Binaries:SocketsLib.PPC - -errorlib-ppc-debug = {mitsupportlib-root-folder}ErrorLib:Binaries:ErrorLib.PPC.debug -errorlib-ppc-final = {mitsupportlib-root-folder}ErrorLib:Binaries:ErrorLib.PPC - -utilitieslib-ppc-debug = {mitsupportlib-root-folder}UtilitiesLib:Binaries:UtilitiesLib.PPC.debug -utilitieslib-ppc-final = {mitsupportlib-root-folder}UtilitiesLib:Binaries:UtilitiesLib.PPC - -object-suffix-ppc-debug = .ppcd.o -object-suffix-ppc-final = .ppcf.o -object-suffix-ppc-data = .ppc.o - -gss-library-libraries-ppc-debug = ¶ - {standard-libraries-ppc-debug} ¶ - {krb5-library-output-folder}{krb5-library-name}{library-platform-ppc}{library-kind-debug} ¶ - {profile-library-output-folder}{profile-library-name}{library-platform-ppc}{library-kind-debug} ¶ - {comerr-library-output-folder}{comerr-library-name}{library-platform-ppc}{library-kind-debug} -gss-library-libraries-ppc-final = ¶ - {standard-libraries-ppc-final} ¶ - {krb5-library-output-folder}{krb5-library-name}{library-platform-ppc}{library-kind-final} ¶ - {profile-library-output-folder}{profile-library-name}{library-platform-ppc}{library-kind-final} ¶ - {comerr-library-output-folder}{comerr-library-name}{library-platform-ppc}{library-kind-final} - -krb5-library-libraries-ppc-debug = ¶ - {standard-libraries-ppc-debug} ¶ - {ccachelib-ppc-debug} ¶ - {loginlib-ppc-debug} ¶ - {socketslib-ppc-debug} ¶ - {errorlib-ppc-debug} ¶ - {profile-library-output-folder}{profile-library-name}{library-platform-ppc}{library-kind-debug} ¶ - {comerr-library-output-folder}{comerr-library-name}{library-platform-ppc}{library-kind-debug} ¶ - ¶"{PPCLibraries}PPCMath64Lib.o¶" ¶ - ¶"{SharedLibraries}DriverServicesLib¶" -krb5-library-libraries-ppc-final = ¶ - {standard-libraries-ppc-final} ¶ - {ccachelib-ppc-final} ¶ - {loginlib-ppc-final} ¶ - {socketslib-ppc-final} ¶ - {errorlib-ppc-final} ¶ - {profile-library-output-folder}{profile-library-name}{library-platform-ppc}{library-kind-final} ¶ - {comerr-library-output-folder}{comerr-library-name}{library-platform-ppc}{library-kind-final} ¶ - ¶"{PPCLibraries}PPCMath64Lib.o¶" ¶ - ¶"{SharedLibraries}DriverServicesLib¶" - -profile-library-libraries-ppc-debug = ¶ - {standard-libraries-ppc-debug} ¶ - {utilitieslib-ppc-debug} ¶ - {comerr-library-output-folder}{comerr-library-name}{library-platform-ppc}{library-kind-debug} -profile-library-libraries-ppc-final = ¶ - {standard-libraries-ppc-final} ¶ - {utilitieslib-ppc-final} ¶ - {comerr-library-output-folder}{comerr-library-name}{library-platform-ppc}{library-kind-final} - -comerr-library-libraries-ppc-debug = ¶ - {standard-libraries-ppc-debug} {errorlib-ppc-debug} -comerr-library-libraries-ppc-final = ¶ - {standard-libraries-ppc-final} {errorlib-ppc-final} - -### Construct linker options. - -common-linker-options = -sharedlibrary -common-linker-options-debug = {common-linker-options} -sym on -common-linker-options-final = {common-linker-options} -sym off - -gss-library-common-linker-options = ¶ - -cv {gss-library-current-version} ¶ - -dv {gss-library-definition-version} ¶ - -uv {gss-library-implementation-version} - -gss-library-linker-options-ppc-debug = {common-linker-options-debug} {gss-library-common-linker-options} -gss-library-linker-options-ppc-final = {common-linker-options-final} {gss-library-common-linker-options} - -krb5-library-common-linker-options = ¶ - -cv {krb5-library-current-version} ¶ - -dv {krb5-library-definition-version} ¶ - -uv {krb5-library-implementation-version} - -krb5-library-linker-options-ppc-debug = {common-linker-options-debug} {krb5-library-common-linker-options} -weaklib "DriverServicesLib" -krb5-library-linker-options-ppc-final = {common-linker-options-final} {krb5-library-common-linker-options} -weaklib "DriverServicesLib" - -profile-library-common-linker-options = ¶ - -cv {profile-library-current-version} ¶ - -dv {profile-library-definition-version} ¶ - -uv {profile-library-implementation-version} - -profile-library-linker-options-ppc-debug = {common-linker-options-debug} {profile-library-common-linker-options} -profile-library-linker-options-ppc-final = {common-linker-options-final} {profile-library-common-linker-options} - -comerr-library-common-linker-options = ¶ - -cv {comerr-library-current-version} ¶ - -dv {comerr-library-definition-version} ¶ - -uv {comerr-library-implementation-version} - -comerr-library-linker-options-ppc-debug = {common-linker-options-debug} {comerr-library-common-linker-options} -comerr-library-linker-options-ppc-final = {common-linker-options-final} {comerr-library-common-linker-options} - -gss-library-objects-ppc-debug = `catenate {gss-objects-ppc-debug-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` ¶ - {root-folder}mac:GSS.CFM{object-suffix-ppc-debug} -gss-library-objects-ppc-final = `catenate {gss-objects-ppc-final-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` ¶ - {root-folder}mac:GSS.CFM{object-suffix-ppc-final} - -krb5-library-objects-ppc-debug = `catenate {krb5-objects-ppc-debug-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` ¶ - {root-folder}mac:K5.CFM{object-suffix-ppc-debug} -krb5-library-objects-ppc-final = `catenate {krb5-objects-ppc-final-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` ¶ - {root-folder}mac:K5.CFM{object-suffix-ppc-final} - -profile-library-objects-ppc-debug = `catenate {profile-objects-ppc-debug-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` ¶ - {root-folder}mac:ProfileLib.CFM{object-suffix-ppc-debug} -profile-library-objects-ppc-final = `catenate {profile-objects-ppc-final-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` ¶ - {root-folder}mac:ProfileLib.CFM{object-suffix-ppc-final} - -comerr-library-objects-ppc-debug = `catenate {comerr-objects-ppc-debug-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` -comerr-library-objects-ppc-final = `catenate {comerr-objects-ppc-final-list} | StreamEdit -d -set prefix="{root-folder}" -e "/¥:(Å)¨2/ Print prefix¨2"` - -library-linker-ppc = MWLinkPPC - -### Construct compiler options. - -common-compiler-options = ¶ - -enum int -opt all -strings pool -mapcr ¶ - -mpw_pointers -warnings off -fatext -nosyspath -maxerrors 1000 ¶ - -align mac68k -opt off -toc_data on -fp_contract on ¶ - -model farData - -# Don't put the prefix file in these options because they are used to precompile the prefix file -ppc-compiler-options = -tb on -debug-compiler-options = -sym on -final-compiler-options = -sym off - -mitsupportlib-include-paths = ¶ - -i {mitsupportlib-root-folder}SocketsLib:Headers: ¶ - -i {mitsupportlib-root-folder}ErrorLib:Headers: ¶ - -i {mitsupportlib-root-folder}UtilitiesLib:Headers: - -include-paths = `catenate {include-folders-list} | StreamEdit -d -set prefix="{root-folder}mac:" -e "/-i (Å)¨1/ Print '-i 'prefix¨1"` ¶ - -i {mitkerberoslib-root-folder}CCacheLib:Headers: ¶ - -i {mitkerberoslib-root-folder}LoginLib:Headers: ¶ - {mitsupportlib-include-paths} - -compiler-options-ppc-debug = {include-paths} {common-compiler-options} {ppc-compiler-options} ¶ - {debug-compiler-options} -prefix {precompiled-headers-ppc} -compiler-options-ppc-final = {include-paths} {common-compiler-options} {ppc-compiler-options} ¶ - {final-compiler-options} -prefix {precompiled-headers-ppc} - -compiler-ppc = MWCPPC - -### Precompiled headers - -precompiled-headers-folder = {root-folder}mac:libraries: - -precompiled-headers-ppc = {precompiled-headers-folder}KerberosHeaders.PPC - -precompiled-headers-source = {precompiled-headers-folder}KerberosHeaders.pch - -{precompiled-headers-ppc} Ä {precompiled-headers-source} {precompiled-headers-folder}KerberosHeaders.h - {compiler-ppc} {precompiled-headers-source} {common-compiler-options} {ppc-compiler-options} ¶ - -precompile {Targ} -i {precompiled-headers-folder} {mitsupportlib-include-paths} - -make-options-common = ¶ - -f {makefile-name} ¶ - -d root-folder="{root-folder}" ¶ - -d autogenerated-files="{autogenerated-files}" ¶ - -d gss-library-output-folder="{gss-library-output-folder}" ¶ - -d gss-library-name="{gss-library-name}" ¶ - -d gss-library-export="{gss-library-export}" ¶ - -d gss-library-fragment-name={gss-library-fragment-name} ¶ - -d gss-library-main="{gss-library-main}" ¶ - -d gss-library-init="{gss-library-init}" ¶ - -d gss-library-term="{gss-library-term}" ¶ - -d krb5-library-output-folder="{krb5-library-output-folder}" ¶ - -d krb5-library-name="{krb5-library-name}" ¶ - -d krb5-library-export="{krb5-library-export}" ¶ - -d krb5-library-fragment-name={krb5-library-fragment-name} ¶ - -d krb5-library-main="{krb5-library-main}" ¶ - -d krb5-library-init="{krb5-library-init}" ¶ - -d krb5-library-term="{krb5-library-term}" ¶ - -d profile-library-output-folder="{profile-library-output-folder}" ¶ - -d profile-library-name="{profile-library-name}" ¶ - -d profile-library-export="{profile-library-export}" ¶ - -d profile-library-fragment-name={profile-library-fragment-name} ¶ - -d profile-library-main="{profile-library-main}" ¶ - -d profile-library-init="{profile-library-init}" ¶ - -d profile-library-term="{profile-library-term}" ¶ - -d comerr-library-output-folder="{comerr-library-output-folder}" ¶ - -d comerr-library-name="{comerr-library-name}" ¶ - -d comerr-library-export="{comerr-library-export}" ¶ - -d comerr-library-fragment-name={comerr-library-fragment-name} ¶ - -d comerr-library-main="{comerr-library-main}" ¶ - -d comerr-library-init="{comerr-library-init}" ¶ - -d comerr-library-term="{comerr-library-term}" - -make-options-ppc-debug = ¶ - -d library-linker="{library-linker-ppc}" ¶ - -d library-platform="{library-platform-ppc}" ¶ - -d library-kind="{library-kind-debug}" ¶ - -d gss-library-libraries="{gss-library-libraries-ppc-debug}" ¶ - -d gss-library-objects="{gss-library-objects-ppc-debug}" ¶ - -d gss-library-linker-options="{gss-library-linker-options-ppc-debug}" ¶ - -d krb5-library-libraries="{krb5-library-libraries-ppc-debug}" ¶ - -d krb5-library-objects="{krb5-library-objects-ppc-debug}" ¶ - -d krb5-library-linker-options="{krb5-library-linker-options-ppc-debug}" ¶ - -d profile-library-libraries="{profile-library-libraries-ppc-debug}" ¶ - -d profile-library-objects="{profile-library-objects-ppc-debug}" ¶ - -d profile-library-linker-options="{profile-library-linker-options-ppc-debug}" ¶ - -d comerr-library-libraries="{comerr-library-libraries-ppc-debug}" ¶ - -d comerr-library-objects="{comerr-library-objects-ppc-debug}" ¶ - -d comerr-library-linker-options="{comerr-library-linker-options-ppc-debug}" ¶ - -d object-suffix="{object-suffix-ppc-debug}" ¶ - -d object-suffix-data="{object-suffix-ppc-data}" ¶ - -d compiler-options="{compiler-options-ppc-debug}" ¶ - -d compiler="{compiler-ppc}" ¶ - -d precompiled-headers="{precompiled-headers-ppc}" - -make-options-ppc-final = ¶ - -d library-linker="{library-linker-ppc}" ¶ - -d library-platform="{library-platform-ppc}" ¶ - -d library-kind="{library-kind-final}" ¶ - -d gss-library-libraries="{gss-library-libraries-ppc-final}" ¶ - -d gss-library-objects="{gss-library-objects-ppc-final}" ¶ - -d gss-library-linker-options="{gss-library-linker-options-ppc-final}" ¶ - -d krb5-library-libraries="{krb5-library-libraries-ppc-final}" ¶ - -d krb5-library-objects="{krb5-library-objects-ppc-final}" ¶ - -d krb5-library-linker-options="{krb5-library-linker-options-ppc-final}" ¶ - -d profile-library-libraries="{profile-library-libraries-ppc-final}" ¶ - -d profile-library-objects="{profile-library-objects-ppc-final}" ¶ - -d profile-library-linker-options="{profile-library-linker-options-ppc-final}" ¶ - -d comerr-library-libraries="{comerr-library-libraries-ppc-final}" ¶ - -d comerr-library-objects="{comerr-library-objects-ppc-final}" ¶ - -d comerr-library-linker-options="{comerr-library-linker-options-ppc-final}" ¶ - -d object-suffix="{object-suffix-ppc-final}" ¶ - -d object-suffix-data="{object-suffix-ppc-data}" ¶ - -d compiler-options="{compiler-options-ppc-final}" ¶ - -d compiler="{compiler-ppc}" ¶ - -d precompiled-headers="{precompiled-headers-ppc}" - -make-output = "{TempFolder}GSS/Kerberos Makefile script" -submakefile-target = gss-library - -ppc-debug Ä glue headers documentation {makefile-name} {gss-objects-ppc-debug-list} {krb5-objects-ppc-debug-list} ¶ - {profile-objects-ppc-debug-list} {comerr-objects-ppc-debug-list} {include-folders-list} - Make {make-options-common} {make-options-ppc-debug} {submakefile-target} > {make-output} - {make-output} - -ppc-final Ä glue headers documentation {makefile-name} {gss-objects-ppc-final-list} {krb5-objects-ppc-final-list} ¶ - {profile-objects-ppc-final-list} {comerr-objects-ppc-final-list} {include-folders-list} - Make {make-options-common} {make-options-ppc-final} {submakefile-target} > {make-output} - {make-output} - -############################################################################################################## -### Variable targets -- these depend on which target we select in the above make invocations -############################################################################################################## -### We want the following to be defined in order for these targets to work: -### For GSS library -### gss-library-output-folder -- destination of GSS library output -### gss-library-name -- name of the GSS library -### gss-library-export -- name of gss GSS library export file -### gss-library-libraries -- list of libraries GSS library links against -### gss-library-objects -- list of object files GSS library links -### gss-library-fragment-name -- name of GSS library fragment -### gss-library-main -- name of GSS library main entry point -### gss-library-init -- name of GSS library initialization routine -### gss-library-term -- name of GSS library termination routine -### gss-library-linker-options -- all other GSS library linker options -### For Krb5 library -### krb5-library-output-folder -- destination of Krb5 library output -### krb5-library-name -- name of the Krb5 library -### krb5-library-export -- name of Krb5 library export file -### krb5-library-libraries -- list of libraries Krb5 library links against -### krb5-library-objects -- list of object files Krb5 library links -### krb5-library-fragment-name -- name of Krb5 library fragment -### krb5-library-main -- name of Krb5 library main entry point -### krb5-library-init -- name of Krb5 library initialization routine -### krb5-library-term -- name of Krb5 library termination routine -### krb5-library-linker-options -- all other Krb5 library linker options -### For profile library -### profile-library-output-folder -- destination of profile library output -### profile-library-name -- name of the profile library -### profile-library-export -- name of profile library export file -### profile-library-libraries -- list of libraries profile library links against -### profile-library-objects -- list of object files profile library links -### profile-library-fragment-name -- name of profile library fragment -### profile-library-main -- name of profile library main entry point -### profile-library-init -- name of profile library initialization routine -### profile-library-term -- name of profile library termination routine -### profile-library-linker-options -- all other profile library linker options -### For comerr library -### comerr-library-output-folder -- destination of comerr library output -### comerr-library-name -- name of the comerr library -### comerr-library-export -- name of comerr library export file -### comerr-library-libraries -- list of libraries comerr library links against -### comerr-library-objects -- list of object files comerr library links -### comerr-library-fragment-name -- name of comerr library fragment -### comerr-library-main -- name of comerr library main entry point -### comerr-library-init -- name of comerr library initialization routine -### comerr-library-term -- name of comerr library termination routine -### comerr-library-linker-options -- all other comerr library linker options -### General -### library-linker -- linker to use -### autogenerated-files -- list of autogenerated files -### library-platform -- platform name (68K or PPC) -### library-kind -- library kind (".debug" or "") - - -### script to create a folder if it does not exist -create-folder = {root-folder}mac:create-folder.mpw - - -### defaults, will be set to something better by the make commands above -library-linker = -library-platform = -library-kind = -gss-library-libraries = -gss-library-objects = -gss-library-linker-options = -krb5-library-libraries = -krb5-library-objects = -krb5-library-linker-options = -precompiled-headers = -object-suffix = .ignore.me -object-suffix-data = .ignore.me.too -profile-library-libraries = -profile-library-objects = -profile-library-linker-options = -comerr-library-libraries = -comerr-library-objects = -comerr-library-linker-options = - -### Generate various major components of build commands from the above variables -gss-library-output-files = ¶ - {gss-library-output-folder}{gss-library-name}{library-platform}{library-kind} -gss-library-dependencies = ¶ - {autogenerated-files} {gss-library-export} {gss-library-libraries} {gss-library-objects} -gss-library-build-command = ¶ - {library-linker} ¶ - -name "{gss-library-fragment-name}{library-kind}" ¶ - -main {gss-library-main} ¶ - -init {gss-library-init} ¶ - -term {gss-library-term} ¶ - -@export {gss-library-export} ¶ - -map {gss-library-output-folder}{gss-library-name}{library-platform}{library-kind}.MAP ¶ - -o {gss-library-output-folder}{gss-library-name}{library-platform}{library-kind} ¶ - {gss-library-linker-options} ¶ - {gss-library-objects} {gss-library-libraries} - -krb5-library-output-files = ¶ - {krb5-library-output-folder}{krb5-library-name}{library-platform}{library-kind} -krb5-library-dependencies = ¶ - {autogenerated-files} {krb5-library-export} {krb5-library-libraries} {krb5-library-objects} -krb5-library-build-command = ¶ - {library-linker} ¶ - -name "{krb5-library-fragment-name}{library-kind}" ¶ - -main {krb5-library-main} ¶ - -init {krb5-library-init} ¶ - -term {krb5-library-term} ¶ - -@export {krb5-library-export} ¶ - -map {krb5-library-output-folder}{krb5-library-name}{library-platform}{library-kind}.MAP ¶ - -o {krb5-library-output-folder}{krb5-library-name}{library-platform}{library-kind} ¶ - {krb5-library-linker-options} ¶ - {krb5-library-objects} {krb5-library-libraries} - -profile-library-output-files = ¶ - {profile-library-output-folder}{profile-library-name}{library-platform}{library-kind} -profile-library-dependencies = ¶ - {autogenerated-files} {profile-library-export} {profile-library-libraries} {profile-library-objects} -profile-library-build-command = ¶ - {library-linker} ¶ - -name "{profile-library-fragment-name}{library-kind}" ¶ - -main {profile-library-main} ¶ - -init {profile-library-init} ¶ - -term {profile-library-term} ¶ - -@export {profile-library-export} ¶ - -map {profile-library-output-folder}{profile-library-name}{library-platform}{library-kind}.MAP ¶ - -o {profile-library-output-folder}{profile-library-name}{library-platform}{library-kind} ¶ - {profile-library-linker-options} ¶ - {profile-library-objects} {profile-library-libraries} - -comerr-library-output-files = ¶ - {comerr-library-output-folder}{comerr-library-name}{library-platform}{library-kind} -comerr-library-dependencies = ¶ - {autogenerated-files} {comerr-library-export} {comerr-library-libraries} {comerr-library-objects} -comerr-library-build-command = ¶ - {library-linker} ¶ - -name "{comerr-library-fragment-name}{library-kind}" ¶ - -main {comerr-library-main} ¶ - -init {comerr-library-init} ¶ - -term {comerr-library-term} ¶ - -@export {comerr-library-export} ¶ - -map {comerr-library-output-folder}{comerr-library-name}{library-platform}{library-kind}.MAP ¶ - -o {comerr-library-output-folder}{comerr-library-name}{library-platform}{library-kind} ¶ - {comerr-library-linker-options} ¶ - {comerr-library-objects} {comerr-library-libraries} - -### Build commands - -gss-library Ä {gss-library-output-files} -krb5-library Ä {krb5-library-output-files} -profile-library Ä {profile-library-output-files} -comerr-library Ä {comerr-library-output-files} - -{gss-library-output-files} ÄÄ {gss-library-dependencies} {makefile-name} - {create-folder} {gss-library-output-folder} - {gss-library-build-command} - -{krb5-library-output-files} ÄÄ {krb5-library-dependencies} {makefile-name} - {create-folder} {krb5-library-output-folder} - {krb5-library-build-command} - -{profile-library-output-files} ÄÄ {profile-library-dependencies} {makefile-name} - {create-folder} {profile-library-output-folder} - {profile-library-build-command} - -{comerr-library-output-files} ÄÄ {comerr-library-dependencies} {makefile-name} - {create-folder} {comerr-library-output-folder} - {comerr-library-build-command} - -############################################################################################################## -### Default compilation rules -############################################################################################################## - -{object-suffix} Ä .c {autogenerated-files} {makefile-name} {precompiled-headers} - echo {DepDir}{Default}{object-suffix} - {compiler} {DepDir}{Default}.c -o {DepDir}{Default}{object-suffix} {compiler-options} - -{object-suffix-data} Ä .c {autogenerated-files} {makefile-name} {precompiled-headers} - echo {DepDir}{Default}{object-suffix-data} - {compiler} {DepDir}{Default}.c -o {DepDir}{Default}{object-suffix-data} {compiler-options} - -############################################################################################################## -### Autogenerating classic 68K glue files -############################################################################################################## - -classic-glue-generation-script = {root-folder}mac:CFMGlue.pl -gss-library-glue-output-folder = {root-folder}:GSSLib:ClassicGlue: -krb5-library-glue-output-folder = {root-folder}:Kerberos5Lib:ClassicGlue: -profile-library-glue-output-folder = {root-folder}:KerberosProfileLib:ClassicGlue: -comerr-library-glue-output-folder = {root-folder}:ComErrLib:ClassicGlue: - -gss-library-glue-output = {gss-library-glue-output-folder}GSSLib.glue.c -krb5-library-glue-output = {krb5-library-glue-output-folder}Kerberos5Lib.glue.c -profile-library-glue-output = {profile-library-glue-output-folder}KrbProfileLib.glue.c -comerr-library-glue-output = {comerr-library-glue-output-folder}ComErrLib.glue.c - -classic-glue-output = ¶ - {gss-library-glue-output} ¶ - {krb5-library-glue-output} ¶ - {profile-library-glue-output} ¶ - {comerr-library-glue-output} - -glue Ä {classic-glue-output} - -glue-gss Ä {gss-library-glue-output} -glue-krb5 Ä {krb5-library-glue-output} -glue-profile Ä {profile-library-glue-output} -glue-comerr Ä {comerr-library-glue-output} - -{krb5-library-glue-output} Ä {root-folder}mac:K5.CFMglue.cin {root-folder}mac:K5.CFMglue.proto.h ¶ - {root-folder}mac:CFMglue.c {root-folder}mac:K5.moreCFMglue.cin {classic-glue-generation-script} - {create-folder} {krb5-library-glue-output-folder} - perl {classic-glue-generation-script} < {root-folder}mac:K5.CFMglue.proto.h > {root-folder}mac:K5.CFMglue.c - Catenate {root-folder}mac:K5.CFMglue.cin {root-folder}mac:CFMglue.c {root-folder}mac:K5.CFMglue.c ¶ - {root-folder}mac:K5.moreCFMglue.cin | Catenate > {krb5-library-glue-output} - -{gss-library-glue-output} Ä {root-folder}mac:GSS.CFMglue.cin {root-folder}mac:GSS.CFMglue.proto.h ¶ - {root-folder}mac:CFMglue.c {root-folder}mac:GSS.moreCFMglue.cin {classic-glue-generation-script} - {create-folder} {gss-library-glue-output-folder} - perl {classic-glue-generation-script} < {root-folder}mac:GSS.CFMglue.proto.h > {root-folder}mac:GSS.CFMglue.c - Catenate {root-folder}mac:GSS.CFMglue.cin {root-folder}mac:CFMglue.c {root-folder}mac:GSS.CFMglue.c ¶ - {root-folder}mac:GSS.moreCFMglue.cin | Catenate > {gss-library-glue-output} - -{profile-library-glue-output} Ä {root-folder}mac:KrbProfileLib.glue.pre.cin {root-folder}mac:KrbProfileLib.glue.proto.h ¶ - {root-folder}mac:CFMglue.c {root-folder}mac:KrbProfileLib.glue.post.cin {classic-glue-generation-script} - {create-folder} {profile-library-glue-output-folder} - perl {classic-glue-generation-script} < {root-folder}mac:KrbProfileLib.glue.proto.h > {root-folder}mac:KrbProfileLib.CFMglue.c - Catenate {root-folder}mac:KrbProfileLib.glue.pre.cin {root-folder}mac:CFMglue.c {root-folder}mac:KrbProfileLib.CFMglue.c ¶ - {root-folder}mac:KrbProfileLib.glue.post.cin | Catenate > {profile-library-glue-output} - -{comerr-library-glue-output} Ä {root-folder}mac:ComErrLib.glue.pre.cin {root-folder}mac:ComErrLib.glue.proto.h ¶ - {root-folder}mac:CFMglue.c {root-folder}mac:ComErrLib.glue.post.cin {classic-glue-generation-script} - {create-folder} {comerr-library-glue-output-folder} - perl {classic-glue-generation-script} < {root-folder}mac:ComErrLib.glue.proto.h > {root-folder}mac:ComErrLib.CFMglue.c - Catenate {root-folder}mac:ComErrLib.glue.pre.cin {root-folder}mac:CFMglue.c {root-folder}mac:ComErrLib.CFMglue.c ¶ - {root-folder}mac:ComErrLib.glue.post.cin | Catenate > {comerr-library-glue-output} - -############################################################################################################## -### Clean target deletes all generated files -############################################################################################################## - -clean Ä - # Need a dummy invalid name at the end to cover the case when nothing is found - Delete -i `files -r -s -o -f "{root-folder}" | StreamEdit -d -e "/Å{object-suffix-ppc-debug}/ Print"` supercalifragilisticexpialidoucious - Delete -i `files -r -s -o -f "{root-folder}" | StreamEdit -d -e "/Å{object-suffix-ppc-final}/ Print"` supercalifragilisticexpialidoucious - Delete -i `files -r -s -o -f "{root-folder}" | StreamEdit -d -e "/Å{object-suffix-ppc-data}/ Print"` supercalifragilisticexpialidoucious - Delete -i {all-lists} - -############################################################################################################## -### Copying headers around -############################################################################################################## - -gss-headers-output-folder = {root-folder}:GSSLib:Headers: -krb5-headers-output-folder = {root-folder}:Kerberos5Lib:Headers: -comerr-headers-output-folder = {root-folder}:ComErrLib:Headers: -profile-headers-output-folder = {root-folder}:KerberosProfileLib:Headers: - -gss-headers-output = ¶ - "{gss-headers-output-folder}gssapi.h" ¶ - "{gss-headers-output-folder}gssapi_krb5.h" - -krb5-headers-output = ¶ - "{krb5-headers-output-folder}krb5.h" ¶ - "{krb5-headers-output-folder}win-mac.h" - -comerr-headers-output = ¶ - "{comerr-headers-output-folder}com_err.h" - -profile-headers-output = ¶ - "{profile-headers-output-folder}profile.h" - -headers-output = {gss-headers-output} {krb5-headers-output} ¶ - {comerr-headers-output} {profile-headers-output} - -headers Ä unset-echo {headers-output} - -"{gss-headers-output-folder}gssapi.h" Ä "{root-folder}lib:gssapi:generic:gssapi.h" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l "{Targ}" - End - Catenate "{root-folder}lib:gssapi:generic:gssapi.h" > "{Targ}" - SetFile -a l "{Targ}" - -"{gss-headers-output-folder}gssapi_krb5.h" Ä "{root-folder}lib:gssapi:krb5:gssapi_krb5.h" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l "{Targ}" - End - Catenate "{root-folder}lib:gssapi:krb5:gssapi_krb5.h" > "{Targ}" - SetFile -a l "{Targ}" - -"{krb5-headers-output-folder}krb5.h" Ä "{root-folder}include:krb5.h" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l "{Targ}" - End - Catenate "{root-folder}include:krb5.h" > "{Targ}" - SetFile -a l "{Targ}" - -"{krb5-headers-output-folder}win-mac.h" Ä "{root-folder}include:win-mac.h" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l "{Targ}" - End - Catenate "{root-folder}include:win-mac.h" > "{Targ}" - SetFile -a l "{Targ}" - -"{comerr-headers-output-folder}com_err.h" Ä "{root-folder}util:et:com_err.h" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l "{Targ}" - End - Catenate "{root-folder}util:et:com_err.h" > "{Targ}" - SetFile -a l "{Targ}" - -"{profile-headers-output-folder}profile.h" Ä "{root-folder}util:profile:profile.h" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l "{Targ}" - End - Catenate "{root-folder}util:profile:profile.h" > "{Targ}" - SetFile -a l "{Targ}" - -############################################################################################################## -### Copying documentation around -############################################################################################################## - -gss-documentation-output-folder = {root-folder}:GSSLib:Documentation: -krb5-documentation-output-folder = {root-folder}:Kerberos5Lib:Documentation: -comerr-documentation-output-folder = {root-folder}:ComErrLib:Documentation: -profile-documentation-output-folder = {root-folder}:KerberosProfileLib:Documentation: - -gss-documentation-output = ¶ - {gss-documentation-output-folder}"GSSLib ReadMe" - -krb5-documentation-output = ¶ - {krb5-documentation-output-folder}"krb5api.pdf" - -comerr-documentation-output = ¶ - {comerr-documentation-output-folder}"ComErrLib ReadMe" - -profile-documentation-output = ¶ - {profile-documentation-output-folder}"KerberosProfileLib ReadMe" - -documentation-output = {gss-documentation-output} {krb5-documentation-output} ¶ - {profile-documentation-output} {comerr-documentation-output} - -documentation Ä unset-echo {documentation-output} - -{gss-documentation-output-folder}"GSSLib ReadMe" Ä {root-folder}"mac:GSSLib ReadMe" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l {Targ} - End - Catenate {root-folder}"mac:GSSLib ReadMe" > {Targ} - SetFile -a l {Targ} - -{krb5-documentation-output-folder}"krb5api.pdf" Ä {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l {Targ} - End - If (`Exists {root-folder}":::Documentation:pdf:krb5api.pdf"`) - Catenate {root-folder}":::Documentation:pdf:krb5api.pdf" > {Targ} - SetFile -a l -t 'PDF ' -c 'CARO' {Targ} - End - -{comerr-documentation-output-folder}"ComErrLib ReadMe" Ä {root-folder}"mac:ComErrLib ReadMe" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l {Targ} - End - Catenate {root-folder}"mac:ComErrLib ReadMe" > {Targ} - SetFile -a l {Targ} - -{profile-documentation-output-folder}"KerberosProfileLib ReadMe" Ä {root-folder}"mac:KerberosProfileLib ReadMe" {makefile-name} - "{create-folder}" "{TargDir}" - If (`Exists "{Targ}" | Count -l`) - SetFile -a l {Targ} - End - Catenate {root-folder}"mac:KerberosProfileLib ReadMe" > {Targ} - SetFile -a l {Targ} diff --git a/src/mac/ProfileLib.CFM.c b/src/mac/ProfileLib.CFM.c deleted file mode 100644 index 9b5ea87cf..000000000 --- a/src/mac/ProfileLib.CFM.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright 1998 by the Massachusetts Institute of Technology. - * - * Permission to use, copy, modify, and distribute this - * software and its documentation for any purpose and without - * fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting - * documentation, and that the name of M.I.T. not be used in - * advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. - * Furthermore if you modify this software you must label - * your software as modified software and not distribute it in such a - * fashion that it might be confused with the original M.I.T. software. - * M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" - * without express or implied warranty. - */ - - -#include - -#include "profile.h" - - -OSErr InitializeProfileLib ( - CFragInitBlockPtr ibp); -void TerminateProfileLib (void); - -OSErr InitializeProfileLib( - CFragInitBlockPtr ibp) -{ - OSErr err = noErr; - - /* Do normal init of the shared library */ - err = __initialize(ibp); - - /* Initialize the error tables */ - if (err == noErr) { - add_error_table(&et_prof_error_table); - } - - return err; -} - -void TerminateProfileLib(void) -{ - remove_error_table(&et_prof_error_table); - __terminate(); -} diff --git a/src/mac/create-folder.mpw b/src/mac/create-folder.mpw deleted file mode 100644 index 159eb1297..000000000 --- a/src/mac/create-folder.mpw +++ /dev/null @@ -1,27 +0,0 @@ -### usage: create-folder path -### -### path must be path to a folder (can be relative path) -### creates the folder and its parents if necessary - -### Create path components of path one at a time -set left-part "" -set right-part "{1}" - -loop - if "{right-part}" == "" - break - end - - (evaluate "{right-part}" =~ /([Â:]*:)¨1Å/) > Dev:Null - set car "{¨1}" - (evaluate "{right-part}" =~ /[Â:]*:(Å)¨1/) > Dev:Null - set cdr "{¨1}" - - set left-part "{left-part}{car}" - set right-part "{cdr}" - - if not (`Exists "{left-part}"`) - NewFolder "{left-part}" - end -end - \ No newline at end of file diff --git a/src/mac/krb5.ini b/src/mac/krb5.ini deleted file mode 100644 index bfdd5f18a..000000000 --- a/src/mac/krb5.ini +++ /dev/null @@ -1,45 +0,0 @@ -[domain_realm] - .mit.edu = ATHENA.MIT.EDU - mit.edu = ATHENA.MIT.EDU - .cortex.net = ATHENA.MIT.EDU - .vwrsp.com = ATHENA.MIT.EDU - .officedepot.com = ATHENA.MIT.EDU - boc.hosting.ibm.com = ATHENA.MIT.EDU - .media.mit.edu = MEDIA-LAB.MIT.EDU - media.mit.edu = MEDIA-LAB.MIT.EDU - .cygnus.com = CYGNUS.COM - cygnus.com = CYGNUS.COM - -[libdefaults] - default_realm = ATHENA.MIT.EDU - ticket_lifetime = 600 - default_tkt_enctypes = des-cbc-crc - default_tgs_enctypes = des-cbc-crc - -[realms] - ATHENA.MIT.EDU = { - kdc = kerberos.mit.edu:88 - kdc = kerberos-1.mit.edu:88 - kdc = kerberos-2.mit.edu:88 - kdc = kerberos-3.mit.edu:88 - admin_server = kerberos.mit.edu - default_domain = mit.edu - } - MEDIA-LAB.MIT.EDU = { - kdc = kerberos.media.mit.edu - admin_server = kerberos.media.mit.edu - } - ZONE.MIT.EDU = { - kdc = casio.mit.edu - kdc = seiko.mit.edu - admin_server = casio.mit.edu - } - CYGNUS.COM = { - kdc = KERBEROS-1.CYGNUS.COM - kdc = KERBEROS.CYGNUS.COM - admin_server = KERBEROS.CYGNUS.COM - } - GREY17.ORG = { - kdc = kerberos.grey17.org - admin_server = kerberos.grey17.org - } diff --git a/src/mac/macfile_gen.pl b/src/mac/macfile_gen.pl deleted file mode 100644 index 00d53657a..000000000 --- a/src/mac/macfile_gen.pl +++ /dev/null @@ -1,551 +0,0 @@ -#!/usr/athena/bin/perl -w - -# Usage: -# macfile_gen.pl list-type start-path prefix -# list-type is one of: -# all-files -- complete list of mac sources, relative to root -# all-folders -- complete list of mac directories, relative to root -# gss-sources -- complete list of mac GSS sources, relative to root -# krb5-sources -- complete list of mac Krb5 sources, relative to root -# profile-sources -- complete list of mac profile sources, relative to root -# comerr-sources -- complete list of mac com_err sources, relative to root -# gss-objects-ppc-debug -- complete list of mac GSS PPC debug objects, relative to root -# gss-objects-68k-debug -- complete list of mac GSS 68K debug objects, relative to root -# gss-objects-ppc-final -- complete list of mac GSS PPC final objects, relative to root -# gss-objects-68k-final -- complete list of mac GSS 68K final objects, relative to root -# krb5-objects-ppc-debug -- complete list of mac Kerberos v5 PPC debug objects, relative to root -# krb5-objects-68k-debug -- complete list of mac Kerberos v5 68K debug objects, relative to root -# krb5-objects-ppc-final -- complete list of mac Kerberos v5 PPC final objects, relative to root -# krb5-objects-68k-final -- complete list of mac Kerberos v5 68K final objects, relative to root -# profile-objects-ppc-debug -- complete list of mac profile PPC debug objects, relative to root -# profile-objects-68k-debug -- complete list of mac profile v5 68K debug objects, relative to root -# profile-objects-ppc-final -- complete list of mac profile v5 PPC final objects, relative to root -# profile-objects-68k-final -- complete list of mac profile v5 68K final objects, relative to root -# comerr-objects-ppc-debug -- complete list of mac com_err PPC debug objects, relative to root -# comerr-objects-68k-debug -- complete list of mac com_err v5 68K debug objects, relative to root -# comerr-objects-ppc-final -- complete list of mac com_err v5 PPC final objects, relative to root -# comerr-objects-68k-final -- complete list of mac com_err v5 68K final objects, relative to root -# include-folders -- complete list of include paths, relative to root -# -# input on stdin -# output on stdout - -# Check number of arguments -if (scalar @ARGV != 2) { - print (STDERR "Got " . scalar @ARGV . " arguments, expected 2"); - &usage; - exit; -} - -# Parse arguments -$action = $ARGV [0]; -$ROOT = $ARGV [1]; -#$prefix = $ARGV [2]; - -# Read source list -if ($action ne "all-files") { - - @sourceList = ; - grep (s/\n$//, @sourceList); - -} else { - - @sourceList = &make_macfile_maclist (&make_macfile_list ()); -# foreach (@sourceList) { -# $_ =~ s/^:/$prefix/; -# } -# @sourceList = map { $prefix . $_;} @sourceList; - -} - - -if ($action eq "all-folders") { - - print (STDERR "# Building folder listÉ "); - @outputList = grep (s/(.*:)[^:]*\.c$/$1/, @sourceList); - @outputList = &uniq (sort (@outputList)); - - print (STDERR "Done.\n"); - -} elsif ($action eq "all-files") { - - print (STDERR "# Building file listÉ "); - @outputList = @sourceList; - print (STDERR "Done.\n"); - -} elsif ($action eq "all-sources") { - - print (STDERR "# Building source listÉ "); - @outputList = grep (/.c$/, @sourceList); - print (STDERR "Done.\n"); - -} elsif ($action eq "gss-sources") { - - print (STDERR "# Building GSS source listÉ "); - @outputList = grep (/:gssapi:/, @sourceList); - print (STDERR "Done. \n"); - -} elsif ($action eq "krb5-sources") { - - print (STDERR "# Building Kerberos v5 source listÉ "); - @outputList = grep (!/:gssapi:|:profile:|:et:/, @sourceList); - print (STDERR "Done. \n"); - -} elsif ($action eq "profile-sources") { - - print (STDERR "# Building profile source listÉ "); - @outputList = grep (/:profile:/, @sourceList); - print (STDERR "Done. \n"); - -} elsif ($action eq "comerr-sources") { - - print (STDERR "# Building profile source listÉ "); - @outputList = grep (/:et:/, @sourceList); - print (STDERR "Done. \n"); - -} elsif ($action eq "gss-objects-ppc-debug") { - - print (STDERR "# Building GSS PPC debug object listÉ "); - @outputList = grep (s/\.c$/\.ppcd.o/, @sourceList); - @outputList = grep (/:gssapi:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "gss-objects-68k-debug") { - - print (STDERR "# Building GSS 68K debug object listÉ "); - @outputList = grep (s/\.c$/\.68kd.o/, @sourceList); - @outputList = grep (/:gssapi:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "gss-objects-ppc-final") { - - print (STDERR "# Building GSS PPC final object listÉ "); - @outputList = grep (s/\.c$/\.ppcf.o/, @sourceList); - @outputList = grep (/:gssapi:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "gss-objects-68k-final") { - - print (STDERR "# Building GSS 68K final object listÉ "); - @outputList = grep (s/\.c$/\.68kf.o/, @sourceList); - @outputList = grep (/:gssapi:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "krb5-objects-ppc-debug") { - - print (STDERR "# Building Kerberos v5 PPC debug object listÉ "); - @outputList = grep (s/\.c$/\.ppcd.o/, @sourceList); - @outputList = grep (!/:gssapi:|:profile:|:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "krb5-objects-68k-debug") { - - print (STDERR "# Building Kerberos v5 68K debug object listÉ "); - @outputList = grep (s/\.c$/\.68kd.o/, @sourceList); - @outputList = grep (!/:gssapi:|:profile:|:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "krb5-objects-ppc-final") { - - print (STDERR "# Building Kerberos v5 PPC final object listÉ "); - @outputList = grep (s/\.c$/\.ppcf.o/, @sourceList); - @outputList = grep (!/:gssapi:|:profile:|:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "krb5-objects-68k-final") { - - print (STDERR "# Building Kerberos v5 68K final object listÉ "); - @outputList = grep (s/\.c$/\.68kf.o/, @sourceList); - @outputList = grep (!/:gssapi:|:profile:|:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "profile-objects-ppc-debug") { - - print (STDERR "# Building profile PPC debug object listÉ "); - @outputList = grep (s/\.c$/\.ppcd.o/, @sourceList); - @outputList = grep (/:profile:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "profile-objects-68k-debug") { - - print (STDERR "# Building profile 68K debug object listÉ "); - @outputList = grep (s/\.c$/\.68kd.o/, @sourceList); - @outputList = grep (/:profile:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "profile-objects-ppc-final") { - - print (STDERR "# Building profile PPC final object listÉ "); - @outputList = grep (s/\.c$/\.ppcf.o/, @sourceList); - @outputList = grep (/:profile:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "profile-objects-68k-final") { - - print (STDERR "# Building profile 68K final object listÉ "); - @outputList = grep (s/\.c$/\.68kf.o/, @sourceList); - @outputList = grep (/:profile:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "comerr-objects-ppc-debug") { - - print (STDERR "# Building com_err PPC debug object listÉ "); - @outputList = grep (s/\.c$/\.ppcd.o/, @sourceList); - @outputList = grep (/:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "comerr-objects-68k-debug") { - - print (STDERR "# Building com_err 68K debug object listÉ "); - @outputList = grep (s/\.c$/\.68kd.o/, @sourceList); - @outputList = grep (/:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "comerr-objects-ppc-final") { - - print (STDERR "# Building com_err PPC final object listÉ "); - @outputList = grep (s/\.c$/\.ppcf.o/, @sourceList); - @outputList = grep (/:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "comerr-objects-68k-final") { - - print (STDERR "# Building com_err 68K final object listÉ "); - @outputList = grep (s/\.c$/\.68kf.o/, @sourceList); - @outputList = grep (/:et:/, @outputList); - print (STDERR "Done. \n"); - -} elsif ($action eq "include-folders") { - - print (STDERR "# Building include listÉ "); - @outputList = grep (s/(.*:)[^:]*\.h$/-i $1/, @sourceList); - @outputList = &uniq (sort (@outputList)); - print (STDERR "Done. \n"); - -} else { - - &usage; - exit; - -} - -print (join ("\n", @outputList), "\n"); - -exit; - -# -# Brad wrote rest of this stuff. Bug him, not me :-) -# - - -# Assuming the arguments are sorted, returns a copy with all duppliactes -# removed. -# @SPARSE_LIST = &uniq(@DUP_LIST); -sub uniq -{ - if (@_==0) { return (); } - if (@_==1) { return @_; } - local($N); - for ($N=0; $N<$#_; $N++) - { - $_[$N]=undef if $_[$N] eq $_[$N+1]; - } - return(grep(defined($_), @_)); -} - -# Makes a makefile line-list from a list of sources. -# @MACFILE_MACLIST = &make_macfile_maclist(@SOURCE_FILES); -sub make_macfile_maclist -{ - local(@LINES)=@_; - local($I); - for $I (0..$#LINES) - { - $LINES[$I]=~s|/|:|g; - $LINES[$I]=~s|^|:|g; - if ($LINES[$I]=~/:.:/) { $LINES[$I]=undef; } - elsif ($LINES[$I]=~/:mac:/) { $LINES[$I]=undef; } - } - grep(defined($_), @LINES); -} - -# Returns a list of files needed in the mac build. -# @FILES = &make_macfile_list (); -sub make_macfile_list -{ - local(@MAKEFILE)=&merge_continue_lines(&read_file("Makefile.in")); - local($MACDIRS)=&extract_variable("MAC_SUBDIRS", @MAKEFILE); - local(@RETVAL)=&macfiles_sh(split(/\s+/, $MACDIRS)); - - local(@MACFILES)=split(/\s+/, &extract_variable("MACFILES", @MAKEFILE)); - local(@FOUND)=(); - local($MACFILE); - for $MACFILE (@MACFILES) - { - push(@FOUND, &find_and_glob($MACFILE)); - } - - push(@RETVAL, &sed_exclude("config/winexclude.sed", @FOUND)); - @RETVAL; -} - -# Applies SEDFILE to STREAM. Only deletions are valid. -# This could be expanded if neccessary. -# @OUT = &sed_exclude($SEDFILE, @STREAM); -sub sed_exclude -{ - if ($#_<1) - { - print STDERR "Invalid call to sed_exclude.\n"; - exit(1); - # I have this error because it always indicates - # that something is wrong, not because a one argument - # call doesn't make sense. - } - local ($SEDFILE, @STREAM)=($_[0], @_[1..$#_]); - local (@SEDLINES)=&read_file($SEDFILE); - local (@DELLINES)=grep(s#^/(.*)/d$#$1#, @SEDLINES); - if (@SEDLINES!=@DELLINES) - { - print STDERR "sed script $SEDFILE confused me.\n"; - exit(1); - } - local ($LINE, @RETVALS); - @RETVALS=(); - for $LINE (@STREAM) - { - local($RET)=(1); - for $DEL (@DELLINES) - { - if ($LINE=~/$DEL/) - { - $RET=0; - } - } - $RET && push(@RETVALS, $LINE); - } - @RETVALS; -} - -# Returns a list of files that match a glob. You can only glob in the -# filename part...no directories allowed. Only real files (no dirs, -# block specials, etc.) are returned. An example argument is -# "./vers?filesfoo*.c". ?'s and *'s are valid globbing characters. You -# can push your luck with []'s, but it is untested. Files must be visible. -# @FILES = &find_and_glob("$BASEDIR/$FILEGLOB"); -sub find_and_glob -{ - local($PATTERN)=($_[0]); - local($DIR, $FILE)=($PATTERN=~m|^(.*)/([^/]*)$|)[0,1]; - if (!defined($FILE) || !defined($DIR) || length($DIR)<1 || length($FILE)<1) - { - print STDERR "Invalid call to find_and_glob.\n"; - exit(1); - } - $FILE=~s/\./\\\./g; - $FILE=~s/\*/\.\*/g; - $FILE=~s/\?/./g; - local (@FILES)=&list_in_dir($DIR, $FILE); - local (@RETVAL)=(); - for (@FILES) - { - push(@RETVAL, "$DIR/$_"); - } - @RETVAL; -} - -# Recurses over @DIRS and returns a list of files needed for the mac krb5 -# build. It is similar to the macfiles.sh script. -# @MACFILES = &macfiles_sh(@DIRS); -sub macfiles_sh -{ - local (@RETVAL)=(); - local ($DIR); - for $DIR (@_) - { - local (@MAKEFILE); - @MAKEFILE=&merge_continue_lines(&read_file("$DIR/Makefile.in")); - for $SDIR (split(/\s+/, &extract_variable("MAC_SUBDIRS", @MAKEFILE))) - { - local(@MAKEFILE)=&merge_continue_lines( - &read_file("$DIR/$SDIR/Makefile.in")); - local(@SRCS)=(split(/\s+/, (&extract_variable('MACSRCS', @MAKEFILE) . - &extract_variable('MACSRC', @MAKEFILE) . - &extract_variable('SRCS', @MAKEFILE) . - &extract_variable('SRC', @MAKEFILE)))); - @SRCS=grep(/.*\.c/, @SRCS); - local ($SRC); - for $SRC (@SRCS) - { - $SRC=~s|.*/([^/]+)|$1|; - push(@RETVAL, "$DIR/$SDIR/$SRC"); - } - local(@HEADS)=&list_in_dir("$DIR/$SDIR", '.*\.h$'); - local($HEAD); - for $HEAD (@HEADS) - { - push(@RETVAL, "$DIR/$SDIR/$HEAD"); - } - push(@RETVAL, &macfiles_sh("$DIR/$SDIR")); - } - } - @RETVAL; -} -exit; - -# Given a the contents of a makefile in @_[1,$#_], one line to an element, -# returns the Makefile format variable specified in $_[0]. If the -# $FILE_NAME variable is defined, it is used in error messages. -# @MAKEFILE_CONTENTS should have already been filtered through -# merge_continue_lines(). -# $VARIABLE_VALUE = &extract_variable($VARAIBLE_NAME, @MAKEFILE_CONTENTS); -sub extract_variable -{ - local ($FN, $VARNAME, @LINES, @MATCHES); - $FN=defined($FILE_NAME)?$FILE_NAME:""; - - if ($#_<2) - { - print(STDERR "Invalid call to extract_variable.\n"); - exit(1); - } - $VARNAME=$_[0]; - @LINES=@_[1..$#_]; - @MATCHES=grep(/^$VARNAME\s*=.+/, @LINES); - if (@MATCHES>1) - { - print STDERR "Too many matches for variable $VARNAME in $FN.\n"; - exit(1); - } - if (@MATCHES==0) - { - return ""; - } - return ($MATCHES[0]=~/^$VARNAME\s*=\s*(.*)$/)[0]; -} - -# Print the arguments separated by newlines. -# &print_lines(@LINES); -sub print_lines -{ - print(join("\n", @_), "\n"); -} - -# Given an array of lines, returns the same array transformed to have -# all lines ending in backslashes merged with the following lines. -# @LINES = &merge_continue_lines(@RAWLINES); -sub merge_continue_lines -{ - local ($LONG)=join("\n", @_); - $LONG=~s/\\\n/ /g; - return split('\n', $LONG); -} - -# Returns the contents of the file named $_[0] in an array, one line -# in each element. Newlines are stripped. -# @FILE_CONTENTS = &read_file($FILENAME); -sub read_file -{ - die("Bad call to read_file") unless defined $_[0]; - local($FN) = (&chew_on_filename($_[0])); - local (@LINES, @NLFREE_LINES); - - if (!open(FILE, $FN)) - { - print(STDERR "Can't open $FN.\n"); - exit(1); - } - - @LINES=; - @NLFREE_LINES=grep(s/\n$//, @LINES); - - if (!close(FILE)) - { - print(STDERR "Can't close $FN.\n"); - exit(1); - } - - @NLFREE_LINES; -} - -# lists files that match $PATTERN in $DIR. -# Returned files must be real, visible files. -# @FILES = &list_in_dir($DIR, $PATTERN); -sub list_in_dir -{ - local ($DIR, $PATTERN) = @_[0,1]; - local ($MACDIR)=&chew_on_filename($DIR); - opendir(DIRH, $MACDIR) || die("Can't open $DIR"); - local(@FILES)=readdir(DIRH); - closedir(DIRH); - local (@RET)=(); - for (@FILES) - { - local($FILE)=$_; - if ($FILE=~/^$PATTERN$/ && &is_a_file("$DIR/$_") && $FILE=~/^[^.]/) - { - push(@RET, $FILE); - } - } - @RET; -} - -# Returns whether the argument exists and is a real file. -# $BOOL = &is_a_file($FILENAME); -sub is_a_file -{ - die("Invalid call to is_a_file()") unless defined($_[0]); - local($FILE)=$_[0]; - return -f &chew_on_filename($FILE); -} - -# Returns the argument, interpretted as a filename, munged -# for the local "Operating System", as defined by $^O. -# As of now, fails on full pathnames. -# $LOCALFN = &chew_on_filename($UNIXFN); -sub chew_on_filename -{ - if (@_!=1) - { - print(STDERR "Bad call to chew_on_filename.\n"); - exit(1); - } - $_=$_[0]; - - $_="$ROOT/$_"; - - if ($^O eq 'MacOS') - { - s%/\.\./%:/%g; - s%^\.\./%/%; - s%^\./%%; - s%/\./%/%g; - s%/\.$%%g; - s%/%:%g; - s%^%:%g; - s%^:\.$%:%; - } - - return $_; -} - -# Deletes a file -# &delete_file($FILE); -sub delete_file -{ - die("Illegal call to delete_file()") unless defined $_[0]; - unlink(&chew_on_filename($_[0])); -} - -# Returns a one-level deep copy of an array. -# @B = ©_array(@A); -sub copy_array -{ - local (@A)=(); - for (@_) - { - push(@A, $_); - } - @A; -} - -- 2.26.2