This commit was manufactured by cvs2svn to create tag krb5-1.4.2-final
authorno author <devnull@mit.edu>
Wed, 10 Aug 2005 19:26:34 +0000 (19:26 +0000)
committerno author <devnull@mit.edu>
Wed, 10 Aug 2005 19:26:34 +0000 (19:26 +0000)
'krb5-1-4-2-final'.

git-svn-id: svn://anonsvn.mit.edu/krb5/tags/krb5-1-4-2-final@17325 dc483132-0cff-0310-8789-dd5450dbe970

186 files changed:
README
doc/ChangeLog
doc/build.texinfo
doc/implementor.texinfo
doc/kadm5/api-unit-test.tex
doc/thread-safe.txt
doc/threads.txt
src/ChangeLog
src/Makefile.in
src/aclocal.m4
src/appl/bsd/ChangeLog
src/appl/bsd/krlogind.c
src/appl/bsd/krshd.c
src/appl/bsd/login.c
src/appl/gssftp/ftpd/ChangeLog
src/appl/gssftp/ftpd/Makefile.in
src/appl/gssftp/ftpd/ftpcmd.y
src/appl/gssftp/ftpd/ftpd.M
src/appl/gssftp/ftpd/ftpd.c
src/appl/telnet/libtelnet/ChangeLog
src/appl/telnet/libtelnet/auth-proto.h
src/appl/telnet/libtelnet/auth.c
src/appl/telnet/libtelnet/kerberos.c
src/appl/telnet/telnet/ChangeLog
src/appl/telnet/telnet/commands.c
src/appl/telnet/telnet/telnet.c
src/appl/telnet/telnetd/ChangeLog
src/appl/telnet/telnetd/ext.h
src/appl/telnet/telnetd/telnetd.8
src/appl/telnet/telnetd/telnetd.c
src/appl/telnet/telnetd/utility.c
src/clients/ChangeLog
src/clients/Makefile.in
src/clients/kdeltkt/ChangeLog
src/clients/kdeltkt/Makefile.in
src/config/ChangeLog
src/config/lib.in
src/config/pre.in
src/config/shlib.conf
src/config/win-pre.in
src/configure.in
src/include/ChangeLog
src/include/configure.in
src/include/fake-addrinfo.h
src/include/k5-int.h
src/include/k5-platform.h
src/include/k5-thread.h
src/include/krb5.hin
src/include/win-mac.h
src/kadmin/cli/ChangeLog
src/kadmin/cli/kadmin.M
src/kadmin/cli/kadmin.c
src/kadmin/testing/util/ChangeLog
src/kadmin/testing/util/tcl_kadm5.c
src/kdc/ChangeLog
src/kdc/do_as_req.c
src/kdc/do_tgs_req.c
src/kdc/network.c
src/krb5-config.in
src/lib/.cvsignore
src/lib/ChangeLog
src/lib/Makefile.in
src/lib/crypto/ChangeLog
src/lib/crypto/aes/ChangeLog
src/lib/crypto/aes/Makefile.in
src/lib/crypto/keyed_cksum.c
src/lib/crypto/prng.c
src/lib/crypto/t_prng.expected
src/lib/crypto/t_prng.reseedtest-expected
src/lib/crypto/t_prng.seed
src/lib/crypto/yarrow/ChangeLog
src/lib/crypto/yarrow/yarrow.c
src/lib/crypto/yarrow/ycipher.h
src/lib/crypto/yarrow/ylock.h
src/lib/gssapi/ChangeLog
src/lib/gssapi/Makefile.in
src/lib/gssapi/configure.in
src/lib/gssapi/generic/ChangeLog
src/lib/gssapi/generic/Makefile.in
src/lib/gssapi/generic/gssapi.hin
src/lib/gssapi/gss_libinit.c
src/lib/gssapi/krb5/ChangeLog
src/lib/gssapi/krb5/Makefile.in
src/lib/gssapi/krb5/acquire_cred.c
src/lib/gssapi/krb5/import_name.c
src/lib/gssapi/krb5/init_sec_context.c
src/lib/gssapi32.def
src/lib/kadm5/admin.h
src/lib/kadm5/clnt/ChangeLog
src/lib/kadm5/clnt/client_init.c
src/lib/kadm5/srv/ChangeLog
src/lib/kadm5/srv/svr_principal.c
src/lib/kadm5/unit-test/ChangeLog
src/lib/kadm5/unit-test/api.2/init-v2.exp
src/lib/krb4/ChangeLog
src/lib/krb4/RealmsConfig-glue.c
src/lib/krb5/ChangeLog
src/lib/krb5/Makefile.in
src/lib/krb5/asn.1/ChangeLog
src/lib/krb5/asn.1/asn1_decode.c
src/lib/krb5/asn.1/asn1_encode.c
src/lib/krb5/ccache/ChangeLog
src/lib/krb5/ccache/cc_file.c
src/lib/krb5/ccache/cc_mslsa.c
src/lib/krb5/keytab/ChangeLog
src/lib/krb5/keytab/kt_file.c
src/lib/krb5/krb/ChangeLog
src/lib/krb5/krb/Makefile.in
src/lib/krb5/krb/copy_princ.c
src/lib/krb5/krb/cp_key_cnt.c
src/lib/krb5/krb/deltat.c
src/lib/krb5/krb/get_creds.c
src/lib/krb5/krb/gic_keytab.c
src/lib/krb5/krb/gic_pwd.c
src/lib/krb5/krb/parse.c
src/lib/krb5/krb/recvauth.c
src/lib/krb5/krb/unparse.c
src/lib/krb5/krb/x-deltat.y
src/lib/krb5/krb5_libinit.c
src/lib/krb5/libkrb5.exports
src/lib/krb5/os/ChangeLog
src/lib/krb5/os/Makefile.in
src/lib/krb5/os/accessor.c
src/lib/krb5/os/dnsglue.c
src/lib/krb5/os/dnsglue.h
src/lib/krb5/os/init_os_ctx.c
src/lib/krb5/os/kuserok.c
src/lib/krb5/os/locate_kdc.c
src/lib/krb5/os/sendto_kdc.c
src/lib/krb5/os/sn2princ.c
src/lib/krb5/os/t_locate_kdc.c
src/lib/krb5/os/thread_safe.c [new file with mode: 0644]
src/lib/krb5/rcache/ChangeLog
src/lib/krb5/rcache/rc_dfl.c
src/lib/krb5_32.def
src/lib/rpc/ChangeLog
src/lib/rpc/Makefile.in
src/lib/rpc/authgss_prot.c
src/lib/win_glue.c
src/mac/MacOSX/Projects/GSS.pbexp
src/mac/MacOSX/Projects/Kerberos5.pbproj/project.pbxproj
src/mac/MacOSX/Projects/KerberosProfile.pbexp
src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam
src/mac/MacOSX/Scripts/Kerberos5Headers.jam
src/patchlevel.h
src/tests/dejagnu/krb-root/ChangeLog
src/tests/dejagnu/krb-root/telnet.exp
src/tests/dejagnu/krb-standalone/ChangeLog
src/tests/dejagnu/krb-standalone/kadmin.exp
src/tests/dejagnu/krb-standalone/pwhist.exp [new file with mode: 0644]
src/util/ChangeLog
src/util/def-check.pl
src/util/et/ChangeLog
src/util/et/error_message.c
src/util/et/et_h.awk
src/util/et/et_h.pl
src/util/mkrel
src/util/profile/ChangeLog
src/util/profile/Makefile.in
src/util/profile/configure.in
src/util/profile/prof_file.c
src/util/profile/prof_init.c
src/util/profile/prof_int.h
src/util/profile/prof_set.c
src/util/profile/prof_test1
src/util/profile/prof_tree.c
src/util/profile/profile.hin
src/util/ss/ChangeLog
src/util/ss/Makefile.in
src/util/support/ChangeLog
src/util/support/Makefile.in
src/util/support/libkrb5support.exports
src/util/support/threads.c
src/windows/ChangeLog
src/windows/cns/ChangeLog
src/windows/cns/tktlist.c
src/windows/installer/nsis/ChangeLog
src/windows/installer/nsis/kfw-fixed.nsi
src/windows/installer/wix/ChangeLog
src/windows/installer/wix/config.wxi
src/windows/installer/wix/features.wxi
src/windows/installer/wix/files.wxi
src/windows/installer/wix/lang/ChangeLog
src/windows/installer/wix/lang/strings_1033.wxl
src/windows/installer/wix/site-local.wxi
src/windows/version.rc

diff --git a/README b/README
index 2bfe2473c442574285dfe51c92d77f3fda8e8f65..82b163490d782e3cf7461bbe202a7d3bf6a11dbe 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-                 Kerberos Version 5, Release 1.3.5
+                 Kerberos Version 5, Release 1.4.2
 
                            Release Notes
                        The MIT Kerberos Team
@@ -6,21 +6,16 @@
 Unpacking the Source Distribution
 ---------------------------------
 
-The source distribution of Kerberos 5 comes in a gzipped tarfile,
-krb5-1.3.5.tar.gz.  Instructions on how to extract the entire
-distribution follow.
+The source distribution of Kerberos 5 comes in a tarfile,
+krb5-1.4.2-signed.tar.  The tarfile contains a gzipped tarfile,
+krb5-1.4.2.tar.gz, and its corresponding PGP signature,
+krb5-1.4.2.tar.gz.asc.
 
-If you have the GNU tar program and gzip installed, you can simply do:
+You will need the GNU gzip program, and preferably, the GNU tar
+program, to extract the source distribution.
 
-       gtar zxpf krb5-1.3.5.tar.gz
-
-If you don't have GNU tar, you will need to get the FSF gzip
-distribution and use gzcat:
-
-       gzcat krb5-1.3.5.tar.gz | tar xpf -
-
-Both of these methods will extract the sources into krb5-1.3.5/src and
-the documentation into krb5-1.3.5/doc.
+The distribution will extract into a subdirectory "krb5-1.4.2" of the
+current directory.
 
 Building and Installing Kerberos 5
 ----------------------------------
@@ -59,940 +54,474 @@ http://krbdev.mit.edu/rt/
 
 and logging in as "guest" with password "guest".
 
-Major changes in 1.3.5
-----------------------
-
-* [2682] Fix ftpd hang caused by empty PASS command.
-
-* [2686] Fix double-free errors. [MITKRB5-SA-2004-002]
-
-* [2687] Fix denial-of-service vulnerability in ASN.1
-  decoder. [MITKRB5-SA-2004-003]
-
-Minor changes in 1.3.5
-----------------------
-
-* [2016] Fix build problem in fake-addrinfo.h by including stdio.h so
-  that sprintf() gets prototyped where needed on some platforms.
-
-* [2353] Add missing prototype for gss_krb5int_unseal_token_v3().
-
-* [2607] Fix enctype filtering and some memory leaks in MSLSA ccache.
-
-* [2608] Remove incorrect localization in MSLSA ccache which was
-  resulting in crashes.
-
-* [2619] Update MSLSA ccache to support new LSA flag.
-
-* [2623] Update MSLSA ccache to reflect differences in registry layout
-  between Windows client and server OSes.
-
-* [2624] Do not ignore the cache when obtaining TGTs from the MSLSA if
-  the requested enctype is the NULL enctype.
-
-* [2626] Add Terminal Server compatibility for KfW.
-
-* [2627] Fix cc_mslsa thread safety.
-
-* [2634] Remove the caching of the ccache principal name from
-  krb5_context.
-
-* [2643] Fix another problem with krb4 ticket backdating.
-
-* [2675] Add new WiX-based MSI installer for KfW.
-
-* [2677] Add "-c ccache" option to kvno; use consistent memory
-  management to avoid crashes on Windows.
-
-* [2689] Misc MSLSA ccache fixes.
-
-* [2691] Improve documentation of ANSI C requirement.
-
-Major changes in 1.3.4
-----------------------
-
-* [2024, 2583, 2584] Fixed buffer overflows in
-  krb5_aname_to_localname(). [MITKRB-SA-2004-001]
-
-Minor changes in 1.3.4
+Important notice regarding Kerberos 4 support
+---------------------------------------------
+
+In the past few years, several developments have shown the inadequacy
+of the security of version 4 of the Kerberos protocol.  These
+developments have led the MIT Kerberos Team to begin the process of
+ending support for version 4 of the Kerberos protocol.  The plan
+involves the eventual removal of Kerberos 4 support from the MIT
+implementation of Kerberos.
+
+The Data Encryption Standard (DES) has reached the end of its useful
+life.  DES is the only encryption algorithm supported by Kerberos 4,
+and the increasingly obvious inadequacy of DES motivates the
+retirement of the Kerberos 4 protocol.  The National Institute of
+Standards and Technology (NIST), which had previously certified DES as
+a US government encryption standard, has officially announced[1] the
+withdrawal of the Federal Information Processing Standards (FIPS) for
+DES.
+
+NIST's action reflects the long-held opinion of the cryptographic
+community that DES has too small a key space to be secure.  Breaking
+DES encryption by an exhaustive search of its key space is within the
+means of some individuals, many companies, and all major governments.
+Consequently, DES cannot be considered secure for any long-term keys,
+particularly the ticket-granting key that is central to Kerberos.
+
+Serious protocol flaws[2] have been found in Kerberos 4.  These flaws
+permit attacks which require far less effort than an exhaustive search
+of the DES key space.  These flaws make Kerberos 4 cross-realm
+authentication an unacceptable security risk and raise serious
+questions about the security of the entire Kerberos 4 protocol.
+
+The known insecurity of DES, combined with the recently discovered
+protocol flaws, make it extremely inadvisable to rely on the security
+of version 4 of the Kerberos protocol.  These factors motivate the MIT
+Kerberos Team to remove support for Kerberos version 4 from the MIT
+implementation of Kerberos.
+
+The process of ending Kerberos 4 support began with release 1.3 of MIT
+Kerberos 5.  In release 1.3, the default run-time configuration of the
+KDC disables support for version 4 of the Kerberos protocol.  Release
+1.4 of MIT Kerberos continues to include Kerberos 4 support (also
+disabled in the KDC with the default run-time configuration), but we
+intend to completely remove Kerberos 4 support from some future
+release of MIT Kerberos, possibly as early as the 1.5 release of MIT
+Kerberos.
+
+The MIT Kerberos Team has ended active development of Kerberos 4,
+except for the eventual removal of all Kerberos 4 functionality.  We
+will continue to provide critical security fixes for Kerberos 4, but
+routine bug fixes and feature enhancements are at an end.
+
+We recommend that any sites which have not already done so begin a
+migration to Kerberos 5.  Kerberos 5 provides significant advantages
+over Kerberos 4, including support for strong encryption,
+extensibility, improved cross-vendor interoperability, and ongoing
+development and enhancement.
+
+If you have questions or issues regarding migration to Kerberos 5, we
+recommend discussing them on the kerberos@mit.edu mailing list.
+
+                              References
+
+[1] National Institute of Standards and Technology.  Announcing
+    Approval of the Withdrawal of Federal Information Processing
+    Standard (FIPS) 43-3, Data Encryption Standard (DES); FIPS 74,
+    Guidelines for Implementing and Using the NBS Data Encryption
+    Standard; and FIPS 81, DES Modes of Operation.  Federal Register
+    05-9945, 70 FR 28907-28908, 19 May 2005.  DOCID:fr19my05-45
+
+[2] Tom Yu, Sam Hartman, and Ken Raeburn. The Perils of
+    Unauthenticated Encryption: Kerberos Version 4. In Proceedings of
+    the Network and Distributed Systems Security Symposium. The
+    Internet Society, February 2004.
+    http://web.mit.edu/tlyu/papers/krb4peril-ndss04.pdf
+
+----------------------------------------------------------------------
+
+Major changes in 1.4.2
 ----------------------
 
-* [957] The auth_to_local rules now allow for the client realm to be
-  examined.
-
-* [2527, 2528, 2531] Keytab file names lacking a "FILE:" prefix now work
-  under Windows.
-
-* [2533] Updated installer scripts for Windows.
-
-* [2534] Fixed memory leak for when an incorrect password is input to
-  krb5_get_init_creds_password().
-
-* [2535] Added missing newline to dnssrv.c.
-
-* [2551, 2564] Use compile-time checks to determine endianness.
-
-* [2558] krb5_send_tgs() now correctly sets message_type after
-  receiving a KRB_ERROR message.
-
-* [2561, 2574] Fixed memory allocation errors in the MSLSA ccache.
-
-* [2562] The Windows installer works around cases where DLLs cannot be
-  unloaded.
+* [3120] Fix [MITKRB5-SA-2005-002] KDC double-free and heap overflow.
+  Thanks to Daniel Wachdorf for reporting these vulnerabilities.
 
-* [2585] Documentation correctly describes AES support in GSSAPI.
+* [3121] Fix [MITKRB5-SA-2005-003] krb5_recvauth() double-free.
+  Thanks to Magnus Hagander for reporting this vulnerability.
 
-Major changes in 1.3.3
+Minor changes in 1.4.2
 ----------------------
 
-* [2284] Fixed accept_sec_context to use a replay cache in the
-  GSS_C_NO_CREDENTIAL case.  Reported by Cesar Garcia.
+* [2902] Work around broken res_ninit() in AIX 5.
 
-* [2426] Fixed a spurious SIGPIPE that happened in the TCP sendto_kdc
-  code on AIX.  Thanks to Bill Dodd.
+* [2980] Fix a Windows deadlock condition when unloading krb5_32.dll.
 
-* [2430] Fixed a crash in the MSLSA ccache.
+* [2982] Provide some support for pre-POSIX versions of getpwnam_r()
+  and getpwuid_r().
 
-* [2453] The AES string-to-key function no longer returns a pointer to
-  stack memory when given a password longer than 64 characters.
+* [3029] krb5_get_credentials() avoids passing errors from
+  krb5_cc_store_cred().
 
-Minor changes in 1.3.3
-----------------------
+* [3042] Fix build failure on 64-bit Solaris/SPARC.
 
-* [2277] In sendto_kdc, a socket leak on connection failure was fixed.
-  Thanks to Bill Dodd.
+* [3060] Work around excess stack consumption caused by large default
+  FD_SETSIZE in AIX.
 
-* [2384] A memory leak in the TCP handling code in the KDC has been
-  fixed.  Thanks to Will Fiveash.
+* [3083] Avoid using "faked" telnet service when calling
+  getaddrinfo().
 
-* [2521] The Windows NSIS installer scripts are in the source tree.
+* [3084] Provide better support for conditional pthread support.
 
-* [2522] The MSLSA ccache now supports Windows 9x.
+* [3098] The file-based ccache code no longer spuriously retains a
+  lock.
 
-Major changes in 1.3.2
+Major changes in 1.4.1
 ----------------------
 
-* [2040, 1471, 2067, 2077, 2079, 2166, 2167, 2220, 2266] Support for
-  AES in GSSAPI has been implemented.  This corresponds to the
-  in-progress work in the IETF (CFX).
-
-* [2049, 2139, 2148, 2153, 2182, 2183, 2184, 2190, 2202] Added a new
-  ccache type "MSLSA:" for read-only access to the MS Windows LSA
-  cache.
-
-* [982] On windows, krb5.exe now has a checkbox to request addressless
-  tickets.
+* [2913] The kadmin client library now performs authentication flavor
+  fallback in a useful way when attempting to contact a pre-1.4 kadmin
+  daemon.
 
-* [2189, 2234] To avoid compatibility problems, unrecognized TGS
-  options will now be ignored.  Thanks to Wyllys Ingersoll for finding
-  a problem with a previous fix.
+* [2988] Fix telnet client buffer overflow vulnerabilities.
+  [MITKRB5-SA-2005-001]
 
-* [2218] 128-bit AES has been added to the default enctypes.
-
-* [2223, 2229] AES cryptosystem now chains IVs.  This WILL break
-  backwards compatibility for the kcmd applications, if they are using
-  AES session keys.  Thanks to Wyllys Ingersoll for finding a problem
-  with a previous fix.
-
-Minor changes in 1.3.2
+Minor changes in 1.4.1
 ----------------------
 
-* [1437] Applied patch from Stephen Grau so kinit returns non-zero
-  status under certain failure conditions where it had previously
-  returned zero.
-
-* [1586] On Windows, the krb4 CREDENTIALS structure has been changed
-  to align with KfW's version of the structure.
-
-* [1613] Applied patch from Dave Shrimpton to avoid truncation of
-  dates output from the kadmin CLI when long time zone names are
-  used.
-
-* [1622] krshd no longer calls syslog from inside a signal handler, in
-  an effort to avoid deadlocks on exit.
-
-* [1649] A com_err test program compiles properly on Darwin now.
-
-* [1692] A new configuration file tag "master_kdc" has been added to
-  allow master KDCs to be designated separately from admin servers.
-
-* [1702] krb5_get_host_realm() and krb5_free_host_realm() are no
-  longer marked as KRB5_PRIVATE.
-
-* [1711] Applied patch from Harry McGavran Jr to allow fake-addrinfo.h
-  to compile on libc5 Linux platforms.
+Please see
 
-* [1712] Applied patch from Cesar Garcia to fix lifetime computation
-  in krb524 ticket conversion.
+http://krbdev.mit.edu/rt/NoAuth/krb5-1.4/fixed-1.4.1.html
 
-* [1714] Fixed a 64-bit endianness bug in ticket starttime encoding in
-  krb524d.  Found by Cesar Garcia.
+for a complete list.
 
-* [1715] kadmind4 and v5passwdd are no longer installed on Mac OS X.
+* [2888] On Windows, restore library state to uninitialized when library
+  is unloaded.
 
-* [1718] The krb4 library configure script now recognizes
-  OpenDarwin/x86.  Bug found by Rob Braun.
+* [2906] Map ns_rr_class to ns_rr_cl for some versions of BIND.
 
-* [1721] krb5_get_init_creds_password() no longer returns a spurious
-  KRB5_REALM_UNKNOWN if DNS SRV record support is turned off.
+* [2916] Perform some cleanup on library unload to avoid leaks.
 
-* [1730] krb_mk_auth() no longer overzealously clears the key
-  schedule.
+* [2918] krb5_get_init_creds_password() now correctly handles an empty
+  string passed in as a password argument.
 
-* [1731] A double-free related to reading forwarded credentials has
-  been fixed.  Found by Joseph Galbraith.
+* [2924] gss_mech_xxx symbols are now exported on Windows.
 
-* [1770] Applied patch from Maurice Massar to fix a foreachaddr()
-  problem that was causing the KDC to segfault on startup.
+* [2942] Fix null pointer deref possible in threaded program calls to
+  profile library.
 
-* [1790] The Linux build uses $(CC) to create shared libraries,
-  avoiding a libgcc problem when building libdb.
+* [2949] The delta-time parser no longer conflicts with some symbols
+  in HP-UX header files.
 
-* [1792] The lib/kadm5 unit tests now work around a Solaris 9
-  pty-close bug.
+* [2950] Deleted profile nodes are now correctly skipped by the
+  iterator.
 
-* [1793] The test suite works around some Tru64 and Irix RPATH
-  issues, which previously could prevent tests from running on a build
-  with shared libraries enabled.
+* [2953] Handle variant gmtime_r() on HP-UX 10.
 
-* [1799] kadmind supports callouts to the Apple password server.
+* [2955] Conditionalize the use of reverse DNS lookups in
+  krb5_sname_to_principal().
 
-* [1893] KRB-SAFE messages from older releases can now be read
-  successfully.  Prior 1.3.x releases did not save the encoded
-  KRB-SAFE message, and experienced problems when re-encoding.  Found
-  by Scooter Morris.
+* [2960] gssapi.h no longer leaks preprocessor symbols.
 
-* [1962] MS LSA tickets with short remaining lifetimes will be
-  rejected in favor of retrieving tickets bypassing the LSA cache.
+* [2961] Fix some missing build dependencies in util/ss.
 
-* [1973] sendto_kdc.c now closes sockets with closesocket() instead of
-  close(), avoiding a descriptor leak on Windows.
+* [2962] Fix case of @MAINT@ substitution breaking Windows build.
 
-* [1979] An erroneously short initial sequence number mask has been
-  fixed.
+* [2963] On windows, fix dangerous 64-bit time_t * to long *
+  conversions.
 
-* [2028] KfW now displays a kinit dialog when GSS fails to find
-  tickets.
-
-* [2051] Missing exports have been added to krb4_32.def on Windows.
-
-* [2058] Some problems with krb4 ticket lifetime backdating have
-  fixed.
-
-* [2060] GSSAPI's idea of the default ccache is less sticky now.
-
-* [2068] The profile library includes prof-int.h before conditionals
-  that rely on it.
-
-* [2084] The resolver library is no longer referenced by library code
-  if not building with DNS SRV record support.
-
-* [2085] Updated Windows README file to reflect current compilation
-  requirements, etc.
-
-* [2104] On Windows, only define strcasecmp and strncasecmp
-  replacement macros if said functions are missing.
-
-* [2106] Return an error for unimplemented ccache functions, rather
-  than calling through a null pointer.
-
-* [2118] Applied patch from Will Fiveash to use correct parameter for
-  KDC TCP listening sockets.
-
-* [2144,2230] Memory management errors in the Windows gss.exe test
-  client have been fixed.
-
-* [2171] krb5_locate_kpasswd() now correctly calls htons() on the
-  kpasswd port number.  Found by Arlene Berry.
-
-* [2180] The profile library now includes pthread.h when compiled with
-  USE_PTHREADS.
-
-* [2181, 2224] A timeout has been added to gss-server, and a missing
-  parameter to sign_server() has been added.
-
-* [2196] config.{guess,sub} have been updated from autoconf-2.59.
-
-* [2204] Windows gss.exe now has support for specifying credentials
-  cache, as well as some minor bugfixes.
-
-* [2210] GSSAPI accept_sec_context() no longer unconditionally sets
-  INTEG and CONF flags in contradiction to what the initiator sent.
-
-* [2212] The GSS sample application has some additional options to
-  support testing of SSPI vs GSSAPI.
-
-* [2217] Windows gss.exe has new UI elements to support more flag
-  settings.
-
-* [2225] In the gss sample client, some extraneous parameters have
-  been removed from client_establish_context().
-
-* [2228] Copyright notices updated in GSS sample apps.
-
-* [2233] On Windows compiles with KRB5_KFW_COMPILE, the lib path for
-  krbcc32.lib is now correct.
-
-* [2195, 2236, 2241, 2245] The Solaris 9 pty-close bug, which was
-  affecting the test suite, has been worked around by hacking
-  scheduler priorities.  See the installation notes for details.
-  Thanks to Bill Sommerfeld for some useful hints.
-
-* [2258] An incorrect memcpy() statement in fakeka has been fixed.
-  Reported by David Thompson.
-
-Notes, Major Changes, and Known Bugs for 1.3.1
-----------------------------------------------
-
-* [1681] The incorrect encoding of the ETYPE-INFO2 preauthentication
-  hint is no longer emitted, and the both the incorrect and the
-  correct encodings of ETYPE-INFO2 are now accepted.  We STRONGLY
-  encourage deploying krb5-1.3.1 in preference to 1.3, especially on
-  client installations, as the 1.3 release did not conform to the
-  internet-draft for the revised Kerberos protocol in its encoding of
-  ETYPE-INFO2.
-
-* [1683] The non-caching getaddrinfo() API on Mac OS X, which was
-  causing significant slowdowns under some circumstances, has been
-  worked around.
-
-Minor changes in 1.3.1
-----------------------
-
-* [1015] gss_accept_sec_context() now passes correct arguments to
-  TREAD_STR() when reading options beyond the forwarded credential
-  option.  Thanks to Emily Ratliff.
-
-* [1365] The GSSAPI initiator credentials are no longer cached inside
-  the GSSAPI library.
-
-* [1651] A buffer overflow in krb_get_admhst() has been fixed.
-
-* [1655] krb5_get_permitted_enctypes() and krb5_set_real_time() are
-  now exported for use by Samba.
-
-* [1656] gss_init_sec_context() no longer leaks credentials under some
+* [2964] Fix invalid return value from krb5_c_is_keyed_cksum() during
   error conditions.
 
-* [1657] krb_get_lrealm() no longer returns "ATHENA.MIT.EDU"
-  inappropriately.
-
-* [1664] The crypto library no longer has bogus dependencies on
-  com_err.
-
-* [1665] krb5_init_context() no longer multiply registers error tables
-  when called more than once, preventing a memory leak.
-
-* [1666] The GSS_C_NT_* symbols are now exported from gssapi32.dll on
-  Windows.
-
-* [1667] ms2mit now imports any tickets with supported enctypes, and
-  does not import invalid tickets.
-
-* [1677] krb5_gss_register_acceptor_identity() no longer has an
-  off-by-one in its memory allocation.
-
-* [1679] krb5_principal2salt is now exported on all platforms.
-
-* [1684] The file credentials cache is now supported if USE_CCAPI is
-  defined, i.e., for KfM and KfW.
-
-* [1691] Documentation for the obsolete kdc_supported_enctypes config
-  variable has been removed.
-
-Notes, Major Changes, and Known Bugs for 1.3
---------------------------------------------
-
-* We now install the compile_et program, so other packages can use the
-  installed com_err library with their own error tables.  (If you use
-  our com_err code, that is; see below.)
-
-* The header files we install now assume ANSI/ISO C ('89, not '99).
-  We have stopped testing on SunOS 4, even with gcc.  Some of our code
-  now has C89-based assumptions, like free(NULL) being well defined,
-  that will probably frustrate any attempts to run this code under SunOS
-  4 or other pre-C89 systems.
-
-* Some new code, bug fixes, and cleanup for IPv6 support.  Most of the
-  code should support IPv6 transparently now.  The RPC code (and
-  therefore the admin system, which is based on it) does not yet
-  support IPv6.  The support for Kerberos 4 may work with IPv6 in very
-  limited ways, if the address checking is turned off.  The FTP client
-  and server do not have support for the new protocol messages needed
-  for IPv6 support (RFC 2428).
-
-* We have upgraded to autoconf 2.52 (or later), and the syntax for
-  specifying certain configuration options have changed.  For example,
-  autoconf 2.52 configure scripts let you specify command-line options
-  like "configure CC=/some/path/foo-cc", so we have removed some of
-  our old options like --with-cc in favor of this approach.
-
-* The client libraries can now use TCP to connect to the KDC.  This
-  may be necessary when talking to Microsoft KDCs (domain controllers),
-  if they issue you tickets with lots of PAC data.
-
-* If you have versions of the com_err or ss installed locally, you can
-  use the --with-system-et and --with-system-ss configure options to
-  use them rather than using the versions supplied here.  Note that
-  the interfaces are assumed to be similar to those we supply; in
-  particular, some older, divergent versions of the com_err library
-  may not work with the krb5 sources.  Many configure-time variables
-  can be used to help the compiler and linker find the installed
-  packages; see the build documentation for details.
+* [2971] thread_termination now correctly frees thread-specific data.
 
-* The AES cryptosystem has been implemented.  However, support in the
-  Kerberos GSSAPI mechanism has not been written (or even fully
-  specified), so it's not fully enabled.  See the documentation for
-  details.
+* [2974] krb5_get_init_creds_keytab() no longer produces spurious
+  KRB5_REALM_UNKNOWN errors when a master KDC is not listed in the
+  configuration.
 
-Major changes listed by ticket ID
----------------------------------
-
-* [492] PRNG breakage on 64-bit platforms no longer an issue due to
-  new PRNG implementation.
-
-* [523] Client library is now compatible with the RC4-based
-  cryptosystem used by Windows 2000.
-
-* [709] krb4 long lifetime support has been implemented.
-
-* [880] krb5_gss_register_acceptor_identity() implemented (is called
-  gsskrb5_register_acceptor_identity() by Heimdal).
-
-* [1087] ftpd no longer requires channel bindings, allowing easier use
-  of ftp from behind a NAT.
-
-* [1156, 1209] It is now possible to use the system com_err to build
-  this release.
-
-* [1174] TCP support added to client library.
-
-* [1175] TCP support added to the KDC, but is disabled by default.
-
-* [1176] autoconf-2.5x is now required by the build system.
-
-* [1184] It is now possible to use the system Berkeley/Sleepycat DB
-  library to build this release.
-
-* [1189, 1251] The KfM krb4 library source base has been merged.
-
-* [1190] The default KDC master key type is now triple-DES.  KDCs
-  being updated may need their config files updated if they are not
-  already specifying the master key type.
-
-* [1190] The default ticket lifetime and default maximum renewable
-  ticket lifetime have been extended to one day and one week,
-  respectively.
-
-* [1191] A new script, k5srvutil, may be used to manipulate keytabs in
-  ways similar to the krb4 ksrvutil utility.
-
-* [1281] The "fakeka" program, which emulates the AFS kaserver, has
-  been integrated.  Thanks to Ken Hornstein.
-
-* [1343] The KDC now defaults to not answering krb4 requests.
-
-* [1344] Addressless tickets are requested by default now.
-
-* [1372] There is no longer a need to create a special keytab for
-  kadmind.  The legacy administration daemons "kadmind4" and
-  "v5passwdd" will still require a keytab, though.
-
-* [1377, 1442, 1443] The Microsoft set-password protocol has been
-  implemented.  Thanks to Paul Nelson.
-
-* [1385, 1395, 1410] The krb4 protocol vulnerabilities
-  [MITKRB5-SA-2003-004] have been worked around.  Note that this will
-  disable krb4 cross-realm functionality, as well as krb4 triple-DES
-  functionality.  Please see doc/krb4-xrealm.txt for details of the
-  patch.
-
-* [1393] The xdrmem integer overflows [MITKRB5-SA-2003-003] have
-  been fixed.
-
-* [1397] The krb5_principal buffer bounds problems
-  [MITKRB5-SA-2003-005] have been fixed.  Thanks to Nalin Dahyabhai.
-
-* [1415] Subsession key negotiation has been fixed to allow for
-  server-selected subsession keys in the future.
-
-* [1418, 1429, 1446, 1484, 1486, 1487, 1535, 1621] The AES
-  cryptosystem has been implemented.  It is not usable for GSSAPI,
-  though.
-
-* [1491] The client-side functionality of the krb524 library has been
-  moved into the krb5 library.
-
-* [1550] SRV record support exists for Kerberos v4.
-
-* [1551] The heuristic for locating the Kerberos v4 KDC by prepending
-  "kerberos." to the realm name if no config file or DNS information
-  is available has been removed.
-
-* [1568, 1067] A krb524 stub library is built on Windows.
-
-Minor changes listed by ticket ID
----------------------------------
-
-* [90] default_principal_flags documented.
-
-* [175] Docs refer to appropriate example domains/IPs now.
-
-* [299] kadmin no longer complains about missing kdc.conf parameters
-  when it really means krb5.conf parameters.
-
-* [318] Run-time load path for tcl is set now when linking test
-  programs.
-
-* [443] --includedir honored now.
-
-* [479] unused argument in try_krb4() in login.c deleted.
-
-* [590] The des_read_pw_string() function in libdes425 has been
-  aligned with the original krb4 and CNS APIs.
-
-* [608] login.krb5 handles SIGHUP more sanely now and thus avoids
-  getting the session into a weird state w.r.t. job control.
-
-* [620] krb4 encrypted rcp should work a little better now.  Thanks to
-  Greg Hudson.
-
-* [647] libtelnet/kerberos5.c no longer uses internal include files.
-
-* [673] Weird echoing of admin password in kadmin client worked around
-  by not using buffered stdio calls to read passwords.
-
-* [677] The build system has been reworked to allow the user to set
-  CFLAGS, LDFLAGS, CPPFLAGS, etc. reasonably.
-
-* [680] Related to [673], rewrite krb5_prompter_posix() to no longer
-  use longjmp(), thus avoiding some bugs relating to non-restoration
-  of terminal settings.
-
-* [697] login.krb5 no longer zeroes out the terminal window size.
-
-* [710] decomp_ticket() in libkrb4 now looks up the local realm name
-  more correctly.  Thanks to Booker Bense.
-
-* [771] .rconf files are excluded from the release now.
-
-* [772] LOG_AUTHPRIV syslog facility is now usable for logging on
-  systems that support it.
+* [2975] Fix missing semicolon in x-deltat.y which was causing some
+  versions of Bison to produce un-compilable C files.
 
-* [844] krshd now syslogs using the LOG_AUTH facility.
+* [2981] Restores some shared library support for HP-UX 10.
 
-* [850] Berekely DB build is better integrated into the krb5 library
-  build process.
+* [2992] Fix some Makefile quoting problems which were preventing
+  gssapi_krb5.h from being created on AIX 5.
 
-* [866] lib/krb5/os/localaddr.c and kdc/network.c use a common source
-  for local address enumeration now.
+* [3000] Cast null pointer arguments to variadic functions, which is
+  necessary on some 64-bit platforms.
 
-* [882] gss-client now correctly deletes the context on error.
+Major changes in 1.4
+--------------------
 
-* [919] kdc/network.c problems relating to SIOCGIFCONF have been
-  fixed.
+* [841] Merged Athena telnetd changes for creating a new option for
+  requiring encryption.
 
-* [922] An overflow in the string-to-time conversion routines has been
-  fixed.
+* [1349, 2578, 2601, 2606, 2613, 2743, 2775, 2778, 2877] Add
+  implementation of the RPCSEC_GSS authentication flavor to the RPC
+  library.  Thanks to Kevin Coffman and the CITI group at the
+  University of Michigan.
 
-* [933] krb524d now handles single-DES session keys other than of type
-  des-cbc-crc.
+* [2061] The kadmind4 backwards-compatibility admin server and the
+  v5passwdd backwards-compatibility password-changing server have been
+  removed.
 
-* [935] des-cbc-md4 now included in default enctypes.
+* [1303, 2740, 2755, 2781, 2782, 2812, 2858, 2859, 2874, 2875, 2878,
+  2879, 2884, 2893] Thread safety for krb5 libraries.
 
-* [939] A minor grammatical error has been fixed in a telnet client
-  error message.
+* [2410] Yarrow code now uses AES.
 
-* [953] des3 no longer failing on Windows due to SHA1 implementation
-  problems.
+* [2678, 2802] New client commands kcpytkt and kdeltkt for Windows.
 
-* [964] kdb_init_hist() no longer fails if master_key_enctype is not
-  in supported_enctypes.
+* [2688] New command mit2ms on Windows.
 
-* [970] A minor inconsistency in ccache.tex has been fixed.
+* [2762] Merged Athena changes to allow ftpd to require encrypted
+  passwords.
 
-* [971] option parsing bugs rendered irrelevant by removal of unused
-  gss mechanism.
+* [2587] Incorporate gss_krb5_set_allowable_enctypes() and
+  gss_krb5_export_lucid_sec_context(), which are needed for NFSv4,
+  from Kevin Coffman.
 
-* [976] make install mentioned in build documentation.
+* [2841] Fix heap buffer overflow in password history
+  mechanism. [MITKRB5-SA-2004-004]
 
-* [986] Related to [677], problems with the ordering of LDFLAGS
-  initialization rendered irrelevant by use of native autoconf
-  idioms.
+Minor changes in 1.4
+--------------------
 
-* [992] Related to [677], quirks with --with-cc no longer relevant as
-  AC_PROG_CC is used instead now.
+Please see
 
-* [999] The kdc_default_options configuration variable is now honored.
-  Thanks to Emily Ratliff.
+http://krbdev.mit.edu/rt/NoAuth/krb5-1.4/fixed-1.4.html
 
-* [1006] Client library, as well as KDC, now perform reasonable
-  sorting of ETYPE-INFO preauthentication data.
+for a complete list.
 
-* [1055] NULL pointer dereferences in code calling
-  krb5_change_password() have been fixed.
+* [249] Install example config files.
 
-* [1063] Initial credentials acquisition failures related to client
-  host having a large number of local network interfaces should be
-  fixed now.
+* [427] PATH environment variable won't be overwritten by login.krb5
+  if already set.
 
-* [1064] Incorrect option parsing in the gssapi library is no longer
-  relevant due to removal of the "v2" mechanism.
+* [696] Sample KDC propagation script fixed.
 
-* [1065, 1225] krb5_get_init_creds_password() should properly warn about
-  password expiration.
+* [868] Fixed search for res_search() and friends.
 
-* [1066] printf() argument mismatches in rpc unit tests fixed.
+* [927] Compilation on Tru64 now detects GNU linker and chooses
+  whether to use -oldstyle_liblookup accordingly.
 
-* [1085] The krb5.conf manpage has been re-synchronized with other
-  documentation.
+* [1044] port-sockets.h explicitly declares h_errno if the declaration
+  is missing.
 
-* [1102] gssapi_generic.h should now work with C++.
+* [1210] KDC cleans up some per-listener state upon process
+  termination to avoid spurious memory leak indications.
 
-* [1135] The kadm5 ACL system is better documented.
+* [1335] The server side of the Horowitz password-change protocol now
+  checks for minimum password life.
 
-* [1136] Some documentation for the setup of cross-realm
-  authentication has been added.
+* [1345, 2730, 2757] patchlevel.h is now the master version file.
 
-* [1164] krb5_auth_con_gen_addrs() now properly returns errno instead
-  of -1 if getpeername() fails.
+* [1364] GNU sed is no longer required to make depend on Irix.
 
-* [1173] Address-less forwardable tickets will remain address-less
-  when forwarded.
+* [1383] SRV record support now handles "." target and adds trailing
+  dots to avoid spurious multiple hostname queries.
 
-* [1178, 1228, 1244, 1246, 1249] Test suite has been stabilized
-  somewhat.
+* [1497] A memory leak in the krb5 context serializer has been fixed.
 
-* [1188] As part of the modernization of our usage of autoconf,
-  AC_CONFIG_FILES is now used instead of passing a list of files to
-  AC_OUTPUT.
+* [1570] Some team procedures now documented.
 
-* [1194] configure will no longer recurse out of the top of the source
-  tree when attempting to locate the top of the source tree.
+* [1588] Automatic rebuilding of configure scripts, etc. are only done
+  if --enable-maintainer-mode is passed to configure.
 
-* [1192] Documentation for the krb5 afs functionality of krb524d has
-  been written.
+* [1623] Memory management in the ftp client has been cleaned up.
 
-* [1195] Example krb5.conf file modified to include all enctypes
-  supported by the release.
+* [1724] DNS SRV record lookup support is unconditionally built on
+  Unix.
 
-* [1202] The KDC no longer rejects unrecognized flags.
+* [1791] Replacement for daemon() is compiled separately each time it
+  is needed, rather than ending up in the krb5 library.
 
-* [1203] krb5_get_init_creds_keytab() no longer does a double-free.
+* [1806] Default to building shared libraries on most platforms that
+  support them.
 
-* [1211] The ASN.1 code no longer passes (harmless) uninitialized
-  values around.
+* [1847] Fixed daemon() replacement to build on Tru64.
 
-* [1212] libkadm5 now allows for persistent exclusive database locks.
+* [1850] Fixed some 0 vs NULL issues.
 
-* [1217] krb5_read_password() and des_read_password() are now
-  implemented via krb5_prompter_posix().
+* [2066] AES-only configuration now tested in test suite.
 
-* [1224] For SAM challenges, omitted optional strings are no longer
-  encoded as zero-length strings.
+* [2219] Fixed memory leak in KDC preauth handling.
 
-* [1226] Client-side support for SAM hardware-based preauth
-  implemented.
+* [2256] Use $(CC) rather than ld to build shared libs on Tru64 and
+  Irix.
 
-* [1229] The keytab search logic no longer fails prematurely if an
-  incorrect encryption type is found.  Thanks to Wyllys Ingersoll.
+* [2276] Support for the non-standard enctype
+  ENCTYPE_LOCAL_DES3_HMAC_SHA1 has been removed.
 
-* [1232] If the master KDC cannot be resolved, but a slave is
-  reachable, the client library now returns the real error from the
-  slave rather than the resolution failure from the master.  Thanks to
-  Ben Cox.
+* [2285] Test suite checks TCP access to KDC.
 
-* [1234] Assigned numbers for SAM preauth have been corrected.
-  sam-pk-for-sad implementation has been aligned.
+* [2295] Minor stylistic cleanup in gss-client.
 
-* [1237] Profile-sharing optimizations from KfM have been merged.
+* [2296, 2370, 2424] krb5_get_init_creds() APIs avoid multiple queries
+  to master KDC.
 
-* [1240] Windows calling conventions for krb5int_c_combine_keys() have
-  been aligned.
+* [2379] Remove _XOPEN_EXTENDED hack previously used for HP-UX.
 
-* [1242] Build system incompatibilities with Debian's chimeric
-  autoconf installation have been worked around.
+* [2432] Only sanity-check setutent() API if utmpx.h is not present,
+  as this was preventing recent NetBSD from configuring.
 
-* [1256] Incorrect sizes passed to memset() in combine_keys()
-  operations have been corrected.
+* [2525] kvno.exe installed on Windows.
 
-* [1260] Client credential lookup now gets new service tickets in
-  preference to attempting to use expired ticketes.  Thanks to Ben
-  Cox.
+* [2529] Fix some internal type inconsistencies in gssapi library.
 
-* [1262, 1572] Sequence numbers are now unsigned; negative sequence
-  numbers will be accepted for the purposes of backwards
-  compatibility.
+* [2530] Fix KRB5_CALLCONV usage in krb5_cc_resolve().
 
-* [1263] A heuristic for matching the incorrectly encoded sequence
-  numbers emitted by Heimdal implementations has been written.
+* [2537] Apply fix from John Hascall to make krb5_get_in_tkt()
+  emulation actually honor the lifetimes in the input credentials.
 
-* [1284] kshd accepts connections by IPv6 now.
+* [2539] Create manpage for krb524d.
 
-* [1292] kvno manpage title fixed.
+* [2573] The rcache code no longer attempts to close a negative file
+  descriptor from a failed open.
 
-* [1293] Source files no longer explicitly attempt to declare errno.
+* [2591] The gssapi library now requires that the initiator's channel
+  bindings match those provided by the acceptor, if the acceptor
+  provides them at all.
 
-* [1304] kadmind4 no longer leaves sa_flags uninitialized.
+* [2592] Fix some HP-UX 11 compilation issues.
 
-* [1305] Expired tickets now cause KfM to pop up a password dialog.
+* [2598] Fix some HP-UX 11 foreachaddr() issues.
 
-* [1309] krb5_send_tgs() no longer leaks the storage associated with
-  the TGS-REQ.
+* [2600] gss_accept_sec_context() no longer leaks rcaches.
 
-* [1310] kadm5_get_either() no longer leaks regexp library memory.
+* [2603] Clean up some issues relating to use of reserved namespace in
+  k5-platform.h.
 
-* [1311] Output from krb5-config no longer contains spurious uses of
-  $(PURE).
+* [2614] Rewrite handling of whitespace in profile library to better
+  handle whitespace around tag names.
 
-* [1324] The KDC no longer logs an inappropriate "no matching key"
-  error when an encrypted timestamp preauth password is incorrect.
+* [2629] Fix double-negation of a preprocessor test in osconf.h.
 
-* [1334] The KDC now returns a clockskew error when the timestamp in
-  the encrypted timestamp preauth is out of bounds, rather than just
-  returning a preauthentcation failure.
+* [2637] krb5int_zap_data() uses SecureZeroMemory on Windows instead
+  of memset().
 
-* [1342] gawk is no longer required for building kerbsrc.zip for the
-  Windows build.
+* [2654] krb5_get_init_creds() checks for overflow/underflow on 32-bit
+  timestamps.
 
-* [1346] gss_krb5_ccache_name() no longer attempts to return a pointer
-  to freed memory.
+* [2655] krb5_get_init_creds() no longer issues requests where the
+  renew_until time precedes the expiration time.
 
-* [1351] The filename globbing vulnerability [CERT VU#258721] in the
-  ftp client's handling of filenames beginning with "|" or "-"
-  returned from the "mget" command has been fixed.
+* [2656] krb5_get_init_creds() supports ticket_lifetime libdefault.
 
-* [1352] GSS_C_PROT_READY_FLAG is no longer asserted inappropriately
-  during GSSAPI context establishment.
+* [2657] Default ccache name is evaluated more lazily.
 
-* [1356] krb5_gss_accept_sec_context() no longer attempts to validate
-  a null credential if one is passed in.
+* [2661] Handle return of ai_canonname=NULL from getaddrinfo().
 
-* [1362] The "-a user" option to telnetd now does the right thing.
-  Thanks to Nathan Neulinger.
+* [2665] Fix leak in cc_resolve, reported by Paul Moore.
 
-* [1363] ksu no longer inappropriately syslogs to stderr.
+* [2674] libkadm5 acl_init() API renamed to avoid conflict with MacOS
+  X acl API.
 
-* [1357] krb__get_srvtab_name() no longer leaks memory.
+* [2684, 2710, 2728] Use BIND 8 parsing API when available.
 
-* [1370] GSS_C_NO_CREDENTIAL now accepts any principal in the keytab.
+* [2685] The profile library iterators no longer get confused when
+  modifications are made to the in-memory profile.
 
-* [1373] Handling of SAM preauth no longer attempts to stuff a size_t
-  into an unsigned int.
+* [2694] The krb5-config script now has a manpage.
 
-* [1387] BIND versions later than 8 now supported.
+* [2704] New ccache API flag to request only information, not actual
+  credentials.
 
-* [1392] The getaddrinfo() wrapper should work better on AIX.
+* [2705] Support for upcoming read/write MSLSA ccache.
 
-* [1400] If DO_TIME is not set in the auth_context, and no replay
-  cache is available, no replay cache will be used.
+* [2706] resolv.h is included when searching for res_search() and
+  friends, to account for symbol renaming.
 
-* [1406, 1108] libdb is no longer installed.  If you installed
-  krb5-1.3-alpha1, you should ensure that no spurious libdb is left in
-  your install tree.
+* [2715] The install-strip make target no longer attempts to strip
+  scripts.
 
-* [1412] ETYPE_INFO handling no longer goes into an infinite loop.
+* [2718] Fix memory leak in arcfour string_to_key.  Reported by
+  Derrick Schommer.
 
-* [1414] libtelnet is now built using the same library build framework
-  as the rest of the tree.
+* [2719] Fix memory leak in rd_cred.c.  Reported by Derrick Schommer. 
 
-* [1417] A minor memory leak in krb5_read_password() has been fixed.
+* [2725] Fix memory leak in mk_req_extended().  Reported by Derrick
+  Schommer.
 
-* [1419] A memory leak in asn1_decode_kdc_req_body() has been fixed.
+* [2729] Add some new version strings for Windows.
 
-* [1435] inet_ntop() is now emulated when needed.
+* [2734] The ticket_lifetime libdefault now uses units of seconds by
+  default, if no units are provided.
 
-* [1439] krb5_free_pwd_sequences() now correctly frees the entire
-  sequence of elements.
+* [2741] The profile library's error tables aren't loaded on MacOS X.
 
-* [1440] errno is no longer explicitly declared.
+* [2750] Calls to the profile library which set values no longer fail
+  if the file is not writable.
 
-* [1441] kadmind should now return useful errors if an unrecognized
-  version is received in a changepw request.
+* [2751] The profile library has a new API to detect whether the
+  default profile is writable.
 
-* [1454, 1480, 1517, 1525] The etype-info2 preauth type is now
-  supported.
+* [2753] An initial C implementation of CCAPI has been done.
 
-* [1459] (KfM/KLL internal) config file resolution can now be
-  prevented from accessing the user's homedir.
+* [2754] fake-addrinfo.h includes errno.h earlier.
 
-* [1463] Preauth handling in the KDC has been reorganized.
+* [2756] The profile library calls stat() less frequently on files.
 
-* [1470] Double-free in client-side preauth code fixed.
+* [2760, 2780] The keytab implementation checks for cases where
+  fopen() can return NULL without setting errno.  Reported by Roland
+  Dowdeswell.
 
-* [1473] Ticket forwarding when the TGS and the end service have
-  different enctypes should work somewhat better now.
+* [2770] com_err now creates valid prototypes for generated files.
+  Reported by Jeremy Allison.
 
-* [1474] ASN.1 testsuite memory management has been cleaned up a
-  little to allow for memory leak checking.
+* [2772, 2797] The krb4 library now honors the dns_fallback libdefault
+  setting.
 
-* [1476] Documentation updated to reflect default krb4 mode.
+* [2776, 2779] Solaris patches exist for the pty-close race condition
+  bug.  We check for these patches now checked, and don't apply the
+  priocntl hack if they are present.
 
-* [1482] RFC-1964 OIDs now provided using the suggested symbolic
-  names.
+* [2783] ftpcmds.y unconditionally defines NBBY to 8.
 
-* [1483, 1528] KRB5_DEPRECATED is now false by default on all
-  platforms.
+* [2793] locate_kdc.c can compile if KRB5_DNS_LOOKUP isn't defined,
+  though we removed the configure-time option for this.
 
-* [1488] The KDC will now return integrity errors if a decryption
-  error is responsible for preauthentication failure.
+* [2795] Fixed some addrinfo problems that affected Irix.
 
-* [1492] The autom4te.cache directories are now deleted from the
-  release tarfiles.
+* [2796, 2840] Calling conventions for some API functions for Windows
+  have been fixed.
 
-* [1501] Writable keytabs are registered by default.
+* [2805] Windows NSIS installer script updated.
 
-* [1515] The check for cross-realm TGTs no longer reads past the end
-  of an array.
+* [2808] Support library renamed on Windows.
 
-* [1518] The kdc_default_options option is now actually honored.
+* [2815] krb5-config updated to reference new support library.
 
-* [1519] The changepw protocol implementation in kadmind now logs
-  password changes.
+* [2814, 2816] Some MSLSA ccache features depending on non-public SDK
+  features were backed out.
 
-* [1520] Documentation of OS-specific build options has been updated.
+* [2818] Don't create empty array for addresses in MSLSA ccache.
 
-* [1536] A missing prototype for krb5_db_iterate_ext() has been
-  added.
+* [2832] Fix shared library build on sparc64-netbsd.
 
-* [1537] An incorrect path to kdc.conf show in the kdc.conf manpage
-  has been fixed.
+* [2833, 2834, 2835] Add support for generating/installing debugging
+  symbols on Windows.
 
-* [1540] verify_as_reply() will only check the "renew-till" time
-  against the "till" time if the RENEWABLE is not set in the request.
+* [2838] Fix termination of incorrect string in telnetd.
 
-* [1547] gssftpd no longer uses vfork(), as this was causing problems
-  under RedHat 9.
+* [2854] Fix memory leak in ccache.
 
-* [1549] SRV records with a value of "." are now interpreted as a lack
-  of support for the protocol.
+* [2857] Fix memory leak in asn1_decode_generaltime().
 
-* [1553] The undocumented (and confusing!) kdc_supported_enctypes
-  kdc.conf variable is no longer used.
+* [2861] Minor documenation fixes.
 
-* [1560] Some spurious double-colons in password prompts have been
-  fixed.
+* [2864] Fix IPv6 support on Windows.
 
-* [1571] The test suite tries a little harder to get a root shell.
+* [2865] New API function krb5_is_thread_safe() to test for thread
+  safety.
 
-* [1573] The KfM build process now sets localstatedir=/var/db.
+* [2870, 2881] Fix crash in MSLSA ccache.
 
-* [1576, 1575] The client library no longer requests RENEWABLE_OK if
-  the renew lifetime is greater than the ticket lifetime.
+* [2871] Handle read() returning -1 in prng.c.
 
-* [1587] A more standard autoconf test to locate the C compiler allows
-  for gcc to be found by default without additional configuration
-  arguments.
+* [2872] Fix memory leak in DNS lookup code.
 
-* [1593] Replay cache filenames are now escaped with hyphens, not
-  backslashes.
+* [2887] Fix null pointer dereference in krb5_unparse_name().
 
-* [1598] MacOS 9 support removed from in-tree com_err.
+* [2892] Fix some gcc-4.0 compatibility problems.
 
-* [1602] Fixed a memory leak in make_ap_req_v1().  Thanks to Kent Wu.
-
-* [1604] Fixed a memory leak in krb5_gss_init_sec_context(), and an
-  uninitialized memory reference in kg_unseal_v1().  Thanks to Kent
-  Wu.
-
-* [1607] kerberos-iv SRV records are now documented.
-
-* [1610] Fixed AES credential delegation under GSSAPI.
-
-* [1618] ms2mit no longer inserts local addresses into tickets
-  converted from the MS ccache if they began as addressless tickets.
-
-* [1619] etype_info parser (once again) accepts extra field emitted by
-  Heimdal.
-
-* [1643] Some typos in kdc.conf.M have been fixed.
-
-* [1648] For consistency, leading spaces before preprocessor
-  directives in profile.h have been removed.
-
---[ DELETE BEFORE RELEASE ---changes to unreleased code, etc.--- ]--
-
-* [1054] KRB-CRED messages for RC4 are encrypted now.
-
-* [1177] krb5-1-2-2-branch merged onto trunk.
-
-* [1193] Punted comment about reworking key storage architecture.
-
-* [1208] install-headers target implemented.
-
-* [1223] asn1_decode_oid, asn1_encode_oid implemented
-
-* [1248] RC4 is explicitly excluded from combine_keys.
-
-* [1276] Generated dependencies handle --without-krb4 properly now.
-
-* [1339] An inadvertent change to the krb4 get_adm_hst API (strcpy vs
-  strncpy etc.) has been fixed.
-
-* [1384, 1413] Use of autoconf-2.52 in util/reconf will now cause a
-  warning.
-
-* [1388] DNS support is turned on in KfM.
-
-* [1391] Fix kadmind startup failure with krb4 vuln patch.
-
-* [1409] get_ad_tkt() now prompts for password if there are no tickets
-  (in KfM).
-
-* [1447] vts_long() and vts_short() work now.
-
-* [1462] KfM adds exports of set_pw calls.
-
-* [1477] compile_et output not used in err_txt.c.
-
-* [1495] KfM now exports string_to_key_with_params.
-
-* [1512, 1522] afs_string_to_key now works with etype_info2.
-
-* [1514] krb5int_populate_gic_opt returns void now.
-
-* [1521] Using an afs3 salt for an AES key no longer causes
-  segfaults.
-
-* [1533] krb524.h no longer contains invalid Mac pragmas.
-
-* [1546] krb_mk_req_creds() no longer zeros the session key.
-
-* [1554] The krb4 string-to-key iteration now accounts correctly for
-  the decrypt-in-place semantics of libdes425.
-
-* [1557] KerberosLoginPrivate.h is now correctly included for the use
-  of __KLAllowHomeDirectoryAccess() in init_os_ctx.c (for KfM).
-
-* [1558] KfM exports the new krb524 interface.
-
-* [1563] krb__get_srvtaname() no longer returns a pointer that is
-  free()d upon a subsequent call.
-
-* [1569] A debug statement has been removed from krb524init.
-
-* [1592] Document possible file rename lossage when building against
-  system libdb.
-
-* [1594] Darwin gets an explicit dependency of err_txt.o on
-  krb_err.c.
-
-* [1596] Calling conventions, etc. tweaked for KfW build of
-  krb524.dll.
-
-* [1600] Minor tweaks to README to improve notes on IPv6, etc.
-
-* [1605] Fixed a leak of subkeys in krb5_rd_rep().
-
-* [1630] krb5_get_in_tkt_with_keytab() works now; previously borken by
-  reimplementation in terms of krb5_get_init_creds().
-
-* [1642] KfM build now inherits CFLAGS and LDFLAGS from parent project.
+* [2891] lib/kdb/keytab.c no longer accesses an uninitialized variable.
 
 Copyright Notice and Legal Administrivia
 ----------------------------------------
 
-Copyright (C) 1985-2004 by the Massachusetts Institute of Technology.
+Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.
 
 All rights reserved.
 
@@ -1130,49 +659,64 @@ src/lib/crypto/aes has the following copyright:
  in respect of any properties, including, but not limited to, correctness 
  and fitness for purpose.
 
-
-
-Acknowledgements
-----------------
+---- The implementation of the RPCSEC_GSS authentication flavor in
+src/lib/rpc has the following copyright:
+
+  Copyright (c) 2000 The Regents of the University of Michigan.
+  All rights reserved.
+  
+  Copyright (c) 2000 Dug Song <dugsong@UMICH.EDU>.
+  All rights reserved, all wrongs reversed.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. Neither the name of the University nor the names of its
+     contributors may be used to endorse or promote products derived
+     from this software without specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Acknowledgments
+---------------
 
 Appreciation Time!!!!  There are far too many people to try to thank
 them all; many people have contributed to the development of Kerberos
 V5.  This is only a partial listing....
 
-Thanks to Paul Vixie and the Internet Software Consortium for funding
-the work of Barry Jaspan.  This funding was invaluable for the OV
-administration server integration, as well as the 1.0 release
-preparation process.
-
-Thanks to John Linn, Scott Foote, and all of the folks at OpenVision
-Technologies, Inc., who donated their administration server for use in
-the MIT release of Kerberos.
-
-Thanks to Jeff Bigler, Mark Eichin, Marc Horowitz, Nancy Gilman, Ken
-Raeburn, and all of the folks at Cygnus Support, who provided
-innumerable bug fixes and portability enhancements to the Kerberos V5
-tree.  Thanks especially to Jeff Bigler, for the new user and system
-administrator's documentation.
+Thanks to Kevin Coffman and the CITI group at the University of
+Michigan for providing patches for implementing RPCSEC_GSS
+authentication in the RPC library.
 
-Thanks to Doug Engert from ANL for providing many bug fixes, as well
-as testing to ensure DCE interoperability.
+Thanks to Derrick Schommer for reporting multiple memory leaks.
 
-Thanks to Ken Hornstein at NRL for providing many bug fixes and
-suggestions, and for working on SAM preauthentication.
+Thanks to Quanah Gibson-Mount of Stanford University for helping
+exercise the thread support code.
 
-Thanks to Matt Crawford at FNAL for bugfixes and enhancements.
+Thanks to Michael Tautschnig for reporting the heap buffer overflow in
+the password history mechanism.  [MITKRB5-SA-2004-004]
 
-Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for
-their many suggestions and bug fixes.
+Thanks to Wyllys Ingersoll for finding a buffer-size problem in the
+RPCSEC_GSS implementation.
 
-Thanks to Nalin Dahyabhai of RedHat and Chris Evans for locating and
-providing patches for numerous buffer overruns.
-
-Thanks to Christopher Thompson and Marcus Watts for discovering the
-ftpd security bug.
-
-Thanks to Paul Nelson of Thursby Software Systems for implementing the
-Microsoft set password protocol.
+Thanks to iDEFENSE for bringing to our attention the vulnerabilities
+in the telnet client.  [MITKRB5-SA-2005-001]
 
 Thanks to the members of the Kerberos V5 development team at MIT, both
 past and present: Danilo Almeida, Jeffrey Altman, Jay Berkenbilt,
@@ -1183,3 +727,10 @@ Peter Litwack, Scott McGuire, Kevin Mitchell, Cliff Neuman, Paul Park,
 Ezra Peisach, Chris Provenzano, Ken Raeburn, Jon Rochlis, Jeff
 Schiller, Jen Selby, Brad Thompson, Harry Tsai, Ted Ts'o, Marshall
 Vale, Tom Yu.
+
+Very special thanks go to Marshall Vale, our departing team leader.
+Over the past few years, Marshall has been extremely valuable to us as
+mentor, advisor, manager, and friend.  Marshall's devotion as a
+champion of Kerberos has helped our team immensely through many trials
+and hardships.  We will miss him tremendously, and we wish him the
+best in his future endeavors.
index 985d2e0676abfd539d5353b9b2df53f29ad54f58..ed586d5c4a13a948bc229b67e44d8f684b010a61 100644 (file)
@@ -1,3 +1,25 @@
+2005-02-11  Tom Yu  <tlyu@mit.edu>
+
+       * kadm5/api-unit-test.tex (ovsec_kadm_init): Update to reflect
+       changed expected error codes for init 152, 153 tests.
+
+2005-01-03  Ken Raeburn  <raeburn@mit.edu>
+
+       * build.texinfo (The util Directory): Add the new support
+       library.
+       (Installing the Binaries): Discuss parallel builds under GNU
+       make.
+
+       * implementor.texinfo (Host Address Lookup): Document Mac OS X
+       issues.
+
+       * threads.txt, thread-safety.txt: Updates.
+
+2004-11-19  Tom Yu  <tlyu@mit.edu>
+
+       * build.texinfo (Solaris 9): Document Solaris patches for pty
+       close bug.
+
 2004-10-06  Ken Raeburn  <raeburn@mit.edu>
 
        * implementor.texinfo, thread-safe.txt, threads.txt: Various
index 4babbe7eae42edbfc3ebefaf1e59470e1160afdc..fc60d7ab8de235b421e3846f4f038ac7c2df5af3 100644 (file)
@@ -212,7 +212,8 @@ functions which parse the Kerberos configuration files (@code{krb5.conf}
 and @code{kdc.conf}).  Also in this directory are the Kerberos error table
 library and utilities (@i{et}), the Sub-system library and utilities
 (@i{ss}), database utilities (@i{db2}), pseudo-terminal utilities
-(@i{pty}), and bug-reporting program @code{send-pr}.
+(@i{pty}), bug-reporting program @code{send-pr}, and a generic
+support library @code{support} used by several of our other libraries.
 
 @node Build Requirements, Unpacking the Sources, Organization of the Source Directory, Building Kerberos V5
 @section Build Requirements
@@ -233,6 +234,8 @@ will need a @samp{make} program which supports @samp{VPATH}, or
 you will need to use a tool such as @samp{lndir} to produce a symbolic
 link tree for your build tree.
 
+@c Library support...
+
 @node Unpacking the Sources, Doing the Build, Build Requirements, Building Kerberos V5
 @section Unpacking the Sources
 
@@ -367,6 +370,11 @@ libraries into @code{DESTDIR/PREFIX/lib}, etc.
 Note that if you want to test the build (see @ref{Testing the Build}),
 you usually do not need to do a @code{make install} first.
 
+Some implementations of @samp{make} allow multiple commands to be run in
+parallel, for faster builds.  We test our Makefiles in parallel builds with
+GNU @samp{make} only; they may not be compatible with other parallel build
+implementations.
+
 @node Testing the Build, Options to Configure, Installing the Binaries, Building Kerberos V5
 @section Testing the Build
 
@@ -895,6 +903,12 @@ Run something like
 as root, where @code{nnnn} is the pid of the shell whose priority
 limit you wish to raise.
 
+Sun has released kernel patches for this race condition.  Apply patch
+117171-11 for sparc, or patch 117172-11 for x86.  Later revisions of
+the patches should also work.  It is not necessary to run ``make
+check'' from a shell with elevated priority limits once the patch has
+been applied.
+
 @node SGI Irix 5.X, Ultrix 4.2/3, Solaris 9, OS Incompatibilities
 @subsection SGI Irix 5.X
 
index d9e00a66bdf4945ff207e85a0f00edd168dc59a8..6609676205a292f4595f58f9c0d4274ac0fdce4a 100644 (file)
@@ -395,6 +395,25 @@ is, both of which are wrong.
 No known bugs here, but as of IRIX 6.5.7, the version we're using at
 MIT, these functions had not been implemented.
 
+@item Mac OS X
+Two problems have been found with @code{getaddrinfo} on Mac OS X, at
+least under version 10.3.  First, while @code{gethostbyname} data is
+cached to make multiple lookups of the same name (@i{e.g.}, by
+different parts of the code that need to know about the same server
+host), @code{getaddrinfo} results are not cached, so multiple queries
+mean multiple DNS requests, which means more delays if the DNS servers
+are not close by and fast to respond.  We've implemented a cache of
+our own to work around this, though it only applies to multiple
+lookups in a short period of time within the same application process,
+and it's only implemented for the Mac at the moment.
+
+Second, the Mac libraries will generate a DNS SRV RR query; as far as
+I [Ken] can tell this is a bug, but Apple seems to consider it a
+feature.  (Call @code{getaddrinfo("example.com", "telnet", ...)} and
+you get a SRV record query, but the spec on SRV records says you must
+not use them unless the specification for the service in question says
+to.)  Yet more network traffic for each name to look up.
+
 @item NetBSD
 As of NetBSD 1.5, this function is not thread-safe.  In 1.5X
 (intermediate code snapshot between 1.5 and 1.6 releases), the
index 3e3f6e2bf6b226953a4a67956543393b90a6ae1f..5b103278148e5b0e6fd47179fae95a85acebd329 100644 (file)
@@ -588,7 +588,8 @@ credential for CHANGEPW_SERVICE.}
 
 \numtest{152}{
 \Version{KADM5_API_VERSION_2}
-\Reason{init_with_creds fails with KADM5_GSS_ERROR when given an open
+\Reason{init_with_creds fails with KRB5_FCC_NOFILE (was
+  KADM5_GSS_ERROR) when given an open
 ccache with no credentials.}
 \Conditions{RPC}
 \Status{Implemented}
@@ -596,7 +597,8 @@ ccache with no credentials.}
 
 \numtest{153}{
 \Version{KADM5_API_VERSION_2}
-\Reason{init_with_creds fails with KADM5_GSS_ERROR when given an open
+\Reason{init_with_creds fails with KRB5_CC_NOTFOUND (was
+  KADM5_GSS_ERROR) when given an open
 ccache without credentials for ADMIN_SERVICE or CHANGEPW_SERVICE.}
 \Conditions{RPC}
 \Status{Implemented}
index 9e307068103e5667da8daaf168b2a315712dc4ce..0996b329a0ee65b847d1d152773d57d45a71aea9 100644 (file)
@@ -140,10 +140,11 @@ Uses: ctype macros
 
 Uses: getaddrinfo, getnameinfo.  According to current specifications,
 getaddrinfo should be thread-safe; some implementations are not, and
-we're not attempting to figure out which ones.
+we're not attempting to figure out which ones.  NetBSD 1.6, for
+example, had an unsafe implementation.
 
 Uses: res_ninit, res_nsearch.  If these aren't available, the non-'n'
-versions will be used, and they are not thread-safe.
+versions will be used, and they are sometimes not thread-safe.
 
 Uses: mkstemp, mktemp -- Are these, or our uses of them, likely to be
 thread-safe?
@@ -158,17 +159,24 @@ Uses: tcgetattr, tcsetattr.  This is also in the password-prompting
 code.  These are fine as long as no other threads are accessing the
 same terminal at the same time.
 
+Uses: fopen.  This is thread-safe, actually, but a multi-threaded
+server is likely to be using lots of file descriptors.  On 32-bit
+Solaris platforms, fopen will not work if the next available file
+descriptor number is 256 or higher.  This can cause the keytab code to
+fail.
+
 Statics: prompter.c: interrupt flag
 
 Statics: ccdefops.c: default operations table pointer
 
-Statics: ktdefname.c: variable to override default keytab name, NEEDS LOCKING
+Statics: ktdefname.c: variable to override default keytab name, NO
+LOCKING.  DON'T TOUCH THESE VARIABLES, at least in threaded programs.
 
 Statics: conv_creds.c: debug variable
 
 Statics: sendto_kdc.c: debug variable, in export list for KDC
 
-Statics: parse.c: default realm cache, NOT THREAD SAFE
+Statics: parse.c: default realm cache, changed to not cache
 
 Statics: krb5_libinit.c: lib init aux data
 
@@ -183,8 +191,6 @@ always increment"
 
 Statics: ktbase.c, ccbase.c, rc_base.c: type registries and mutexes.
 
-Needs work: keytab locking
-
 ----------------
 
 libgssapi_krb5
index 1b655ea0ce8f1aeac6ae3c423bb80fbc85e6abf9..b161dafbc6d887554101e88111a6f22974b9f275 100644 (file)
@@ -16,6 +16,16 @@ object while other threads may still be using it.  (Any internal data
 modification in those objects will be protected by mutexes or other
 means, within the krb5 library.)
 
+The simple, exposed data structures in krb5.h like krb5_principal are
+not protected; they should not be used in one thread while another
+thread might be modifying them.  (TO DO: Build a list of which calls
+keep references to supplied data or return references to
+otherwise-referenced data, as opposed to everything making copies.)
+
+
+
+[ This part is a little outdated already. ]
+
    // Between these two, we should be able to do pure compile-time
    // and pure run-time initialization.
    //   POSIX: partial initializer is PTHREAD_MUTEX_INITIALIZER,
@@ -57,6 +67,7 @@ means, within the krb5 library.)
    int k5_setspecific(k5_key_t, const void *);
    ... stuff to signal library termination ...
 
+This is **NOT** an exported interface, and is subject to change.
 
 On many platforms with weak reference support, we can declare certain
 symbols to be weak, and test the addresses before calling them.  The
@@ -70,12 +81,21 @@ AIX 4.3.3 doesn't support weak references.  However, it looks like
 calling dlsym(NULL) causes the pthread library to get loaded, so we're
 going to just go ahead and link against it anyways.
 
+On Tru64 we also link against the thread library always.
+
 
 For now, the basic model is:
 
   If weak references supported, use them.
-  Else, assume support is present.
+  Else, assume support is present; if that means explicitly pulling in
+  the thread library, so be it.
+
+
 
+The locking described above may not be sufficient, at least for good
+performance.  At some point we may want to switch to read/write locks,
+so multiple threads can grovel over a data structure at once as long
+as they don't change it.
 
 
 See also notes in src/include/k5-thread.h.
index fe47c6aebe321abbfd84142d62a714d66f5849e2..d30760be4a70c411c396c19e789065ca086c038c 100644 (file)
@@ -1,3 +1,37 @@
+2005-07-19  Tom Yu  <tlyu@mit.edu>
+
+       * aclocal.m4 (AC_LIBRARY_NET): Special-case AIX 5.x due to broken
+       res_ninit(), or more precisely, incorrect size of struct
+       __res_state.
+
+2005-03-25  Ken Raeburn  <raeburn@mit.edu>
+
+       * configure.in: Don't check for getpwnam_r and getpwuid_r in the
+       thread-safety warnings.  The tests done elsewhere in the tree are
+       stricter and may not agree.
+
+2005-01-12  Tom Yu  <tlyu@mit.edu>
+
+       * aclocal.m4 (AC_LIBRARY_NET): Also check for res_ndestroy.
+
+2004-12-16  Ezra Peisach  <epeisach@bu.edu>
+
+       * krb5-config.in: Add krb5support library.
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * Makefile.in: build/clean/install/etc kcpytkt,kdeltkt,ms2mit
+
+2004-11-19  Tom Yu  <tlyu@mit.edu>
+
+       * aclocal.m4 (KRB5_AC_PRIOCNTL_HACK): Check for Solaris patch
+       117171-11 (sparc) or 117172-11 (x86), which fixes the Solaris 9
+       bug which can cause final pty output to be on close.
+
+2004-11-18  Tom Yu  <tlyu@mit.edu>
+
+       * Makefile.in (install-headers-mkdirs): Create KRB5_INCDIR/gssrpc.
+
 2004-10-06  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (INSTALLMKDIRS): Add EXAMPLEDIR.
index 225868eb6dc396d6cc3a4aba45c45b1eb9bbc774..3a94a769e8ef9bd43ca8d00a27d005cc9eef035d 100644 (file)
@@ -74,6 +74,7 @@ install-mkdirs:
 install-headers-mkdirs:
        $(srcdir)/config/mkinstalldirs $(DESTDIR)$(KRB5_INCDIR)
        $(srcdir)/config/mkinstalldirs $(DESTDIR)$(KRB5_INCDIR)/gssapi
+       $(srcdir)/config/mkinstalldirs $(DESTDIR)$(KRB5_INCDIR)/gssrpc
        $(srcdir)/config/mkinstalldirs $(DESTDIR)$(KRB5_INCDIR)/kerberosIV
 install-headers-prerecurse: install-headers-mkdirs
 
@@ -145,6 +146,7 @@ WINMAKEFILES=Makefile \
        clients\Makefile clients\kdestroy\Makefile \
        clients\kinit\Makefile clients\klist\Makefile \
        clients\kpasswd\Makefile clients\kvno\Makefile \
+       clients\kcpytkt\Makefile clients\kdeltkt\Makefile \
        include\Makefile include\krb5\Makefile \
        krb524\Makefile \
        lib\Makefile lib\crypto\Makefile \
@@ -196,6 +198,10 @@ WINMAKEFILES=Makefile \
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##clients\kvno\Makefile: clients\kvno\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##clients\kcpytkt\Makefile: clients\kcpytkt\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
+##DOS##clients\kdeltkt\Makefile: clients\kdeltkt\Makefile.in $(MKFDEP)
+##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##include\Makefile: include\Makefile.in $(MKFDEP)
 ##DOS##        $(WCONFIG) config < $@.in > $@
 ##DOS##include\krb5\Makefile: include\krb5\Makefile.in $(MKFDEP)
@@ -329,7 +335,7 @@ ren2long:
 ZIP=zip
 FILES= ./* \
        clients/* clients/kdestroy/* clients/kinit/* clients/klist/* \
-       clients/kpasswd/* \
+       clients/kpasswd/* clients/kcpytkt/* clients/kdeltkt/* \
        config/* include/* include/kerberosIV/* \
        include/krb5/* include/krb5/stock/* include/sys/* krb524/* lib/* \
        lib/crypto/* lib/crypto/crc32/* lib/crypto/des/* lib/crypto/dk/* \
@@ -533,11 +539,14 @@ install-windows::
        $(CP) windows\gss\$(OUTPRE)gss.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) appl\gss-sample\$(OUTPRE)gss-server.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) appl\gss-sample\$(OUTPRE)gss-client.exe "$(KRB_INSTALL_DIR)\bin\."
+       $(CP) windows\ms2mit\$(OUTPRE)ms2mit.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) appl\gssftp\ftp\$(OUTPRE)ftp.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) clients\kvno\$(OUTPRE)kvno.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) clients\klist\$(OUTPRE)klist.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) clients\kinit\$(OUTPRE)kinit.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) clients\kdestroy\$(OUTPRE)kdestroy.exe "$(KRB_INSTALL_DIR)\bin\."
+       $(CP) clients\kcpytkt\$(OUTPRE)kcpytkt.exe "$(KRB_INSTALL_DIR)\bin\."
+       $(CP) clients\kdeltkt\$(OUTPRE)kdeltkt.exe "$(KRB_INSTALL_DIR)\bin\."
        $(CP) clients\kpasswd\$(OUTPRE)kpasswd.exe "$(KRB_INSTALL_DIR)\bin\."
        @if exist "$(KRB_INSTALL_DIR)\bin\krb4_32.dll" del "$(KRB_INSTALL_DIR)\bin\krb4_32.dll"
        @if exist "$(KRB_INSTALL_DIR)\lib\krb4_32.lib" del "$(KRB_INSTALL_DIR)\lib\krb4_32.lib"
index a060ac94f6040d5a4fc7656d636983c831569e18..2806d689ad5f7326a7e566074f1c2c2b28cf0ea8 100644 (file)
@@ -1378,8 +1378,17 @@ AC_DEFUN(AC_LIBRARY_NET, [
     # We assume that if libresolv exists we can link against it.
     # This may get us a gethostby* that doesn't respect nsswitch.
     AC_CHECK_LIB(resolv, main)
+
+    case $krb5_cv_host in
+    *-*-aix5*)
+       # AIX 5 has broken res_ninit due to resolv.h not having the correct
+       # size of struct __res_state; since we switch off of res_nsearch()
+       # rather than res_ninit(), pretend res_nsearch() is not available.
+       krb5_cv_func_res_nsearch=no
+       ;;
+    esac
 _KRB5_AC_CHECK_RES_FUNCS(res_nsearch res_search ns_initparse dnl
-ns_name_uncompress dn_skipname)
+ns_name_uncompress dn_skipname res_ndestroy)
     if test $krb5_cv_func_res_nsearch = no \
       && test $krb5_cv_func_res_search = no; then
        # Attempt to link with res_search(), in case it's not prototyped.
@@ -1636,14 +1645,37 @@ dnl KRB5_AC_PRIOCNTL_HACK
 dnl
 dnl
 AC_DEFUN([KRB5_AC_PRIOCNTL_HACK],
+[AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_LANG_COMPILER_REQUIRE])dnl
+AC_CACHE_CHECK([whether to use priocntl hack], [krb5_cv_priocntl_hack],
 [case $krb5_cv_host in
 *-*-solaris2.9*)
-       PRIOCNTL_HACK=1
+       if test "$cross_compiling" = yes; then
+               krb5_cv_priocntl_hack=yes
+       else
+               # Solaris patch 117171-11 (sparc) or 117172-11 (x86)
+               # fixes the Solaris 9 bug where final pty output
+               # gets lost on close.
+               if showrev -p | $AWK 'BEGIN { e = 1 }
+/Patch: 11717[[12]]/ { x = index[]([$]2, "-");
+if (substr[]([$]2, x + 1, length([$]2) - x) >= 11)
+{ e = 0 } else { e = 1 } }
+END { exit e; }'; then
+                       krb5_cv_priocntl_hack=no
+               else
+                       krb5_cv_priocntl_hack=yes
+               fi
+       fi
        ;;
 *)
-       PRIOCNTL_HACK=0
+       krb5_cv_priocntl_hack=no
        ;;
-esac
+esac])
+if test "$krb5_cv_priocntl_hack" = yes; then
+       PRIOCNTL_HACK=1
+else
+       PRIOCNTL_HACK=0
+fi
 AC_SUBST(PRIOCNTL_HACK)])
 dnl
 dnl
index fcf95173b04d5ffd11c302dae985c9be7adbf570..c5e5bc879f7ef054a848e1211a753366c4da5931 100644 (file)
@@ -1,3 +1,10 @@
+2005-04-05  Ken Raeburn  <raeburn@mit.edu>
+
+       * krlogind.c (doit): Change 0 to (char*)NULL in execl* calls.
+       Patch provided by Michael Calmer.
+       * krshd.c (doit): Likewise.
+       * login.c (main): Likewise.
+
 2004-10-01  Ken Raeburn  <raeburn@mit.edu>
 
        * kcmd.c (kcmd_connect): Set *addrfamilyp with the address family
index d2979e1416331f977b3958287b13d708a2df1a86..02bed8e370f137d5f3643d1b1d8f49f564975df0 100644 (file)
@@ -833,12 +833,12 @@ void doit(f, fromp)
         fatalperror(f, "failed make_sane_hostname");
     if (passwd_req)
         execl(login_program, "login", "-p", "-h", rhost_sane,
-          lusername, 0);
+          lusername, (char *)NULL);
     else
         execl(login_program, "login", "-p", "-h", rhost_sane,
-             "-f", lusername, 0);
+             "-f", lusername, (char *)NULL);
 #else /* USE_LOGIN_F */
-       execl(login_program, "login", "-r", rhost_sane, 0);
+       execl(login_program, "login", "-r", rhost_sane, (char *)NULL);
 #endif /* USE_LOGIN_F */
        syslog(LOG_ERR, "failed exec of %s: %s",
               login_program, error_message(errno));
index 9fde43d6eddea24b48428c5f4abb5ec9a1ee51d9..808adf5d538006db9453c842cdd75b88c2f16024 100644 (file)
@@ -1521,10 +1521,10 @@ void doit(f, fromp)
       cp = pwd->pw_shell;
     
     if (do_encrypt && !strncmp(cmdbuf, "-x ", 3)) {
-       execl(pwd->pw_shell, cp, "-c", (char *)cmdbuf + 3, 0);
+       execl(pwd->pw_shell, cp, "-c", (char *)cmdbuf + 3, (char *)NULL);
     }
     else {
-       execl(pwd->pw_shell, cp, "-c", cmdbuf, 0);
+       execl(pwd->pw_shell, cp, "-c", cmdbuf, (char *)NULL);
     }
     perror(pwd->pw_shell);
     perror(cp);
index 6282a42f073f2b621b4cf2e32ea70c8ec26af5b9..b49bababb7262f144a7eeeebfbb367c174dc40a9 100644 (file)
@@ -1861,7 +1861,7 @@ int main(argc, argv)
     (void) strncpy(tbuf+1, p?(p+1):pwd->pw_shell, sizeof(tbuf) - 1);
     tbuf[sizeof(tbuf) - 1] = '\0';
 
-    execlp(pwd->pw_shell, tbuf, 0);
+    execlp(pwd->pw_shell, tbuf, (char *)NULL);
     fprintf(stderr, "login: no shell: ");
     perror(pwd->pw_shell);
     exit(0);
index 6ead450fc3d42daf2a73626c334c6db889df09eb..2817768335a21a3d6404bec16f01617f6045a9ab 100644 (file)
@@ -1,3 +1,24 @@
+2005-01-13  Ezra Peisach  <epeisach@mit.edu>
+
+       * ftpd.c: GCC 4.0 fixes... Move static declaration of gunique out
+       of function.
+
+2004-11-26  Sam Hartman  <hartmans@mit.edu>
+
+       * ftpcmd.y: nbby should be 8 for anything platform we care about.
+       The previous test broke on Debian BSD, so the test has been
+       removed. 
+
+2004-11-03  Tom Yu  <tlyu@mit.edu>
+
+       * ftpcmd.y (getline): Merge Athena change to reject MICed
+       password.
+
+       * ftpd.M: Document '-E'.
+
+       * ftpd.c (main): Merge Athena's '-E' changes to prohibit
+       unencrypted passwords.
+
 2004-09-22  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (ftpd): Use UTIL_LIB.
index 67e601e11fee5e587b3818eb16c6a4eb423febf8..f2bc6553b5e4d45edc9134e96d684eef4a755da0 100644 (file)
@@ -105,4 +105,5 @@ $(OUTPRE)secure.$(OBJEXT): $(srcdir)/../ftp/secure.c \
   $(KRB_ERR_H_DEP) $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h \
   $(srcdir)/../arpa/ftp.h
 $(OUTPRE)getdtablesize.$(OBJEXT): $(srcdir)/../../bsd/getdtablesize.c
+$(OUTPRE)setenv.$(OBJEXT): $(srcdir)/../../bsd/setenv.c
 
index db50d5bfbd58a10aad83a37195893897a543ce11..096014bd22e66a865a5df978dc3bd23d25b35709 100644 (file)
@@ -96,15 +96,8 @@ extern gss_ctx_id_t gcontext;
 #endif
 
 #ifndef NBBY
-#ifdef linux
 #define NBBY 8
 #endif
-#ifdef __pyrsoft
-#ifdef MIPSEB
-#define NBBY 8
-#endif
-#endif
-#endif
 
 static struct sockaddr_in host_port;
 
@@ -124,6 +117,7 @@ extern      int ccc_ok;
 extern int timeout;
 extern int maxtimeout;
 extern  int pdata;
+extern int authlevel;
 extern char hostname[], remotehost[];
 extern char proctitle[];
 extern char *globerr;
@@ -1150,6 +1144,18 @@ getline(s, n, iop)
            }
 #endif /* GSSAPI */
            /* Other auth types go here ... */
+
+           /* A password should never be MICed, but the CNS ftp
+            * client and the pre-6/98 Krb5 client did this if you
+            * authenticated but didn't encrypt.
+            */
+           if (authlevel && mic && !strncmp(s, "PASS", 4)) {
+               lreply(530, "There is a problem with your ftp client. Password refused.");
+               reply(530, "Enable encryption before logging in, or update your ftp program.");
+               *s = 0;
+               return s;
+           }
+
        }
 #if defined KRB5_KRB4_COMPAT || defined GSSAPI /* or other auth types */
        else {  /* !auth_type */
index dc75e9b8dc164682bde959ac733383697ce39405..b26a4bd946f55c0626b402657ef0562431b85736 100644 (file)
@@ -36,8 +36,8 @@
 ftpd \- DARPA Internet File Transfer Protocol server
 .SH SYNOPSIS
 .B ftpd
-[\fB\-A \fP|\fB -a\fP] [\fB\-C\fP] [\fB\-c\fP] [\fB\-d\fP] [\fB\-l\fP]
-[\fB\-v\fP] [\fB\-T\fP \fImaxtimeout\fP] [\fB\-t\fP \fItimeout\fP]
+[\fB\-A \fP|\fB -a\fP] [\fB\-C\fP] [\fB\-c\fP] [\fB\-d\fP] [\fB-E\fP]
+[\fB\-l\fP] [\fB\-v\fP] [\fB\-T\fP \fImaxtimeout\fP] [\fB\-t\fP \fItimeout\fP]
 [\fB\-p\fP \fIport\fP] [\fB\-U\fP \fIftpusers-file\fP] [\fB\-u\fP \fIumask\fP]
 [\fB\-r\fP \fIrealm-file\fP] [\fB\-s\fP \fIsrvtab\fP]
 [\fB\-w\fP{\fBip\fP|\fImaxhostlen\fP[\fB,\fP{\fBstriplocal\fP|\fBnostriplocal\fP}]}]
@@ -77,6 +77,9 @@ less secure connections, and should probably only be used when debugging.
 .B \-d
 Debugging information is written to the syslog.  (Identical to -v)
 .TP
+.B \-E
+Don't allow passwords to be typed across unencrypted connections.
+.TP
 .B \-l
 Each
 .IR ftp (1)
index 6048278d77cc8066873b33576da68bff7e7b0d21..6655e0d62a7bbdc6812a86535b5b2a72129a489c 100644 (file)
@@ -260,6 +260,7 @@ static void end_login(void);
 static int disallowed_user(char *);
 static int restricted_user(char *);
 static int checkuser(char *);
+static char *gunique(char *);
 
 #ifdef SETPROCTITLE
 char   **Argv = NULL;          /* pointer to argument vector */
@@ -293,9 +294,9 @@ main(argc, argv, envp)
        extern char *optarg;
        extern int optopt;
 #ifdef KRB5_KRB4_COMPAT
-       char *option_string = "AaCcdlp:r:s:T:t:U:u:vw:";
+       char *option_string = "AaCcdElp:r:s:T:t:U:u:vw:";
 #else /* !KRB5_KRB4_COMPAT */
-       char *option_string = "AaCcdlp:r:T:t:U:u:vw:";
+       char *option_string = "AaCcdElp:r:T:t:U:u:vw:";
 #endif /* KRB5_KRB4_COMPAT */
        ftpusers = _PATH_FTPUSERS_DEFAULT;
 
@@ -328,6 +329,11 @@ main(argc, argv, envp)
                        debug = 1;
                        break;
 
+               case 'E':
+                       if (!authlevel)
+                               authlevel = AUTHLEVEL_AUTHENTICATE;
+                       break;
+
                case 'l':
                        logging ++;
                        break;
@@ -1274,7 +1280,6 @@ store_file(name, fmode, unique)
        FILE *fout, *din;
        struct stat st;
        int (*closefunc)();
-       static char *gunique();
 
        if (logging > 1) syslog(LOG_NOTICE, "put %s", path_expand(name));
 
index 9e5c888d76676fc4d49365627b65da23a52e7a1e..a02cd8d315208be33b8ad7e0697722cee8052a62 100644 (file)
@@ -1,3 +1,13 @@
+2004-12-20  Tom Yu  <tlyu@mit.edu>
+
+       * kerberos.c (kerberos4_status): Null-terminate the correct
+       string.  Reported by Marcin Garski.
+
+2004-11-15  Tom Yu  <tlyu@mit.edu>
+
+       * auth-proto.h, auth.c: Merge Athena changes for requiring
+       encrypted connections.
+
 2004-06-04  Ken Raeburn  <raeburn@mit.edu>
 
        * Makefile.in (LIBBASE): Renamed from LIB.
index 68cae7efcebecd7bc9c291185f1b1c71895763d8..6b49570329b39fdcf8e178349609752aad17ec8c 100644 (file)
@@ -67,7 +67,8 @@ void auth_send_retry (void);
 void auth_is (unsigned char *, int);
 void auth_reply (unsigned char *, int);
 void auth_finished (Authenticator *, int);
-int auth_wait (char *);
+void auth_wait (char *);
+int auth_check (char *);
 int auth_must_encrypt (void);
 void auth_disable_name (char *);
 void auth_gen_printsub (unsigned char *, int, unsigned char *, unsigned int);
index 9c1b0b0fc404cfe92efe875511b3195e04a174fc..28b8ae8d1bcfcdcb08d78b1e2c1e1a3bb20f07d9 100644 (file)
@@ -85,6 +85,7 @@
 int auth_debug_mode = 0;
 int auth_has_failed = 0;
 int auth_enable_encrypt = 0;
+int auth_client_non_unix = 0;
 static         char    *Name = "Noname";
 static int     Server = 0;
 static Authenticator   *authenticated = 0;
@@ -337,15 +338,28 @@ auth_request()
                authenticating = 1;
                while (ap->type) {
                        if (i_support & ~i_wont_support & typemask(ap->type)) {
-                               if (auth_debug_mode) {
-                                       printf(">>>%s: Sending type %d %d\r\n",
-                                               Name, ap->type, ap->way);
+                               if (ap->type == AUTHTYPE_KERBEROS_V4 ||
+                                   !auth_client_non_unix) {
+                                       if (auth_debug_mode) {
+                                               printf(">>>%s: Sending type %d %d\r\n",
+                                                      Name, ap->type, ap->way);
+                                       }
+                                       *e++ = ap->type;
+                                       *e++ = ap->way;
                                }
-                               *e++ = ap->type;
-                               *e++ = ap->way;
                        }
                        ++ap;
                }
+               if (auth_client_non_unix) {
+                       ap = authenticators;
+                       while (ap->type) {
+                               if (i_support & ~i_wont_support & typemask(ap->type)) {
+                                       *e++ = ap->type;
+                                       *e++ = ap->way;
+                               }
+                               ++ap;
+                       }
+               }
                *e++ = IAC;
                *e++ = SE;
                net_write(str_request, e - str_request);
@@ -562,7 +576,7 @@ auth_intr(sig)
        auth_finished(0, AUTH_REJECT);
 }
 
-       int
+       void
 auth_wait(name)
        char *name;
 {
@@ -570,7 +584,7 @@ auth_wait(name)
                printf(">>>%s: in auth_wait.\r\n", Name);
 
        if (Server && !authenticating)
-               return(0);
+               return;
 
        (void) signal(SIGALRM, auth_intr);
        alarm(30);
@@ -579,7 +593,12 @@ auth_wait(name)
                        break;
        alarm(0);
        (void) signal(SIGALRM, SIG_DFL);
+}
 
+       int
+auth_check(name)
+       char *name;
+{
        /*
         * Now check to see if the user is valid or not
         */
index 8d4c7f330cc7a89077c91033a686c320edcaf76c..7e0d7360cb4682ad2f834dcc42dffde8f8fd072c 100644 (file)
@@ -619,7 +619,7 @@ kerberos4_status(ap, kname, level)
        if (UserNameRequested) {
                /* the name buffer comes from telnetd/telnetd{-ktd}.c */
                strncpy(kname, UserNameRequested, 255);
-               name[255] = '\0';
+               kname[255] = '\0';
        }
 
        if (UserNameRequested && !kuserok(&adat, UserNameRequested)) {
index 91d52591a0788fefbae13ceb22d62342271debae..3e090ca6e5234bb0e83df94ad6817b5379384c90 100644 (file)
@@ -1,3 +1,15 @@
+2005-04-05  Ken Raeburn  <raeburn@mit.edu>
+
+       * commands.c (shell): Change 0 to (char*)NULL in execl calls.
+       Patch provided by Michael Calmer.
+
+2005-03-28  Tom Yu  <tlyu@mit.edu>
+
+       * telnet.c (slc_add_reply, slc_end_reply): Fix buffer overflow
+       vulnerability by checking lengths.
+       (env_opt_add): Ensure buffer allocation is sufficiently large,
+       accounting for expansion during IAC quoting.
+
 2004-03-04  Ken Raeburn  <raeburn@mit.edu>
 
        * configure.in: Deleted; configure this dir from parent now.
index a637e9e601aad72840ad7091f9ade706c9ca442b..cb3390d38c484b0cade3b5f9a33ff31fa6510517 100644 (file)
@@ -1467,9 +1467,9 @@ shell(argc, argv)
            else
                shellname++;
            if (argc > 1)
-               execl(shellp, shellname, "-c", &saveline[1], 0);
+               execl(shellp, shellname, "-c", &saveline[1], (char *)NULL);
            else
-               execl(shellp, shellname, 0);
+               execl(shellp, shellname, (char *)NULL);
            perror("Execl");
            _exit(1);
        }
index a92bbd5d13b1d9857699bed5428160f91d00dd43..6215fc1e9bd26dce1c4a4952af656024050d2351 100644 (file)
@@ -1475,6 +1475,8 @@ slc_add_reply(func, flags, value)
        unsigned char flags;
        cc_t value;
 {
+       if ((slc_replyp - slc_reply) + 6 > sizeof(slc_reply))
+               return;
        if ((*slc_replyp++ = func) == IAC)
                *slc_replyp++ = IAC;
        if ((*slc_replyp++ = flags) == IAC)
@@ -1488,11 +1490,12 @@ slc_end_reply()
 {
     register int len;
 
-    *slc_replyp++ = IAC;
-    *slc_replyp++ = SE;
     len = slc_replyp - slc_reply;
-    if (len <= 6)
+    if (len <= 4 || (len + 2 > sizeof(slc_reply)))
        return;
+    *slc_replyp++ = IAC;
+    *slc_replyp++ = SE;
+    len += 2;
     if (NETROOM() > len) {
        ring_supply_data(&netoring, slc_reply, slc_replyp - slc_reply);
        printsub('>', &slc_reply[2], slc_replyp - slc_reply - 2);
@@ -1645,6 +1648,7 @@ env_opt_add(ep)
        register unsigned char *ep;
 {
        register unsigned char *vp, c;
+       unsigned int len, olen, elen;
 
        if (opt_reply == NULL)          /*XXX*/
                return;                 /*XXX*/
@@ -1662,19 +1666,19 @@ env_opt_add(ep)
                return;
        }
        vp = env_getvalue(ep);
-       if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
-                               strlen((char *)ep) + 6 > opt_replyend)
+       elen = 2 * (vp ? strlen((char *)vp) : 0) +
+               2 * strlen((char *)ep) + 6;
+       if ((opt_replyend - opt_replyp) < elen)
        {
-               register unsigned int len;
-               opt_replyend += OPT_REPLY_SIZE;
-               len = opt_replyend - opt_reply;
+               len = opt_replyend - opt_reply + elen;
+               olen = opt_replyp - opt_reply;
                opt_reply = (unsigned char *)realloc(opt_reply, len);
                if (opt_reply == NULL) {
 /*@*/                  printf("env_opt_add: realloc() failed!!!\n");
                        opt_reply = opt_replyp = opt_replyend = NULL;
                        return;
                }
-               opt_replyp = opt_reply + len - (opt_replyend - opt_replyp);
+               opt_replyp = opt_reply + olen;
                opt_replyend = opt_reply + len;
        }
        if (opt_welldefined((char *) ep))
index 1902a32f7d16683e0fee772fae9efa8f1c07e458..760cbb23f3d18cef3fa7e4825b41f6ac1c50ee01 100644 (file)
@@ -1,3 +1,15 @@
+2004-11-15  Tom Yu  <tlyu@mit.edu>
+
+       * ext.h: New variable "must_encrypt".
+
+       * telnetd.8: Update for changed command-line options.
+
+       * telnetd.c (getterminaltype): Merge Athena changes to require
+       encrypted connections.
+
+       * utility.c (ttsuck): Merge Athena changes to work around some
+       client timing bugs.
+
 2004-09-22  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (telnetd): Use UTIL_LIB.
index 9fe38ef8b07d7b06b81d809040a5e0af99217e9e..7b77a44b0c6810b23ddf711ec5b2eb63eaddfec4 100644 (file)
@@ -88,6 +88,10 @@ extern char *unptyip;  /* pointer to remaining characters in buffer */
 extern int     pty, net;
 extern int     SYNCHing;               /* we are in TELNET SYNCH mode */
 
+#ifdef ENCRYPTION
+extern int     must_encrypt;
+#endif
+
 extern void
        _termstat (void),
        add_slc (int, int, int),
index 9426a0c3b49374cb9debf6c2bf2758e18ebaa089..78700cbedb77b177d2f37cc83300097c70a76380 100644 (file)
@@ -39,7 +39,7 @@ protocol server
 .SH SYNOPSIS
 .B /usr/libexec/telnetd
 [\fB\-a\fP \fIauthmode\fP] [\fB\-B\fP] [\fB\-D\fP] [\fIdebugmode\fP]
-[\fB\-edebug\fP] [\fB\-h\fP] [\fB\-I\fP\fIinitid\fP] [\fB\-l\fP]
+[\fB\-e\fP] [\fB\-h\fP] [\fB\-I\fP\fIinitid\fP] [\fB\-l\fP]
 [\fB\-k\fP] [\fB\-n\fP] [\fB\-r\fP\fIlowpty-highpty\fP] [\fB\-s\fP]
 [\fB\-S\fP \fItos\fP] [\fB\-U\fP] [\fB\-X\fP \fIauthtype\fP]
 [\fB\-w\fP [\fBip\fP|\fImaxhostlen\fP[\fB,\fP[\fBno\fP]\fBstriplocal\fP]]]
@@ -163,6 +163,9 @@ Displays the data stream received by
 .B ptydata
 Displays data written to the pty.
 .TP
+.B encrypt
+Enables        encryption debugging code.
+.TP
 .B exercise
 Has not been implemented yet.
 .RE
@@ -175,12 +178,10 @@ Enables debugging on each socket created by
 in
 .IR socket (2)).
 .TP
-.B \-edebug
-If
+.B \-e
+This option causes
 .B telnetd
-has been compiled with support for data encryption, then the
-.B edebug
-option may be used to enable encryption debugging code.
+to refuse unencrypted connections.
 .TP
 .B \-h
 Disables the printing of host-specific information before login has been
index 5633d562513d707f2ef59b72d7c3edde3de85b9f..a90fa5c5cfd96b18f180debb81bc3acb7ea29e56 100644 (file)
@@ -173,7 +173,7 @@ char valid_opts[] = {
        'D', ':',
 #endif
 #ifdef ENCRYPTION
-       'e', ':',
+       'e',
 #endif
 #if    defined(CRAY) && defined(NEWINIT)
        'I', ':',
@@ -308,6 +308,9 @@ main(argc, argv)
                                diagnostic |= TD_PTYDATA;
                        } else if (!strcmp(optarg, "options")) {
                                diagnostic |= TD_OPTIONS;
+                       } else if (!strcmp(optarg, "encrypt")) {
+                               extern int encrypt_debug_mode;
+                               encrypt_debug_mode = 1;
                        } else {
                                usage();
                                /* NOT REACHED */
@@ -317,13 +320,7 @@ main(argc, argv)
 
 #ifdef ENCRYPTION
                case 'e':
-                       if (strcmp(optarg, "debug") == 0) {
-                               extern int encrypt_debug_mode;
-                               encrypt_debug_mode = 1;
-                               break;
-                       }
-                       usage();
-                       /* NOTREACHED */
+                       must_encrypt = 1;
                        break;
 #endif /* ENCRYPTION */
 
@@ -694,8 +691,12 @@ usage()
 
 static void encrypt_failure()
 {
-    char *lerror_message =
-       "Encryption was not successfully negotiated.  Goodbye.\r\n\r\n";
+    char *lerror_message;
+
+    if (auth_must_encrypt())
+       lerror_message = "Encryption was not successfully negotiated.  Goodbye.\r\n\r\n";
+    else
+       lerror_message = "Unencrypted connection refused. Goodbye.\r\n\r\n";
 
     netputs(lerror_message);
     netflush();
@@ -720,6 +721,7 @@ getterminaltype(name)
 
     settimer(baseline);
 #if    defined(AUTHENTICATION)
+    ttsuck();
     /*
      * Handle the Authentication option before we do anything else.
      */
@@ -727,7 +729,7 @@ getterminaltype(name)
     while (his_will_wont_is_changing(TELOPT_AUTHENTICATION))
        ttloop();
     if (his_state_is_will(TELOPT_AUTHENTICATION)) {
-       retval = auth_wait(name);
+       auth_wait(name);
     }
 #endif
 
@@ -760,15 +762,25 @@ getterminaltype(name)
     if (his_state_is_will(TELOPT_ENCRYPT)) {
        encrypt_wait();
     }
-    if (auth_must_encrypt()) {
+    if (must_encrypt || auth_must_encrypt()) {
        time_t timeout = time(0) + 60;
        
        if (my_state_is_dont(TELOPT_ENCRYPT) ||
-           my_state_is_wont(TELOPT_ENCRYPT))
+           my_state_is_wont(TELOPT_ENCRYPT) ||
+           his_state_is_wont(TELOPT_AUTHENTICATION))
            encrypt_failure();
 
-       if (!EncryptStartInput() || !EncryptStartOutput())
-           encrypt_failure();
+       while (!EncryptStartInput()) {
+           if (time (0) > timeout)
+               encrypt_failure();
+           ttloop();
+       }
+
+       while (!EncryptStartOutput()) {
+           if (time (0) > timeout)
+               encrypt_failure();
+           ttloop();
+       }
 
        while (!encrypt_is_encrypting()) {
            if (time(0) > timeout)
@@ -865,7 +877,11 @@ getterminaltype(name)
            }
        }
     }
-    return(retval);
+#ifdef AUTHENTICATION
+    return(auth_check(name));
+#else
+    return(-1);
+#endif
 }  /* end of getterminaltype */
 
 static void
index fc8ff7601eb08b489494840d8e15a35b1756dfaf..f4568ec289c95c620f795c9f081a1741e970254f 100644 (file)
@@ -90,6 +90,67 @@ read_again:
     }
 }  /* end of ttloop */
 
+/* 
+ * ttsuck - This is a horrible kludge to deal with a bug in
+ * HostExplorer. HostExplorer thinks it knows how to do krb5 auth, but
+ * it doesn't really. So if you offer it krb5 as an auth choice before
+ * krb4, it will sabotage the connection. So we peek ahead into the
+ * input stream to see if the client is a UNIX client, and then
+ * (later) offer krb5 first only if it is. Since no Mac/PC telnet
+ * clients do auto switching between krb4 and krb5 like the UNIX
+ * client does, it doesn't matter what order they see the choices in
+ * (except for HostExplorer).
+ *
+ * It is actually not possible to do this without looking ahead into
+ * the input stream: the client and server both try to begin
+ * auth/encryption negotiation as soon as possible, so if we let the
+ * server process things normally, it will already have sent the list
+ * of supported auth types before seeing the NEW-ENVIRON option. If
+ * you change the code to hold off sending the list of supported auth
+ * types until after it knows whether or not the remote side supports
+ * NEW-ENVIRON, then the auth negotiation and encryption negotiation
+ * race conditions won't interact properly, and encryption negotiation
+ * will reliably fail.
+ */
+
+    void
+ttsuck()
+{
+    extern int auth_client_non_unix;
+    int nread;
+    struct timeval tv;
+    fd_set fds;
+    char *p, match[] = {IAC, WILL, TELOPT_NEW_ENVIRON};
+
+    if (nfrontp-nbackp) {
+       netflush();
+    }
+    tv.tv_sec = 1;
+    tv.tv_usec = 0;
+    FD_SET(net, &fds);
+
+    while (select(net + 1, &fds, NULL, NULL, &tv) == 1)
+      {
+       nread = read(net, netibuf + ncc, sizeof(netibuf) - ncc);
+       if (nread <= 0)
+         break;
+       ncc += nread;
+      }
+
+    auth_client_non_unix = 1;
+    for (p = netibuf; p < netibuf + ncc; p++)
+      {
+       if (!memcmp(p, match, sizeof(match)))
+         {
+           auth_client_non_unix = 0;
+           break;
+         }
+      }
+
+    if (ncc > 0)
+      telrcv();
+}
+
 /*
  * Check a descriptor to see if out of band data exists on it.
  */
index 46669142cc7eeefc0a32a16774842ded51891258..64379363823732b7973bc09f28dfb1c7d9a1e637 100644 (file)
@@ -1,3 +1,7 @@
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * Makefile.in: output status info for kcpytkt, kdeltkt
+
 2004-08-20  Jeffrey Altman <jaltman@mit.edu>
 
         * Add kcpytkt and kdeltkt directories
index f68d6fffa97ad029c71136b9b4eb0e6769076ea4..f1c8be6e29af2f65ef0af3c321cd6e2e86973aee 100644 (file)
@@ -22,8 +22,10 @@ all-windows::
        @echo Making all in clients\kvno
        cd ..\kvno
        $(MAKE) -$(MFLAGS)
+       @echo Making all in clients\kcpytkt
        cd ..\kcpytkt
        $(MAKE) -$(MFLAGS)
+       @echo Making all in clients\kdeltkt
        cd ..\kdeltkt
        $(MAKE) -$(MFLAGS)
        cd ..
@@ -44,8 +46,10 @@ clean-windows::
        @echo Making clean in clients\kvno
        cd ..\kvno
        $(MAKE) -$(MFLAGS) clean
+       @echo Making clean in clients\kcpytkt
        cd ..\kcpytkt
        $(MAKE) -$(MFLAGS) clean
+       @echo Making clean in clients\kdeltkt
        cd ..\kdeltkt
        $(MAKE) -$(MFLAGS) clean
        cd ..
index 19092315f27dd2c6eec62210015a32891c682973..35a25951f83f00593b4301e31ff26a6b611dfaf6 100644 (file)
@@ -1,3 +1,7 @@
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * Makefile.in: correct the makefile to build kdeltkt, not kvno
+
 2004-08-19  Jeffrey Altman <jaltman@mit.edu>
 
        * kdeltkt.c, kdeltkt.M: Create a new application.
index 09215940d23f6745558f1399699994378d3f7379..d7d371a79c6da8d54f6c38e415aa5650ac7d7db3 100644 (file)
@@ -1,26 +1,26 @@
 thisconfigdir=./..
-myfulldir=clients/kvno
+myfulldir=clients/kdeltkt
 mydir=kvno
 BUILDTOP=$(REL)..$(S)..
 
 PROG_LIBPATH=-L$(TOPLIBD)
 PROG_RPATH=$(KRB5_LIBDIR)
 
-all-unix:: kvno
-all-windows:: $(OUTPRE)kvno.exe
+all-unix:: kdeltkt
+all-windows:: $(OUTPRE)kdeltkt.exe
 all-mac::
 
-kvno: kvno.o $(KRB4COMPAT_DEPLIBS)
-       $(CC_LINK) -o $@ kvno.o $(KRB4COMPAT_LIBS)
+kdeltkt: kdeltkt.o $(KRB4COMPAT_DEPLIBS)
+       $(CC_LINK) -o $@ kdeltkt.o $(KRB4COMPAT_LIBS)
 
-$(OUTPRE)kvno.exe: $(OUTPRE)kvno.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj $(KLIB) $(CLIB)
+$(OUTPRE)kdeltkt.exe: $(OUTPRE)kdeltkt.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj $(KLIB) $(CLIB)
        link $(EXE_LINKOPTS) /out:$@ $**
 
 clean-unix::
-       $(RM) kvno.o kvno
+       $(RM) kdeltkt.o kdeltkt
 
 install-unix::
-       for f in kvno; do \
+       for f in kdeltkt; do \
          $(INSTALL_PROGRAM) $$f \
                $(DESTDIR)$(CLIENT_BINDIR)/`echo $$f|sed '$(transform)'`; \
          $(INSTALL_DATA) $(srcdir)/$$f.M \
index 0461237187234dda52833e4c18e0eb247f66a866..b8221ff92395f90d6b5c97b0c34e051d28ecfe8e 100644 (file)
@@ -1,3 +1,46 @@
+2005-03-25  Ken Raeburn  <raeburn@mit.edu>
+
+       * lib.in (hpux10.exports): New target, constructed similar to
+       osf1.exports but with HP-UX 10.x linker options, no initializers,
+       and "errno" explicitly added to the export list.
+       * shlib.conf (*-*-hpux*): Combine PICFLAGS setting with
+       SHLIB_EXPFLAGS and LDCOMBINE setting.  Add linker option "-c
+       hpux10.exports" to LDCOMBINE.  Set SHLIB_EXPORT_FILE_DEP to
+       hpux10.exports.  Set use_linker_fini_option.
+
+2005-02-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * lib.in (config.status): Change target to be in $thisconfigdir
+       rather than local.
+       (osf1.exports): Create a temporary file then rename into place.
+       Add options for library init/fini symbols, handling multiple
+       values.
+
+       * shlib.conf (case alpha*-dec-osf*): Don't handle init/fini
+       symbols here.
+       (case mips-sgi-irix*): Handle multiple init/fini symbols.  Always
+       set $initfini before it gets used.
+       (case *-*-solaris*, not gcc): Handle multiple init/fini symbols.
+       (case *-*-aix*): Handle multiple fini symbols.
+
+2004-12-17  Jeffrey Altman <jaltman@mit.edu>
+
+        * win-pre.in: add -debug switch to LOPTS if DEBUG_SYMBOLS 
+
+2004-12-17  Ken Raeburn  <raeburn@mit.edu>
+
+       * shlib.conf (*-*-netbsd*): Use -fPIC instead of -fpic, which
+       won't work on sparc64 at least.
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * win-pre.in; optionally build debug symbols for release builds
+                      and rename krb5support_32.dll to k5sprt32.dll
+
+2004-11-19  Tom Yu  <tlyu@mit.edu>
+
+       * pre.in (KRB5_INCSUBDIRS): Add KRB5_INCDIR/gssrpc.
+
 2004-10-06  Tom Yu  <tlyu@mit.edu>
 
        * pre.in (datadir, EXAMPLEDIR): Add directory for examples.
index 7ebdb3ff325864cad7c29e4170aeae5ff7500ad6..ef159f528cbcdc459ac9ba56009a4ca5f60bbf46 100644 (file)
@@ -57,7 +57,32 @@ binutils.versions: $(SHLIB_EXPORT_FILE) Makefile
        echo >> binutils.versions "};"
 
 osf1.exports: $(SHLIB_EXPORT_FILE) Makefile
-       sed "s/^/-exported_symbol /" < $(SHLIB_EXPORT_FILE) > osf1.exports
+       $(RM) osf1.tmp osf1.exports
+       sed "s/^/-exported_symbol /" < $(SHLIB_EXPORT_FILE) > osf1.tmp
+       for f in . $(LIBINITFUNC); do \
+         if test "$$f" != "." ; then \
+           echo " -init $$f"__auxinit >> osf1.tmp; \
+         else :; fi; \
+       done
+       a=""; \
+       for f in . $(LIBFINIFUNC); do \
+         if test "$$f" != "." ; then \
+           a="-fini $$f $$a"; \
+         else :; fi; \
+       done; echo " $$a" >> osf1.tmp; \
+       mv -f osf1.tmp osf1.exports
+
+hpux10.exports: $(SHLIB_EXPORT_FILE) Makefile
+       $(RM) hpux10.tmp hpux10.exports
+       sed "s/^/+e /" < $(SHLIB_EXPORT_FILE) > hpux10.tmp
+       a=""; \
+       for f in . $(LIBFINIFUNC); do \
+         if test "$$f" != .; then \
+           a="+I $${f}__auxfini $$a"; \
+         else :; fi; \
+       done; echo "$$a" >> hpux10.tmp
+       echo "+e errno" >> hpux10.tmp
+       mv -f hpux10.tmp hpux10.exports
 
 lib$(LIBBASE)$(PFLIBEXT): $(PFOBJLISTS)
        $(RM) $@
@@ -120,7 +145,7 @@ install-profiled:
        $(RANLIB) $(DESTDIR)$(KRB5_LIBDIR)/lib$(LIBBASE)$(PFLIBEXT)
 
 Makefile: $(SRCTOP)/config/lib.in
-config.status: $(SRCTOP)/config/shlib.conf
+$(thisconfigdir)/config.status: $(SRCTOP)/config/shlib.conf
 
 # Use the following if links need to be made to $(TOPLIBD):
 # all-unix:: all-liblinks
index 7d3e7a0b5fbf814f3621d6de19d94dabf72af697..fca306ddc84112c7215d99769deff7238c316120 100644 (file)
@@ -205,7 +205,8 @@ KRB5_SHLIBDIR = @libdir@$(SHLIB_TAIL_COMP)
 KRB5_INCDIR = @includedir@
 KRB5_INCSUBDIRS = \
        $(KRB5_INCDIR)/gssapi \
-       $(KRB5_INCDIR)/kerberosIV
+       $(KRB5_INCDIR)/kerberosIV \
+       $(KRB5_INCDIR)/gssrpc
 
 #
 # Macros used by the KADM5 (OV-based) unit test system.
index 3205bb34857899f5d2b11bca552d5e5b7342860a..3261b672ceff8281576483469d8f8ca6b8251787 100644 (file)
@@ -38,7 +38,7 @@ alpha*-dec-osf*)
        SHLIBEXT=.so
        # Alpha OSF/1 doesn't need separate PIC objects
        SHOBJEXT=.o
-       INIT_FINI_PREP='if test -z "$(LIBINITFUNC)"; then initfini=""; else initfini="-Wl,-init,$(LIBINITFUNC)__auxinit"; fi; if test -z "$(LIBFINIFUNC)";then :;else initfini="$$initfini -Wl,-fini,$(LIBFINIFUNC)"; fi'
+       INIT_FINI_PREP=initfini=
        LDCOMBINE='$(CC) $(PTHREAD_CFLAGS) -shared -Wl,-expect_unresolved -Wl,\* -Wl,-update_registry -Wl,$(BUILDTOP)/so_locations -Wl,-soname -Wl,lib$(LIBBASE)$(SHLIBSEXT) -Wl,-hidden -Wl,-input,osf1.exports $$initfini'
        SHLIB_EXPORT_FILE_DEP=osf1.exports
        use_linker_init_option=yes
@@ -75,27 +75,42 @@ alpha*-dec-osf*)
 # on the commandline of the linker will determine which path
 # (compiled-in or SHLIB_PATH) will be searched first.
 #
+# +I initproc routine gets called at load and unload time for
+#    shl_load calls, but appears to never be called for link-time
+#    specified libraries.
+# +e sym exports symbol and supposedly prevents other symbols
+#    from being exported, according to the man page, but the
+#    latter bit doesn't actually seem to work
+# -O +dpv should display any routines eliminated as unused, but -b
+#        apparently turns that off
 *-*-hpux*)
-       if test "$krb5_cv_prog_gcc" = yes; then
-               PICFLAGS=-fPIC
-       else
-               PICFLAGS=+z
-       fi
        INSTALL_SHLIB='$(INSTALL)'
        SHLIBEXT=.sl
        SHLIBVEXT='.$(LIBMAJOR).$(LIBMINOR)'
        SHLIBSEXT='.$(LIBMAJOR)'
        RPATH_FLAG='-Wl,+b,'
        if test "$krb5_cv_prog_gcc" = yes; then
+               PICFLAGS=-fPIC
                SHLIB_EXPFLAGS='-Wl,+s -Wl,+b,$(SHLIB_RDIRS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
-               LDCOMBINE='gcc -fPIC -shared -Wl,+h,lib$(LIBBASE)$(SHLIBSEXT)'
+               LDCOMBINE='gcc -fPIC -shared -Wl,+h,lib$(LIBBASE)$(SHLIBSEXT) -Wl,-c,hpux10.exports'
        else
+               PICFLAGS=+z
                SHLIB_EXPFLAGS='+s +b $(SHLIB_RDIRS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
-               LDCOMBINE='ld -b +h lib$(LIBBASE)$(SHLIBSEXT)'
+               LDCOMBINE='ld -b +h lib$(LIBBASE)$(SHLIBSEXT) -c hpux10.exports'
        fi
        CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) -Wl,+s $(RPATH_FLAG)$(PROG_RPATH) $(CFLAGS) $(LDFLAGS)'
        CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)'
        RUN_ENV='SHLIB_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`; export SHLIB_PATH;'
+       SHLIB_EXPORT_FILE_DEP=hpux10.exports
+       # Do *not* set use_linker_init_option=yes here, because in the
+       # case where the library is specified at program link time, the
+       # initialization function appears not to get called, only for
+       # shl_load.  But for finalization functions, the shl_load case
+       # is the one we care about.
+       #
+       # Not setting use_linker_init_option here should cause compilation
+       # failures if the user tries to disable delayed initialization.
+       use_linker_fini_option=yes
        ;;
 
 mips-sgi-irix6.3)      # This is a Kludge; see below
@@ -139,10 +154,11 @@ mips-sgi-irix*)
        SHOBJEXT=.o
        if test "$krb5_cv_prog_gcc" = yes; then
                LDCOMBINE_TAIL=""
+               INIT_FINI_PREP="initfini="
        else
                use_linker_init_option=yes
                use_linker_fini_option=yes
-               INIT_FINI_PREP='if test -z "$(LIBINITFUNC)"; then initfini=""; else initfini="-Wl,-init,$(LIBINITFUNC)__auxinit"; fi; if test -z "$(LIBFINIFUNC)";then :;else initfini="$$initfini -Wl,-fini,$(LIBFINIFUNC)"; fi'
+               INIT_FINI_PREP='initfini=; for f in . $(LIBINITFUNC); do if test $$f = .; then :; else initfini="$$initfini -Wl,-init,$${f}__auxinit"; fi; done; for f in . $(LIBFINIFUNC); do if test $$f = .; then :; else initfini="$$initfini -Wl,-fini,$${f}"; fi; done'
                LDCOMBINE_TAIL='-Wl,-exports_file -Wl,$(SHLIB_EXPORT_FILE)'
        fi
        LDCOMBINE='$(CC) -shared -Wl,-ignore_unresolved -Wl,-update_registry -Wl,$(BUILDTOP)/so_locations -Wl,-soname -Wl,lib$(LIBBASE)$(SHLIBSEXT) $$initfini'
@@ -204,7 +220,7 @@ mips-*-netbsd*)
        ;;
 
 *-*-netbsd*)
-       PICFLAGS=-fpic
+       PICFLAGS=-fPIC
        SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)'
        SHLIBEXT=.so
        LDCOMBINE='ld -Bshareable'
@@ -279,6 +295,7 @@ mips-*-netbsd*)
                LDCOMBINE='$(CC) -dy -G -z text -h lib$(LIBBASE)$(SHLIBSEXT) $$initfini'
                #
                INIT_FINI_PREP='if test -z "$(LIBINITFUNC)"; then initfini=; else initfini="-Wl,-z,initarray=$(LIBINITFUNC)__auxinit"; fi ; if test -z "$(LIBFINIFUNC)"; then :; else initfini="$$initfini -Wl,-z,finiarray=$(LIBFINIFUNC)" ; fi'
+               INIT_FINI_PREP='initfini=; for f in . $(LIBINITFUNC); do if test $$f = .; then :; else initfini="$$initfini -Wl,-z,initarray=$${f}__auxinit"; fi; done; for f in . $(LIBFINIFUNC); do if test $$f = .; then :; else initfini="$$initfini -Wl,-z,finiarray=$$f"; fi; done'
                use_linker_init_option=yes
                use_linker_fini_option=yes
        fi
@@ -351,16 +368,17 @@ mips-*-netbsd*)
        SHLIB_EXPFLAGS='  $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
        PROFFLAGS=-pg
        if test "$krb5_cv_prog_gcc" = "yes" ; then
+         wl_prefix=-Wl,
          RPATH_FLAG='-Wl,-blibpath:'
          LDCOMBINE='$(CC) -shared -v -o shr.o.$(LIBMAJOR).$(LIBMINOR) $$objlist -nostartfiles -Xlinker -bgcbypass:1 -Xlinker -bfilelist -Xlinker -bM:SRE -Xlinker -bE:$(SHLIB_EXPORT_FILE) -Xlinker -bernotok $(SHLIB_EXPFLAGS) -lc $$initfini'
-         INIT_FINI_PREP='if test -z "$(LIBFINIFUNC)"; then initfini=""; else initfini="-Wl,-binitfini::$(LIBFINIFUNC):3"; fi'
-         use_linker_fini_option=yes
        else
+         wl_prefix=
          RPATH_FLAG=-blibpath:
          LDCOMBINE='/bin/ld -o shr.o.$(LIBMAJOR).$(LIBMINOR) $$objlist -H512 -T512 -bnoentry -bgcbypass:1 -bnodelcsect -bfilelist -bM:SRE -bE:$(SHLIB_EXPORT_FILE) -bernotok $(SHLIB_EXPFLAGS) -lc $$initfini'
-         INIT_FINI_PREP='if test -z "$(LIBFINIFUNC)"; then initfini=""; else initfini="-binitfini::$(LIBFINIFUNC):3"; fi'
-         use_linker_fini_option=yes
        fi
+       # Assume initialization always delayed.
+       INIT_FINI_PREP="wl=${wl_prefix}; "'i=1; initfini=; for f in . $(LIBFINIFUNC); do if test $$f != .; then initfini="$$initfini $${wl}-binitfini::$$f:$$i"; else :; fi; i=`expr $$i + 1`; done'
+       use_linker_fini_option=yes
        MAKE_SHLIB_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE}"' && ar cq $@ shr.o.$(LIBMAJOR).$(LIBMINOR) && chmod +x $@ && rm -f shr.o.$(LIBMAJOR).$(LIBMINOR)'
        RPATH_TAIL=:/usr/lib:/lib
        CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(RPATH_FLAG)$(PROG_RPATH):'"$RPATH_TAIL"' $(CFLAGS) $(LDFLAGS)'
index 37f22fd2b42af6462e33ea986ed4cd0d1c88014b..73e7bea6ac18e4129bce28a32c967b54d77f162f 100644 (file)
@@ -142,6 +142,10 @@ LOPTS=-nologo -incremental:no
 # CCOPTS2 was for non-DLL compiles (EXEs, for example)
 #
 !ifdef NODEBUG
+!ifdef DEBUG_SYMBOL
+CCOPTS=/ZI $(CCOPTS)
+LOPTS=$(LOPTS) -debug
+!endif
 CCOPTS=/Os /MD $(CCOPTS)
 LOPTS=$(LOPTS)
 !else
@@ -170,7 +174,7 @@ CLIB=$(BUILDTOP)\lib\$(OUTPRE)comerr32.lib
 PLIB=$(BUILDTOP)\lib\$(OUTPRE)xpprof32.lib
 KLIB=$(BUILDTOP)\lib\$(OUTPRE)krb5_32.lib
 K4LIB=$(BUILDTOP)\lib\$(OUTPRE)krb4_32.lib
-SLIB=$(BUILDTOP)\lib\$(OUTPRE)krb5support_32.lib
+SLIB=$(BUILDTOP)\lib\$(OUTPRE)k5sprt32.lib
 GLIB=$(BUILDTOP)\lib\$(OUTPRE)gssapi32.lib
 WLIB=
 
index fc567f2980c46e2b019c7c2563a11cf08e64f3db..26c48d3f04c9db0fdcd5e37e2ac3992ba4b83e1b 100644 (file)
@@ -133,7 +133,11 @@ dnl
 dnl
 dnl Check for thread safety issues.
 dnl (Is there a better place for this?)
-tsfuncs="getpwnam_r getpwuid_r gethostbyname_r getservbyname_r gmtime_r localtime_r"
+dnl tsfuncs="getpwnam_r getpwuid_r gethostbyname_r getservbyname_r gmtime_r localtime_r"
+dnl Removed getpwnam_r and getpwuid_r because include/configure.in has some
+dnl more careful checks, and may decide to pretend that they're not found if
+dnl the function signatures can't be figured out.
+tsfuncs="gethostbyname_r getservbyname_r gmtime_r localtime_r"
 AC_CHECK_FUNCS($tsfuncs)
 if test "$enable_thread_support" = yes; then
   tsmissing=""
index f3e2ae9e3f7cee00cf3f0c9b9e8dd37782a232c8..c553286b6948b0e657f0fc363a30539eff73a4c4 100644 (file)
@@ -1,3 +1,95 @@
+2005-05-31  Ken Raeburn  <raeburn@mit.edu>
+
+       * k5-thread.h (krb5int_pthread_loaded) [HAVE_PRAGMA_WEAK_REF]:
+       Declare.
+       (K5_PTHREADS_LOADED) [HAVE_PRAGMA_WEAK_REF]: Use it.
+
+2005-05-17  Ken Raeburn  <raeburn@mit.edu>
+
+       * fake-addrinfo.c (fai_add_hosts_by_name): Pass null pointer
+       instead of telnet as service name.
+
+2005-03-25  Ken Raeburn  <raeburn@mit.edu>
+
+       * configure.in: Don't check for getpwnam_r and getpwuid_r with
+       AC_CHECK_FUNCS; use AC_CHECK_FUNC, and only set shell variables.
+       Run stricter tests on return types and numbers of arguments, and
+       only define the C macros if these parameters can actually be
+       determined.
+       * k5-platform.h (k5_getpwnam_r, k5_getpwuid_r): New macros.
+
+       * k5-platform.h: Expand on init/fini comments some more.
+       (MAKE_FINI_FUNCTION): Add an HP-UX specific variant that defines
+       an auxiliary function fitting the signature of HP-UX 10 library
+       combined initializer/finalizer functions.
+
+2005-03-04  Ken Raeburn  <raeburn@mit.edu>
+
+       * configure.in: Check return type of gmtime_r, and define
+       GMTIME_R_RETURNS_INT if it returns int.  If the return type can't
+       be determined, pretend the function isn't there.
+
+2005-02-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * k5-platform.h (PROGRAM_EXITING) [__GNUC__ && !_WIN32 &&
+       CONSTRUCTOR_ATTR_WORKS]: Define as zero.
+
+2005-01-04  Jeffrey Altman <jaltman@mit.edu>
+
+        * win-mac.h: define NEED_INSIXADDR_ANY for ipv6 symbol
+
+2005-01-21  Ezra Peisach  <epeisach@mit.edu>
+
+       * k5-thread.h (k5_os_mutex_lock): Under Irix, invoke
+       k5_pthread_mutex_lock() with the k5_os_mutex, not the
+       pthread_mutex_t.
+       (k5_pthread_assert_locked,unlocked): If DEBUG_THREADS not use, provide
+       correct prototype. Add missing close paren.
+
+2005-01-14  Ken Raeburn  <raeburn@mit.edu>
+
+       * k5-thread.h [HAVE_PTHREAD && HAVE_PRAGMA_WEAK_REF]: Mark
+       pthread_self and pthread_equal as weak references.
+
+2005-01-13  Ken Raeburn  <raeburn@mit.edu>
+
+       * k5-thread.h (k5_os_mutex) [pthread case]: Add new field "owner"
+       if DEBUG_THREADS.
+       (k5_pthread_mutex_lock, k5_pthread_mutex_unlock,
+       k5_pthread_assert_locked): New macros/functions; if DEBUG_THREADS,
+       and thread support loaded, set or check the owner field.
+       (K5_OS_MUTEX_PARTIAL_INITIALIZER) [pthread case && DEBUG_THREADS]:
+       Set the owner field.  If PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+       is defined, use it.
+       (k5_os_mutex_lock, k5_os_mutex_unlock, k5_os_mutex_assert_locked)
+       [pthread case]: Use k5_pthread_ versions.
+       (k5_mutex_destroy): Update the location data with the mutex
+       locked, before destroying it.
+       (k5_mutex_unlock): Update the location data while the mutex is
+       still locked, and check the assertion that the mutex really is
+       locked.  Convert inline function to macro.
+
+       * k5-thread.h (krb5int_mutex_lock_update_stats,
+       krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats)
+       [!DEBUG_THREADS_STATS]: Declare KRB5_CALLCONV.
+
+2005-01-04  Jeffrey Altman <jaltman@mit.edu>
+
+        * krb5.hin: add prototype for krb5_is_thread_safe
+
+2004-12-21  Tom Yu  <tlyu@mit.edu>
+
+       * krb5.hin: Flag krb5_principal2salt as KRB5_CALLCONV_WRONG.
+
+2004-12-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * k5-int.h (KRB5INT_ACCESS_STRUCT_VERSION): Bump to 9.
+       (struct _krb5int_access): Add function pointer field use_dns_kdc.
+
+2004-10-29  Ken Raeburn  <raeburn@mit.edu>
+
+       * fake-addrinfo.h: Include errno.h earlier.
+
 2004-10-28  Ken Raeburn  <raeburn@mit.edu>
 
        * k5-thread.h (return_after_yield, k5_mutex_lock) [__GNUC__]: Add
index 071ff55ac6f385a45f768d31d7ec35ae1852b6e1..74b3986bca87eacfb45c77e2139d18dd9d4b75c4 100644 (file)
@@ -9,7 +9,7 @@ AC_PROG_INSTALL
 AC_PROG_AWK
 AC_PROG_LEX
 AC_C_CONST
-AC_CHECK_FUNCS(strdup setvbuf inet_ntoa inet_aton seteuid setresuid setreuid setegid setresgid setregid setsid flock fchmod chmod strftime strptime geteuid setenv unsetenv getenv gethostbyname2 getifaddrs getpwnam_r getpwuid_r gmtime_r localtime_r pthread_mutex_lock sched_yield)
+AC_CHECK_FUNCS(strdup setvbuf inet_ntoa inet_aton seteuid setresuid setreuid setegid setresgid setregid setsid flock fchmod chmod strftime strptime geteuid setenv unsetenv getenv gethostbyname2 getifaddrs gmtime_r localtime_r pthread_mutex_lock sched_yield)
 AC_CHECK_FUNCS( mkstemp)
 AC_HEADER_STDARG
 AC_CHECK_HEADERS(unistd.h paths.h regex.h regexp.h regexpr.h fcntl.h memory.h ifaddrs.h sys/filio.h sched.h)
@@ -50,6 +50,8 @@ fi
 ])
 dnl
 
+AC_CHECK_FUNC(getpwnam_r,ac_cv_func_getpwnam_r=yes,ac_cv_func_getpwnam_r=no)
+AC_CHECK_FUNC(getpwuid_r,ac_cv_func_getpwuid_r=yes,ac_cv_func_getpwuid_r=no)
 if test "$ac_cv_func_getpwnam_r" = yes; then
   AC_MSG_CHECKING([return type of getpwnam_r])
   AC_CACHE_VAL(krb5_cv_getpwnam_r_return_type,
@@ -68,7 +70,7 @@ if test "$ac_cv_func_getpwnam_r" = yes; then
   if test $krb5_cv_getpwnam_r_return_type = int; then
     AC_DEFINE(GETPWNAM_R_RETURNS_INT, 1, [Define if getpwnam_r returns an int])
   elif test $krb5_cv_getpwnam_r_return_type = unknown; then
-    AC_MSG_WARN([Cannot determine getpwnam_r return type, disabling])
+    AC_MSG_WARN([Cannot determine getpwnam_r return type, disabling getpwnam_r])
     ac_cv_func_getpwnam_r=no
   fi
 fi
@@ -77,27 +79,65 @@ if test "$ac_cv_func_getpwnam_r" = yes; then
   AC_CACHE_VAL(krb5_cv_getpwnam_r_args,
   [AC_TRY_COMPILE([#include <pwd.h>
    struct passwd pwx; char buf[1024];],
-   [getpwnam_r("", &pwx, buf, sizeof(buf));],
-   krb5_cv_getpwnam_r_args=4,krb5_cv_getpwnam_r_args=5)])
+   [getpwnam_r("", &pwx, buf, sizeof(buf));], args4=yes, args4=no)
+   AC_TRY_COMPILE([#include <pwd.h>
+   struct passwd pwx, *p; char buf[1024];],
+   [getpwnam_r("", &pwx, buf, sizeof(buf), &p);], args5=yes, args5=no)
+   case $args4/$args5 in
+     yes/no) krb5_cv_getpwnam_r_args=4 ;;
+     no/yes) krb5_cv_getpwnam_r_args=5 ;;
+     *) krb5_cv_getpwnam_r_args=unknown ;;
+   esac])
   AC_MSG_RESULT($krb5_cv_getpwnam_r_args)
-  if test "$krb5_cv_getpwnam_r_args" = 4; then
-    AC_DEFINE(GETPWNAM_R_4_ARGS,1,[Define if getpwnam_r exists but takes only 4 arguments (e.g., POSIX draft 6 implementations like some Solaris releases).])
+  if test "$krb5_cv_getpwnam_r_args" = unknown; then
+    AC_MSG_WARN([Cannot determine number of arguments to getpwnam_r, disabling its use.])
+    ac_cv_func_getpwnam_r=no
+  else
+    AC_DEFINE(HAVE_GETPWNAM_R,1,[Define if getpwnam_r is available and useful.])
+    if test "$krb5_cv_getpwnam_r_args" = 4; then
+      AC_DEFINE(GETPWNAM_R_4_ARGS,1,[Define if getpwnam_r exists but takes only 4 arguments (e.g., POSIX draft 6 implementations like some Solaris releases).])
+    fi
   fi
 fi
 
+if test "$ac_cv_func_getpwnam_r" = no && test "$ac_cv_func_getpwuid_r" = yes; then
+  # Actually, we could do this check, and the corresponding checks
+  # for return type and number of arguments, but I doubt we'll run
+  # into a system where we'd get to use getpwuid_r but not getpwnam_r.
+  AC_MSG_NOTICE([getpwnam_r not useful, so disabling getpwuid_r too])
+  ac_cv_func_getpwuid_r=no
+fi
 if test "$ac_cv_func_getpwuid_r" = yes; then
-  AC_MSG_CHECKING([number of arguments to getpwuid_r])
-  AC_CACHE_VAL(krb5_cv_getpwuid_r_args,
-  [AC_TRY_COMPILE([#include <pwd.h>
-   struct passwd pwx; char buf[1024];],
-   [getpwuid_r(0, &pwx, buf, sizeof(buf));],
-   krb5_cv_getpwuid_r_args=4,krb5_cv_getpwuid_r_args=5)])
-  AC_MSG_RESULT($krb5_cv_getpwuid_r_args)
-  if test "$krb5_cv_getpwuid_r_args" = 4; then
+  AC_DEFINE(HAVE_GETPWUID_R,1,[Define if getpwuid_r is available and useful.])
+  # Hack: Assume getpwuid_r is the shorter form if getpwnam_r is.
+  if test "$krb5_cv_getpwnam_r_args" = 4; then
     AC_DEFINE(GETPWUID_R_4_ARGS,1,[Define if getpwuid_r exists but takes only 4 arguments (e.g., POSIX draft 6 implementations like some Solaris releases).])
   fi
 fi
 
+if test "$ac_cv_func_gmtime_r" = yes; then
+  AC_MSG_CHECKING([whether gmtime_r returns int])
+  AC_CACHE_VAL(krb5_cv_gmtime_r_returns_int,
+  [AC_TRY_COMPILE([#include <time.h>
+   extern int gmtime_r ();], [1;], return_int=yes, return_int=no)
+   AC_TRY_COMPILE([#include <time.h>
+   extern struct tm *gmtime_r ();], [1;], return_ptr=yes, return_ptr=no)
+   case $return_int/$return_ptr in
+     yes/no) krb5_cv_gmtime_r_returns_int=yes ;;
+     no/yes) krb5_cv_gmtime_r_returns_int=no ;;
+     *)      # Can't figure it out, punt the function.
+             ac_cv_func_gmtime_r=no ;;
+   esac])
+  if test "$ac_cv_func_gmtime_r" = no; then
+    AC_MSG_RESULT(unknown -- ignoring gmtime_r)
+  else
+    AC_MSG_RESULT($krb5_cv_gmtime_r_returns_int)
+    if test "$krb5_cv_gmtime_r_returns_int" = yes; then
+      AC_DEFINE(GMTIME_R_RETURNS_INT,1,[Define if gmtime_r returns int instead of struct tm pointer, as on old HP-UX systems.])
+    fi
+  fi
+fi
+
 AC_CHECK_FUNC(getservbyname_r,[
 ac_cv_func_getservbyname_r=yes
 if test "$ac_cv_func_getservbyname_r" = yes; then
index cc23a3f7d17056bbdafa16a154e0b077b1d62fdc..a0e58b77af258f89a0db27da9de61db9b6c01e9c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2001,2002,2003,2004 by the Massachusetts Institute of Technology,
+ * Copyright (C) 2001,2002,2003,2004,2005 by the Massachusetts Institute of Technology,
  * Cambridge, MA, USA.  All Rights Reserved.
  * 
  * This software is being provided to you, the LICENSEE, by the 
 #include "k5-thread.h"
 
 #include <stdio.h>             /* for sprintf */
+#include <errno.h>
 
 #ifdef S_SPLINT_S
 /*@-incondefs@*/
@@ -755,7 +756,36 @@ static inline int fai_add_hosts_by_name (const char *name,
           we never have to look up an IPv6 address if we are always
           asked for IPv4 only, but let's deal with that later, if we
           have to.  */
-       aierr = system_getaddrinfo(name, "telnet", &myhints, &ai);
+       /* Try NULL for the service for now.
+
+          It would be nice to use the requested service name, and not
+          have to patch things up, but then we'd be doing multiple
+          queries for the same host when we get different services.
+          We were using "telnet" for a little more confidence that
+          getaddrinfo would heed the hints to only give us stream
+          socket types (with no socket type and null service name, we
+          might get stream *and* dgram *and* raw, for each address,
+          or only raw).  The RFC 3493 description of ai_socktype
+          sometimes associates it with the specified service,
+          sometimes not.
+
+          But on Mac OS X (10.3, 10.4) they've "extended" getaddrinfo
+          to make SRV RR queries.  (Please, somebody, show me
+          something in the specs that actually supports this?  RFC
+          3493 says nothing about it, but it does say getaddrinfo is
+          the new way to look up hostnames.  RFC 2782 says SRV
+          records should *not* be used unless the application
+          protocol spec says to do so.  The Telnet spec does not say
+          to do it.)  And then they complain when our code
+          "unexpectedly" seems to use this "extension" in cases where
+          they don't want it to be used.
+
+          Fortunately, it appears that if we specify ai_socktype as
+          SOCK_STREAM and use a null service name, we only get one
+          copy of each address on all the platforms I've tried,
+          although it may not have ai_socktype filled in properly.
+          So, we'll fudge it with that for now.  */
+       aierr = system_getaddrinfo(name, NULL, &myhints, &ai);
        if (aierr) {
            krb5int_unlock_fac();
            return aierr;
@@ -967,7 +997,6 @@ fake_getaddrinfo (const char *name, const char *serv,
 }
 
 #ifdef NEED_FAKE_GETNAMEINFO
-#include <errno.h>
 static inline int
 fake_getnameinfo (const struct sockaddr *sa, socklen_t len,
                  char *host, socklen_t hostlen,
@@ -1058,7 +1087,6 @@ fake_getnameinfo (const struct sockaddr *sa, socklen_t len,
 }
 #endif
 
-#include <errno.h>
 #if defined(HAVE_FAKE_GETADDRINFO) || defined(NEED_FAKE_GETNAMEINFO)
 
 static inline
index 3373a6516ed6bd24cb125f696ab907b57b95179b..8d2262ac9aebe49ead7730b7218fd3255bfbc424 100644 (file)
@@ -1672,7 +1672,7 @@ void krb5int_free_srv_dns_data(struct srv_dns_entry *);
 /* To keep happy libraries which are (for now) accessing internal stuff */
 
 /* Make sure to increment by one when changing the struct */
-#define KRB5INT_ACCESS_STRUCT_VERSION 8
+#define KRB5INT_ACCESS_STRUCT_VERSION 9
 
 #ifndef ANAME_SZ
 struct ktext;                  /* from krb.h, for krb524 support */
@@ -1704,6 +1704,7 @@ typedef struct _krb5int_access {
                                            const char *protocol,
                                            struct srv_dns_entry **answers);
     void (*free_srv_dns_data)(struct srv_dns_entry *);
+    int (*use_dns_kdc)(krb5_context);
 
     /* krb4 compatibility stuff -- may be null if not enabled */
     krb5_int32 (*krb_life_to_time)(krb5_int32, int);
index e0793f6290e2ba2e64e756b2dc717896cead4fdf..8a88cacf318834d9f416b7a3122203f1c39df14e 100644 (file)
@@ -32,6 +32,7 @@
  * + 64-bit types and load/store code
  * + SIZE_MAX
  * + shared library init/fini hooks
+ * + consistent getpwnam/getpwuid interfaces
  */
 
 #ifndef K5_PLATFORM_H
    At top level, before the functions are defined or even declared:
    MAKE_INIT_FUNCTION(init_fn);
    MAKE_FINI_FUNCTION(fini_fn);
+   Then:
    int init_fn(void) { ... }
    void fini_fn(void) { if (INITIALIZER_RAN(init_fn)) ... }
-
    In code, in the same file:
    err = CALL_INIT_FUNCTION(init_fn);
 
    To trigger or verify the initializer invocation from another file,
-   an additional function must be created.
+   a helper function must be created.
+
+   This model handles both the load-time execution (Windows) and
+   delayed execution (pthread_once) approaches, and should be able to
+   guarantee in both cases that the init function is run once, in one
+   thread, before other stuff in the library is done; furthermore, the
+   finalization code should only run if the initialization code did.
+   (Maybe I could've made the "if INITIALIZER_RAN" test implicit, via
+   another function hidden in macros, but this is hairy enough
+   already.)
 
    The init_fn and fini_fn names should be chosen such that any
    exported names staring with those names, and optionally followed by
    the library in question.
 
 
+   There's also PROGRAM_EXITING() currently always defined as zero.
+   If there's some trivial way to find out if the fini function is
+   being called because the program that the library is linked into is
+   exiting, we can just skip all the work because the resources are
+   about to be freed up anyways.  Generally this is likely to be the
+   same as distinguishing whether the library was loaded dynamically
+   while the program was running, or loaded as part of program
+   startup.  On most platforms, I don't think we can distinguish these
+   cases easily, and it's probably not worth expending any significant
+   effort.  (Note in particular that atexit() won't do, because if the
+   library is explicitly loaded and unloaded, it would have to be able
+   to deregister the atexit callback function.  Also, the system limit
+   on atexit callbacks may be small.)
+
+
    Implementation outline:
 
    Windows: MAKE_FINI_FUNCTION creates a symbol with a magic name that
    just check the flag) and returns the stored error code (or the
    pthread_once error).
 
+   (That's the basic idea.  With some debugging assert() calls and
+   such, it's a bit more complicated.  And we also need to handle
+   doing the pthread test at run time on systems where that works, so
+   we use the k5_once_t stuff instead.)
+
    UNIX, with compiler support: MAKE_FINI_FUNCTION declares the
    function as a destructor, and the run time linker support or
    whatever will cause it to be invoked when the library is unloaded,
    UNIX, no library finalization support: The finalization function
    never runs, and we leak memory.  Tough.
 
+   DELAY_INITIALIZER will be defined by the configure script if we
+   want to use k5_once instead of load-time initialization.  That'll
+   be the preferred method on most systems except Windows, where we
+   have to initialize some mutexes.
+
+
 
 
    For maximum flexibility in defining the macros, the function name
    parameter should be a simple name, not even a macro defined as
    another name.  The function should have a unique name, and should
    conform to whatever namespace is used by the library in question.
+   (We do have export lists, but (1) they're not used for all
+   platforms, and (2) they're not used for static libraries.)
 
    If the macro expansion needs the function to have been declared, it
    must include a declaration.  If it is not necessary for the symbol
 
    This is going to be compiler- and environment-specific, and may
    require some support at library build time, and/or "asm"
-   statements.
+   statements.  But through macro expansion and auxiliary functions,
+   we should be able to handle most things except #pragma.
 
    It's okay for this code to require that the library be built
    with the same compiler and compiler options throughout, but
    work, we'll only have memory leaks in a load/use/unload cycle.  If
    anyone (like, say, the OS vendor) complains about this, they can
    tell us how to get a shared library finalization function invoked
-   automatically.  */
+   automatically.
+
+   Currently there's --disable-delayed-initialization for preventing
+   the initialization from being delayed on UNIX, but that's mainly
+   just for testing the linker options for initialization, and will
+   probably be removed at some point.  */
 
 /* Helper macros.  */
 
@@ -194,8 +238,11 @@ static inline int k5_call_init_function(k5_init_t *i)
    multiple active threads mucking around in our library at this
    point.  So ignore the once_t object and just look at the flag.
 
-   XXX Could we have problems with memory coherence between
-   processors if we don't invoke mutex/once routines?  */
+   XXX Could we have problems with memory coherence between processors
+   if we don't invoke mutex/once routines?  Probably not, the
+   application code should already be coordinating things such that
+   the library code is not in use by this point, and memory
+   synchronization will be needed there.  */
 # define INITIALIZER_RAN(NAME) \
        (JOIN__2(NAME, once).did_run && JOIN__2(NAME, once).error == 0)
 
@@ -206,6 +253,7 @@ static inline int k5_call_init_function(k5_init_t *i)
 /* Run initializer at load time, via GCC/C++ hook magic.  */
 
 # ifdef USE_LINKER_INIT_OPTION
+     /* Both gcc and linker option??  Favor gcc.  */
 #  define MAYBE_DUMMY_INIT(NAME)               \
        void JOIN__2(NAME, auxinit) () { }
 # else
@@ -232,6 +280,8 @@ typedef struct { int error; unsigned char did_run; } k5_init_t;
         : (abort(),0))
 # define INITIALIZER_RAN(NAME) (JOIN__2(NAME,ran).did_run == 3 && JOIN__2(NAME, ran).error == 0)
 
+# define PROGRAM_EXITING()             (0)
+
 #elif defined(USE_LINKER_INIT_OPTION) || defined(_WIN32)
 
 /* Run initializer at load time, via linker magic, or in the
@@ -271,9 +321,35 @@ typedef struct { int error; unsigned char did_run; } k5_init_t;
    matter what compiler we're using.  Do it the same way
    regardless.  */
 
-# define MAKE_FINI_FUNCTION(NAME)      \
+# ifdef __hpux
+
+     /* On HP-UX, we need this auxiliary function.  At dynamic load or
+       unload time (but *not* program startup and termination for
+       link-time specified libraries), the linker-indicated function
+       is called with a handle on the library and a flag indicating
+       whether it's being loaded or unloaded.
+
+       The "real" fini function doesn't need to be exported, so
+       declare it static.
+
+       As usual, the final declaration is just for syntactic
+       convenience, so the top-level invocation of this macro can be
+       followed by a semicolon.  */
+
+#  include <dl.h>
+#  define MAKE_FINI_FUNCTION(NAME)                                         \
+       static void NAME(void);                                             \
+       void JOIN__2(NAME, auxfini)(shl_t, int); /* silence gcc warnings */ \
+       void JOIN__2(NAME, auxfini)(shl_t h, int l) { if (!l) NAME(); }     \
+       static void NAME(void)
+
+# else /* not hpux */
+
+#  define MAKE_FINI_FUNCTION(NAME)     \
        void NAME(void)
 
+# endif
+
 #elif defined(__GNUC__) && defined(DESTRUCTOR_ATTR_WORKS)
 /* If we're using gcc, if the C++ support works, the compiler should
    build executables and shared libraries that support the use of
@@ -417,4 +493,60 @@ load_64_le (unsigned char *p)
     return ((UINT64_TYPE)load_32_le(p+4) << 32) | load_32_le(p);
 }
 
+
+/* Make the interfaces to getpwnam and getpwuid consistent.
+   Model the wrappers on the POSIX thread-safe versions, but
+   use the unsafe system versions if the safe ones don't exist
+   or we can't figure out their interfaces.  */
+
+/* int k5_getpwnam_r(const char *, blah blah) */
+#ifdef HAVE_GETPWNAM_R
+# ifndef GETPWNAM_R_4_ARGS
+/* POSIX */
+#  define k5_getpwnam_r(NAME, REC, BUF, BUFSIZE, OUT) \
+       getpwnam_r(NAME,REC,BUF,BUFSIZE,OUT)
+# else
+/* POSIX drafts? */
+#  ifdef GETPWNAM_R_RETURNS_INT
+#   define k5_getpwnam_r(NAME, REC, BUF, BUFSIZE, OUT) \
+       (getpwnam_r(NAME,REC,BUF,BUFSIZE) == 0          \
+        ? (*(OUT) = REC, 0)                            \
+        : (*(OUT) = NULL, -1))
+#  else
+#   define k5_getpwnam_r(NAME, REC, BUF, BUFSIZE, OUT)  \
+       (*(OUT) = getpwnam_r(NAME,REC,BUF,BUFSIZE), *(OUT) == NULL ? -1 : 0)
+#  endif
+# endif
+#else /* no getpwnam_r, or can't figure out #args or return type */
+/* Will get warnings about unused variables.  */
+# define k5_getpwnam_r(NAME, REC, BUF, BUFSIZE, OUT) \
+       (*(OUT) = getpwnam(NAME), *(OUT) == NULL ? -1 : 0)
+#endif
+
+/* int k5_getpwuid_r(uid_t, blah blah) */
+#ifdef HAVE_GETPWUID_R
+# ifndef GETPWUID_R_4_ARGS
+/* POSIX */
+#  define k5_getpwuid_r(UID, REC, BUF, BUFSIZE, OUT) \
+       getpwuid_r(UID,REC,BUF,BUFSIZE,OUT)
+# else
+/* POSIX drafts?  Yes, I mean to test GETPWNAM... here.  Less junk to
+   do at configure time.  */
+#  ifdef GETPWNAM_R_RETURNS_INT
+#   define k5_getpwuid_r(UID, REC, BUF, BUFSIZE, OUT)  \
+       (getpwuid_r(UID,REC,BUF,BUFSIZE) == 0           \
+        ? (*(OUT) = REC, 0)                            \
+        : (*(OUT) = NULL, -1))
+#  else
+#   define k5_getpwuid_r(UID, REC, BUF, BUFSIZE, OUT)  \
+       (*(OUT) = getpwuid_r(UID,REC,BUF,BUFSIZE), *(OUT) == NULL ? -1 : 0)
+#  endif
+# endif
+#else /* no getpwuid_r, or can't figure out #args or return type */
+/* Will get warnings about unused variables.  */
+# define k5_getpwuid_r(UID, REC, BUF, BUFSIZE, OUT) \
+       (*(OUT) = getpwuid(UID), *(OUT) == NULL ? -1 : 0)
+#endif
+
+
 #endif /* K5_PLATFORM_H */
index 5fecf082757f5cbe858a920dc3e733eb117e1ec0..d750003a00ee6173656cf7606548550ac1f52e22 100644 (file)
@@ -301,7 +301,7 @@ static inline int k5_os_nothread_mutex_unlock(k5_os_nothread_mutex *m) {
     return 0;
 }
 # define k5_os_nothread_mutex_assert_locked(M)         ((void)0)
-# define k5_os_nothread_mutex_assert_unlocked(M)       ((void(0)
+# define k5_os_nothread_mutex_assert_unlocked(M)       ((void)0)
 
 #endif
 
@@ -367,17 +367,13 @@ typedef k5_os_nothread_mutex k5_os_mutex;
 # pragma weak pthread_mutex_unlock
 # pragma weak pthread_mutex_destroy
 # pragma weak pthread_mutex_init
+# pragma weak pthread_self
+# pragma weak pthread_equal
 # ifdef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP_IN_THREAD_LIB
 #  pragma weak pthread_mutexattr_setrobust_np
 # endif
-# if !defined HAVE_PTHREAD_ONCE
-#  define K5_PTHREADS_LOADED   (&pthread_once != 0)
-# elif !defined HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP \
-       && defined HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP_IN_THREAD_LIB
-#  define K5_PTHREADS_LOADED   (&pthread_mutexattr_setrobust_np != 0)
-# else
-#  define K5_PTHREADS_LOADED   (1)
-# endif
+extern int krb5int_pthread_loaded(void);
+# define K5_PTHREADS_LOADED    (krb5int_pthread_loaded())
 #else
 /* no pragma weak support */
 # define K5_PTHREADS_LOADED    (1)
@@ -402,6 +398,8 @@ typedef k5_os_nothread_mutex k5_os_mutex;
 #endif
 
 #if !defined(HAVE_PTHREAD_MUTEX_LOCK) && !defined(USE_PTHREAD_LOCK_ONLY_IF_LOADED)
+/* If we find a system with a broken stub for pthread_mutex_lock,
+   we may have to change this.  */
 # define USE_PTHREAD_LOCK_ONLY_IF_LOADED
 #endif
 
@@ -423,17 +421,53 @@ typedef pthread_once_t k5_once_t;
 
 typedef struct {
     pthread_mutex_t p;
+#ifdef DEBUG_THREADS
+    pthread_t owner;
+#endif
 #ifdef USE_PTHREAD_LOCK_ONLY_IF_LOADED
     k5_os_nothread_mutex n;
 #endif
 } k5_os_mutex;
 
+#ifdef DEBUG_THREADS
+# ifdef __GNUC__
+#  define k5_pthread_mutex_lock(M)                     \
+       ({                                              \
+           k5_os_mutex *_m2 = (M);                     \
+           int _r2 = pthread_mutex_lock(&_m2->p);      \
+           if (_r2 == 0) _m2->owner = pthread_self();  \
+           _r2;                                        \
+       })
+# else
+static inline int
+k5_pthread_mutex_lock(k5_os_mutex *m)
+{
+    int r = pthread_mutex_lock(&m->p);
+    if (r)
+       return r;
+    m->owner = pthread_self();
+    return 0;
+}
+# endif
+# define k5_pthread_assert_locked(M)                           \
+       (K5_PTHREADS_LOADED                                     \
+        ? assert(pthread_equal((M)->owner, pthread_self()))    \
+        : (void)0)
+# define k5_pthread_mutex_unlock(M)    \
+       (k5_pthread_assert_locked(M),   \
+        (M)->owner = (pthread_t) 0,    \
+        pthread_mutex_unlock(&(M)->p))
+#else
+# define k5_pthread_mutex_lock(M) pthread_mutex_lock(&(M)->p)
+static inline void k5_pthread_assert_locked(k5_os_mutex *m) { }
+# define k5_pthread_mutex_unlock(M) pthread_mutex_unlock(&(M)->p)
+#endif
+
 /* Define as functions to:
    (1) eliminate "statement with no effect" warnings for "0"
    (2) encourage type-checking in calling code  */
 
 static inline void k5_pthread_assert_unlocked(pthread_mutex_t *m) { }
-static inline void k5_pthread_assert_locked(pthread_mutex_t *m) { }
 
 #if defined(DEBUG_THREADS_SLOW) && HAVE_SCHED_H && (HAVE_SCHED_YIELD || HAVE_PRAGMA_WEAK_REF)
 # include <sched.h>
@@ -481,8 +515,18 @@ static inline int return_after_yield(int r)
 
 #ifdef USE_PTHREAD_LOCK_ONLY_IF_LOADED
 
-# define K5_OS_MUTEX_PARTIAL_INITIALIZER \
+# if defined(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP) && defined(DEBUG_THREADS)
+#  define K5_OS_MUTEX_PARTIAL_INITIALIZER \
+       { PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, (pthread_t) 0, \
+         K5_OS_NOTHREAD_MUTEX_PARTIAL_INITIALIZER }
+# elif defined(DEBUG_THREADS)
+#  define K5_OS_MUTEX_PARTIAL_INITIALIZER \
+       { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, \
+         K5_OS_NOTHREAD_MUTEX_PARTIAL_INITIALIZER }
+# else
+#  define K5_OS_MUTEX_PARTIAL_INITIALIZER \
        { PTHREAD_MUTEX_INITIALIZER, K5_OS_NOTHREAD_MUTEX_PARTIAL_INITIALIZER }
+# endif
 
 # define k5_os_mutex_finish_init(M)            \
        k5_os_nothread_mutex_finish_init(&(M)->n)
@@ -499,12 +543,12 @@ static inline int return_after_yield(int r)
 
 # define k5_os_mutex_lock(M)                                           \
        return_after_yield(K5_PTHREADS_LOADED                           \
-                          ? pthread_mutex_lock(&(M)->p)                \
+                          ? k5_pthread_mutex_lock(M)                   \
                           : k5_os_nothread_mutex_lock(&(M)->n))
 # define k5_os_mutex_unlock(M)                         \
        (MAYBE_SCHED_YIELD(),                           \
         (K5_PTHREADS_LOADED                            \
-         ? pthread_mutex_unlock(&(M)->p)               \
+         ? k5_pthread_mutex_unlock(M)                  \
          : k5_os_nothread_mutex_unlock(&(M)->n)))
 
 # define k5_os_mutex_assert_unlocked(M)                        \
@@ -513,22 +557,32 @@ static inline int return_after_yield(int r)
         : k5_os_nothread_mutex_assert_unlocked(&(M)->n))
 # define k5_os_mutex_assert_locked(M)                  \
        (K5_PTHREADS_LOADED                             \
-        ? k5_pthread_assert_locked(&(M)->p)            \
+        ? k5_pthread_assert_locked(M)                  \
         : k5_os_nothread_mutex_assert_locked(&(M)->n))
 
 #else
 
-# define K5_OS_MUTEX_PARTIAL_INITIALIZER \
+# ifdef DEBUG_THREADS
+#  ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+#   define K5_OS_MUTEX_PARTIAL_INITIALIZER \
+       { PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, (pthread_t) 0 }
+#  else
+#   define K5_OS_MUTEX_PARTIAL_INITIALIZER \
+       { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0 }
+#  endif
+# else
+#  define K5_OS_MUTEX_PARTIAL_INITIALIZER \
        { PTHREAD_MUTEX_INITIALIZER }
+# endif
 
 static inline int k5_os_mutex_finish_init(k5_os_mutex *m) { return 0; }
 # define k5_os_mutex_init(M)           pthread_mutex_init(&(M)->p, 0)
 # define k5_os_mutex_destroy(M)                pthread_mutex_destroy(&(M)->p)
-# define k5_os_mutex_lock(M)   return_after_yield(pthread_mutex_lock(&(M)->p))
-# define k5_os_mutex_unlock(M)         (MAYBE_SCHED_YIELD(),pthread_mutex_unlock(&(M)->p))
+# define k5_os_mutex_lock(M)   return_after_yield(k5_pthread_mutex_lock(M))
+# define k5_os_mutex_unlock(M)         (MAYBE_SCHED_YIELD(),k5_pthread_mutex_unlock(M))
 
 # define k5_os_mutex_assert_unlocked(M)        k5_pthread_assert_unlocked(&(M)->p)
-# define k5_os_mutex_assert_locked(M)  k5_pthread_assert_locked(&(M)->p)
+# define k5_os_mutex_assert_locked(M)  k5_pthread_assert_locked(M)
 
 #endif /* is pthreads always available? */
 
@@ -614,7 +668,7 @@ static inline int k5_mutex_finish_init_1(k5_mutex_t *m, k5_debug_loc l)
 #define k5_mutex_finish_init(M)        k5_mutex_finish_init_1((M), K5_DEBUG_LOC)
 #define k5_mutex_destroy(M)                    \
        (k5_os_mutex_assert_unlocked(&(M)->os), \
-        (M)->loc_last = K5_DEBUG_LOC,          \
+        k5_mutex_lock(M), (M)->loc_last = K5_DEBUG_LOC, k5_mutex_unlock(M), \
         k5_os_mutex_destroy(&(M)->os))
 #ifdef __GNUC__
 #define k5_mutex_lock(M)                               \
@@ -637,16 +691,10 @@ static inline int k5_mutex_lock_1(k5_mutex_t *m, k5_debug_loc l)
 }
 #define k5_mutex_lock(M)       k5_mutex_lock_1(M, K5_DEBUG_LOC)
 #endif
-static inline int k5_mutex_unlock_1(k5_mutex_t *m, k5_debug_loc l)
-{
-    int err = 0;
-    err = k5_os_mutex_unlock(&m->os);
-    if (err)
-       return err;
-    m->loc_last = l;
-    return err;
-}
-#define k5_mutex_unlock(M)     k5_mutex_unlock_1(M, K5_DEBUG_LOC)
+#define k5_mutex_unlock(M)                             \
+       (k5_mutex_assert_locked(M),                     \
+        (M)->loc_last = K5_DEBUG_LOC,                  \
+        k5_os_mutex_unlock(&(M)->os))
 
 #define k5_mutex_assert_locked(M)      k5_os_mutex_assert_locked(&(M)->os)
 #define k5_mutex_assert_unlocked(M)    k5_os_mutex_assert_unlocked(&(M)->os)
index 58fbfaa69b1e213f917bd9ea2404a8243bf066ee..46f3a143d14b8147420bc9c8781de58db84eaa5e 100644 (file)
@@ -1369,6 +1369,8 @@ krb5_boolean krb5_is_permitted_enctype
        (krb5_context, krb5_enctype);
 #endif
 
+krb5_boolean KRB5_CALLCONV krb5_is_thread_safe(void);
+
 /* libkrb.spec */
 #if KRB5_PRIVATE
 krb5_error_code krb5_kdc_rep_decrypt_proc
@@ -1656,7 +1658,7 @@ krb5_error_code KRB5_CALLCONV krb5_kt_add_entry
        (krb5_context,
                krb5_keytab,
                krb5_keytab_entry * );
-krb5_error_code krb5_principal2salt
+krb5_error_code KRB5_CALLCONV_WRONG krb5_principal2salt
        (krb5_context,
                krb5_const_principal, krb5_data *);
 #if KRB5_PRIVATE
index 353d2beba0b4f17be9e17ba1ad7545301a9fcffc..0b58a9c4d677eabd97279f940024926003ffa482 100644 (file)
@@ -77,6 +77,7 @@ typedef unsigned char u_char;
 /* if __STDC_VERSION__ >= 199901L this shouldn't be needed */
 #define inline __inline
 #define KRB5_USE_INET6
+#define NEED_INSIXADDR_ANY
 #define ENABLE_THREADS
 
 #define WM_KERBEROS5_CHANGED "Kerberos5 Changed"
index 1fe06ba3e555c6a0049985a8fce40ee76547e8fc..1e2ef44f03384e54e1e7eb1f4aa6a5ff4e96ada4 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-11  Tom Yu  <tlyu@mit.edu>
+
+       * kadmin.c (kadmin_startup): New flag "-N" to prevent fallback to
+       AUTH_GSSAPI.
+
+       * kadmin.M: Describe "-O" and "-N" flags.
+
 2004-09-17  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (install): Use $(INSTALL_SCRIPT) for scripts.
index a35106c714119ff668f348aec03a083f5b378d93..d9d6abda10024a68f4a0c9f4ea467e92b4125db7 100644 (file)
@@ -5,6 +5,7 @@ kadmin \- Kerberos V5 database administration program
 .TP
 .B kadmin
 .ad l
+[\fB\-O\fP | \fB\-N\fP]
 [\fB\-r\fP \fIrealm\fP] [\fB\-p\fP \fIprincipal\fP] [\fB\-q\fP \fIquery\fP]
 .br
 [[\fB-c\fP \fIcache_name\fP] | [\fB-k\fP [\fB-t\fP
@@ -140,7 +141,12 @@ to prompt for the master database password.
 \fB\-e\fP \fIenc:salt_list\fP
 Sets the list of encryption types and salt types to be used for any new
 keys created.
-
+.TP
+.B \-O
+Force use of old AUTH_GSSAPI authentication flavor.
+.TP
+.B \-N
+Prevent fallback to AUTH_GSSAPI authentication flavor.
 .SH DATE FORMAT 
 Various commands in kadmin can take a variety of date formats,
 specifying durations or absolute times.  Examples of valid formats are:
index 9b9294df75213babc0cea15ae98b3d14c30b0769..957659dad77ad65cca5eafddd49e0c639a43f325 100644 (file)
@@ -193,7 +193,7 @@ char *kadmin_startup(argc, argv)
         exit(1);
     }
                     
-    while ((optchar = getopt(argc, argv, "r:p:kq:w:d:s:mc:t:e:O")) != EOF) {
+    while ((optchar = getopt(argc, argv, "r:p:kq:w:d:s:mc:t:e:ON")) != EOF) {
        switch (optchar) {
        case 'r':
            def_realm = optarg;
@@ -244,6 +244,9 @@ char *kadmin_startup(argc, argv)
        case 'O':
            params.mask |= KADM5_CONFIG_OLD_AUTH_GSSAPI;
            break;
+       case 'N':
+           params.mask |= KADM5_CONFIG_AUTH_NOFALLBACK;
+           break;
        default:
            usage();
        }
index 868eeb98014ca9711c603b8dfedb67f0c83242fd..f34d8f83c30d0d3faf81ad6da915e07962f3a247 100644 (file)
@@ -1,3 +1,8 @@
+2005-02-10  Tom Yu  <tlyu@mit.edu>
+
+       * tcl_kadm5.c (unparse_err): Add entries for KRB5_CC_NOTFOUND and
+       KRB5_FCC_NOFILE, to handle changes in client_init.c.
+
 2004-07-28  Ken Raeburn  <raeburn@mit.edu>
 
        * tcl_kadm5.c (parse_flags, parse_keysalts, parse_key_data,
index 21e029bd1ed2421d967a7987e82033c26cfccd52..a6b945277c72b9905c880f0d845550bf2396cbf9 100644 (file)
@@ -410,6 +410,9 @@ static Tcl_DString *unparse_err(kadm5_ret_t code)
      case KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN: code_string = "KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN"; break;
      case KRB5_CONFIG_BADFORMAT: code_string = "KRB5_CONFIG_BADFORMAT"; break;
 
+     case KRB5_CC_NOTFOUND: code_string = "KRB5_CC_NOTFOUND"; break;
+     case KRB5_FCC_NOFILE: code_string = "KRB5_FCC_NOFILE"; break;
+
      case EINVAL: code_string = "EINVAL"; break;
      case ENOENT: code_string = "ENOENT"; break;
 
index 69f392c5195ddbf0e0bb4e2ba33dfcbe52a01b8c..2774ff00eb04617e4ee5061295d1109e03289e4c 100644 (file)
@@ -1,3 +1,13 @@
+2005-07-12  Tom Yu  <tlyu@mit.edu>
+
+       * do_as_req.c (prepare_error_as):
+       * do_tgs_req.c (prepare_error_tgs): Free scratch only if no error,
+       to avoid double-free.  Thanks to Daniel Wachdorf for discovering
+       these.  Part of fix for MITKRB5-SA-2005-002 [CAN-2005-1174,
+       VU#259798].
+
+       * network.c (process_packet): Initialize response to NULL.
+
 2004-09-23  Ken Raeburn  <raeburn@mit.edu>
 
        * network.c (closedown_network): Free each connection data
index 7f3efd8491a78bbca087d52cd4356938d4904ac6..a71922296adec6a029a64a128faa6d26ca7a5426 100644 (file)
@@ -524,6 +524,10 @@ prepare_error_as (krb5_kdc_req *request, int error, krb5_data *e_data,
 
     retval = krb5_mk_error(kdc_context, &errpkt, scratch);
     free(errpkt.text.data);
-    *response = scratch;
+    if (retval)
+       free(scratch);
+    else 
+       *response = scratch;
+
     return retval;
 }
index 085e2855c0376d8835d3ceac634f2a64780719c5..8d1904208ff46ae04dd8ce689e87c83df76d854b 100644 (file)
@@ -722,7 +722,11 @@ prepare_error_tgs (krb5_kdc_req *request, krb5_ticket *ticket, int error,
 
     retval = krb5_mk_error(kdc_context, &errpkt, scratch);
     free(errpkt.text.data);
-    *response = scratch;
+    if (retval)
+       free(scratch);
+    else
+       *response = scratch;
+
     return retval;
 }
 
index d05057aca89bd2e41288e3c5b74dfb7683d97ac2..1610a350c7d76bfa390c613299466777f32a4ba9 100644 (file)
@@ -722,6 +722,7 @@ static void process_packet(struct connection *conn, const char *prog,
     char pktbuf[MAX_DGRAM_SIZE];
     int port_fd = conn->fd;
 
+    response = NULL;
     saddr_len = sizeof(saddr);
     cc = recvfrom(port_fd, pktbuf, sizeof(pktbuf), 0,
                  (struct sockaddr *)&saddr, &saddr_len);
index 5ae2410a9c90d0711ead9e3e1c7f2d5a2e0bf783..b0d8c0c07e2d96d2698ca156b47b4f0682bf1772 100644 (file)
@@ -212,7 +212,7 @@ if test -n "$do_libs"; then
     fi
 
     if test $library = 'krb5'; then
-       lib_flags="$lib_flags -lkrb5 -lk5crypto -lcom_err $LIBS $GEN_LIB"
+       lib_flags="$lib_flags -lkrb5 -lk5crypto -lkrb5support -lcom_err $LIBS $GEN_LIB"
     fi
 
     echo $lib_flags
index 31ed3b099f4c150f89a6cf26a17ca1e641f43a63..2a089b44b8190efd26d1e2c55b7754ee76bf652a 100644 (file)
@@ -1 +1 @@
-krb5support32.def
+k5sprt32.def
index d8ddd197066f8f2ce43efee0270c40351e3ecce6..210a11bc0a42d9a13e334b2ebb0d321f53d7df1d 100644 (file)
@@ -1,3 +1,25 @@
+2005-04-22  Jeffrey Altman <jaltman@mit.edu>
+
+        * win_glue.c:  Remove calls to WSAStartup/WSACleanup because
+        they can result in deadlocks when called from DllMain().
+
+2005-02-16  Jeffrey Altman <jaltman@mit.edu>
+
+        * gssapi32.def: export the missing DATA symbols
+
+2005-01-03  Jeffrey Altman <jaltman@mit.edu>
+
+        * krb5_32.def: export krb5_is_thread_safe()
+
+2004-12-18  Jeffrey Altman <jaltman@mit.edu>
+
+        * krb5_32.def: mark krb5_principal2salt as using the wrong 
+          calling convention.
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        *.cvsignore, Makefile.in: rename krb5support32.def to k5sprt32.def
+
 2004-09-24  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (RCFLAGS): Add -I$(SRCTOP) to get patchlevel.h.
index 909fadcb6030f8588350afc10115109e78b81b24..67867c777688bb339e7e633a132612739169946b 100644 (file)
@@ -28,7 +28,7 @@ clean-windows::
 ##MIT##MITLIBS=$(VS_LIB)
 ##MIT##MITFLAGS=-I$(VS_INC) /DVERSERV=1
 
-SLIBS = $(BUILDTOP)\util\support\$(OUTPRE)krb5support_32.lib
+SLIBS = $(BUILDTOP)\util\support\$(OUTPRE)k5sprt32.lib
 CLIBS = $(BUILDTOP)\util\et\$(OUTPRE)comerr.lib
 PLIBS = $(BUILDTOP)\util\profile\$(OUTPRE)profile.lib
 KLIBS = krb5\$(OUTPRE)krb5.lib crypto\$(OUTPRE)crypto.lib \
@@ -37,7 +37,7 @@ KLIBS = krb5\$(OUTPRE)krb5.lib crypto\$(OUTPRE)crypto.lib \
 GLIBS = gssapi\$(OUTPRE)gssapi.lib
 K4LIBS = krb4\$(OUTPRE)krb4.lib
 
-SDEF = krb5support32.def
+SDEF = k5sprt32.def
 CDEF = comerr32.def
 PDEF = xpprof32.def
 KDEF = krb5_32.def
index c283504610110d377d24bc0cafea41f412858c75..fa03524a3aff5da880fa1a4ea0247888539a54ba 100644 (file)
@@ -1,3 +1,45 @@
+2005-03-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * keyed_cksum.c: (krb5_c_is_keyed_cksum): this is a boolean 
+          function.  It should not return -1U on error.  Instead return
+          0 (false) so that the caller doesn't think it succeeded.
+
+          The only two callers are rd_safe and mk_safe.  Neither checks
+          for special cases.
+
+2005-01-13  Ken Raeburn  <raeburn@mit.edu>
+
+       * prng.c (krb5int_prng_init): Incorporate do_yarrow_init body.
+       Don't check inited variable.
+       (inited): Variable deleted.
+       (krb5_c_random_make_octets, krb5int_prng_cleanup): Don't check
+       it.
+       (do_yarrow_init): Deleted.
+
+2005-01-12  Tom Yu  <tlyu@mit.edu>
+
+       * prng.c (read_entropy_from_device): Use ssize_t, not size_t, so
+       read() returning -1 doesn't cause trouble.
+
+2004-11-17  Ken Raeburn  <raeburn@mit.edu>
+
+       * prng.c (do_yarrow_init): Move mutex initialization here.
+       (krb5int_prng_init): Don't do it here.
+
+2004-11-15  Sam Hartman  <hartmans@mit.edu>
+
+       * t_prng.expected t_prng.reseedtest-expected :  Update expected
+       PRNG test output and confirm that reseeds and gates happen correctly.
+
+2004-10-29  Ken Raeburn  <raeburn@mit.edu>
+
+       * prng.c (yarrow_lock): Rename to krb5int_yarrow_lock via macro,
+       and change to be non-static.
+       (krb5int_prng_init): Call do_yarrow_init here.
+       (krb5_c_random_add_entropy): Don't call it here.  Don't lock the
+       mutex, either.
+       (krb5_c_random_make_octets): Don't lock the mutex.
+
 2004-06-16  Ken Raeburn  <raeburn@mit.edu>
 
        * Makefile.in (MAC_SUBDIRS): Don't set.
index c02a4f87d550e35ea18a0d8f4f3af4891a5059e3..c3d78107a57167a53b73cea629c94c9421a7d5a4 100644 (file)
@@ -1,3 +1,7 @@
+2005-05-03  Ken Raeburn  <raeburn@mit.edu>
+
+       * Makefile.in (aes-gen): Use CC_LINK.  Reported by Mike Friedman.
+
 2004-09-28  Ken Raeburn  <raeburn@mit.edu>
 
        * vbaxam.doc: File deleted.
index ce3e4bdbdf5c755a705a03af819dc0842a658475..dd93281a08c638c78397c8569d222671f3ed0601 100644 (file)
@@ -45,7 +45,7 @@ includes:: depend
 depend:: $(SRCS)
 
 aes-gen: aes-gen.o $(GEN_OBJS)
-       $(CC) -o aes-gen aes-gen.o $(GEN_OBJS)
+       $(CC_LINK) -o aes-gen aes-gen.o $(GEN_OBJS)
 
 run-aes-gen: aes-gen
        ./aes-gen > kresults.out
index 7056f8f99eae0524782739f1d7ebfd8fef281a69..4d50c2c4aefb180429788dec5fd917f44c667c64 100644 (file)
@@ -45,7 +45,7 @@ krb5_c_is_keyed_cksum(krb5_cksumtype ctype)
 
     /* ick, but it's better than coredumping, which is what the
        old code would have done */
-    return -1U;
+    return 0;   /* error case */
 }
 
 krb5_boolean KRB5_CALLCONV
index f9ea8696dcb1c0d9ad71792c78c52f68c1b92b0f..54a68e06752bed222f0c258bb20393b5de559cd1 100644 (file)
@@ -30,8 +30,9 @@
 
 #include "yarrow.h"
 static Yarrow_CTX y_ctx;
-static int inited, init_error;
-static k5_mutex_t yarrow_lock = K5_MUTEX_PARTIAL_INITIALIZER;
+static int init_error;
+#define yarrow_lock krb5int_yarrow_lock
+k5_mutex_t yarrow_lock = K5_MUTEX_PARTIAL_INITIALIZER;
 
 /* Helper function to estimate entropy based on sample length
  * and where it comes from.
@@ -57,31 +58,26 @@ return (0);
 }
 
 int krb5int_prng_init(void)
-{
-    return k5_mutex_finish_init(&yarrow_lock);
-}
-
-static void do_yarrow_init(void)
 {
     unsigned i;
     int yerr;
 
+    yerr = k5_mutex_finish_init(&yarrow_lock);
+    if (yerr)
+       return yerr;
+
     yerr = krb5int_yarrow_init (&y_ctx, NULL);
-    if ((yerr != YARROW_OK) && (yerr != YARROW_NOT_SEEDED)) {
-       init_error = yerr;
-       return;
-    }
+    if ((yerr != YARROW_OK) && (yerr != YARROW_NOT_SEEDED))
+       return KRB5_CRYPTO_INTERNAL;
 
     for (i=0; i < KRB5_C_RANDSOURCE_MAX; i++ ) {
        unsigned source_id;
-       if (krb5int_yarrow_new_source (&y_ctx, &source_id) != YARROW_OK ) {
-           init_error = 17;
-           return;
-       }
+       if (krb5int_yarrow_new_source (&y_ctx, &source_id) != YARROW_OK )
+           return KRB5_CRYPTO_INTERNAL;
        assert (source_id == i);
     }
-    inited=1;
-    init_error = 0;
+
+    return 0;
 }
 
 krb5_error_code KRB5_CALLCONV
@@ -95,21 +91,11 @@ krb5_c_random_add_entropy (krb5_context context, unsigned int randsource,
   if (yerr)
       return yerr;
   /* Now, finally, feed in the data.  */
-  yerr = k5_mutex_lock(&yarrow_lock);
-  if (yerr)
-      return yerr;
-  if (!inited)
-      do_yarrow_init();
-  if (init_error) {
-      k5_mutex_unlock(&yarrow_lock);
-      return KRB5_CRYPTO_INTERNAL;
-  }
   yerr = krb5int_yarrow_input (&y_ctx, randsource,
                               data->data, data->length,
                               entropy_estimate (randsource, data->length));
-  k5_mutex_unlock(&yarrow_lock);
   if (yerr != YARROW_OK)
-    return (KRB5_CRYPTO_INTERNAL);
+      return (KRB5_CRYPTO_INTERNAL);
   return (0);
 }
 
@@ -123,17 +109,12 @@ krb5_error_code KRB5_CALLCONV
 krb5_c_random_make_octets(krb5_context context, krb5_data *data)
 {
     int yerr;
-    assert (inited);
-    yerr = k5_mutex_lock(&yarrow_lock);
-    if (yerr)
-       return yerr;
     yerr = krb5int_yarrow_output (&y_ctx, data->data, data->length);
     if (yerr == YARROW_NOT_SEEDED) {
       yerr = krb5int_yarrow_reseed (&y_ctx, YARROW_SLOW_POOL);
       if (yerr == YARROW_OK)
        yerr = krb5int_yarrow_output (&y_ctx, data->data, data->length);
     }
-    k5_mutex_unlock(&yarrow_lock);
     if ( yerr != YARROW_OK)
       return (KRB5_CRYPTO_INTERNAL);
     return(0);
@@ -141,10 +122,8 @@ krb5_c_random_make_octets(krb5_context context, krb5_data *data)
 
 void krb5int_prng_cleanup (void)
 {
-    if (inited)
-       krb5int_yarrow_final (&y_ctx);
+    krb5int_yarrow_final (&y_ctx);
     k5_mutex_destroy(&yarrow_lock);
-    inited = 0;
 }
 
 
@@ -195,7 +174,7 @@ read_entropy_from_device (krb5_context context, const char *device)
     return 0;
   }
   for (left = sizeof (buf); left > 0;) {
-    size_t count;
+    ssize_t count;
     count = read (fd, &buf, (unsigned) left);
     if (count <= 0) {
       close(fd);
index 70b8b5ae440a8da995ca6d042a05ed27c4505bb3..f7f165051fe10d8ce14f06aa0ecc1218c72bcac5 100644 (file)
@@ -1,4 +1,4 @@
-18086b1e91f730facb2d6e1b
-c562653b24814eb3651b1e68301a3c14b96302bb
-6d017f7aef74662ed8dd51eef14281eaad223298db370bfaca
-30c04231cb3de404e4b8a5359a74066fd963291d7986be835834ab07870c097682a953bfff38784780eef844de47fb36c34f8e034c96cfa64d9cb5decee472138236e9fb79e9fe1fba6b7757b970f22477d167832206900473f09f3e8c822db6d9a8273340ed6743d99638d6cf192d821b6f33d23278b1a929f303a80865c426d01add11b2f2416babd13e70b44d8eeb731c09c7163af9d1a23cbe20ddb08b0f67ecaa2eed511263a67e9c12e59ef113f0b9e4e4e140b43896078a7571c61826ba099b3dd8c4b096a9785b4434e97ea99e662ba6fdb60a41547ccae4c67d3e1f3ef515198e91f009c75c9e80fda90d13ee29d8aad5d87cc2437ce60e6ce55700837fb0815bfd2495f8aa1a33fe67c1ae28a885506a78ca6257f5a5f2a8042e28680acc83b1aecb3a9cb51911126f2f0deaf14fcfa5f165e9a5c3f8f2d1c3f4683b2d75927a7bc802d63b680a5e22768cc0439854ccd49e58a002794f541bddd6ef6fbd4f9869843a72d0ae9d438c90353a46c0c9863a16b1de206c717ab7ce6ea6f648a38efa12b70bbe3388b35adec7a789ea98de217520d7d6ce699841e17e5946bf5a8b3c7a2c3e2d6767422baf3159ff08d913ec78011ab7d34bc24af26c24a8d46f7261c7705a7b270e27590c29583c659a0df8dada4e7a0532f115040165d18f74a55a4f39bb1dcfd865e94a488ca910cc447e121b2a19450239e75d24
+d2f8fbd707a8ece5cb11a02f
+eb4cb6e06236ea1c0529f7acbfca8d78cb85bb1d
+a244005ae870604342b0386025874ec4306c1dd483c118621b
+63e6408afdf9fd225839a7afcc6da6ae494fb4f82bd21ea06bb17ca0848bdae8cea671f545aac52699951caba960c536024b4102f47d61d61fd7b17582a4cf50ba7d215062558f71483249e079689893f3bf25def7f45f9e852281269904d401d6719e3115f6410088c6c5171e878494362684d2116633bb9ea8d9ed5faec73cb076c44d5d639bc2c8ae3de54f0e1e092d5ea439e607e9cd73053bbdf40723f5b48f298fdeeef845e22e06f2f6362fc67fba366e638a7988999d456dcc3d53b23388d685620a7c446d28cd94b13049761b64779db5412e78ac4bab2aacf103fd1b9ceb7213d43710d6a46fd4223fa20e0a68d3e16a82cbadea650ba815dc9ee99b4eb8e2acdac866a05d90ab9de3246db0560fb4b36633bb642c3ea9bf358937dda743f9cef1148791c2cac58995b8eb8fdb1c0cce1686e04ebef5ae7aae36691faafbe8920d3c013f125b687eb019faefa70fc750c52e2e2e33f426824bf1da31268a9bb8d9501f2290375755f8bf77b46639346b4011b78ce9d81105c7791ec5991a2f1eab037488b604df1a21c5c4e36a7c76dca5884d36e30fe8d30d0e7d93fab72062219390655eace2b434b0e2cd21ec9c5a8aa13e783afadcdf386fc43b960c518acb38d7e3da2f67695c1c1c25c4f251b40f4c2e42e89f6f642c32e66159f6ce24aa910fb5d95e3a899a4de5efcf570996e1a662d14362b65d00524df79cd56be93bd572526e4dfd1cf9f7586bc021105cf5456b28c1f45a6d354d000a113e15f64aa0b5253830c07afc8fa47b58dbba8bbae1645b2093035f2387036229dec6f7141b444b8bb7d0382a742bd5c746ba2d7af3af1cadb2dd90bda87d5daed2d2eebd243c7b2d06955d0cc7fe1061d4cfa3b061aaeb97084d9f9a7ec9dbe9e642f4f090d57b5ea1bd8b393f00896d3dc7089e1fc4c2fed7336c2a8c6d119a682c6cc4ae1ccedd30292f2c5570bf4d6287ce8e20b8b34e7fc38e87273f588cd33b8c913defaee5f6bf8fdeda72531c845a6f97a84d5e9b9a6497d4c48614dee7693df35faedc008fded852be8d4bffd475476336e54ed48a827b99d3f0e39019a40d43aef5ae522ec6e280f6a8e7d2713f3c3188bed2476a84af5a5afefa0fa178ed07de0e073693e8790f8bbd0cf9183e48f140b556e723565c382cf7a4c186748189a14e603e4ac70e2b80c266334231207721d16d834a973b48cfec584620624686603cfd66d55dbf8dd8eccd99d85f041c624ec3a7bec314af95d2313afd43cc5cc19249cf85b7ab0b5a4530b597341e7477b249fef1a07eb0d8fa790e9bce752e8b2f7086e98ab44751e0a1b37f29682ce67c0de7a2fd036f26ed719fc343bbf49432aec651d884c99c24d5943c747f7ec3b48d4c2236a8cb6151794daeda073774cc88ff121fdd423b81ef2f34c8f281ca2e5366faee87ff7a623484f2937cc0680ed76ead32b43cb6c67a21f8089b435f38a404d267397c6435cfac16591a3573d9e92f8c4a8028719c22662b903ddb16e08ea7bb2d6b8938c06bdddb4d174c7f2c5d812ed3a34ba8859a1ae841b3b9d5522372018c9aa55b048df826f05a087f185808cb66899f320783a1c4aa2dcd5f2665405ba7e5726e122b67559a39da30956e49fe7711d1b2506e159c5ea42ce0a1ad497220ee3b3e5ebcb73db975bd08e8be56e5f4533b8295b10d4b0fef466de6540f8fe10530c9716d83a12f5ffbba5b4dbc50ed89388d04e7a15d3d9d251041ed5303efa2525bc62a5aeb821f7838676811784584534be8a7fc667f09c3fe1bbf7d0aad29324f562086ecb8326829413867
index af9b02b044e04590b296d1608d05329148fbcecd..d7b50801e7fd98d775c14a5b15021fbf5dab0b2d 100644 (file)
@@ -1 +1 @@
-7a2f63cdd9b0bfae94b75ee554be49ff8e7bc82e
+fd543f42aded9bd725c9b05682cd0f504c1b33d1
index 0b3c7033d893f1a4671d6cfbf3f88f9eaa0305c5..79f4f645839b87d163d9e3b19b67686e2673ebd5 100644 (file)
@@ -22,4 +22,4 @@
  de 7c f0 c5 6a 37 0b 34 f4 0c 3a 19 31 eb 66 f1
  ae 5f c6 a3 64 3f 2e a9 76 e1 87 93 df b6 94 86
  bd 96 57 3f 31 e6 88 8c
-512
+1290
index 38d6fe7c635d1b1b9dc13c6279dfa5feae58afac..cf08dc9ed91ec0430ead3d43089e6c69257ba8d1 100644 (file)
@@ -1,3 +1,47 @@
+2005-01-13  Ken Raeburn  <raeburn@mit.edu>
+
+       * yarrow.c (yarrow_reseed_locked): Renamed from
+       krb5int_yarrow_reseed and made static.
+       (Yarrow_detect_fork, yarrow_input_maybe_locking,
+       krb5int_yarrow_output_Block): Call it.
+       (krb5int_yarrow_reseed): New function, grabs lock and calls the
+       old version.
+       (krb5int_yarrow_final): Hold the lock until after clearing the
+       Yarrow context data.
+
+2005-01-13  Ezra Peisach  <epeisach@mit.edu>
+
+       * yarrow.c: Declare yarrow_gate_locked static before first use.
+
+2004-11-22  Ken Raeburn  <raeburn@mit.edu>
+
+       * yarrow.c (yarrow_input_maybe_locking): Renamed from
+       yarrow_input_maybe_locking, made static.  New argument indicates
+       whether or not to do locking.
+       (krb5int_yarrow_input): New wrapper function.
+       (yarrow_input_locked): New wrapper function.
+       (Yarrow_detect_fork): Call yarrow_input_locked.
+
+2004-11-15  Sam Hartman  <hartmans@mit.edu>
+
+       * ycipher.h: Use AES256 not 3des
+
+2004-11-01  Ken Raeburn  <raeburn@mit.edu>
+
+       * yarrow.c (krb5int_yarrow_input, krb5int_yarrow_final): Don't
+       check for forking here.
+       (yarrow_output_locked): Split out from krb5int_yarrow_output,
+       without locking.
+       (krb5int_yarrow_output): Do locking and call yarrow_output_locked.
+       (yarrow_gate_locked): New function; uses yarrow_output_locked.
+       (krb5int_yarrow_output_Block): Use yarrow_gate_locked.
+
+2004-10-29  Ken Raeburn  <raeburn@mit.edu>
+
+       * ylock.h: Include k5-thread.h.
+       (krb5int_yarrow_lock): Declare.
+       (LOCK, UNLOCK): Define as macros using the k5_mutex_ macros.
+
 2004-06-04  Ken Raeburn  <raeburn@mit.edu>
 
        * yarrow.c (yarrow_str_error): Now const.
index c9f41889678b546ca7ef1a3819355510610dc0b1..29c10f79e0fe2bc8899c828f2b8e908f722b9eec 100644 (file)
@@ -71,6 +71,8 @@ static int Yarrow_Load_State( Yarrow_CTX *y );
 static int Yarrow_Save_State( Yarrow_CTX *y );
 #endif
 
+static int yarrow_gate_locked(Yarrow_CTX* y);
+
 static const byte zero_block[CIPHER_BLOCK_SIZE] = { 0, };
 
 static const char* const yarrow_str_error[] = {
@@ -117,10 +119,17 @@ static void krb5int_yarrow_init_Limits(Yarrow_CTX* y)
     }
 }
 
+static int yarrow_reseed_locked( Yarrow_CTX* y, int pool );
+
 /* if the program was forked, the child must not operate on the same
    PRNG state */
 #ifdef YARROW_DETECT_FORK
 
+static int
+yarrow_input_locked( Yarrow_CTX* y, unsigned source_id,
+                    const void *sample,
+                    size_t size, size_t entropy_bits );
+
 static int Yarrow_detect_fork(Yarrow_CTX *y)
 {
     pid_t newpid;
@@ -135,12 +144,12 @@ static int Yarrow_detect_fork(Yarrow_CTX *y)
         * Then we reseed.  This doesn't really increase entropy, but does make the
         * streams distinct assuming we already have good entropy*/
        y->pid = newpid;
-       TRY (krb5int_yarrow_input (y, 0, &newpid,
-                                  sizeof (newpid), 0));
-               TRY (krb5int_yarrow_input (y, 0, &newpid,
-                                  sizeof (newpid), 0));
-               TRY (krb5int_yarrow_reseed (y, YARROW_FAST_POOL));
-                   }
+       TRY (yarrow_input_locked (y, 0, &newpid,
+                                 sizeof (newpid), 0));
+       TRY (yarrow_input_locked (y, 0, &newpid,
+                                 sizeof (newpid), 0));
+       TRY (yarrow_reseed_locked (y, YARROW_FAST_POOL));
+    }
 
  CATCH:
     EXCEP_RET;
@@ -241,10 +250,11 @@ int krb5int_yarrow_init(Yarrow_CTX* y, const char *filename)
     EXCEP_RET;
 }
 
-YARROW_DLL
-int krb5int_yarrow_input( Yarrow_CTX* y, unsigned source_id, 
-                 const void* sample, 
-                 size_t size, size_t entropy_bits )
+static
+int yarrow_input_maybe_locking( Yarrow_CTX* y, unsigned source_id, 
+                               const void* sample, 
+                               size_t size, size_t entropy_bits,
+                               int do_lock )
 {
     EXCEP_DECL;
     int ret;
@@ -254,7 +264,6 @@ int krb5int_yarrow_input( Yarrow_CTX* y, unsigned source_id,
     size_t estimate;
 
     if (!y) { THROW( YARROW_BAD_ARG ); }
-    TRY( Yarrow_detect_fork( y ) );
 
     if (source_id >= y->num_sources) { THROW( YARROW_BAD_SOURCE ); }
   
@@ -265,8 +274,10 @@ int krb5int_yarrow_input( Yarrow_CTX* y, unsigned source_id,
        THROW( YARROW_BAD_SOURCE );
     }
 
-    TRY( LOCK() );
-    locked = 1;
+    if (do_lock) {
+           TRY( LOCK() );
+           locked = 1;
+    }
 
     /* hash in the sample */
 
@@ -295,7 +306,7 @@ int krb5int_yarrow_input( Yarrow_CTX* y, unsigned source_id,
        {
            if (source->entropy[YARROW_FAST_POOL] >= y->fast_thresh)
            {
-               ret = krb5int_yarrow_reseed(y, YARROW_FAST_POOL);
+               ret = yarrow_reseed_locked(y, YARROW_FAST_POOL);
                if ( ret != YARROW_OK && ret != YARROW_NOT_SEEDED )
                {
                    THROW( ret );
@@ -312,7 +323,7 @@ int krb5int_yarrow_input( Yarrow_CTX* y, unsigned source_id,
                if (y->slow_k_of_n >= y->slow_k_of_n_thresh)
                {
                    y->slow_k_of_n = 0;
-                   ret = krb5int_yarrow_reseed(y, YARROW_SLOW_POOL);
+                   ret = yarrow_reseed_locked(y, YARROW_SLOW_POOL);
                    if ( ret != YARROW_OK && ret != YARROW_NOT_SEEDED )
                    {
                        THROW( ret );
@@ -331,6 +342,24 @@ int krb5int_yarrow_input( Yarrow_CTX* y, unsigned source_id,
     EXCEP_RET;
 }
 
+YARROW_DLL
+int krb5int_yarrow_input( Yarrow_CTX* y, unsigned source_id, 
+                 const void* sample, 
+                 size_t size, size_t entropy_bits )
+{
+    return yarrow_input_maybe_locking(y, source_id, sample, size,
+                                     entropy_bits, 1);
+}
+
+static int
+yarrow_input_locked( Yarrow_CTX* y, unsigned source_id,
+                    const void *sample,
+                    size_t size, size_t entropy_bits )
+{
+    return yarrow_input_maybe_locking(y, source_id, sample, size,
+                                     entropy_bits, 0);
+}
+
 YARROW_DLL
 int krb5int_yarrow_new_source(Yarrow_CTX* y, unsigned* source_id)
 {
@@ -395,7 +424,7 @@ static int krb5int_yarrow_output_Block( Yarrow_CTX* y, void* out )
     if (y->out_count >= y->Pg)
     {
        y->out_count = 0;
-       TRY( krb5int_yarrow_gate( y ) );
+       TRY( yarrow_gate_locked( y ) );
 
        /* require new seed after reaching gates_limit */
 
@@ -408,7 +437,7 @@ static int krb5int_yarrow_output_Block( Yarrow_CTX* y, void* out )
            
            TRACE( printf( "OUTPUT LIMIT REACHED," ); );
 
-           TRY( krb5int_yarrow_reseed( y, YARROW_SLOW_POOL ) );
+           TRY( yarrow_reseed_locked( y, YARROW_SLOW_POOL ) );
        }
     }
   
@@ -478,11 +507,23 @@ int krb5int_yarrow_status( Yarrow_CTX* y, int *num_sources, unsigned *source_id,
     EXCEP_RET;
 }
 
+static int yarrow_output_locked(Yarrow_CTX*, void*, size_t);
+
 YARROW_DLL
 int krb5int_yarrow_output( Yarrow_CTX* y, void* out, size_t size )
 {
     EXCEP_DECL;
-    int locked = 0;
+    TRY( LOCK() );
+    TRY( yarrow_output_locked(y, out, size));
+CATCH:
+    UNLOCK();
+    EXCEP_RET;
+}
+
+static
+int yarrow_output_locked( Yarrow_CTX* y, void* out, size_t size )
+{
+    EXCEP_DECL;
     size_t left;
     char* outp;
     size_t use;
@@ -495,8 +536,6 @@ int krb5int_yarrow_output( Yarrow_CTX* y, void* out, size_t size )
     left = size;
     outp = out;
 
-    TRY( LOCK() );
-
     if (y->out_left > 0)
     {
        use = min(left, y->out_left);
@@ -521,8 +560,30 @@ int krb5int_yarrow_output( Yarrow_CTX* y, void* out, size_t size )
     }
 
  CATCH:
-    if ( locked ) { TRY( UNLOCK() ); }
+    EXCEP_RET;
+}
+
+static int yarrow_gate_locked(Yarrow_CTX* y)
+{
+    EXCEP_DECL;
+    byte new_K[CIPHER_KEY_SIZE];
+
+    if (!y) { THROW( YARROW_BAD_ARG ); }
   
+    TRACE( printf( "GATE[" ); );
+
+    /* K <- Next k bits of PRNG output */
+
+    TRY( yarrow_output_locked(y, new_K, CIPHER_KEY_SIZE) );
+    mem_copy(y->K, new_K, CIPHER_KEY_SIZE);
+
+    /* need to resetup the key schedule as the key has changed */
+
+    TRY (krb5int_yarrow_cipher_init(&y->cipher, y->K));
+
+ CATCH:
+    TRACE( printf( "]," ); );
+    mem_zero(new_K, sizeof(new_K));
     EXCEP_RET;
 }
 
@@ -608,7 +669,7 @@ static int Yarrow_Save_State( Yarrow_CTX *y )
 
 #endif
 
-int krb5int_yarrow_reseed(Yarrow_CTX* y, int pool)
+static int yarrow_reseed_locked(Yarrow_CTX* y, int pool)
 {
     EXCEP_DECL;
     HASH_CTX* fast_pool = &y->pool[YARROW_FAST_POOL];
@@ -755,6 +816,14 @@ int krb5int_yarrow_reseed(Yarrow_CTX* y, int pool)
 
     EXCEP_RET;
 }
+int krb5int_yarrow_reseed(Yarrow_CTX* y, int pool)
+{
+       int r;
+       LOCK();
+       r = yarrow_reseed_locked(y, pool);
+       UNLOCK();
+       return r;
+}
 
 int krb5int_yarrow_stretch(const byte* m, size_t size, byte* out, size_t out_size)
 {
@@ -837,7 +906,6 @@ int krb5int_yarrow_final(Yarrow_CTX* y)
     int locked = 0;
 
     if (!y) { THROW( YARROW_BAD_ARG ); }
-    TRY( Yarrow_detect_fork(y) );
     TRY( LOCK() );
     locked = 1;
 
@@ -849,9 +917,9 @@ int krb5int_yarrow_final(Yarrow_CTX* y)
 #endif
 
  CATCH:
-    if ( locked ) { TRY( UNLOCK() ); }
     krb5int_yarrow_cipher_final(&y->cipher);
     mem_zero( y, sizeof(Yarrow_CTX) );
+    if ( locked ) { TRY( UNLOCK() ); }
     EXCEP_RET;
 }
 
index c858c6dd8a852d8e6a91fb9a4b186771f2947a77..96999c0dbb6b18e2162d780e3006b237391a7491 100644 (file)
@@ -17,15 +17,15 @@ typedef struct
  * call the enc_provider function to get the info.
  */
 
-#define yarrow_enc_provider krb5int_enc_des3
+#define yarrow_enc_provider krb5int_enc_aes256
 
-#define CIPHER_BLOCK_SIZE 8
-#define CIPHER_KEY_SIZE 21
+#define CIPHER_BLOCK_SIZE 16
+#define CIPHER_KEY_SIZE 32
 
 #if defined( YARROW_NO_MATHLIB )
 /* see macros at end for functions evaluated */
-#define POW_CIPHER_KEY_SIZE    72057594037927936.0
-#define POW_CIPHER_BLOCK_SIZE  18446744073709551616.0
+#define POW_CIPHER_KEY_SIZE    115792089237316195423570985008687907853269984665640564039457584007913129639936.0
+#define POW_CIPHER_BLOCK_SIZE  340282366920938463463374607431768211456.0
 #endif
 
 
index 21d3911b7766f73f10208990ee1aa87bd7e309f4..9c032dc61da3e19777315cf8e59ca1500ad48a01 100644 (file)
  *    and YARROW_LOCKING on failure
  */
 
-
+#if 0
 static int LOCK( void ) {  return (YARROW_OK); }
 static int UNLOCK( void ) {  return (YARROW_OK); }
+#else
+#include "k5-thread.h"
+extern k5_mutex_t krb5int_yarrow_lock;
+#define LOCK() (k5_mutex_lock(&krb5int_yarrow_lock) ? YARROW_LOCKING : YARROW_OK)
+#define UNLOCK() (k5_mutex_unlock(&krb5int_yarrow_lock) ? YARROW_LOCKING : YARROW_OK)
+#endif
 
 #endif /* YLOCK_H */
index 90ac10e4062b6dcd518221682a687c452c38b9f2..979a91ed9599082b28ca43789e228e0de9ff7eff 100644 (file)
@@ -1,3 +1,20 @@
+2005-04-07  Tom Yu  <tlyu@mit.edu>
+
+       * configure.in: Use awk to work around Makefile quoting problems.
+
+2005-02-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * Makefile.in (LIBINITFUNC, LIBFINIFUNC): Define.
+
+2005-02-02  Ken Raeburn  <raeburn@mit.edu>
+
+       * configure.in: Check for xom.h.  Set include_xom to a C include
+       directive or comment, and substitute it in the Makefiles.
+
+2005-01-17  Jeffrey Altman <jaltman@mit.edu>
+
+        * gss_libinit.c: implement cleanup of mutexes, static vars, etc for Windows
+
 2004-07-29  Sam Hartman  <hartmans@mit.edu>
 
        * libgssapi_krb5.exports: Add lucid context routines and gss_krb5_set_allowable_enctypes
index a8f53dbe785550776f0ef21d96d12e6202296cc5..16ff510fe76468177e2c74e9553d1df1a5e81e64 100644 (file)
@@ -26,6 +26,8 @@ SRCS=\
 LIBBASE=gssapi_krb5
 LIBMAJOR=2
 LIBMINOR=2
+LIBINITFUNC=gssint_lib_init
+LIBFINIFUNC=gssint_lib_fini
 STOBJLISTS=OBJS.ST generic/OBJS.ST krb5/OBJS.ST
 SUBDIROBJLISTS=generic/OBJS.ST krb5/OBJS.ST
 SHLIB_EXPDEPS=\
index 72ab7983ad8cc17e489b6c6f00240de9cde75c42..98bfcf04e7df541bd4afc17df420501ba45a3000 100644 (file)
@@ -7,8 +7,13 @@ AC_CHECK_SIZEOF(short)
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_HEADER(stdint.h,[
-       include_stdint="\\#include <stdint.h>"], )
+       include_stdint='awk '\''END{printf("%cinclude <stdint.h>\n", 35);}'\'' < /dev/null'],
+       include_stdint='echo "/* no stdint.h */"')
 AC_SUBST(include_stdint)
+AC_CHECK_HEADER(xom.h,[
+       include_xom='awk '\''END{printf("%cinclude <xom.h>\n", 35);}'\'' < /dev/null'], [
+       include_xom='echo "/* no xom.h */"'])
+AC_SUBST(include_xom)
 KRB5_BUILD_LIBOBJS
 KRB5_BUILD_LIBRARY_WITH_DEPS
 V5_AC_OUTPUT_MAKEFILE(. generic krb5)
index 7643a97a1eb8d75fdd4ed500b243ccf70b8f4228..4480d3158f1c160c3a31d49c7387def454fb38eb 100644 (file)
@@ -1,3 +1,19 @@
+2005-04-07  Tom Yu  <tlyu@mit.edu>
+
+       * Makefile.in (gssapi.h): Use awk hack to work around quoting
+       problem.
+
+2005-02-02  Ken Raeburn  <raeburn@mit.edu>
+
+       * Makefile.in (gssapi.h): Change SIZEOF symbols to start with GSS_
+       when extracting from autoconf.h.  Don't look for HAVE_ or USE_
+       symbols.  Add ${include_xom} to the prologue.
+       (include_xom): New variable.
+       * gssapi.hin: Always include stddef.h unconditionally.  Don't
+       conditionally include xom.h here.
+       (GSS_SIZEOF_INT, GSS_SIZEOF_LONG, GSS_SIZEOF_SHORT): Don't
+       define, except on Windows.
+
 2004-06-22  Ken Raeburn  <raeburn@mit.edu>
 
        * gssapi.hin: Don't test macintosh or __MWERKS__.
index 9691e1a4c40c8ea4de8d083e5e8ed687931ca649..a7d997b8897b6ff27b54fb2d7b75a110957d5674 100644 (file)
@@ -37,14 +37,15 @@ $(OUTPRE)gssapi_err_generic.$(OBJEXT): gssapi_err_generic.c
 gssapi_err_generic.h: gssapi_err_generic.et
 gssapi_err_generic.c: gssapi_err_generic.et
 
+include_xom=@include_xom@
+##DOS##include_xom=
 gssapi.h: gssapi.hin
        @echo "Creating gssapi.h" ; \
        h=gss$$$$; $(RM) $$h; \
        (echo "/* This is the gssapi.h prologue. */"; \
        echo "/* It contains some choice pieces of autoconf.h */"; \
-       grep SIZEOF $(BUILDTOP)/include/krb5/autoconf.h; \
-       grep 'HAVE_.*_H' $(BUILDTOP)/include/krb5/autoconf.h; \
-       grep 'USE_.*_H' $(BUILDTOP)/include/krb5/autoconf.h; \
+       sed -n "/SIZEOF/s//GSS_&/p" < $(BUILDTOP)/include/krb5/autoconf.h; \
+       $(include_xom); \
        echo "/* End of gssapi.h prologue. */"; \
        cat $(srcdir)/gssapi.hin )> $$h && \
        (set -x; $(MV) $$h $@) ; e=$$?; $(RM) $$h; exit $$e
index 1c14444156654fcc3ba0c5584206317690756bd4..83fe62bb1b56cff0e85b312e586fc3fa726f9cf2 100644 (file)
@@ -44,6 +44,9 @@ extern "C" {
 
 #if defined(_MSDOS) || defined(_WIN32)
 #include <win-mac.h>
+#define GSS_SIZEOF_SHORT SIZEOF_SHORT
+#define GSS_SIZEOF_LONG  SIZEOF_LONG
+#define GSS_SIZEOF_INT   SIZEOF_INT
 #endif
 
 #ifndef KRB5_CALLCONV
@@ -51,29 +54,16 @@ extern "C" {
 #define KRB5_CALLCONV_C
 #endif
 
-#define        GSS_SIZEOF_INT          SIZEOF_INT
-#define        GSS_SIZEOF_LONG         SIZEOF_LONG
-#define        GSS_SIZEOF_SHORT        SIZEOF_SHORT
-
 /*
  * First, include stddef.h to get size_t defined.
  */
-#if    HAVE_STDDEF_H
 #include <stddef.h>
-#endif /* HAVE_STDDEF_H */
 
 /*
  * POSIX says that sys/types.h is where size_t is defined.
  */
 #include <sys/types.h>
 
-/*
- * If the platform supports the xom.h header file, it should be included here.
- */
-#if    HAVE_XOM_H
-#include <xom.h>
-#endif /* HAVE_XOM_H */
-
 /*
  * $Id$
  */
index a43989f0cba0822eb9be5666888eff909a5f44ef..d45ac440cd8ef7ff5376177435afa5c207d2d718 100644 (file)
@@ -41,7 +41,10 @@ void gssint_lib_fini(void)
     remove_error_table(&et_k5g_error_table);
     remove_error_table(&et_ggss_error_table);
 #endif
+    k5_key_delete(K5_KEY_GSS_KRB5_SET_CCACHE_OLD_NAME);
+    k5_key_delete(K5_KEY_GSS_KRB5_CCACHE_NAME);
     k5_mutex_destroy(&kg_vdb.mutex);
+    k5_mutex_destroy(&gssint_krb5_keytab_lock);
 }
 
 OM_uint32 gssint_initialize_library (void)
index 3237548d3bdc6f7b589ed8d857e7973207f0a86c..eddec9724be91817e22cb6920ca6c2af4f869941 100644 (file)
@@ -1,3 +1,18 @@
+2005-04-07  Tom Yu  <tlyu@mit.edu>
+
+       * Makefile.in (gssapi_krb5.h): Use awk hack to work around quoting
+       problem.
+
+2005-03-25  Ken Raeburn  <raeburn@mit.edu>
+
+       * import_name.c (krb5_gss_import_name): Use k5_getpwuid_r.
+
+2005-01-13 Jeffrey Altman <jaltman@mit.edu>
+
+        * init_sec_context.c, acquire_cred.c: fix calls to 
+          krb5_gss_release_cred() to pass in the correct type.
+          This fixes a mutex leak.
+
 2004-08-27  Tom Yu  <tlyu@mit.edu>
 
        * init_sec_context.c (make_ap_req_v1): Free checksum data
index ae58e65e345e26d1a64395a080348be75495ff44..37b6307c23d2067ccead5dcc30f3fbc2206f6821 100644 (file)
@@ -210,7 +210,7 @@ gssapi_krb5.h: gssapi_krb5.hin
        @echo "Creating gssapi.h" ; \
        h=gss$$$$; $(RM) $$h; \
        (echo "/* This is the gssapi_krb5.h prologue. */"; \
-       echo "$(include_stdint)" ; \
+       $(include_stdint) ; \
        echo "/* End of gssapi_krb5.h prologue. */"; \
        cat $(srcdir)/gssapi_krb5.hin )> $$h && \
        (set -x; $(MV) $$h $@) ; e=$$?; $(RM) $$h; exit $$e
index 12d2cacc0b4595e365706cb16a747b2a406b32c7..56d6a473c88a74baebed557a5c5161e981224718 100644 (file)
@@ -444,6 +444,7 @@ krb5_gss_acquire_cred(minor_status, desired_name, time_req,
    if ((cred_usage != GSS_C_INITIATE) &&
        (cred_usage != GSS_C_ACCEPT) &&
        (cred_usage != GSS_C_BOTH)) {
+      k5_mutex_destroy(&cred->lock);
       xfree(cred);
       *minor_status = (OM_uint32) G_BAD_USAGE;
       krb5_free_context(context);
@@ -460,7 +461,8 @@ krb5_gss_acquire_cred(minor_status, desired_name, time_req,
          != GSS_S_COMPLETE) {
         if (cred->princ)
            krb5_free_principal(context, cred->princ);
-        xfree(cred);
+         k5_mutex_destroy(&cred->lock);
+         xfree(cred);
         /* minor_status set by acquire_accept_cred() */
         krb5_free_context(context);
         return(ret);
@@ -481,7 +483,8 @@ krb5_gss_acquire_cred(minor_status, desired_name, time_req,
            krb5_kt_close(context, cred->keytab);
         if (cred->princ)
            krb5_free_principal(context, cred->princ);
-        xfree(cred);
+         k5_mutex_destroy(&cred->lock);
+         xfree(cred);
         /* minor_status set by acquire_init_cred() */
         krb5_free_context(context);
         return(ret);
@@ -496,7 +499,8 @@ krb5_gss_acquire_cred(minor_status, desired_name, time_req,
            (void)krb5_cc_close(context, cred->ccache);
         if (cred->keytab)
            (void)krb5_kt_close(context, cred->keytab);
-        xfree(cred);
+         k5_mutex_destroy(&cred->lock);
+         xfree(cred);
         *minor_status = code;
         krb5_free_context(context);
         return(GSS_S_FAILURE);
@@ -519,7 +523,8 @@ krb5_gss_acquire_cred(minor_status, desired_name, time_req,
            (void)krb5_kt_close(context, cred->keytab);
         if (cred->princ)
            krb5_free_principal(context, cred->princ);
-        xfree(cred);
+         k5_mutex_destroy(&cred->lock);
+         xfree(cred);
         *minor_status = code;
         krb5_free_context(context);
         return(GSS_S_FAILURE);
@@ -548,6 +553,7 @@ krb5_gss_acquire_cred(minor_status, desired_name, time_req,
               (void)krb5_kt_close(context, cred->keytab);
           if (cred->princ)
               krb5_free_principal(context, cred->princ);
+           k5_mutex_destroy(&cred->lock);
           xfree(cred);
           /* *minor_status set above */
           krb5_free_context(context);
@@ -566,6 +572,7 @@ krb5_gss_acquire_cred(minor_status, desired_name, time_req,
         (void)krb5_kt_close(context, cred->keytab);
       if (cred->princ)
         krb5_free_principal(context, cred->princ);
+      k5_mutex_destroy(&cred->lock);
       xfree(cred);
       *minor_status = (OM_uint32) G_VALIDATE_FAILED;
       krb5_free_context(context);
index ed78b1e258f42a4824b200123acd4e43c0839a72..7969cca3aa88f89d72fbe662f3b82972d1c21981 100644 (file)
@@ -121,10 +121,8 @@ krb5_gss_import_name(minor_status, input_name_buffer,
    } else {
 #ifndef NO_PASSWORD
       uid_t uid;
-#ifdef HAVE_GETPWUID_R
       struct passwd pwx;
       char pwbuf[BUFSIZ];
-#endif
 #endif
 
       stringrep = NULL;
@@ -148,18 +146,8 @@ krb5_gss_import_name(minor_status, input_name_buffer,
       } else if (g_OID_equal(input_name_type, gss_nt_machine_uid_name)) {
         uid = *(uid_t *) input_name_buffer->value;
       do_getpwuid:
-#ifndef HAVE_GETPWUID_R
-        pw = getpwuid(uid);
-#elif defined(GETPWUID_R_4_ARGS)
-        /* old POSIX drafts */
-        pw = getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf));
-#else
-        /* POSIX */
-        if (getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf), &pw) != 0)
-            pw = NULL;
-#endif
-        if (pw)
-           stringrep = pw->pw_name;
+        if (k5_getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf), &pw) == 0)
+            stringrep = pw->pw_name;
         else
            *minor_status = (OM_uint32) G_NOUSER;
       } else if (g_OID_equal(input_name_type, gss_nt_string_uid_name)) {
index 3ffb5154d9a8645e86c2fedce38c43585f2dce26..4f4055932d7f3e4ed58bbe367224da9d77bcbb3d 100644 (file)
@@ -925,7 +925,7 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
    if (err) {
       k5_mutex_unlock(&cred->lock);
       if (claimant_cred_handle == GSS_C_NO_CREDENTIAL)
-        krb5_gss_release_cred(minor_status, (gss_cred_id_t)cred);
+        krb5_gss_release_cred(minor_status, (gss_cred_id_t)&cred);
       *minor_status = 0;
       if (*context_handle == GSS_C_NO_CONTEXT)
         krb5_free_context(context);
@@ -962,7 +962,7 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
    }
 
    if (claimant_cred_handle == GSS_C_NO_CREDENTIAL)
-      krb5_gss_release_cred(&tmp_min_stat, (gss_cred_id_t)cred);
+      krb5_gss_release_cred(&tmp_min_stat, (gss_cred_id_t)&cred);
 
    return(major_status);
 }
index e951cb93108c0482e7ca65d7922f972d753de720..073d96a39d8bc8f03ede084e088399c3706c8990 100644 (file)
@@ -72,14 +72,22 @@ EXPORTS
 ;
 ; GSS-API variables
 ;
-       gss_nt_user_name                   DATA
+        gss_nt_krb5_name               DATA
+        gss_nt_krb5_principal          DATA
+       gss_nt_user_name               DATA
        gss_nt_machine_uid_name        DATA
        gss_nt_string_uid_name         DATA
-       gss_nt_service_name                DATA
-    GSS_C_NT_USER_NAME             DATA
-    GSS_C_NT_MACHINE_UID_NAME      DATA
-    GSS_C_NT_STRING_UID_NAME       DATA
-    GSS_C_NT_HOSTBASED_SERVICE     DATA
-    GSS_C_NT_HOSTBASED_SERVICE_X   DATA
-    GSS_C_NT_ANONYMOUS             DATA
-    GSS_C_NT_EXPORT_NAME           DATA
+       gss_nt_service_name            DATA
+        GSS_C_NT_USER_NAME             DATA
+        GSS_C_NT_MACHINE_UID_NAME      DATA
+        GSS_C_NT_STRING_UID_NAME       DATA
+        GSS_C_NT_HOSTBASED_SERVICE     DATA
+        GSS_C_NT_HOSTBASED_SERVICE_X   DATA
+        GSS_C_NT_ANONYMOUS             DATA
+        GSS_C_NT_EXPORT_NAME           DATA
+        krb5_gss_oid_array             DATA
+        gss_mech_krb5                  DATA
+        gss_mech_krb5_old              DATA
+        gss_mech_set_krb5              DATA
+        gss_mech_set_krb5_old          DATA
+        gss_mech_set_krb5_both         DATA
index 866cfb0bb5888641e9e61417de7b1568d90e01be..4051601ecaa7ff0c7de6c77c304462a79958036c 100644 (file)
@@ -123,6 +123,7 @@ typedef long                kadm5_ret_t;
 #define KADM5_CONFIG_KPASSWD_PORT      0x080000
 #define KADM5_CONFIG_OLD_AUTH_GSSAPI   0x100000
 #define KADM5_CONFIG_NO_AUTH           0x200000
+#define KADM5_CONFIG_AUTH_NOFALLBACK   0x400000
 
 /*
  * permission bits
index 6d0a14ecd993252459398501ba9736404728fb74..fc2dfca2e3ed87c1d64a93abfe87184343aa18fe 100644 (file)
@@ -1,3 +1,13 @@
+2005-02-11  Tom Yu  <tlyu@mit.edu>
+
+       * client_init.c (kadm5_get_init_creds, kadm5_gic_iter) 
+       (kadm5_setup_gss, kadm5_rpc_auth): New functions, containing parts
+       of _kadm5_init_any.
+       (_kadm5_init_any): Bits broken out into helper functions.
+       (kadm5_get_init_creds): Fall back from kadmin/fqdn to kadmin/admin
+       if NULL service name passed in.
+       (kadm5_rpc_auth): Fall back from RPCSEC_GSS to AUTH_GSSAPI.
+
 2004-10-25  Tom Yu  <tlyu@mit.edu>
 
        * client_init.c (_kadm5_init_any): Pass req_flags and cred to
index d3c63bde81a1a7efab145f7ac2109941d087914f..f1031548f14604b3ac76c4654675ce192efa766d 100644 (file)
@@ -55,8 +55,6 @@
 
 #define        ADM_CCACHE  "/tmp/ovsec_adm.XXXXXX"
 
-static int old_auth_gssapi = 0;
-
 enum init_type { INIT_PASS, INIT_SKEY, INIT_CREDS };
 
 static kadm5_ret_t _kadm5_init_any(char *client_name,
@@ -69,6 +67,32 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
                                   krb5_ui_4 api_version,
                                   void **server_handle);
 
+static kadm5_ret_t
+kadm5_get_init_creds(kadm5_server_handle_t handle,
+                    char *client_name, enum init_type init_type,
+                    char *pass, krb5_ccache ccache_in,
+                    char *svcname_in, char *realm,
+                    char *full_svcname, unsigned int full_svcname_len);
+
+static kadm5_ret_t
+kadm5_gic_iter(kadm5_server_handle_t handle,
+              enum init_type init_type,
+              krb5_ccache ccache,
+              krb5_principal client, char *pass,
+              char *svcname, char *realm,
+              char *full_svcname, unsigned int full_svcname_len);
+
+static kadm5_ret_t
+kadm5_setup_gss(kadm5_server_handle_t handle,
+               kadm5_config_params *params_in,
+               char *client_name, char *full_svcname);
+
+static void
+kadm5_rpc_auth(kadm5_server_handle_t handle,
+              kadm5_config_params *params_in,
+              gss_cred_id_t gss_client_creds,
+              gss_name_t gss_target);
+
 kadm5_ret_t kadm5_init_with_creds(char *client_name,
                                  krb5_ccache ccache,
                                  char *service_name,
@@ -120,16 +144,6 @@ kadm5_ret_t kadm5_init_with_skey(char *client_name, char *keytab,
                            api_version, server_handle);
 }
 
-/*
- * Try no preauthentication first; then try the encrypted timestamp
- * (stolen from krb5 kinit.c)
- */
-static int preauth_search_list[] = {
-     0,                        
-     KRB5_PADATA_ENC_UNIX_TIME,
-     -1
-};
-
 static kadm5_ret_t _kadm5_init_any(char *client_name,
                                   enum init_type init_type,
                                   char *pass,
@@ -143,27 +157,15 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
      struct sockaddr_in addr;
      struct hostent *hp;
      int fd;
-     int i;
 
-     char full_service_name[BUFSIZ], *ccname_orig;
-     const char *c_ccname_orig; 
+     char full_svcname[BUFSIZ];
      char *realm;
-     krb5_creds        creds;
-     krb5_ccache ccache = NULL;
-     krb5_timestamp  now;
      
-     OM_uint32 gssstat, minor_stat;
-     gss_buffer_desc input_name;
-     gss_name_t gss_client;
-     gss_name_t gss_target;
-     gss_cred_id_t gss_client_creds = GSS_C_NO_CREDENTIAL;
-
      kadm5_server_handle_t handle;
      kadm5_config_params params_local;
 
      int code = 0;
      generic_ret *r;
-     char svcname[MAXHOSTNAMELEN + 8];
 
      initialize_ovk_error_table();
      initialize_adb_error_table();
@@ -198,7 +200,6 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
        free(handle);
        return EINVAL;
      }
-     memset((char *) &creds, 0, sizeof(creds));
 
      /*
       * Verify the version numbers before proceeding; we can't use
@@ -268,54 +269,136 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
          return KADM5_MISSING_KRB5_CONF_PARAMS;
      }
 
-     /* NULL service_name means use host-based. */
-     if (service_name == NULL) {
+     /*
+      * Get credentials.  Also does some fallbacks in case kadmin/fqdn
+      * principal doesn't exist.
+      */
+     code = kadm5_get_init_creds(handle, client_name, init_type, pass,
+                                ccache_in, service_name, realm,
+                                full_svcname, sizeof(full_svcname));
+     if (code)
+         goto error;
+     /*
+      * We have ticket; open the RPC connection.
+      */
+
+     hp = gethostbyname(handle->params.admin_server);
+     if (hp == (struct hostent *) NULL) {
+         code = KADM5_BAD_SERVER_NAME;
+         goto cleanup;
+     }
+
+     memset(&addr, 0, sizeof(addr));
+     addr.sin_family = hp->h_addrtype;
+     (void) memcpy((char *) &addr.sin_addr, (char *) hp->h_addr,
+                  sizeof(addr.sin_addr));
+     addr.sin_port = htons((u_short) handle->params.kadmind_port);
+     
+     fd = RPC_ANYSOCK;
+     
+     handle->clnt = clnttcp_create(&addr, KADM, KADMVERS, &fd, 0, 0);
+     if (handle->clnt == NULL) {
+         code = KADM5_RPC_ERROR;
+#ifdef DEBUG
+         clnt_pcreateerror("clnttcp_create");
+#endif
+         goto error;
+     }
+     handle->lhandle->clnt = handle->clnt;
+
+     /* now that handle->clnt is set, we can check the handle */
+     if ((code = _kadm5_check_handle((void *) handle)))
+         goto error;
+
+     /*
+      * The RPC connection is open; establish the GSS-API
+      * authentication context.
+      */
+     code = kadm5_setup_gss(handle, params_in, client_name, full_svcname);
+     if (code)
+         goto error;
+
+     r = init_1(&handle->api_version, handle->clnt);
+     if (r == NULL) {
+         code = KADM5_RPC_ERROR;
+#ifdef DEBUG
+         clnt_perror(handle->clnt, "init_1 null resp");
+#endif
+         goto error;
+     }
+     if (r->code) {
+         code = r->code;
+         goto error;
+     }
+
+     *server_handle = (void *) handle;
+
+     goto cleanup;
+
+error:
+     /*
+      * Note that it is illegal for this code to execute if "handle"
+      * has not been allocated and initialized.  I.e., don't use "goto
+      * error" before the block of code at the top of the function
+      * that allocates and initializes "handle".
+      */
+     if (handle->cache_name)
+        free(handle->cache_name);
+     if(handle->clnt && handle->clnt->cl_auth)
+         AUTH_DESTROY(handle->clnt->cl_auth);
+     if(handle->clnt)
+         clnt_destroy(handle->clnt);
+
+cleanup:
+     if (code)
+         free(handle);
+
+     return code;
+}
+
+/*
+ * kadm5_get_init_creds
+ *
+ * Get initial credentials for authenticating to server.  Perform
+ * fallback from kadmin/fqdn to kadmin/admin if svcname_in is NULL.
+ */
+static kadm5_ret_t
+kadm5_get_init_creds(kadm5_server_handle_t handle,
+                    char *client_name, enum init_type init_type,
+                    char *pass, krb5_ccache ccache_in,
+                    char *svcname_in, char *realm,
+                    char *full_svcname, unsigned int full_svcname_len)
+{
+     kadm5_ret_t code;
+     krb5_principal client;
+     krb5_ccache ccache;
+     char svcname[BUFSIZ];
+
+     client = NULL;
+     ccache = NULL;
+     /* NULL svcname means use host-based. */
+     if (svcname_in == NULL) {
          code = kadm5_get_admin_service_name(handle->context,
                                              handle->params.realm,
                                              svcname, sizeof(svcname));
          if (code) {
-              krb5_free_context(handle->context);
-              free(handle);
-              return KADM5_MISSING_KRB5_CONF_PARAMS;
+              code = KADM5_MISSING_KRB5_CONF_PARAMS;
+              goto error;
          }
-         service_name = svcname;
+     } else {
+         strncpy(svcname, svcname_in, sizeof(svcname));
+         svcname[sizeof(svcname)-1] = '\0';
      }
      /*
-      * Acquire a service ticket for service_name@realm in the name of
+      * Acquire a service ticket for svcname@realm in the name of
       * client_name, using password pass (which could be NULL), and
       * create a ccache to store them in.  If INIT_CREDS, use the
       * ccache we were provided instead.
       */
-     
-     if ((code = krb5_parse_name(handle->context, client_name, &creds.client)))
-         goto error;
-
-     if (realm) {
-          if(strlen(service_name) + strlen(realm) + 1 >= sizeof(full_service_name)) {
-             goto error;
-         }
-         sprintf(full_service_name, "%s@%s", service_name, realm);
-     } else {
-         /* krb5_princ_realm(creds.client) is not null terminated */
-          if(strlen(service_name) + krb5_princ_realm(handle->context, creds.client)->length + 1 >= sizeof(full_service_name)) {
-             goto error;
-         }
-         strcpy(full_service_name, service_name);
-         strcat(full_service_name, "@");
-         strncat(full_service_name, krb5_princ_realm(handle->context,
-                                                     creds.client)->data, 
-                 krb5_princ_realm(handle->context, creds.client)->length);
-     }
-     
-     if ((code = krb5_parse_name(handle->context, full_service_name,
-         &creds.server))) 
+     code = krb5_parse_name(handle->context, client_name, &client);
+     if (code)
          goto error;
 
-     /* XXX temporarily fix a bug in krb5_cc_get_type */
-#undef krb5_cc_get_type
-#define krb5_cc_get_type(context, cache) ((cache)->ops->prefix)
-     
-
      if (init_type == INIT_CREDS) {
          ccache = ccache_in;
          handle->cache_name = (char *)
@@ -329,161 +412,184 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
                  krb5_cc_get_type(handle->context, ccache),
                  krb5_cc_get_name(handle->context, ccache));
      } else {
-#if 0
-         handle->cache_name =
-              (char *) malloc(strlen(ADM_CCACHE)+strlen("FILE:")+1);
-         if (handle->cache_name == NULL) {
-              code = ENOMEM;
-              goto error;
-         }
-         sprintf(handle->cache_name, "FILE:%s", ADM_CCACHE);
-         mktemp(handle->cache_name + strlen("FILE:"));
-#else
-         {
-             static int counter = 0;
-             handle->cache_name = malloc(sizeof("MEMORY:kadm5_")
-                                         + 3*sizeof(counter));
-             sprintf(handle->cache_name, "MEMORY:kadm5_%u", counter++);
-         }
-#endif
-     
-         if ((code = krb5_cc_resolve(handle->context, handle->cache_name,
-                                     &ccache))) 
+         static int counter = 0;
+
+         handle->cache_name = malloc(sizeof("MEMORY:kadm5_")
+                                     + 3*sizeof(counter));
+         sprintf(handle->cache_name, "MEMORY:kadm5_%u", counter++);
+
+         code = krb5_cc_resolve(handle->context, handle->cache_name,
+                                &ccache);
+         if (code) 
               goto error;
-         
-         if ((code = krb5_cc_initialize (handle->context, ccache,
-                                         creds.client))
+
+         code = krb5_cc_initialize (handle->context, ccache, client);
+         if (code
               goto error;
 
          handle->destroy_cache = 1;
      }
      handle->lhandle->cache_name = handle->cache_name;
-     
-     if ((code = krb5_timeofday(handle->context, &now)))
-         goto error;
-
-     /*
-      * Get a ticket, use the method specified in init_type.
-      */
-     
-     creds.times.starttime = 0; /* start timer at KDC */
-     creds.times.endtime = 0; /* endtime will be limited by service */
 
-     if (init_type == INIT_PASS) {
-         for (i=0; preauth_search_list[i] >= 0; i++) {
-              code = krb5_get_in_tkt_with_password(handle->context,
-                                                   0, /* no options */
-                                                   0, /* default addresses */
-                                                   0,    /* enctypes */
-                                                   NULL, /* XXX preauth */
-                                                   pass,
-                                                   ccache,
-                                                   &creds,
-                                                   NULL);
-              if (code != KRB5KDC_ERR_PREAUTH_FAILED &&
-                  code != KRB5KDC_ERR_PREAUTH_REQUIRED &&
-                  code != KRB5KRB_ERR_GENERIC)
-                   break;
-         }
-     } else if (init_type == INIT_SKEY) {
-         krb5_keytab kt = NULL;
-
-         if (pass && (code = krb5_kt_resolve(handle->context, pass, &kt)))
-              ;
-         else {
-              for (i=0; preauth_search_list[i] >= 0; i++) {
-                   code = krb5_get_in_tkt_with_keytab(handle->context,
-                                                      0, /* no options */
-                                                      0, /* default addrs */
-                                                      0,    /* enctypes */
-                                                      NULL, /* XXX preauth */
-                                                      kt,
-                                                      ccache,
-                                                      &creds,
-                                                      NULL);
-                   if (code != KRB5KDC_ERR_PREAUTH_FAILED &&
-                       code != KRB5KDC_ERR_PREAUTH_REQUIRED &&
-                       code != KRB5KRB_ERR_GENERIC)
-                        break;
-              }
-
-              if (pass) krb5_kt_close(handle->context, kt);
-         }
+     code = kadm5_gic_iter(handle, init_type, ccache,
+                          client, pass, svcname, realm,
+                          full_svcname, full_svcname_len);
+     if ((code == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN
+         || code == KRB5_CC_NOTFOUND) && svcname_in == NULL) {
+         /* Retry with old host-independent service princpal. */
+         code = kadm5_gic_iter(handle, init_type, ccache,
+                               client, pass,
+                               KADM5_ADMIN_SERVICE, realm,
+                               full_svcname, full_svcname_len);
      }
-
      /* Improved error messages */
      if (code == KRB5KRB_AP_ERR_BAD_INTEGRITY) code = KADM5_BAD_PASSWORD;
      if (code == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN)
          code = KADM5_SECURE_PRINC_MISSING;
 
-     if (code != 0) goto error;
-
-#ifdef ZEROPASSWD
-     if (pass != NULL)
-         memset(pass, 0, strlen(pass));
-#endif
+error:
+     if (ccache != NULL && init_type != INIT_CREDS)
+         krb5_cc_close(handle->context, ccache);
+     return code;
+}
 
-     /*
-      * We have ticket; open the RPC connection.
-      */
+/*
+ * kadm5_gic_iter
+ *
+ * Perform one iteration of attempting to get credentials.  This
+ * includes searching existing ccache for requested service if
+ * INIT_CREDS.
+ */
+static kadm5_ret_t
+kadm5_gic_iter(kadm5_server_handle_t handle,
+              enum init_type init_type,
+              krb5_ccache ccache,
+              krb5_principal client, char *pass,
+              char *svcname, char *realm,
+              char *full_svcname, unsigned int full_svcname_len)
+{
+     kadm5_ret_t code;
+     krb5_context ctx;
+     krb5_keytab kt;
+     krb5_get_init_creds_opt opt;
+     krb5_creds mcreds, outcreds;
+
+     ctx = handle->context;
+     kt = NULL;
+     memset(full_svcname, 0, full_svcname_len);
+     memset(&opt, 0, sizeof(opt));
+     memset(&mcreds, 0, sizeof(mcreds));
+     memset(&outcreds, 0, sizeof(outcreds));
+
+     code = ENOMEM;
+     if (realm) {
+          if ((strlen(svcname) + strlen(realm) + 1) >= full_svcname_len)
+              goto error;
+         sprintf(full_svcname, "%s@%s", svcname, realm);
+     } else {
+         /* krb5_princ_realm(client) is not null terminated */
+          if ((strlen(svcname) + krb5_princ_realm(ctx, client)->length + 1)
+             >= full_svcname_len)
+              goto error;
 
-     hp = gethostbyname(handle->params.admin_server);
-     if (hp == (struct hostent *) NULL) {
-         code = KADM5_BAD_SERVER_NAME;
-         goto cleanup;
+         strcpy(full_svcname, svcname);
+         strcat(full_svcname, "@");
+         strncat(full_svcname,
+                 krb5_princ_realm(ctx, client)->data,
+                 krb5_princ_realm(ctx, client)->length);
      }
 
-     memset(&addr, 0, sizeof(addr));
-     addr.sin_family = hp->h_addrtype;
-     (void) memcpy((char *) &addr.sin_addr, (char *) hp->h_addr,
-                  sizeof(addr.sin_addr));
-     addr.sin_port = htons((u_short) handle->params.kadmind_port);
-     
-     fd = RPC_ANYSOCK;
-     
-     handle->clnt = clnttcp_create(&addr, KADM, KADMVERS, &fd, 0, 0);
-     if (handle->clnt == NULL) {
-         code = KADM5_RPC_ERROR;
-#ifdef DEBUG
-         clnt_pcreateerror("clnttcp_create");
-#endif
-         goto error;
+     if (init_type != INIT_CREDS)
+         krb5_get_init_creds_opt_init(&opt);
+
+     if (init_type == INIT_PASS) {
+         code = krb5_get_init_creds_password(ctx, &outcreds, client, pass,
+                                             krb5_prompter_posix,
+                                             NULL, 0,
+                                             full_svcname, &opt);
+         if (code)
+              goto error;
+     } else if (init_type == INIT_SKEY) {
+         if (pass) {
+              code = krb5_kt_resolve(ctx, pass, &kt);
+              if (code)
+                  goto error;
+         }
+         code = krb5_get_init_creds_keytab(ctx, &outcreds, client, kt,
+                                           0, full_svcname, &opt);
+         if (pass)
+              krb5_kt_close(ctx, kt);
+         if (code)
+              goto error;
+     } else if (init_type == INIT_CREDS) {
+         mcreds.client = client;
+         code = krb5_parse_name(ctx, full_svcname, &mcreds.server);
+         if (code)
+              goto error;
+         code = krb5_cc_retrieve_cred(ctx, ccache, 0,
+                                      &mcreds, &outcreds);
+         krb5_free_principal(ctx, mcreds.server);
+         if (code)
+              goto error;
      }
-     handle->lhandle->clnt = handle->clnt;
+     if (init_type != INIT_CREDS) {
+         /* Caller has initialized ccache. */
+         code = krb5_cc_store_cred(ctx, ccache, &outcreds);
+         if (code)
+              goto error;
+     }
+error:
+     krb5_free_cred_contents(ctx, &outcreds);
+     return code;
+}
 
-     /* now that handle->clnt is set, we can check the handle */
-     if ((code = _kadm5_check_handle((void *) handle)))
-         goto error;
+/*
+ * kadm5_setup_gss
+ *
+ * Acquire GSSAPI credentials and set up RPC auth flavor.
+ */
+static kadm5_ret_t
+kadm5_setup_gss(kadm5_server_handle_t handle,
+               kadm5_config_params *params_in,
+               char *client_name, char *full_svcname)
+{
+     kadm5_ret_t code;
+     OM_uint32 gssstat, minor_stat;
+     gss_buffer_desc buf;
+     gss_name_t gss_client;
+     gss_name_t gss_target;
+     gss_cred_id_t gss_client_creds;
+     const char *c_ccname_orig;
+     char *ccname_orig;
 
-     /*
-      * The RPC connection is open; establish the GSS-API
-      * authentication context.
-      */
+     code = KADM5_GSS_ERROR;
+     gss_client_creds = GSS_C_NO_CREDENTIAL;
+     ccname_orig = NULL;
 
-     /* use the kadm5 cache */
+     /* Temporarily use the kadm5 cache. */
      gssstat = gss_krb5_ccache_name(&minor_stat, handle->cache_name,
                                    &c_ccname_orig);
      if (gssstat != GSS_S_COMPLETE) {
-        code = KADM5_GSS_ERROR;
-        goto error;
+         code = KADM5_GSS_ERROR;
+         goto error;
      }
      if (c_ccname_orig)
          ccname_orig = strdup(c_ccname_orig);
      else
-       ccname_orig = 0;
+         ccname_orig = 0;
 
-     input_name.value = full_service_name;
-     input_name.length = strlen((char *)input_name.value) + 1;
-     gssstat = gss_import_name(&minor_stat, &input_name,
+     buf.value = full_svcname;
+     buf.length = strlen((char *)buf.value) + 1;
+     gssstat = gss_import_name(&minor_stat, &buf,
                               (gss_OID) gss_nt_krb5_name, &gss_target);
      if (gssstat != GSS_S_COMPLETE) {
          code = KADM5_GSS_ERROR;
          goto error;
      }
 
-     input_name.value = client_name;
-     input_name.length = strlen((char *)input_name.value) + 1;
-     gssstat = gss_import_name(&minor_stat, &input_name,
+     buf.value = client_name;
+     buf.length = strlen((char *)buf.value) + 1;
+     gssstat = gss_import_name(&minor_stat, &buf,
                               (gss_OID) gss_nt_krb5_name, &gss_client);
      if (gssstat != GSS_S_COMPLETE) {
          code = KADM5_GSS_ERROR;
@@ -493,105 +599,92 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
      gssstat = gss_acquire_cred(&minor_stat, gss_client, 0,
                                GSS_C_NULL_OID_SET, GSS_C_INITIATE,
                                &gss_client_creds, NULL, NULL);
-     (void) gss_release_name(&minor_stat, &gss_client);
      if (gssstat != GSS_S_COMPLETE) {
          code = KADM5_GSS_ERROR;
          goto error;
      }
-     
-     if (params_in != NULL &&
-        (params_in->mask & KADM5_CONFIG_OLD_AUTH_GSSAPI)) {
-         handle->clnt->cl_auth = auth_gssapi_create(handle->clnt,
-                                                    &gssstat,
-                                                    &minor_stat,
-                                                    gss_client_creds,
-                                                    gss_target,
-                                                    (gss_OID) gss_mech_krb5,
-                                                    GSS_C_MUTUAL_FLAG
-                                                    | GSS_C_REPLAY_FLAG,
-                                                    0,
-                                                    NULL,
-                                                    NULL,
-                                                    NULL);
-     } else if (params_in == NULL ||
-               !(params_in->mask & KADM5_CONFIG_NO_AUTH)) {
-         struct rpc_gss_sec sec;
-         sec.mech = gss_mech_krb5;
-         sec.qop = GSS_C_QOP_DEFAULT;
-         sec.svc = RPCSEC_GSS_SVC_PRIVACY;
-         sec.cred = gss_client_creds;
-         sec.req_flags = GSS_C_MUTUAL_FLAG | GSS_C_REPLAY_FLAG;
 
-         handle->clnt->cl_auth = authgss_create(handle->clnt,
-                                                gss_target, &sec);
-     }
-     (void) gss_release_name(&minor_stat, &gss_target);
+     /*
+      * Do actual creation of RPC auth handle.  Implements auth flavor
+      * fallback.
+      */
+     kadm5_rpc_auth(handle, params_in, gss_client_creds, gss_target);
+
+error:
+     if (gss_client_creds != GSS_C_NO_CREDENTIAL)
+         (void) gss_release_cred(&minor_stat, &gss_client_creds);
 
+     if (gss_client)
+         gss_release_name(&minor_stat, &gss_client);
+     if (gss_target)
+         gss_release_name(&minor_stat, &gss_target);
+
+     /* Revert to prior gss_krb5 ccache. */
      if (ccname_orig) {
         gssstat = gss_krb5_ccache_name(&minor_stat, ccname_orig, NULL);
         if (gssstat) {
-            code = KADM5_GSS_ERROR;
-            goto error;
+            return KADM5_GSS_ERROR;
         }
         free(ccname_orig);
      } else {
         gssstat = gss_krb5_ccache_name(&minor_stat, NULL, NULL);
         if (gssstat) {
-            code = KADM5_GSS_ERROR;
-            goto error;
+            return KADM5_GSS_ERROR;
         }
      }
-     
-     if (handle->clnt->cl_auth == NULL) {
-         code = KADM5_GSS_ERROR;
-         goto error;
-     }
 
-     r = init_1(&handle->api_version, handle->clnt);
-     if (r == NULL) {
-         code = KADM5_RPC_ERROR;
-#ifdef DEBUG
-         clnt_perror(handle->clnt, "init_1 null resp");
-#endif
-         goto error;
-     }
-     if (r->code) {
-         code = r->code;
-         goto error;
+     if (handle->clnt->cl_auth == NULL) {
+         return KADM5_GSS_ERROR;
      }
+     return 0;
+}
 
-     *server_handle = (void *) handle;
-
-     if (init_type != INIT_CREDS) 
-         krb5_cc_close(handle->context, ccache);
+/*
+ * kadm5_rpc_auth
+ *
+ * Create RPC auth handle.  Do auth flavor fallback if needed.
+ */
+static void
+kadm5_rpc_auth(kadm5_server_handle_t handle,
+              kadm5_config_params *params_in,
+              gss_cred_id_t gss_client_creds,
+              gss_name_t gss_target)
+{
+     OM_uint32 gssstat, minor_stat;
+     struct rpc_gss_sec sec;
 
-     goto cleanup;
-     
-error:
-     /*
-      * Note that it is illegal for this code to execute if "handle"
-      * has not been allocated and initialized.  I.e., don't use "goto
-      * error" before the block of code at the top of the function
-      * that allocates and initializes "handle".
-      */
-     if (handle->cache_name)
-        free(handle->cache_name);
-     if (handle->destroy_cache && ccache)
-        krb5_cc_destroy(handle->context, ccache);
-     if(handle->clnt && handle->clnt->cl_auth)
-         AUTH_DESTROY(handle->clnt->cl_auth);
-     if(handle->clnt)
-         clnt_destroy(handle->clnt);
+     /* Allow unauthenticated option for testing. */
+     if (params_in != NULL && (params_in->mask & KADM5_CONFIG_NO_AUTH))
+         return;
 
-cleanup:
-     krb5_free_cred_contents(handle->context, &creds);
-     if (gss_client_creds != GSS_C_NO_CREDENTIAL)
-         (void) gss_release_cred(&minor_stat, &gss_client_creds);
+     /* Use RPCSEC_GSS by default. */
+     if (params_in == NULL ||
+        !(params_in->mask & KADM5_CONFIG_OLD_AUTH_GSSAPI)) {
+         sec.mech = gss_mech_krb5;
+         sec.qop = GSS_C_QOP_DEFAULT;
+         sec.svc = RPCSEC_GSS_SVC_PRIVACY;
+         sec.cred = gss_client_creds;
+         sec.req_flags = GSS_C_MUTUAL_FLAG | GSS_C_REPLAY_FLAG;
 
-     if (code)
-         free(handle);
+         handle->clnt->cl_auth = authgss_create(handle->clnt,
+                                                gss_target, &sec);
+         if (handle->clnt->cl_auth != NULL)
+              return;
+     }
 
-     return code;
+     if (params_in != NULL && (params_in->mask & KADM5_CONFIG_AUTH_NOFALLBACK))
+         return;
+
+     /* Fall back to old AUTH_GSSAPI. */
+     handle->clnt->cl_auth = auth_gssapi_create(handle->clnt,
+                                               &gssstat,
+                                               &minor_stat,
+                                               gss_client_creds,
+                                               gss_target,
+                                               (gss_OID) gss_mech_krb5,
+                                               GSS_C_MUTUAL_FLAG
+                                               | GSS_C_REPLAY_FLAG,
+                                               0, NULL, NULL, NULL);
 }
 
 kadm5_ret_t
index dcadace0799bf06a6c04331886619f606653bbec..eeba8685c97686749cb033660b404e27cb6dcc0f 100644 (file)
@@ -1,3 +1,13 @@
+2004-12-20  Tom Yu  <tlyu@mit.edu>
+
+       * svr_principal.c (add_to_history): Rewrite somewhat, using
+       temporary variables to make things somewhat more readable.  Fix
+       buffer overflow case where the next pointer points into
+       unallocated space but resizing wasn't done, i.e., when someone
+       decreases the policy history count to the exact "right" number.
+       Fix some memory leaks.  To avoid losing entries, shift some
+       entries forward after growing the array.
+
 2004-08-21  Tom Yu  <tlyu@mit.edu>
 
        * libkadm5srv.exports: Update for previous renaming.
index c567f83690ba1323798c20bc0666f0e0f03889d2..7dc2d8f6bc3d507d62062b0772a2e13240991639 100644 (file)
@@ -989,35 +989,46 @@ void free_history_entry(krb5_context context, osa_pw_hist_ent *hist)
  * array where the next element should be written, and must be [0,
  * adb->old_key_len).
  */
-#define KADM_MOD(x) (x + adb->old_key_next) % adb->old_key_len
 static kadm5_ret_t add_to_history(krb5_context context,
                                  osa_princ_ent_t adb,
                                  kadm5_policy_ent_t pol,
                                  osa_pw_hist_ent *pw)
 {
      osa_pw_hist_ent *histp;
-     int i;
+     uint32_t nhist;
+     unsigned int i, knext, nkeys;
 
+     nhist = pol->pw_history_num;
      /* A history of 1 means just check the current password */
-     if (pol->pw_history_num == 1)
+     if (nhist <= 1)
          return 0;
 
+     nkeys = adb->old_key_len;
+     knext = adb->old_key_next;
      /* resize the adb->old_keys array if necessary */
-     if (adb->old_key_len < pol->pw_history_num-1) {
+     if (nkeys + 1 < nhist) {
          if (adb->old_keys == NULL) {
               adb->old_keys = (osa_pw_hist_ent *)
-                   malloc((adb->old_key_len + 1) * sizeof (osa_pw_hist_ent));
+                   malloc((nkeys + 1) * sizeof (osa_pw_hist_ent));
          } else {
               adb->old_keys = (osa_pw_hist_ent *)
                    realloc(adb->old_keys,
-                           (adb->old_key_len + 1) * sizeof (osa_pw_hist_ent));
+                           (nkeys + 1) * sizeof (osa_pw_hist_ent));
          }
          if (adb->old_keys == NULL)
               return(ENOMEM);
          
-         memset(&adb->old_keys[adb->old_key_len],0,sizeof(osa_pw_hist_ent)); 
-         adb->old_key_len++;
-     } else if (adb->old_key_len > pol->pw_history_num-1) {
+         memset(&adb->old_keys[nkeys], 0, sizeof(osa_pw_hist_ent));
+         nkeys = ++adb->old_key_len;
+         /*
+          * To avoid losing old keys, shift forward each entry after
+          * knext.
+          */
+         for (i = nkeys - 1; i > knext; i--) {
+             adb->old_keys[i] = adb->old_keys[i - 1];
+         }
+         memset(&adb->old_keys[knext], 0, sizeof(osa_pw_hist_ent));
+     } else if (nkeys + 1 > nhist) {
         /*
          * The policy must have changed!  Shrink the array.
          * Can't simply realloc() down, since it might be wrapped.
@@ -1027,46 +1038,64 @@ static kadm5_ret_t add_to_history(krb5_context context,
          * where N = pw_history_num - 1 is the length of the
          * shortened list.        Matt Crawford, FNAL
          */
+        /*
+         * M = adb->old_key_len, N = pol->pw_history_num - 1
+         *
+         * tmp[0] .. tmp[N-1] = old[(knext-N)%M] .. old[(knext-1)%M]
+         */
         int j;
-        histp = (osa_pw_hist_ent *)
-            malloc((pol->pw_history_num - 1) * sizeof (osa_pw_hist_ent));
-        if (histp) {
-            for (i = 0; i < pol->pw_history_num - 1; i++) {
-                /* We need the number we use the modulus operator on to be
-                   positive, so after subtracting pol->pw_history_num-1, we
-                   add back adb->old_key_len. */
-                j = KADM_MOD(i - (pol->pw_history_num - 1) + adb->old_key_len);
-                histp[i] = adb->old_keys[j];
+        osa_pw_hist_t tmp;
+
+        tmp = (osa_pw_hist_ent *)
+            malloc((nhist - 1) * sizeof (osa_pw_hist_ent));
+        if (tmp == NULL)
+            return ENOMEM;
+        for (i = 0; i < nhist - 1; i++) {
+            /*
+             * Add nkeys once before taking remainder to avoid
+             * negative values.
+             */
+            j = (i + nkeys + knext - (nhist - 1)) % nkeys;
+            tmp[i] = adb->old_keys[j];
+        }
+        /* Now free the ones we don't keep (the oldest ones) */
+        for (i = 0; i < nkeys - (nhist - 1); i++) {
+            j = (i + nkeys + knext) % nkeys;
+            histp = &adb->old_keys[j];
+            for (j = 0; j < histp->n_key_data; j++) {
+                krb5_free_key_data_contents(context, &histp->key_data[j]);
             }
-            /* Now free the ones we don't keep (the oldest ones) */
-            for (i = 0; i < adb->old_key_len - (pol->pw_history_num - 1); i++)
-                for (j = 0; j < adb->old_keys[KADM_MOD(i)].n_key_data; j++)
-                    krb5_free_key_data_contents(context,
-                               &adb->old_keys[KADM_MOD(i)].key_data[j]);
-            free((void *)adb->old_keys);
-            adb->old_keys = histp;
-            adb->old_key_len = pol->pw_history_num - 1;
-            adb->old_key_next = 0;
-        } else {
-            return(ENOMEM);
+            free(histp->key_data);
         }
+        free((void *)adb->old_keys);
+        adb->old_keys = tmp;
+        nkeys = adb->old_key_len = nhist - 1;
+        knext = adb->old_key_next = 0;
      }
 
+     /*
+      * If nhist decreased since the last password change, and nkeys+1
+      * is less than the previous nhist, it is possible for knext to
+      * index into unallocated space.  This condition would not be
+      * caught by the resizing code above.
+      */
+     if (knext + 1 > nkeys)
+        knext = adb->old_key_next = 0;
      /* free the old pw history entry if it contains data */
-     histp = &adb->old_keys[adb->old_key_next];
+     histp = &adb->old_keys[knext];
      for (i = 0; i < histp->n_key_data; i++)
          krb5_free_key_data_contents(context, &histp->key_data[i]);
-     
+     free(histp->key_data);
+
      /* store the new entry */
-     adb->old_keys[adb->old_key_next] = *pw;
+     adb->old_keys[knext] = *pw;
 
      /* update the next pointer */
-     if (++adb->old_key_next == pol->pw_history_num-1)
-              adb->old_key_next = 0;
+     if (++adb->old_key_next == nhist - 1)
+        adb->old_key_next = 0;
 
      return(0);
 }
-#undef KADM_MOD
 
 #ifdef USE_PASSWORD_SERVER
 
index 7b54c00cc3bf5539c632ae8951604fb0bd0614ec..4b0777e89dc5767815d56a74405584f55b3f90a6 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-10  Tom Yu  <tlyu@mit.edu>
+
+       * api.2/init-v2.exp: Handle improved error codes from
+       client_init.c.
+       (test152): Expect KRB5_FCC_NOFILE.
+       (test153): Expect KRB5_CC_NOTFOUND.
+
 2004-08-20  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (init-test): Don't use local copy of client_init.o
index 089300939d28924bcab93c2f46009628d948c224..1e3ef74de6c0dcae2046031622e08c25b7f85431 100644 (file)
@@ -605,7 +605,7 @@ proc test152 {} {
        kadm5_init_with_creds testuser null $KADM5_ADMIN_SERVICE \
                null $KADM5_STRUCT_VERSION $KADM5_API_VERSION_2 \
                server_handle
-    } "GSS_ERROR"
+    } "KRB5_FCC_NOFILE"
 }
 if {$RPC} test152
 
@@ -618,7 +618,7 @@ proc test153 {} {
        kadm5_init_with_creds testuser null $KADM5_ADMIN_SERVICE \
                null $KADM5_STRUCT_VERSION $KADM5_API_VERSION_2 \
                server_handle
-    } "GSS_ERROR"
+    } "KRB5_CC_NOTFOUND"
 }
 if {$RPC} test153
 
index 63ef3ec9782d9ad805655f3aba910fca43fd485e..b9258c750427bfb113111b795c1334c0d828caff 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * RealmsConfig-glue.c (krb_get_krbhst): Check if DNS should be
+       used for getting KDC names before actually using it.
+
 2004-07-16  Ken Raeburn  <raeburn@mit.edu>
 
        * macsock.c: Deleted.
index 0635284c05b54d4b63c92c59b1d801c751e8bd9c..dbdfe54cd1ccb7ed73803c88f63b9a4665bf0a81 100644 (file)
@@ -536,21 +536,24 @@ krb_get_krbhst(
        if (err)
            break;
 
-       realmdat.data = realm;
-       realmdat.length = strlen(realm);
-       err = k5.make_srv_query_realm(&realmdat, "_kerberos-iv", "_udp", &srv);
-       if (err)
-           break;
+       if (k5.use_dns_kdc(krb5__krb4_context)) {
+           realmdat.data = realm;
+           realmdat.length = strlen(realm);
+           err = k5.make_srv_query_realm(&realmdat, "_kerberos-iv", "_udp",
+                                         &srv);
+           if (err)
+               break;
 
-       if (srv == 0)
-           break;
+           if (srv == 0)
+               break;
 
-       if (dnscache.srv)
-           k5.free_srv_dns_data(dnscache.srv);
-       dnscache.srv = srv;
-       strncpy(dnscache.realm, realm, REALM_SZ);
-       dnscache.when = now;
-       goto get_from_dnscache;
+           if (dnscache.srv)
+               k5.free_srv_dns_data(dnscache.srv);
+           dnscache.srv = srv;
+           strncpy(dnscache.realm, realm, REALM_SZ);
+           dnscache.when = now;
+           goto get_from_dnscache;
+       }
     } while (0);
 #endif
     return KFAILURE;
index 050d9da7813a141b68fab9a7a38b42d54af62b09..e1fc665433d407f44e750d453bfe4aa47938e684 100644 (file)
@@ -1,3 +1,15 @@
+2005-02-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * Makefile.in (LIBINITFUNC, LIBFINIFUNC): Define.
+
+2005-01-17  Jeffrey Altman <jaltman@mit.edu>
+
+        * krb5_libinit.c: implement library cleanup of mutexes, static vars, etc
+
+2005-01-04  Jeffrey Altman <jaltman@mit.edu>
+      
+        * libkrb5.exports: add krb5_is_thread_safe
+
 2004-08-08  Ken Raeburn  <raeburn@mit.edu>
 
        * libkrb5.exports: Remove memory ccache symbols except ops table.
index 736caf8ede91642af3d544f0333ae75b343ca20b..737e2a452c5a817bcf66298faaaf0e2c8d472412 100644 (file)
@@ -20,6 +20,8 @@ STLIBOBJS=krb5_libinit.o
 LIBBASE=krb5
 LIBMAJOR=3
 LIBMINOR=2
+LIBINITFUNC=profile_library_initializer krb5int_lib_init
+LIBFINIFUNC=profile_library_finalizer krb5int_lib_fini
 
 STOBJLISTS= \
        OBJS.ST \
index e7ea803677b0765c974e766c8fa1aa10c057c5e1..9d9d2bbc29c88958ffa4e5e5faa1ac91942c75ca 100644 (file)
@@ -1,3 +1,13 @@
+2005-03-04  Ken Raeburn  <raeburn@mit.edu>
+
+       * asn1_encode.c (asn1_encode_generaltime): If gmtime_r returns int
+       instead of pointer, do the appropriate error checking.
+
+2004-12-28  Ezra Peisach  <epeisach@mit.edu>
+
+       * asn1_decode.c (asn1_decode_generaltime): Fix memory leak when
+       time sent is "19700101000000Z".
+
 2004-08-31  Tom Yu  <tlyu@mit.edu>
 
        * asn1buf.c: Fix denial-of-service bug.
index 60ae08802d2d4869f06c49ffb4eba5678886d97e..d31ce3e3b160c7e914f4be603a7a05590fdc612d 100644 (file)
@@ -238,6 +238,7 @@ asn1_error_code asn1_decode_generaltime(asn1buf *buf, time_t *val)
   }
   if(s[0] == '1' && !memcmp("19700101000000Z", s, 15)) {
       t = 0;
+      free(s);
       goto done;
   }
 #define c2i(c) ((c)-'0')
index 4f9e6949b53370830807d11934ffd7741e3e38f6..c5e3452b8575d4ab9349fbbbf0f87e2a872012b8 100644 (file)
@@ -242,8 +242,13 @@ asn1_error_code asn1_encode_generaltime(asn1buf *buf, time_t val,
        * and some bogus implementations might overrun on the sprintf.
        */
 #ifdef HAVE_GMTIME_R
+# ifdef GMTIME_R_RETURNS_INT
+      if (gmtime_r(&gmt_time, &gtimebuf) != 0)
+         return ASN1_BAD_GMTIME;
+# else
       if (gmtime_r(&gmt_time, &gtimebuf) == NULL)
          return ASN1_BAD_GMTIME;
+# endif
 #else
       gtime = gmtime(&gmt_time);
       if (gtime == NULL)
index 757ce389c682f8df1d00c35c2c8a2e94dff029d1..e015116a51b375d562c7a9493a22ba7b84c2e65f 100644 (file)
@@ -1,3 +1,46 @@
+2005-06-15  Ken Raeburn  <raeburn@mit.edu>
+
+       * cc_file.c (dereference): Fix test is list-walking loop.
+
+2005-01-13  Ken Raeburn  <raeburn@mit.edu>
+
+       * cc_file.c (struct _krb5_fcc_data): Fields disk_file_lock,
+       file_is_locked deleted.
+       (krb5_fcc_open_file, krb5_fcc_close_file, dereference,
+       krb5_fcc_resolve, krb5_fcc_generate_new, krb5_fcc_set_flags):
+       Don't set or check them.
+
+2005-01-11  Jeffrey Altman <jaltman@mit.edu>
+
+        * cc_mslsa.c: 
+          - do not free krb5_creds if krb5_copy_creds fails
+          - cause MSTicketToMITTicket to return failure if
+            krb5_copy_data fails
+
+2004-12-25  Ezra Peisach  <epeisach@mit.edu>
+
+       * cc_file.c (krb5_fcc_close): Free the cache id.
+       (dereference): When removing fcc_set entry from list, free the
+       pointer as well.
+
+2004-12-16  Jeffrey Altman <jaltman@mit.edu>
+        * cc_mslsa.c:
+          Temporarily deactivate support for KerbSubmitTicketMessage   
+          and KerbQueryTicketCacheEx2Message until the new Platform SDK
+          becomes publicly available.
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * cc_mslsa.c: 
+          - Activate support for KerbSubmitTicketMessage
+          - Activate support for KerbQueryTicketCacheEx2Message
+          - Add locale support for regions which use MultiByte characters
+
+2004-11-19  Ken Raeburn  <raeburn@mit.edu>
+
+       * cc_mslsa.c (MSCredToMITCred): Don't create an empty array for
+       addresses, just use a null pointer now.
+
 2004-10-07  Jeffrey Altman <jaltman@mit.edu>
         * cc_mslsa.c: Fix the forced setting of the Initial Ticket Flag
                 on Win2000 and add it to XP and 2003 SP1
index f247c425d2b24add276524b42102c204dc2e7d6a..cc8bccef9ec5ff5f96f0de8109664a37a4a81b0b 100644 (file)
@@ -264,10 +264,6 @@ typedef struct _krb5_fcc_data {
        that can be changed.  (Filename is fixed after
        initialization.)  */
     k5_mutex_t lock;
-    /* Grab this one before trying to get an advisory lock on the disk
-       file, since the facility is per-process, not per-thread.  */
-    k5_mutex_t disk_file_lock;
-    int file_is_locked;
     int file;
     krb5_flags flags;
     int mode;                          /* needed for locking code */
@@ -1172,9 +1168,7 @@ krb5_fcc_close_file (krb5_context context, krb5_fcc_data *data)
         return KRB5_FCC_INTERNAL;
 
      retval = krb5_unlock_file(context, data->file);
-     k5_mutex_unlock(&data->disk_file_lock);
      ret = close (data->file);
-     data->file_is_locked = 0;
      data->file = NO_FILE;
      if (retval)
         return retval;
@@ -1212,11 +1206,7 @@ krb5_fcc_open_file (krb5_context context, krb5_ccache id, int mode)
 
     if (data->file != NO_FILE) {
        /* Don't know what state it's in; shut down and start anew.  */
-       if (data->file_is_locked) {
-           (void) krb5_unlock_file(context, data->file);
-           k5_mutex_unlock(&data->disk_file_lock);
-           data->file_is_locked = 0;
-       }
+       (void) krb5_unlock_file(context, data->file);
        (void) close (data->file);
        data->file = NO_FILE;
     }
@@ -1245,17 +1235,10 @@ krb5_fcc_open_file (krb5_context context, krb5_ccache id, int mode)
        lock_flag = KRB5_LOCKMODE_SHARED;
     else 
        lock_flag = KRB5_LOCKMODE_EXCLUSIVE;
-    retval = k5_mutex_lock(&data->disk_file_lock);
-    if (retval) {
-       close(f);
-       return retval;
-    }
     if ((retval = krb5_lock_file(context, f, lock_flag))) {
-       k5_mutex_unlock(&data->disk_file_lock);
        (void) close(f);
        return retval;
     }
-    data->file_is_locked = 1;
 
     if (mode == FCC_OPEN_AND_ERASE) {
         /* write the version number */
@@ -1378,8 +1361,6 @@ done:
      if (retval) {
          data->file = -1;
          (void) krb5_unlock_file(context, f);
-        (void) k5_mutex_unlock(&data->disk_file_lock);
-        data->file_is_locked = 0;
          (void) close(f);
      }
      return retval;
@@ -1480,15 +1461,20 @@ static krb5_error_code dereference(krb5_context context, krb5_fcc_data *data)
     kerr = k5_mutex_lock(&krb5int_cc_file_mutex);
     if (kerr)
        return kerr;
-    for (fccsp = &fccs; *fccsp == NULL; fccsp = &(*fccsp)->next)
+    for (fccsp = &fccs; *fccsp != NULL; fccsp = &(*fccsp)->next)
        if ((*fccsp)->data == data)
            break;
     assert(*fccsp != NULL);
+    assert((*fccsp)->data == data);
     (*fccsp)->refcount--;
     if ((*fccsp)->refcount == 0) {
+        struct fcc_set *temp;
        data = (*fccsp)->data;
+       temp = *fccsp;
        *fccsp = (*fccsp)->next;
+       free(temp);
        k5_mutex_unlock(&krb5int_cc_file_mutex);
+       k5_mutex_assert_unlocked(&data->lock);
        free(data->filename);
        zap(data->buf, sizeof(data->buf));
        if (data->file >= 0) {
@@ -1496,9 +1482,7 @@ static krb5_error_code dereference(krb5_context context, krb5_fcc_data *data)
            krb5_fcc_close_file(context, data);
            k5_mutex_unlock(&data->lock);
        }
-       k5_mutex_assert_unlocked(&data->lock);
        k5_mutex_destroy(&data->lock);
-       k5_mutex_destroy(&data->disk_file_lock);
        free(data);
     } else
        k5_mutex_unlock(&krb5int_cc_file_mutex);
@@ -1517,6 +1501,7 @@ static krb5_error_code KRB5_CALLCONV
 krb5_fcc_close(krb5_context context, krb5_ccache id)
 {
      dereference(context, (krb5_fcc_data *) id->data);
+     krb5_xfree(id);
      return KRB5_OK;
 }
 
@@ -1730,25 +1715,14 @@ krb5_fcc_resolve (krb5_context context, krb5_ccache *id, const char *residual)
             free(data);
             return kret;
         }
-        kret = k5_mutex_init(&data->disk_file_lock);
-        if (kret) {
-            k5_mutex_unlock(&krb5int_cc_file_mutex);
-            k5_mutex_unlock(&data->lock);
-            k5_mutex_destroy(&data->lock);
-            free(data->filename);
-            free(data);
-            return kret;
-        }
         /* data->version,mode filled in for real later */
         data->version = data->mode = 0;
-        data->file_is_locked = 0;
         data->flags = KRB5_TC_OPENCLOSE;
         data->file = -1;
         data->valid_bytes = 0;
         setptr = malloc(sizeof(struct fcc_set));
         if (setptr == NULL) {
             k5_mutex_unlock(&krb5int_cc_file_mutex);
-            k5_mutex_destroy(&data->disk_file_lock);
             k5_mutex_destroy(&data->lock);
             free(data->filename);
             free(data);
@@ -2010,12 +1984,6 @@ krb5_fcc_generate_new (krb5_context context, krb5_ccache *id)
      retcode = k5_mutex_init(&data->lock);
      if (retcode)
         goto err_out;
-     retcode = k5_mutex_init(&data->disk_file_lock);
-     if (retcode) {
-        k5_mutex_destroy(&data->lock);
-        goto err_out;
-     }
-     data->file_is_locked = 0;
 
      /* Set up the filename */
      strcpy(((krb5_fcc_data *) lid->data)->filename, scratch);
@@ -2233,7 +2201,9 @@ krb5_fcc_set_flags(krb5_context context, krb5_ccache id, krb5_flags flags)
     /* XXX This should check for illegal combinations, if any.. */
     if (flags & KRB5_TC_OPENCLOSE) {
        /* asking to turn on OPENCLOSE mode */
-       if (!OPENCLOSE(id))
+       if (!OPENCLOSE(id)
+           /* XXX Is this test necessary? */
+           && ((krb5_fcc_data *) id->data)->file != NO_FILE)
             (void) krb5_fcc_close_file (context, ((krb5_fcc_data *) id->data));
     } else {
        /* asking to turn off OPENCLOSE mode, meaning it must be
index c12f5817e81035387ecd760a8008e29061b97e02..fdd3f108b44e839400d9d648cbd4d732afa513f2 100644 (file)
@@ -44,7 +44,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * Implementation of microsoft windows lsa credentials cache
+ * Implementation of microsoft windows lsa read-only credentials cache
  */
 
 #ifdef _WIN32
 #define MAX_MSPRINC_SIZE 1024
 
 /* THREAD SAFETY 
- * The functions is_windows_2000(), is_windows_xp(), 
- * does_retrieve_ticket_cache_ticket() and does_query_ticket_cache_ex2() 
- * contain static variables to cache the responses of the tests being 
- * performed.  There is no harm in the test being performed more than 
- * once since the result will always be the same.
+ * The functions is_windows_2000(), is_windows_xp(), and 
+ * does_retrieve_ticket_cache_ticket() contain static variables to cache 
+ * the responses of the tests being performed.  There is no harm in the 
+ * test being performed more than once since the result will always be the 
+ * same.
  */
 
 static BOOL 
@@ -189,9 +189,18 @@ UnicodeToANSI(LPTSTR lpInputString, LPSTR lpszOutputString, int nOutStringLen)
 
     GetCPInfo(CP_ACP, &CodePageInfo);
 
-    if (CodePageInfo.MaxCharSize > 1)
+    if (CodePageInfo.MaxCharSize > 1) {
         // Only supporting non-Unicode strings
-        return FALSE;
+        int reqLen = WideCharToMultiByte(CP_ACP, 0, (LPCWSTR) lpInputString, -1,
+                                         NULL, 0, NULL, NULL);
+        if ( reqLen > nOutStringLen) 
+        {
+            return FALSE;
+        } else {
+            WideCharToMultiByte(CP_ACP, 0, (LPCWSTR) lpInputString, -1,
+                                lpszOutputString, nOutStringLen, NULL, NULL);
+        }
+    } 
     else if (((LPBYTE) lpInputString)[1] == '\0')
     {
         // Looks like unicode, better translate it
@@ -200,12 +209,13 @@ UnicodeToANSI(LPTSTR lpInputString, LPSTR lpszOutputString, int nOutStringLen)
     }
     else
         lstrcpyA(lpszOutputString, (LPSTR) lpInputString);
+
     return TRUE;
 }  // UnicodeToANSI
 
 static VOID
 WINAPI
-ANSIToUnicode(LPSTR  lpInputString, LPTSTR lpszOutputString, int nOutStringLen)
+ANSIToUnicode(LPSTR lpInputString, LPTSTR lpszOutputString, int nOutStringLen)
 {
 
     CPINFO CodePageInfo;
@@ -214,12 +224,9 @@ ANSIToUnicode(LPSTR  lpInputString, LPTSTR lpszOutputString, int nOutStringLen)
 
     GetCPInfo(CP_ACP, &CodePageInfo);
 
-    if (CodePageInfo.MaxCharSize > 1)
-        // It must already be a Unicode string
-        return;
-    else if (((LPBYTE) lpInputString)[1] != '\0')
+    if (CodePageInfo.MaxCharSize > 1 || ((LPBYTE) lpInputString)[1] != '\0')
     {
-        // Looks like ANSI, better translate it
+        // Looks like ANSI or MultiByte, better translate it
         MultiByteToWideChar(CP_ACP, 0, (LPCSTR) lpInputString, -1,
                             (LPWSTR) lpszOutputString, nOutStringLen);
     }
@@ -243,9 +250,9 @@ MITPrincToMSPrinc(krb5_context context, krb5_principal principal, UNICODE_STRING
     }
 }
 
-static void
+static BOOL
 UnicodeStringToMITPrinc(UNICODE_STRING *service, WCHAR *realm, krb5_context context, 
-                  krb5_principal *principal)
+                        krb5_principal *principal)
 {
     WCHAR princbuf[512];
     char aname[512];
@@ -255,14 +262,17 @@ UnicodeStringToMITPrinc(UNICODE_STRING *service, WCHAR *realm, krb5_context cont
     princbuf[service->Length/sizeof(WCHAR)]=0;
     wcscat(princbuf, L"@");
     wcscat(princbuf, realm);
-    UnicodeToANSI(princbuf, aname, sizeof(aname));
-    krb5_parse_name(context, aname, principal);
+    if (UnicodeToANSI(princbuf, aname, sizeof(aname))) {
+        krb5_parse_name(context, aname, principal);
+        return TRUE;
+    }
+    return FALSE;
 }
 
 
-static void
+static BOOL
 KerbExternalNameToMITPrinc(KERB_EXTERNAL_NAME *msprinc, WCHAR *realm, krb5_context context, 
-                  krb5_principal *principal)
+                           krb5_principal *principal)
 {
     WCHAR princbuf[512],tmpbuf[128];
     char aname[512];
@@ -278,8 +288,11 @@ KerbExternalNameToMITPrinc(KERB_EXTERNAL_NAME *msprinc, WCHAR *realm, krb5_conte
     }
     wcscat(princbuf, L"@");
     wcscat(princbuf, realm);
-    UnicodeToANSI(princbuf, aname, sizeof(aname));
-    krb5_parse_name(context, aname, principal);
+    if (UnicodeToANSI(princbuf, aname, sizeof(aname))) {
+        krb5_parse_name(context, aname, principal);
+        return TRUE;
+    }
+    return FALSE;
 }
 
 static time_t
@@ -320,18 +333,25 @@ MSFlagsToMITFlags(ULONG msflags, ULONG *mitflags)
     *mitflags=msflags;
 }
 
-static void
+static BOOL
 MSTicketToMITTicket(KERB_EXTERNAL_TICKET *msticket, krb5_context context, krb5_data *ticket)
 {
-    krb5_data tmpdata, *newdata;
+    krb5_data tmpdata, *newdata = 0;
+    krb5_error_code rc;
+
     tmpdata.magic=KV5M_DATA;
     tmpdata.length=msticket->EncodedTicketSize;
     tmpdata.data=msticket->EncodedTicket;
 
     // this is ugly and will break krb5_free_data() 
     // now that this is being done within the library it won't break krb5_free_data()
-    krb5_copy_data(context, &tmpdata, &newdata);
+    rc = krb5_copy_data(context, &tmpdata, &newdata);
+    if (rc)
+        return FALSE;
+    
     memcpy(ticket, newdata, sizeof(krb5_data));
+    krb5_xfree(newdata);
+    return TRUE;
 }
 
 /*
@@ -376,7 +396,7 @@ PreserveInitialTicketIdentity(void)
 }
 
 
-static void
+static BOOL
 MSCredToMITCred(KERB_EXTERNAL_TICKET *msticket, UNICODE_STRING ClientRealm, 
                 krb5_context context, krb5_creds *creds)
 {
@@ -387,65 +407,25 @@ MSCredToMITCred(KERB_EXTERNAL_TICKET *msticket, UNICODE_STRING ClientRealm,
     // construct Client Principal
     wcsncpy(wrealm, ClientRealm.Buffer, ClientRealm.Length/sizeof(WCHAR));
     wrealm[ClientRealm.Length/sizeof(WCHAR)]=0;
-    KerbExternalNameToMITPrinc(msticket->ClientName, wrealm, context, &creds->client);
+    if (!KerbExternalNameToMITPrinc(msticket->ClientName, wrealm, context, &creds->client))
+        return FALSE;
 
     // construct Service Principal
     wcsncpy(wrealm, msticket->DomainName.Buffer,
             msticket->DomainName.Length/sizeof(WCHAR));
     wrealm[msticket->DomainName.Length/sizeof(WCHAR)]=0;
-    KerbExternalNameToMITPrinc(msticket->ServiceName, wrealm, context, &creds->server);
+    if (!KerbExternalNameToMITPrinc(msticket->ServiceName, wrealm, context, &creds->server))
+        return FALSE;
     MSSessionKeyToMITKeyblock(&msticket->SessionKey, context, 
                               &creds->keyblock);
     MSFlagsToMITFlags(msticket->TicketFlags, &creds->ticket_flags);
     creds->times.starttime=FileTimeToUnixTime(&msticket->StartTime);
     creds->times.endtime=FileTimeToUnixTime(&msticket->EndTime);
     creds->times.renew_till=FileTimeToUnixTime(&msticket->RenewUntil);
+    creds->addresses = NULL;
 
-    /* MS Tickets are addressless.  MIT requires an empty address
-     * not a NULL list of addresses.
-     */
-    creds->addresses = (krb5_address **)malloc(sizeof(krb5_address *));
-    memset(creds->addresses, 0, sizeof(krb5_address *));
-
-    MSTicketToMITTicket(msticket, context, &creds->ticket);
-}
-
-#ifdef HAVE_CACHE_INFO_EX2
-/* CacheInfoEx2ToMITCred is used when we do not need the real ticket */
-static void
-CacheInfoEx2ToMITCred(KERB_TICKET_CACHE_INFO_EX2 *info,
-                      krb5_context context, krb5_creds *creds)
-{
-    WCHAR wrealm[128];
-    ZeroMemory(creds, sizeof(krb5_creds));
-    creds->magic=KV5M_CREDS;
-
-    // construct Client Principal
-    wcsncpy(wrealm, info->ClientRealm.Buffer, info->ClientRealm.Length/sizeof(WCHAR));
-    wrealm[info->ClientRealm.Length/sizeof(WCHAR)]=0;
-    UnicodeStringToMITPrinc(&info->ClientName, wrealm, context, &creds->client);
-
-    // construct Service Principal
-    wcsncpy(wrealm, info->ServerRealm.Buffer,
-            info->ServerRealm.Length/sizeof(WCHAR));
-    wrealm[info->ServerRealm.Length/sizeof(WCHAR)]=0;
-    UnicodeStringToMITPrinc(&info->ServerName, wrealm, context, &creds->server);
-
-    creds->keyblock.magic = KV5M_KEYBLOCK;
-    creds->keyblock.enctype = info->SessionKeyType;
-    creds->ticket_flags = info->TicketFlags;
-    MSFlagsToMITFlags(info->TicketFlags, &creds->ticket_flags);
-    creds->times.starttime=FileTimeToUnixTime(&info->StartTime);
-    creds->times.endtime=FileTimeToUnixTime(&info->EndTime);
-    creds->times.renew_till=FileTimeToUnixTime(&info->RenewTime);
-
-    /* MS Tickets are addressless.  MIT requires an empty address
-     * not a NULL list of addresses.
-     */
-    creds->addresses = (krb5_address **)malloc(sizeof(krb5_address *));
-    memset(creds->addresses, 0, sizeof(krb5_address *));
+    return MSTicketToMITTicket(msticket, context, &creds->ticket);
 }
-#endif /* HAVE_CACHE_INFO_EX2 */
 
 static BOOL
 PackageConnectLookup(HANDLE *pLogonHandle, ULONG *pPackageId)
@@ -547,62 +527,6 @@ does_retrieve_ticket_cache_ticket (void)
    return fCachesTicket;
 }
 
-#ifdef HAVE_CACHE_INFO_EX2
-static BOOL 
-does_query_ticket_cache_ex2 (void)
-{
-   static BOOL fChecked = FALSE;
-   static BOOL fEx2Response = FALSE;
-
-   if (!fChecked)
-   {
-       NTSTATUS Status = 0;
-       NTSTATUS SubStatus = 0;
-       HANDLE LogonHandle;
-       ULONG  PackageId;
-       ULONG RequestSize;
-       PKERB_QUERY_TKT_CACHE_REQUEST pCacheRequest = NULL;
-       PKERB_QUERY_TKT_CACHE_EX2_RESPONSE pCacheResponse = NULL;
-       ULONG ResponseSize;
-
-       RequestSize = sizeof(*pCacheRequest) + 1;
-
-       if (!PackageConnectLookup(&LogonHandle, &PackageId))
-           return FALSE;
-
-       pCacheRequest = (PKERB_QUERY_TKT_CACHE_REQUEST) LocalAlloc(LMEM_ZEROINIT, RequestSize);
-       if (!pCacheRequest) {
-           CloseHandle(LogonHandle);
-           return FALSE;
-       }
-
-       pCacheRequest->MessageType = KerbQueryTicketCacheEx2Message;
-       pCacheRequest->LogonId.LowPart = 0;
-       pCacheRequest->LogonId.HighPart = 0;
-
-       Status = LsaCallAuthenticationPackage( LogonHandle,
-                                              PackageId,
-                                              pCacheRequest,
-                                              RequestSize,
-                                              &pCacheResponse,
-                                              &ResponseSize,
-                                              &SubStatus
-                                              );                                             
-
-       LocalFree(pCacheRequest);
-       CloseHandle(LogonHandle);
-
-       if (!(FAILED(Status) || FAILED(SubStatus))) {
-           LsaFreeReturnBuffer(pCacheResponse);
-           fEx2Response = TRUE;
-       }
-       fChecked = TRUE;
-   }
-
-   return fEx2Response;
-}
-#endif /* HAVE_CACHE_INFO_EX2 */
-
 static DWORD
 ConcatenateUnicodeStrings(UNICODE_STRING *pTarget, UNICODE_STRING Source1, UNICODE_STRING Source2)
 {
@@ -942,117 +866,6 @@ PurgeTicketXP( HANDLE LogonHandle, ULONG  PackageId,
     return TRUE;
 }
 
-#ifdef KERB_SUBMIT_TICKET
-static BOOL
-KerbSubmitTicket( HANDLE LogonHandle, ULONG  PackageId, 
-                  krb5_context context, krb5_creds *cred)
-{
-    NTSTATUS Status = 0;
-    NTSTATUS SubStatus = 0;
-    KERB_SUBMIT_TKT_REQUEST * pSubmitRequest;
-    DWORD dwRequestLen;
-    krb5_auth_context auth_context;
-    krb5_keyblock * keyblock = 0;
-    krb5_replay_data replaydata;
-    krb5_data * krb_cred = 0;
-    krb5_error_code rc;
-
-    if (krb5_auth_con_init(context, &auth_context)) {
-        return FALSE;
-    }
-
-    if (krb5_auth_con_setflags(context, auth_context,
-                               KRB5_AUTH_CONTEXT_RET_TIME)) {
-        return FALSE;
-    }
-    
-    krb5_auth_con_getsendsubkey(context, auth_context, &keyblock);
-    if (keyblock == NULL)
-        krb5_auth_con_getkey(context, auth_context, &keyblock);
-#ifdef TESTING
-    /* do not use this code unless testing the LSA */
-    if (keyblock == NULL) {
-        keyblock = (krb5_keyblock *)malloc(sizeof(krb5_keyblock));
-        keyblock->enctype = ENCTYPE_ARCFOUR_HMAC;
-        keyblock->length = 16;
-        keyblock->contents = (krb5_octet *)malloc(16);
-        keyblock->contents[0] = 0xde;
-        keyblock->contents[1] = 0xad;
-        keyblock->contents[2] = 0xbe;
-        keyblock->contents[3] = 0xef;
-        keyblock->contents[4] = 0xfe;
-        keyblock->contents[5] = 0xed;
-        keyblock->contents[6] = 0xf0;
-        keyblock->contents[7] = 0xd;
-        keyblock->contents[8] = 0xde;
-        keyblock->contents[9] = 0xad;
-        keyblock->contents[10] = 0xbe;
-        keyblock->contents[11] = 0xef;
-        keyblock->contents[12] = 0xfe;
-        keyblock->contents[13] = 0xed;
-        keyblock->contents[14] = 0xf0;
-        keyblock->contents[15] = 0xd;
-        krb5_auth_con_setsendsubkey(context, auth_context, keyblock);
-    }
-#endif
-    rc = krb5_mk_1cred(context, auth_context, cred, &krb_cred, &replaydata);
-    if (rc) {
-        krb5_auth_con_free(context, auth_context);
-        if (keyblock)
-            krb5_free_keyblock(context, keyblock);
-        if (krb_cred)
-            krb5_free_data(context, krb_cred);
-        return FALSE;
-    }
-
-    dwRequestLen = sizeof(KERB_SUBMIT_TKT_REQUEST) + krb_cred->length + (keyblock ? keyblock->length : 0);
-
-    pSubmitRequest = (PKERB_SUBMIT_TKT_REQUEST)malloc(dwRequestLen);
-    memset(pSubmitRequest, 0, dwRequestLen);
-
-    pSubmitRequest->MessageType = KerbSubmitTicketMessage;
-    pSubmitRequest->LogonId.LowPart = 0;
-    pSubmitRequest->LogonId.HighPart = 0;
-    pSubmitRequest->Flags = 0;
-    
-    if (keyblock) {
-        pSubmitRequest->Key.KeyType = keyblock->enctype;
-        pSubmitRequest->Key.Length = keyblock->length;
-        pSubmitRequest->Key.Offset = sizeof(KERB_SUBMIT_TKT_REQUEST)+krb_cred->length;
-    } else {
-        pSubmitRequest->Key.KeyType = ENCTYPE_NULL;
-        pSubmitRequest->Key.Length = 0;
-        pSubmitRequest->Key.Offset = 0;
-    }
-    pSubmitRequest->KerbCredSize = krb_cred->length;
-    pSubmitRequest->KerbCredOffset = sizeof(KERB_SUBMIT_TKT_REQUEST);
-    memcpy(((CHAR *)pSubmitRequest)+sizeof(KERB_SUBMIT_TKT_REQUEST),
-           krb_cred->data, krb_cred->length);
-    if (keyblock)
-        memcpy(((CHAR *)pSubmitRequest)+sizeof(KERB_SUBMIT_TKT_REQUEST)+krb_cred->length,
-                keyblock->contents, keyblock->length);
-    krb5_free_data(context, krb_cred);
-
-    Status = LsaCallAuthenticationPackage( LogonHandle,
-                                           PackageId,
-                                           pSubmitRequest,
-                                           dwRequestLen,
-                                           NULL,
-                                           NULL,
-                                           &SubStatus
-                                           );
-    free(pSubmitRequest);
-    if (keyblock)
-        krb5_free_keyblock(context, keyblock);
-    krb5_auth_con_free(context, auth_context);
-
-    if (FAILED(Status) || FAILED(SubStatus)) {
-        return FALSE;                         
-    }
-    return TRUE;
-}
-#endif /* KERB_SUBMIT_TICKET */
-
 /* 
  * A simple function to determine if there is an exact match between two tickets
  * We rely on the fact that the external tickets contain the raw Kerberos ticket.
@@ -1474,41 +1287,6 @@ GetQueryTktCacheResponseXP( HANDLE LogonHandle, ULONG PackageId,
     return FALSE;
 }
 
-#ifdef HAVE_CACHE_INFO_EX2
-static BOOL
-GetQueryTktCacheResponseEX2( HANDLE LogonHandle, ULONG PackageId,
-                             PKERB_QUERY_TKT_CACHE_EX2_RESPONSE * ppResponse)
-{
-    NTSTATUS Status = 0;
-    NTSTATUS SubStatus = 0;
-
-    KERB_QUERY_TKT_CACHE_REQUEST CacheRequest;
-    PKERB_QUERY_TKT_CACHE_EX2_RESPONSE pQueryResponse = NULL;
-    ULONG ResponseSize;
-    
-    CacheRequest.MessageType = KerbQueryTicketCacheEx2Message;
-    CacheRequest.LogonId.LowPart = 0;
-    CacheRequest.LogonId.HighPart = 0;
-
-    Status = LsaCallAuthenticationPackage(
-        LogonHandle,
-        PackageId,
-        &CacheRequest,
-        sizeof(CacheRequest),
-        &pQueryResponse,
-        &ResponseSize,
-        &SubStatus
-        );
-
-    if ( !(FAILED(Status) || FAILED(SubStatus)) ) {
-        *ppResponse = pQueryResponse;
-        return TRUE;
-    }
-
-    return FALSE;
-}
-#endif /* HAVE_CACHE_INFO_EX2 */
-
 static BOOL
 GetMSCacheTicketFromMITCred( HANDLE LogonHandle, ULONG PackageId,
                              krb5_context context, krb5_creds *creds, 
@@ -1622,8 +1400,8 @@ GetMSCacheTicketFromCacheInfoW2K( HANDLE LogonHandle, ULONG PackageId,
      */
     if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_initial )
         (*ticket)->TicketFlags |= KERB_TICKET_FLAGS_initial;
-    return(TRUE);
 
+    return(TRUE);
 }
 
 static BOOL
@@ -1674,72 +1452,6 @@ GetMSCacheTicketFromCacheInfoXP( HANDLE LogonHandle, ULONG PackageId,
 
     LocalFree(pTicketRequest);
 
-    if (FAILED(Status) || FAILED(SubStatus))
-        return(FALSE);
-    
-    /* otherwise return ticket */
-    *ticket = &(pTicketResponse->Ticket);
-
-    /* set the initial flag if we were attempting to retrieve one
-     * because Windows won't necessarily return the initial ticket
-     * to us.
-     */
-    if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_initial )
-        (*ticket)->TicketFlags |= KERB_TICKET_FLAGS_initial;
-
-    return(TRUE);
-
-}
-
-#ifdef HAVE_CACHE_INFO_EX2
-static BOOL
-GetMSCacheTicketFromCacheInfoEX2( HANDLE LogonHandle, ULONG PackageId,
-                  PKERB_TICKET_CACHE_INFO_EX2 tktinfo, PKERB_EXTERNAL_TICKET *ticket)
-{
-    NTSTATUS Status = 0;
-    NTSTATUS SubStatus = 0;
-    ULONG RequestSize;
-    PKERB_RETRIEVE_TKT_REQUEST pTicketRequest = NULL;
-    PKERB_RETRIEVE_TKT_RESPONSE pTicketResponse = NULL;
-    ULONG ResponseSize;
-
-    RequestSize = sizeof(*pTicketRequest) + tktinfo->ServerName.Length;
-
-    pTicketRequest = (PKERB_RETRIEVE_TKT_REQUEST) LocalAlloc(LMEM_ZEROINIT, RequestSize);
-    if (!pTicketRequest)
-        return FALSE;
-
-    pTicketRequest->MessageType = KerbRetrieveEncodedTicketMessage;
-    pTicketRequest->LogonId.LowPart = 0;
-    pTicketRequest->LogonId.HighPart = 0;
-    pTicketRequest->TargetName.Length = tktinfo->ServerName.Length;
-    pTicketRequest->TargetName.MaximumLength = tktinfo->ServerName.Length;
-    pTicketRequest->TargetName.Buffer = (PWSTR) (pTicketRequest + 1);
-    memcpy(pTicketRequest->TargetName.Buffer,tktinfo->ServerName.Buffer, tktinfo->ServerName.Length);
-    pTicketRequest->CacheOptions = KERB_RETRIEVE_TICKET_CACHE_TICKET;
-    pTicketRequest->EncryptionType = tktinfo->SessionKeyType;
-    pTicketRequest->TicketFlags = 0;
-    if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_forwardable )
-        pTicketRequest->TicketFlags |= KDC_OPT_FORWARDABLE;
-    if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_forwarded )
-        pTicketRequest->TicketFlags |= KDC_OPT_FORWARDED;
-    if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_proxiable )
-        pTicketRequest->TicketFlags |= KDC_OPT_PROXIABLE;
-    if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_renewable )
-        pTicketRequest->TicketFlags |= KDC_OPT_RENEWABLE;
-
-    Status = LsaCallAuthenticationPackage(
-        LogonHandle,
-        PackageId,
-        pTicketRequest,
-        RequestSize,
-        &pTicketResponse,
-        &ResponseSize,
-        &SubStatus
-        );
-
-    LocalFree(pTicketRequest);
-
     if (FAILED(Status) || FAILED(SubStatus))
         return(FALSE);
     
@@ -1755,7 +1467,6 @@ GetMSCacheTicketFromCacheInfoEX2( HANDLE LogonHandle, ULONG PackageId,
 
     return(TRUE);
 }
-#endif /* HAVE_CACHE_INFO_EX2 */
 
 static krb5_error_code KRB5_CALLCONV krb5_lcc_close
         (krb5_context, krb5_ccache id);
@@ -1819,9 +1530,6 @@ typedef struct _krb5_lcc_cursor {
     union {
         PKERB_QUERY_TKT_CACHE_RESPONSE w2k;
         PKERB_QUERY_TKT_CACHE_EX_RESPONSE xp;
-#ifdef HAVE_CACHE_INFO_EX2
-        PKERB_QUERY_TKT_CACHE_EX2_RESPONSE ex2;
-#endif /* HAVE_CACHE_INFO_EX2 */
     } response;
     unsigned int index;
     PKERB_EXTERNAL_TICKET mstgt;
@@ -1856,22 +1564,11 @@ krb5_lcc_resolve (krb5_context context, krb5_ccache *id, const char *residual)
     HANDLE LogonHandle;
     ULONG  PackageId;
     KERB_EXTERNAL_TICKET *msticket;
+    krb5_error_code retval = KRB5_OK;
 
     if (!is_windows_2000())
         return KRB5_FCC_NOFILE;
 
-#ifdef COMMENT
-    /* In at least one case on Win2003 it appears that it is possible 
-     * for the logon session to be authenticated via NTLM and yet for
-     * there to be Kerberos credentials obtained by the LSA on behalf
-     * of the logged in user.  Therefore, we are removing this test
-     * which was meant to avoid the need to perform GetMSTGT() when
-     * there was no possibility of credentials being found.
-     */
-    if (!IsKerberosLogon())
-        return KRB5_FCC_NOFILE;
-#endif
-
     if (!PackageConnectLookup(&LogonHandle, &PackageId))
         return KRB5_FCC_NOFILE;
 
@@ -1911,10 +1608,12 @@ krb5_lcc_resolve (krb5_context context, krb5_ccache *id, const char *residual)
     if (GetMSTGT(context, data->LogonHandle, data->PackageId, &msticket, FALSE)) {
         /* convert the ticket */
         krb5_creds creds;
-        MSCredToMITCred(msticket, msticket->DomainName, context, &creds);
+        if (!MSCredToMITCred(msticket, msticket->DomainName, context, &creds))
+            retval = KRB5_FCC_INTERNAL;
         LsaFreeReturnBuffer(msticket);
 
-        krb5_copy_principal(context, creds.client, &data->princ);
+        if (retval == KRB5_OK)
+            krb5_copy_principal(context, creds.client, &data->princ);
         krb5_free_cred_contents(context,&creds);
     } else if (!does_retrieve_ticket_cache_ticket()) {
         krb5_xfree(data->cc_name);
@@ -1929,7 +1628,7 @@ krb5_lcc_resolve (krb5_context context, krb5_ccache *id, const char *residual)
      * if cache is non-existent/unusable 
      */
     *id = lid;
-    return KRB5_OK;
+    return retval;
 }
 
 /*
@@ -2021,8 +1720,8 @@ krb5_lcc_destroy(krb5_context context, krb5_ccache id)
     if (id) { 
         data = (krb5_lcc_data *) id->data;
 
-               return PurgeAllTickets(data->LogonHandle, data->PackageId) ? KRB5_OK : KRB5_FCC_INTERNAL;
-    }
+        return PurgeAllTickets(data->LogonHandle, data->PackageId) ? KRB5_OK : KRB5_FCC_INTERNAL;
+    }   
     return KRB5_FCC_INTERNAL;
 }
 
@@ -2063,16 +1762,6 @@ krb5_lcc_start_seq_get(krb5_context context, krb5_ccache id, krb5_cc_cursor *cur
         return KRB5_CC_NOTFOUND;
     }
 
-#ifdef HAVE_CACHE_INFO_EX2
-    if ( does_query_ticket_cache_ex2() ) {
-        if ( !GetQueryTktCacheResponseEX2(data->LogonHandle, data->PackageId, &lcursor->response.ex2) ) {
-            LsaFreeReturnBuffer(lcursor->mstgt);
-            free(lcursor);
-            *cursor = 0;
-            return KRB5_FCC_INTERNAL;
-        }
-    } else 
-#endif /* HAVE_CACHE_INFO_EX2 */
     if ( is_windows_xp() ) {
         if ( !GetQueryTktCacheResponseXP(data->LogonHandle, data->PackageId, &lcursor->response.xp) ) {
             LsaFreeReturnBuffer(lcursor->mstgt);
@@ -2125,33 +1814,6 @@ krb5_lcc_next_cred(krb5_context context, krb5_ccache id, krb5_cc_cursor *cursor,
     data = (krb5_lcc_data *)id->data;
 
   next_cred:
-#ifdef HAVE_CACHE_INFO_EX2
-    if ( does_query_ticket_cache_ex2() ) {
-        if ( lcursor->index >= lcursor->response.ex2->CountOfTickets ) {
-            if (retval == KRB5_OK)
-                return KRB5_CC_END;
-            else {
-                LsaFreeReturnBuffer(lcursor->mstgt);
-                LsaFreeReturnBuffer(lcursor->response.ex2);
-                free(*cursor);
-                *cursor = 0;
-                return retval;
-            }
-        }
-
-        if ( data->flags & KRB5_TC_NOTICKET ) {
-             CacheInfoEx2ToMITCred( &lcursor->response.ex2->Tickets[lcursor->index++], 
-                                    context, creds);
-            return KRB5_OK;
-        } else {
-            if (!GetMSCacheTicketFromCacheInfoEX2(data->LogonHandle, data->PackageId,
-                                                      &lcursor->response.ex2->Tickets[lcursor->index++],&msticket)) {
-                retval = KRB5_FCC_INTERNAL;
-                goto next_cred;
-            }
-        }
-    } else 
-#endif /* HAVE_CACHE_INFO_EX2 */
     if ( is_windows_xp() ) {
         if ( lcursor->index >= lcursor->response.xp->CountOfTickets ) {
             if (retval == KRB5_OK)
@@ -2197,18 +1859,15 @@ krb5_lcc_next_cred(krb5_context context, krb5_ccache id, krb5_cc_cursor *cursor,
     }
 
     /* convert the ticket */
-#ifdef HAVE_CACHE_INFO_EX2
-    if ( does_query_ticket_cache_ex2() ) {
-        MSCredToMITCred(msticket, lcursor->response.ex2->Tickets[lcursor->index-1].ClientRealm, context, creds);
-    } else 
-#endif /* HAVE_CACHE_INFO_EX2 */
     if ( is_windows_xp() ) {
-        MSCredToMITCred(msticket, lcursor->response.xp->Tickets[lcursor->index-1].ClientRealm, context, creds);
+        if (!MSCredToMITCred(msticket, lcursor->response.xp->Tickets[lcursor->index-1].ClientRealm, context, creds))
+            retval = KRB5_FCC_INTERNAL;
     } else {
-        MSCredToMITCred(msticket, lcursor->mstgt->DomainName, context, creds);
+        if (!MSCredToMITCred(msticket, lcursor->mstgt->DomainName, context, creds))
+            retval = KRB5_FCC_INTERNAL;
     }
     LsaFreeReturnBuffer(msticket);
-    return KRB5_OK;
+    return retval;
 }
 
 /*
@@ -2234,11 +1893,6 @@ krb5_lcc_end_seq_get(krb5_context context, krb5_ccache id, krb5_cc_cursor *curso
 
     if ( lcursor ) {
         LsaFreeReturnBuffer(lcursor->mstgt);
-#ifdef HAVE_CACHE_INFO_EX2
-        if ( does_query_ticket_cache_ex2() )
-            LsaFreeReturnBuffer(lcursor->response.ex2);
-        else 
-#endif /* HAVE_CACHE_INFO_EX2 */
         if ( is_windows_xp() )
             LsaFreeReturnBuffer(lcursor->response.xp);
         else
@@ -2301,7 +1955,6 @@ static krb5_error_code KRB5_CALLCONV
 krb5_lcc_get_principal(krb5_context context, krb5_ccache id, krb5_principal *princ)
 {
     krb5_lcc_data *data = (krb5_lcc_data *)id->data;
-    krb5_error_code kret = KRB5_OK;
 
     if (!is_windows_2000())
         return KRB5_FCC_NOFILE;
@@ -2317,7 +1970,11 @@ krb5_lcc_get_principal(krb5_context context, krb5_ccache id, krb5_principal *pri
         if (GetMSTGT(context, data->LogonHandle, data->PackageId, &msticket, FALSE)) {
             /* convert the ticket */
             krb5_creds creds;
-            MSCredToMITCred(msticket, msticket->DomainName, context, &creds);
+            if (!MSCredToMITCred(msticket, msticket->DomainName, context, &creds))
+            {
+                LsaFreeReturnBuffer(msticket);
+                return KRB5_FCC_INTERNAL;
+            }
             LsaFreeReturnBuffer(msticket);
 
             krb5_copy_principal(context, creds.client, &data->princ);
@@ -2336,7 +1993,7 @@ krb5_lcc_retrieve(krb5_context context, krb5_ccache id, krb5_flags whichfields,
     krb5_error_code kret = KRB5_OK;
     krb5_lcc_data *data = (krb5_lcc_data *)id->data;
     KERB_EXTERNAL_TICKET *msticket = 0, *mstgt = 0, *mstmp = 0;
-    krb5_creds * mcreds_noflags;
+    krb5_creds * mcreds_noflags = 0;
     krb5_creds   fetchcreds;
 
     if (!is_windows_2000())
@@ -2350,7 +2007,9 @@ krb5_lcc_retrieve(krb5_context context, krb5_ccache id, krb5_flags whichfields,
         return KRB5_OK;
     
     /* if not, we must try to get a ticket without specifying any flags or etypes */
-    krb5_copy_creds(context, mcreds, &mcreds_noflags);
+    kret = krb5_copy_creds(context, mcreds, &mcreds_noflags);
+    if (kret)
+        goto cleanup;
     mcreds_noflags->ticket_flags = 0;
     mcreds_noflags->keyblock.enctype = 0;
 
@@ -2364,8 +2023,6 @@ krb5_lcc_retrieve(krb5_context context, krb5_ccache id, krb5_flags whichfields,
     if ( !kret )
         goto cleanup;
 
-
-
     /* if not, obtain a ticket using the request flags and enctype even though it may not
      * be stored in the LSA cache for future use.
      */
@@ -2384,7 +2041,11 @@ krb5_lcc_retrieve(krb5_context context, krb5_ccache id, krb5_flags whichfields,
         if ( PreserveInitialTicketIdentity() )
             GetMSTGT(context, data->LogonHandle, data->PackageId, &mstgt, FALSE);
 
-        MSCredToMITCred(msticket, mstgt ? mstgt->DomainName : msticket->DomainName, context, &fetchcreds);
+        if (!MSCredToMITCred(msticket, mstgt ? mstgt->DomainName : msticket->DomainName, context, &fetchcreds))
+        {
+            kret = KRB5_FCC_INTERNAL;
+            goto cleanup;
+        }
     } else {
         /* We can obtain the correct client realm for a ticket by walking the
          * cache contents until we find the matching service ticket.
@@ -2410,7 +2071,12 @@ krb5_lcc_retrieve(krb5_context context, krb5_ccache id, krb5_flags whichfields,
             mstmp = 0;
         }
 
-        MSCredToMITCred(msticket, mstmp ? pResponse->Tickets[i].ClientRealm : msticket->DomainName, context, &fetchcreds);
+        if (!MSCredToMITCred(msticket, mstmp ? pResponse->Tickets[i].ClientRealm : msticket->DomainName, context, &fetchcreds))
+        {
+            LsaFreeReturnBuffer(pResponse);
+            kret = KRB5_FCC_INTERNAL;
+            goto cleanup;
+        }
         LsaFreeReturnBuffer(pResponse);
     }
 
@@ -2452,26 +2118,22 @@ krb5_lcc_store(krb5_context context, krb5_ccache id, krb5_creds *creds)
     krb5_error_code kret = KRB5_OK;
     krb5_lcc_data *data = (krb5_lcc_data *)id->data;
     KERB_EXTERNAL_TICKET *msticket = 0, *msticket2 = 0;
-    krb5_creds * creds_noflags;
+    krb5_creds * creds_noflags = 0;
 
     if (!is_windows_2000())
         return KRB5_FCC_NOFILE;
 
-#ifdef KERB_SUBMIT_TICKET
-    /* we can use the new KerbSubmitTicketMessage to store the ticket */
-    if (KerbSubmitTicket( data->LogonHandle, data->PackageId, context, creds ))
-        return KRB5_OK;
-#endif /* KERB_SUBMIT_TICKET */
-
     /* If not, lets try to obtain a matching ticket from the KDC */
     if ( creds->ticket_flags != 0 && creds->keyblock.enctype != 0 ) {
         /* if not, we must try to get a ticket without specifying any flags or etypes */
-        krb5_copy_creds(context, creds, &creds_noflags);
-        creds_noflags->ticket_flags = 0;
-        creds_noflags->keyblock.enctype = 0;
+        kret = krb5_copy_creds(context, creds, &creds_noflags);
+        if (kret == 0) {
+            creds_noflags->ticket_flags = 0;
+            creds_noflags->keyblock.enctype = 0;
 
-        GetMSCacheTicketFromMITCred(data->LogonHandle, data->PackageId, context, creds_noflags, &msticket2);
-        krb5_free_creds(context, creds_noflags);
+            GetMSCacheTicketFromMITCred(data->LogonHandle, data->PackageId, context, creds_noflags, &msticket2);
+            krb5_free_creds(context, creds_noflags);
+        }
     }
 
     GetMSCacheTicketFromMITCred(data->LogonHandle, data->PackageId, context, creds, &msticket);
index 75363971bf3913b3c50ad40bcb569643cd10e975..7907333e02a740a9a791c74988ef79f0a88b05f0 100644 (file)
@@ -1,3 +1,34 @@
+2004-11-26  Ken Raeburn  <raeburn@mit.edu>
+
+       * kt_file.c (krb5_ktfile_wresolve): Initialize mutex here too.
+
+2004-11-23  Ken Raeburn  <raeburn@mit.edu>
+
+       * kt_file.c (struct _krb5_ktfile_data): Add mutex and buffer.
+       (KTFILEBUFP, KTLOCK, KTUNLOCK, KTCHECKLOCK): New macros.
+       (krb5_ktfile_resolve): Initialize mutex.
+       (krb5_ktfile_close): Zap data buffer before freeing.
+       (krb5_ktfile_get_entry, krb5_ktfile_start_seq_get,
+       krb5_ktfile_get_next, krb5_ktfile_end_get, krb5_ktfile_add,
+       krb5_ktfile_remove): Lock and unlock the mutex.
+       (krb5_ktfileint_open): Check that the mutex is locked.  Set the
+       stdio buffer to the new buffer in the ktfile data.
+       (krb5_ktfileint_write_entry, krb5_ktfileint_find_slot): Check that
+       the mutex is locked.  Don't call setbuf.  Flush the stdio buffer
+       after writing.
+
+2004-11-23  Tom Yu  <tlyu@mit.edu>
+
+       * kt_file.c (krb5_ktfileint_open): Update previous change by
+       explicitly setting errno=0 prior to calling fopen().  Also, return
+       EMFILE, not ENFILE, for compatibility with Solaris 8, which does
+       set errno when out of file descriptors.
+
+2004-11-19  Tom Yu  <tlyu@mit.edu>
+
+       * kt_file.c (krb5_ktfileint_open): Patch from Roland Dowdeswell to
+       return ENFILE when fopen() returns NULL but doesn't set errno.
+
 2004-06-22  Ken Raeburn  <raeburn@mit.edu>
 
        * kt_file.c (krb5_ktf_keytab_externalize,
index c6f94f2e773808a7efc56bb2529b22bd0399b1ac..6fb9f7b36af087762dbf578610e47b063a0c2426 100644 (file)
@@ -52,7 +52,9 @@
 typedef struct _krb5_ktfile_data {
     char *name;                        /* Name of the file */
     FILE *openf;               /* open file, if any. */
+    char iobuf[BUFSIZ];                /* so we can zap it later */
     int        version;                /* Version number of keytab */
+    k5_mutex_t lock;           /* Protect openf, version */
 } krb5_ktfile_data;
 
 /*
@@ -61,7 +63,11 @@ typedef struct _krb5_ktfile_data {
 #define KTPRIVATE(id) ((krb5_ktfile_data *)(id)->data)
 #define KTFILENAME(id) (((krb5_ktfile_data *)(id)->data)->name)
 #define KTFILEP(id) (((krb5_ktfile_data *)(id)->data)->openf)
+#define KTFILEBUFP(id) (((krb5_ktfile_data *)(id)->data)->iobuf)
 #define KTVERSION(id) (((krb5_ktfile_data *)(id)->data)->version)
+#define KTLOCK(id) k5_mutex_lock(&((krb5_ktfile_data *)(id)->data)->lock)
+#define KTUNLOCK(id) k5_mutex_unlock(&((krb5_ktfile_data *)(id)->data)->lock)
+#define KTCHECKLOCK(id) k5_mutex_assert_locked(&((krb5_ktfile_data *)(id)->data)->lock)
 
 extern const struct _krb5_kt_ops krb5_ktf_ops;
 extern const struct _krb5_kt_ops krb5_ktf_writable_ops;
@@ -175,6 +181,7 @@ krb5_error_code KRB5_CALLCONV
 krb5_ktfile_resolve(krb5_context context, const char *name, krb5_keytab *id)
 {
     krb5_ktfile_data *data;
+    krb5_error_code err;
 
     if ((*id = (krb5_keytab) malloc(sizeof(**id))) == NULL)
        return(ENOMEM);
@@ -185,7 +192,14 @@ krb5_ktfile_resolve(krb5_context context, const char *name, krb5_keytab *id)
        return(ENOMEM);
     }
 
+    err = k5_mutex_init(&data->lock);
+    if (err) {
+       krb5_xfree(*id);
+       return err;
+    }
+
     if ((data->name = (char *)calloc(strlen(name) + 1, sizeof(char))) == NULL) {
+       k5_mutex_destroy(&data->lock);
        krb5_xfree(data);
        krb5_xfree(*id);
        return(ENOMEM);
@@ -217,6 +231,8 @@ krb5_ktfile_close(krb5_context context, krb5_keytab id)
    */
 {
     krb5_xfree(KTFILENAME(id));
+    zap(KTFILEBUFP(id), BUFSIZ);
+    k5_mutex_destroy(&((krb5_ktfile_data *)id->data)->lock);
     krb5_xfree(id->data);
     id->ops = 0;
     krb5_xfree(id);
@@ -230,7 +246,9 @@ krb5_ktfile_close(krb5_context context, krb5_keytab id)
  */
 
 krb5_error_code KRB5_CALLCONV
-krb5_ktfile_get_entry(krb5_context context, krb5_keytab id, krb5_const_principal principal, krb5_kvno kvno, krb5_enctype enctype, krb5_keytab_entry *entry)
+krb5_ktfile_get_entry(krb5_context context, krb5_keytab id,
+                     krb5_const_principal principal, krb5_kvno kvno,
+                     krb5_enctype enctype, krb5_keytab_entry *entry)
 {
     krb5_keytab_entry cur_entry, new_entry;
     krb5_error_code kerror = 0;
@@ -238,9 +256,15 @@ krb5_ktfile_get_entry(krb5_context context, krb5_keytab id, krb5_const_principal
     krb5_boolean similar;
     int kvno_offset = 0;
 
+    kerror = KTLOCK(id);
+    if (kerror)
+       return kerror;
+
     /* Open the keyfile for reading */
-    if ((kerror = krb5_ktfileint_openr(context, id)))
+    if ((kerror = krb5_ktfileint_openr(context, id))) {
+       KTUNLOCK(id);
        return(kerror);
+    }
     
     /* 
      * For efficiency and simplicity, we'll use a while true that 
@@ -347,13 +371,16 @@ krb5_ktfile_get_entry(krb5_context context, krb5_keytab id, krb5_const_principal
     }
     if (kerror) {
        (void) krb5_ktfileint_close(context, id);
+       KTUNLOCK(id);
        krb5_kt_free_entry(context, &cur_entry);
        return kerror;
     }
     if ((kerror = krb5_ktfileint_close(context, id)) != 0) {
+       KTUNLOCK(id);
        krb5_kt_free_entry(context, &cur_entry);
        return kerror;
     }
+    KTUNLOCK(id);
     *entry = cur_entry;
     return 0;
 }
@@ -399,15 +426,23 @@ krb5_ktfile_start_seq_get(krb5_context context, krb5_keytab id, krb5_kt_cursor *
     krb5_error_code retval;
     long *fileoff;
 
-    if ((retval = krb5_ktfileint_openr(context, id)))
+    retval = KTLOCK(id);
+    if (retval)
        return retval;
 
+    if ((retval = krb5_ktfileint_openr(context, id))) {
+       KTUNLOCK(id);
+       return retval;
+    }
+
     if (!(fileoff = (long *)malloc(sizeof(*fileoff)))) {
        krb5_ktfileint_close(context, id);
+       KTUNLOCK(id);
        return ENOMEM;
     }
     *fileoff = ftell(KTFILEP(id));
     *cursorp = (krb5_kt_cursor)fileoff;
+    KTUNLOCK(id);
 
     return 0;
 }
@@ -423,12 +458,20 @@ krb5_ktfile_get_next(krb5_context context, krb5_keytab id, krb5_keytab_entry *en
     krb5_keytab_entry cur_entry;
     krb5_error_code kerror;
 
-    if (fseek(KTFILEP(id), *fileoff, 0) == -1)
+    kerror = KTLOCK(id);
+    if (kerror)
+       return kerror;
+    if (fseek(KTFILEP(id), *fileoff, 0) == -1) {
+       KTUNLOCK(id);
        return KRB5_KT_END;
-    if ((kerror = krb5_ktfileint_read_entry(context, id, &cur_entry)))
+    }
+    if ((kerror = krb5_ktfileint_read_entry(context, id, &cur_entry))) {
+       KTUNLOCK(id);
        return kerror;
+    }
     *fileoff = ftell(KTFILEP(id));
     *entry = cur_entry;
+    KTUNLOCK(id);
     return 0;
 }
 
@@ -439,8 +482,13 @@ krb5_ktfile_get_next(krb5_context context, krb5_keytab id, krb5_keytab_entry *en
 krb5_error_code KRB5_CALLCONV 
 krb5_ktfile_end_get(krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)
 {
+    krb5_error_code kerror;
+
     krb5_xfree(*cursor);
-    return krb5_ktfileint_close(context, id);
+    KTLOCK(id);
+    kerror = krb5_ktfileint_close(context, id);
+    KTUNLOCK(id);
+    return kerror;
 }
 
 /*
@@ -745,6 +793,7 @@ krb5_error_code KRB5_CALLCONV
 krb5_ktfile_wresolve(krb5_context context, const char *name, krb5_keytab *id)
 {
     krb5_ktfile_data *data;
+    krb5_error_code err;
 
     if ((*id = (krb5_keytab) malloc(sizeof(**id))) == NULL)
        return(ENOMEM);
@@ -755,7 +804,14 @@ krb5_ktfile_wresolve(krb5_context context, const char *name, krb5_keytab *id)
        return(ENOMEM);
     }
 
+    err = k5_mutex_init(&data->lock);
+    if (err) {
+       krb5_xfree(*id);
+       return err;
+    }
+
     if ((data->name = (char *)calloc(strlen(name) + 1, sizeof(char))) == NULL) {
+       k5_mutex_destroy(&data->lock);
        krb5_xfree(data);
        krb5_xfree(*id);
        return(ENOMEM);
@@ -780,12 +836,20 @@ krb5_ktfile_add(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)
 {
     krb5_error_code retval;
 
-    if ((retval = krb5_ktfileint_openw(context, id)))
+    retval = KTLOCK(id);
+    if (retval)
        return retval;
-    if (fseek(KTFILEP(id), 0, 2) == -1)
+    if ((retval = krb5_ktfileint_openw(context, id))) {
+       KTUNLOCK(id);
+       return retval;
+    }
+    if (fseek(KTFILEP(id), 0, 2) == -1) {
+       KTUNLOCK(id);
        return KRB5_KT_END;
+    }
     retval = krb5_ktfileint_write_entry(context, id, entry);
     krb5_ktfileint_close(context, id);
+    KTUNLOCK(id);
     return retval;
 }
 
@@ -800,7 +864,12 @@ krb5_ktfile_remove(krb5_context context, krb5_keytab id, krb5_keytab_entry *entr
     krb5_error_code     kerror;
     krb5_int32          delete_point;
 
+    kerror = KTLOCK(id);
+    if (kerror)
+       return kerror;
+
     if ((kerror = krb5_ktfileint_openw(context, id))) {
+       KTUNLOCK(id);
        return kerror;
     }
 
@@ -829,6 +898,7 @@ krb5_ktfile_remove(krb5_context context, krb5_keytab id, krb5_keytab_entry *entr
 
     if (kerror) {
        (void) krb5_ktfileint_close(context, id);
+       KTUNLOCK(id);
        return kerror;
     }
 
@@ -839,7 +909,7 @@ krb5_ktfile_remove(krb5_context context, krb5_keytab id, krb5_keytab_entry *entr
     } else {
         kerror = krb5_ktfileint_close(context, id);
     }
-
+    KTUNLOCK(id);
     return kerror;
 }
 
@@ -999,6 +1069,8 @@ krb5_ktfileint_open(krb5_context context, krb5_keytab id, int mode)
     krb5_kt_vno kt_vno;
     int writevno = 0;
 
+    KTCHECKLOCK(id);
+    errno = 0;
     KTFILEP(id) = fopen(KTFILENAME(id),
                        (mode == KRB5_LOCKMODE_EXCLUSIVE) ?
                          fopen_mode_rbplus : fopen_mode_rb);
@@ -1006,12 +1078,13 @@ krb5_ktfileint_open(krb5_context context, krb5_keytab id, int mode)
        if ((mode == KRB5_LOCKMODE_EXCLUSIVE) && (errno == ENOENT)) {
            /* try making it first time around */
             krb5_create_secure_file(context, KTFILENAME(id));
+           errno = 0;
            KTFILEP(id) = fopen(KTFILENAME(id), fopen_mode_rbplus);
            if (!KTFILEP(id))
-               return errno;
+               return errno ? errno : EMFILE;
            writevno = 1;
        } else                          /* some other error */
-           return errno;
+           return errno ? errno : EMFILE;
     }
     if ((kerror = krb5_lock_file(context, fileno(KTFILEP(id)), mode))) {
        (void) fclose(KTFILEP(id));
@@ -1019,7 +1092,7 @@ krb5_ktfileint_open(krb5_context context, krb5_keytab id, int mode)
        return kerror;
     }
     /* assume ANSI or BSD-style stdio */
-    setbuf(KTFILEP(id), NULL);
+    setbuf(KTFILEP(id), KTFILEBUFP(id));
 
     /* get the vno and verify it */
     if (writevno) {
@@ -1067,6 +1140,7 @@ krb5_ktfileint_close(krb5_context context, krb5_keytab id)
 {
     krb5_error_code kerror;
 
+    KTCHECKLOCK(id);
     if (!KTFILEP(id))
        return 0;
     kerror = krb5_unlock_file(context, fileno(KTFILEP(id)));
@@ -1082,6 +1156,7 @@ krb5_ktfileint_delete_entry(krb5_context context, krb5_keytab id, krb5_int32 del
     krb5_int32  len;
     char        iobuf[BUFSIZ];
 
+    KTCHECKLOCK(id);
     if (fseek(KTFILEP(id), delete_point, SEEK_SET)) {
         return errno;
     }
@@ -1140,6 +1215,7 @@ krb5_ktfileint_internal_read_entry(krb5_context context, krb5_keytab id, krb5_ke
     char       *tmpdata;
     krb5_data  *princ;
 
+    KTCHECKLOCK(id);
     memset(ret_entry, 0, sizeof(krb5_keytab_entry));
     ret_entry->magic = KV5M_KEYTAB_ENTRY;
 
@@ -1356,8 +1432,8 @@ krb5_ktfileint_write_entry(krb5_context context, krb5_keytab id, krb5_keytab_ent
     krb5_int32  size_needed;
     krb5_int32  commit_point;
     int                i;
-    char iobuf[BUFSIZ];
 
+    KTCHECKLOCK(id);
     retval = krb5_ktfileint_size_entry(context, entry, &size_needed);
     if (retval)
         return retval;
@@ -1365,10 +1441,8 @@ krb5_ktfileint_write_entry(krb5_context context, krb5_keytab id, krb5_keytab_ent
     if (retval)
         return retval;
 
-    setbuf(KTFILEP(id), iobuf);
-
     /* fseek to synchronise buffered I/O on the key table. */
-
+    /* XXX Without the weird setbuf crock, can we get rid of this now?  */
     if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
     {
         return errno;
@@ -1382,7 +1456,6 @@ krb5_ktfileint_write_entry(krb5_context context, krb5_keytab id, krb5_keytab_ent
     
     if (!xfwrite(&count, sizeof(count), 1, KTFILEP(id))) {
     abend:
-       setbuf(KTFILEP(id), 0);
        return KRB5_KT_IOERR;
     }
     size = krb5_princ_realm(context, entry->principal)->length;
@@ -1457,14 +1530,13 @@ krb5_ktfileint_write_entry(krb5_context context, krb5_keytab id, krb5_keytab_ent
     }
     if (!xfwrite(entry->key.contents, sizeof(krb5_octet),
                 entry->key.length, KTFILEP(id))) {
-       memset(iobuf, 0, sizeof(iobuf));
-       setbuf(KTFILEP(id), 0);
-       return KRB5_KT_IOERR;
+       goto abend;
     }  
 
+    if (fflush(KTFILEP(id)))
+       goto abend;
+
     retval = krb5_sync_disk_file(context, KTFILEP(id));
-    (void) memset(iobuf, 0, sizeof(iobuf));
-    setbuf(KTFILEP(id), 0);
 
     if (retval) {
         return retval;
@@ -1478,6 +1550,8 @@ krb5_ktfileint_write_entry(krb5_context context, krb5_keytab id, krb5_keytab_ent
     if (!xfwrite(&size_needed, sizeof(size_needed), 1, KTFILEP(id))) {
         goto abend;
     }
+    if (fflush(KTFILEP(id)))
+       goto abend;
     retval = krb5_sync_disk_file(context, KTFILEP(id));
 
     return retval;
@@ -1536,6 +1610,7 @@ krb5_ktfileint_find_slot(krb5_context context, krb5_keytab id, krb5_int32 *size_
     krb5_boolean    found = FALSE;
     char            iobuf[BUFSIZ];
 
+    KTCHECKLOCK(id);
     /*
      * Skip over file version number
      */
@@ -1552,11 +1627,10 @@ krb5_ktfileint_find_slot(krb5_context context, krb5_keytab id, krb5_int32 *size_
             /*
              * Hit the end of file, reserve this slot.
              */
-            setbuf(KTFILEP(id), 0);
             size = 0;
 
             /* fseek to synchronise buffered I/O on the key table. */
-
+           /* XXX Without the weird setbuf hack, can we nuke this now?  */
             if (fseek(KTFILEP(id), 0L, SEEK_CUR) < 0)
             {
                 return errno;
@@ -1607,7 +1681,6 @@ krb5_ktfileint_find_slot(krb5_context context, krb5_keytab id, krb5_int32 *size_
                  * Make sure we zero any trailing data.
                  */
                 zero_point = ftell(KTFILEP(id));
-                setbuf(KTFILEP(id), iobuf);
                 while ((size = xfread(iobuf, 1, sizeof(iobuf), KTFILEP(id)))) {
                     if (size != sizeof(iobuf)) {
                         remainder = size % sizeof(krb5_int32);
@@ -1623,6 +1696,7 @@ krb5_ktfileint_find_slot(krb5_context context, krb5_keytab id, krb5_int32 *size_
 
                     memset(iobuf, 0, (size_t) size);
                     xfwrite(iobuf, 1, (size_t) size, KTFILEP(id));
+                   fflush(KTFILEP(id));
                     if (feof(KTFILEP(id))) {
                         break;
                     }
@@ -1633,7 +1707,6 @@ krb5_ktfileint_find_slot(krb5_context context, krb5_keytab id, krb5_int32 *size_
                     }
 
                 }
-                setbuf(KTFILEP(id), 0);
                 if (fseek(KTFILEP(id), zero_point, SEEK_SET)) {
                     return errno;
                 }
index 46483aca3494406419307c582d0ee9f848622f58..8bbe82cb54440c645253fc27b9ce29bce4009ca1 100644 (file)
@@ -1,3 +1,72 @@
+2005-07-12  Tom Yu  <tlyu@mit.edu>
+
+       * recvauth.c (recvauth_common): Avoid double-free on invalid
+       version string.  Thanks to Magnus Hagander.  Fix for
+       MITKRB5-SA-2005-003 [CAN-2005-1689, VU#623332].
+
+       * unparse.c (krb5_unparse_name_ext): Account for zero-component
+       principal, to avoid single-byte overflow.  Thanks to Daniel
+       Wachdorf.  Part of fix for MITKRB5-SA-2005-002 [CAN-2005-1175,
+       VU#885830].
+
+2005-04024  Jeffrey Altman <jaltman@mit.edu>
+
+        * get_creds.c: 
+        the purpose of the krb5_get_credentials call is to 
+        obtain a set of credentials for the caller.  the 
+        krb5_cc_store_cred() call is to optimize performance
+        for future calls.  Ignore any errors, since the credentials
+        are still valid even if we fail to store them in the cache.
+        
+2005-03-22  Tom Yu  <tlyu@mit.edu>
+
+       * x-deltat.y (wsnum): Add missing semicolon following YYERROR,
+       which was preventing bison-1.75 from producing compilable C
+       output.
+
+       * gic_keytab.c (krb5_get_init_creds_keytab): When calling
+       krb5_get_init_creds() for the second time (with use_master=1),
+       also accept KRB5_REALM_UNKNOWN as a soft error, and use the result
+       from the first call to krb5_get_init_creds().  This can happen
+       when no master KDC is configured.
+
+2005-03-14  Jeffrey Altman <jaltman@mit.edu>
+
+        * Makefile.in: fix maintainer mode since it is not supported on 
+          Windows.
+
+2005-03-03  Ken Raeburn  <raeburn@mit.edu>
+
+       * x-deltat.y (tok_WS): Renamed terminal from "WS", which conflicts
+       with HP-UX 10 header files.  Updated all productions.
+       (mylex): Updated.
+       * Makefile.in ($(srcdir)/deltat.c): Enable dependencies in
+       maintainer mode.
+       * deltat.c: Updated.
+
+2005-02-09  Tom Yu  <tlyu@mit.edu>
+
+       * gic_pwd.c (krb5_get_init_creds_password): Fix so empty password
+       string causes prompting and doesn't cause truncation of password
+       to zero characters.
+
+2005-01-17  Jeffrey Altman <jaltman@mit.edu>
+        * unparse.c: krb5_unparse_name, krb5_unparse_name_ext()
+          prevent null pointer dereferencing if either 'name' or 'size'    
+          are NULL.
+
+2005-01-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * cp_key_cnt.c, copy_princ.c:
+          prevent krb5_copy_principal() and krb5_copy_keyblock() from
+          calling malloc(0).  On platforms in which malloc(0) returns   
+          NULL, these functions will return an ENOMEM error the way
+          they were written.  
+
+2005-01-03  Ken Raeburn  <raeburn@mit.edu>
+
+       * parse.c (krb5_parse_name): Don't cache the default realm name.
+
 2004-10-26  Tom Yu  <tlyu@mit.edu>
 
        * mk_req_ext.c (krb5_mk_req_extended): Free keyblock before
index 10b39b1071cfd2db7bc449ad76c08664262739b2..2c5572ca17e91959b4b92dcf94e01da373fc250f 100644 (file)
@@ -277,7 +277,10 @@ SRCS=      $(srcdir)/addr_comp.c   \
 # Someday, when we have a "maintainer mode", do this right:
 BISON=bison
 BISONFLAGS=-v # -v -> .output; -d -> .h
-$(srcdir)/deltat.c : # x-deltat.y
+DELTAT_DEP=@MAINT@ x-deltat.y
+##WIN32##DELTAT_DEP=
+
+$(srcdir)/deltat.c : $(DELTAT_DEP)
        $(BISON) $(BISONFLAGS) -o $(srcdir)/deltat.c $(srcdir)/x-deltat.y
 
 ##DOS##LIBOBJS = $(OBJS)
index 569e55b90ac27f4765737c3e02477c7982b65fb1..f623236958e18fc92286d915e000a40ac839ec62 100644 (file)
@@ -60,32 +60,36 @@ krb5_copy_principal(krb5_context context, krb5_const_principal inprinc, krb5_pri
     for (i = 0; i < nelems; i++) {
        unsigned int len = krb5_princ_component(context, inprinc, i)->length;
        krb5_princ_component(context, tempprinc, i)->length = len;
-       if (((krb5_princ_component(context, tempprinc, i)->data =
-             malloc(len)) == 0) && len) {
-           while (--i >= 0)
-               free(krb5_princ_component(context, tempprinc, i)->data);
-           free (tempprinc->data);
-           free (tempprinc);
-           return ENOMEM;
-       }
-       if (len)
+        if (len) {
+            if (((krb5_princ_component(context, tempprinc, i)->data =
+                   malloc(len)) == 0)) {
+                while (--i >= 0)
+                    free(krb5_princ_component(context, tempprinc, i)->data);
+                free (tempprinc->data);
+                free (tempprinc);
+                return ENOMEM;
+            }
            memcpy(krb5_princ_component(context, tempprinc, i)->data,
                   krb5_princ_component(context, inprinc, i)->data, len);
+        } else
+            krb5_princ_component(context, tempprinc, i)->data = 0;
     }
 
-    tempprinc->realm.data =
+    if (tempprinc->realm.length) {
+        tempprinc->realm.data =
            malloc(tempprinc->realm.length = inprinc->realm.length);
-    if (!tempprinc->realm.data && tempprinc->realm.length) {
+        if (!tempprinc->realm.data) {
            for (i = 0; i < nelems; i++)
-                   free(krb5_princ_component(context, tempprinc, i)->data);
+                free(krb5_princ_component(context, tempprinc, i)->data);
            free(tempprinc->data);
            free(tempprinc);
            return ENOMEM;
-    }
-    if (tempprinc->realm.length)
+        }
        memcpy(tempprinc->realm.data, inprinc->realm.data,
               inprinc->realm.length);
-    
+    } else
+        tempprinc->realm.data = 0;
+
     *outprinc = tempprinc;
     return 0;
 }
index b39a6a98a2be81b4b86f6da0250198588700c629..150be0a57e5c75a9a36a792857050281a3d96f62 100644 (file)
@@ -36,9 +36,12 @@ krb5_error_code KRB5_CALLCONV
 krb5_copy_keyblock_contents(krb5_context context, const krb5_keyblock *from, krb5_keyblock *to)
 {
     *to = *from;
-    to->contents = (krb5_octet *)malloc(to->length);
-    if (!to->contents)
-       return ENOMEM;
-    memcpy((char *)to->contents, (char *)from->contents, to->length);
+    if (to->length) {
+        to->contents = (krb5_octet *)malloc(to->length);
+        if (!to->contents)
+            return ENOMEM;
+        memcpy((char *)to->contents, (char *)from->contents, to->length);
+    } else 
+        to->contents = 0;
     return 0;
 }
index 7f8fe160d172f1e3717e9a4ec1a0b95a9de7ff99..a12e42d784df08a801244e898234be64d4c86ea8 100644 (file)
@@ -1,15 +1,74 @@
+/* A Bison parser, made by GNU Bison 1.875c.  */
 
-/*  A Bison parser, made from ./x-deltat.y
-    by GNU Bison version 1.28  */
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-#define YYBISON 1  /* Identify Bison output.  */
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
 
-#define        NUM     257
-#define        LONGNUM 258
-#define        OVERFLOW        259
-#define        WS      260
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
 
-#line 38 "./x-deltat.y"
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 1
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     NUM = 258,
+     LONGNUM = 259,
+     OVERFLOW = 260,
+     tok_WS = 261
+   };
+#endif
+#define NUM 258
+#define LONGNUM 259
+#define OVERFLOW 260
+#define tok_WS 261
+
+
+
+
+/* Copy the first part of user declarations.  */
+#line 38 "../../../../src/lib/krb5/krb/x-deltat.y"
 
 
 #include <ctype.h>
@@ -94,439 +153,730 @@ static int mylex (int *, char **);
 static int yyparse (void *);
 
 
-#line 125 "./x-deltat.y"
-typedef union { int val; } YYSTYPE;
-#include <stdio.h>
 
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
 #endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
 #endif
 
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 125 "../../../../src/lib/krb5/krb/x-deltat.y"
+typedef union YYSTYPE { int val; } YYSTYPE;
+/* Line 191 of yacc.c.  */
+#line 175 "../../../../src/lib/krb5/krb/deltat.c"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
 
 
-#define        YYFINAL         42
-#define        YYFLAG          -32768
-#define        YYNTBASE        13
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 260 ? yytranslate[x] : 22)
-
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     6,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     7,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     8,
-     2,     2,     2,     9,     2,     2,     2,     2,    10,     2,
-     2,     2,     2,     2,    11,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     3,     4,     5,    12
-};
 
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     2,     4,     6,     8,    11,    12,    14,    17,    20,
-    24,    28,    32,    35,    43,    49,    53,    55,    57,    61,
-    63,    67,    69
-};
+/* Copy the second part of user declarations.  */
 
-static const short yyrhs[] = {    18,
-     0,     3,     0,     4,     0,    14,     0,     6,    14,     0,
-     0,    12,     0,    16,    15,     0,    16,     5,     0,    17,
-     8,    19,     0,    17,     9,    20,     0,    17,    10,    21,
-     0,    17,    11,     0,    17,     6,     3,     7,     3,     7,
-     3,     0,    17,     7,     3,     7,     3,     0,    17,     7,
-     3,     0,    17,     0,    20,     0,    17,     9,    20,     0,
-    21,     0,    17,    10,    21,     0,    16,     0,    17,    11,
-     0
-};
 
-#endif
+/* Line 214 of yacc.c.  */
+#line 187 "../../../../src/lib/krb5/krb/deltat.c"
 
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-   136,   137,   137,   138,   138,   139,   139,   140,   141,   142,
-   144,   145,   146,   147,   148,   149,   150,   153,   155,   157,
-   159,   161,   163
-};
-#endif
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
 
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
 
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   define YYSTACK_ALLOC alloca
+#  endif
+# else
+#  if defined (alloca) || defined (_ALLOCA_H)
+#   define YYSTACK_ALLOC alloca
+#  else
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+#  define YYSTACK_ALLOC malloc
+#  define YYSTACK_FREE free
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+        || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined (__GNUC__) && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)             \
+      do                                       \
+       {                                       \
+         register YYSIZE_T yyi;                \
+         for (yyi = 0; yyi < (Count); yyi++)   \
+           (To)[yyi] = (From)[yyi];            \
+       }                                       \
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)                                       \
+    do                                                                 \
+      {                                                                        \
+       YYSIZE_T yynewbytes;                                            \
+       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
+       Stack = &yyptr->Stack;                                          \
+       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+       yyptr += yynewbytes / sizeof (*yyptr);                          \
+      }                                                                        \
+    while (0)
 
-static const char * const yytname[] = {   "$","error","$undefined.","NUM","LONGNUM",
-"OVERFLOW","'-'","':'","'d'","'h'","'m'","'s'","WS","start","posnum","num","ws",
-"wsnum","deltat","opt_hms","opt_ms","opt_s", NULL
-};
 #endif
 
-static const short yyr1[] = {     0,
-    13,    14,    14,    15,    15,    16,    16,    17,    17,    18,
-    18,    18,    18,    18,    18,    18,    18,    19,    19,    20,
-    20,    21,    21
-};
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short yysigned_char;
+#endif
 
-static const short yyr2[] = {     0,
-     1,     1,     1,     1,     2,     0,     1,     2,     2,     3,
-     3,     3,     2,     7,     5,     3,     1,     1,     3,     1,
-     3,     1,     2
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  6
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   37
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  13
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  10
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  24
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  42
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   261
+
+#define YYTRANSLATE(YYX)                                               \
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     6,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     7,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       8,     2,     2,     2,     9,     2,     2,     2,     2,    10,
+       2,     2,     2,     2,     2,    11,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,    12
 };
 
-static const short yydefact[] = {     6,
-     7,     0,    17,     1,     2,     3,     9,     0,     4,     8,
-     0,     0,     6,     6,     6,    13,     5,     0,    16,    22,
-     0,    10,    18,    20,     0,    11,     0,    12,     0,     0,
-     6,     6,    23,     0,    15,    19,    21,     0,    14,     0,
-     0,     0
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned char yyprhs[] =
+{
+       0,     0,     3,     5,     7,     9,    11,    14,    15,    17,
+      20,    23,    27,    31,    35,    38,    46,    52,    56,    58,
+      60,    64,    66,    70,    72
 };
 
-static const short yydefgoto[] = {    40,
-     9,    10,    20,    25,     4,    22,    23,    24
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+      14,     0,    -1,    19,    -1,     3,    -1,     4,    -1,    15,
+      -1,     6,    15,    -1,    -1,    12,    -1,    17,    16,    -1,
+      17,     5,    -1,    18,     8,    20,    -1,    18,     9,    21,
+      -1,    18,    10,    22,    -1,    18,    11,    -1,    18,     6,
+       3,     7,     3,     7,     3,    -1,    18,     7,     3,     7,
+       3,    -1,    18,     7,     3,    -1,    18,    -1,    21,    -1,
+      18,     9,    21,    -1,    22,    -1,    18,    10,    22,    -1,
+      17,    -1,    18,    11,    -1
 };
 
-static const short yypact[] = {   -10,
--32768,    18,    -2,-32768,-32768,-32768,-32768,    13,-32768,-32768,
-    11,    16,   -10,   -10,   -10,-32768,-32768,    20,    21,    18,
-     1,-32768,-32768,-32768,    15,-32768,    19,-32768,    26,    28,
-   -10,   -10,-32768,    27,-32768,-32768,-32768,    30,-32768,    35,
-    36,-32768
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned char yyrline[] =
+{
+       0,   136,   136,   137,   137,   138,   138,   139,   139,   140,
+     141,   143,   144,   145,   146,   147,   148,   149,   150,   154,
+     155,   158,   159,   162,   163
 };
+#endif
 
-static const short yypgoto[] = {-32768,
-    29,-32768,    38,     0,-32768,-32768,   -13,   -12
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "NUM", "LONGNUM", "OVERFLOW", "'-'",
+  "':'", "'d'", "'h'", "'m'", "'s'", "tok_WS", "$accept", "start",
+  "posnum", "num", "ws", "wsnum", "deltat", "opt_hms", "opt_ms", "opt_s", 0
 };
+#endif
 
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,    45,    58,   100,   104,
+     109,   115,   261
+};
+# endif
 
-#define        YYLAST          38
-
-
-static const short yytable[] = {     3,
-    26,     1,    28,    11,    12,    13,    14,    15,    16,    31,
-    32,    33,    21,    18,    27,     5,     6,    36,    19,    37,
-     5,     6,     7,     8,    32,    33,    29,    30,    34,    33,
-    35,    27,    39,    38,    41,    42,    17,     2
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,    13,    14,    15,    15,    16,    16,    17,    17,    18,
+      18,    19,    19,    19,    19,    19,    19,    19,    19,    20,
+      20,    21,    21,    22,    22
 };
 
-static const short yycheck[] = {     0,
-    14,    12,    15,     6,     7,     8,     9,    10,    11,     9,
-    10,    11,    13,     3,    15,     3,     4,    31,     3,    32,
-     3,     4,     5,     6,    10,    11,     7,     7,     3,    11,
-     3,    32,     3,     7,     0,     0,     8,     0
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     1,     1,     1,     1,     2,     0,     1,     2,
+       2,     3,     3,     3,     2,     7,     5,     3,     1,     1,
+       3,     1,     3,     1,     2
 };
-#define YYPURE 1
 
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison.simple"
-/* This file comes from bison-1.28.  */
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       7,     8,     0,     0,    18,     2,     1,     3,     4,    10,
+       0,     5,     9,     0,     0,     7,     7,     7,    14,     6,
+       0,    17,    23,     0,    11,    19,    21,     0,    12,     0,
+      13,     0,     0,     7,     7,    24,     0,    16,    20,    22,
+       0,    15
+};
 
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+      -1,     2,    11,    12,    22,    27,     5,    24,    25,    26
+};
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -16
+static const yysigned_char yypact[] =
+{
+     -10,   -16,    14,     7,    -2,   -16,   -16,   -16,   -16,   -16,
+      21,   -16,   -16,    13,    25,   -10,   -10,   -10,   -16,   -16,
+      22,    23,     7,    12,   -16,   -16,   -16,    16,   -16,     8,
+     -16,    28,    29,   -10,   -10,   -16,    26,   -16,   -16,   -16,
+      32,   -16
+};
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+/* YYPGOTO[NTERM-NUM].  */
+static const yysigned_char yypgoto[] =
+{
+     -16,   -16,    27,   -16,    36,     0,   -16,   -16,   -15,   -14
+};
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -1
+static const unsigned char yytable[] =
+{
+       4,    28,     1,    30,    13,    14,    15,    16,    17,    18,
+       7,     8,     9,    10,     6,    23,    20,    29,    38,    35,
+      39,    33,    34,    35,     7,     8,    34,    35,    21,    31,
+      32,    36,    37,    40,    29,    41,     3,    19
+};
 
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+static const unsigned char yycheck[] =
+{
+       0,    16,    12,    17,     6,     7,     8,     9,    10,    11,
+       3,     4,     5,     6,     0,    15,     3,    17,    33,    11,
+      34,     9,    10,    11,     3,     4,    10,    11,     3,     7,
+       7,     3,     3,     7,    34,     3,     0,    10
+};
 
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,    12,    14,    17,    18,    19,     0,     3,     4,     5,
+       6,    15,    16,     6,     7,     8,     9,    10,    11,    15,
+       3,     3,    17,    18,    20,    21,    22,    18,    21,    18,
+      22,     7,     7,     9,    10,    11,     3,     3,    21,    22,
+       7,     3
+};
 
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C.  */
-/* This used to test MSDOS, but that is a bad idea
-   since that symbol is in the user namespace.  */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
-        instead, just don't use alloca.  */
-#include <malloc.h>
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
 #endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
-   So I turned it off.   rms, 2 May 1997.  */
-/* #include <malloc.h>  */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
-                and on HPUX 10.  Eventually we can turn this on.  */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
 #endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
-
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
 #endif
-
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
 
 #define yyerrok                (yyerrstatus = 0)
 #define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
+#define YYEMPTY                (-2)
 #define YYEOF          0
+
 #define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
+#define YYABORT                goto yyabortlab
+#define YYERROR                goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
    Once GCC version 2 has supplanted version 1, this can go.  */
+
 #define YYFAIL         goto yyerrlab
+
 #define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
+
+#define YYBACKUP(Token, Value)                                 \
 do                                                             \
   if (yychar == YYEMPTY && yylen == 1)                         \
-    { yychar = (token), yylval = (value);                      \
-      yychar1 = YYTRANSLATE (yychar);                          \
+    {                                                          \
+      yychar = (Token);                                                \
+      yylval = (Value);                                                \
+      yytoken = YYTRANSLATE (yychar);                          \
       YYPOPSTACK;                                              \
       goto yybackup;                                           \
     }                                                          \
   else                                                         \
-    { yyerror ("syntax error: cannot back up"); YYERROR; }     \
+    {                                                          \
+      yyerror ("syntax error: cannot back up");\
+      YYERROR;                                                 \
+    }                                                          \
 while (0)
 
 #define YYTERROR       1
 #define YYERRCODE      256
 
-#ifndef YYPURE
-#define YYLEX          yylex()
-#endif
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
 
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX          yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX          yylex(&yylval, &yylloc)
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)               \
+   ((Current).first_line   = (Rhs)[1].first_line,      \
+    (Current).first_column = (Rhs)[1].first_column,    \
+    (Current).last_line    = (Rhs)[N].last_line,       \
+    (Current).last_column  = (Rhs)[N].last_column)
 #endif
-#else /* not YYLSP_NEEDED */
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
 #ifdef YYLEX_PARAM
-#define YYLEX          yylex(&yylval, YYLEX_PARAM)
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
 #else
-#define YYLEX          yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
+# define YYLEX yylex (&yylval)
 #endif
 
-/* If nonreentrant, generate the variables here */
-
-#ifndef YYPURE
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)                       \
+do {                                           \
+  if (yydebug)                                 \
+    YYFPRINTF Args;                            \
+} while (0)
+
+# define YYDSYMPRINT(Args)                     \
+do {                                           \
+  if (yydebug)                                 \
+    yysymprint Args;                           \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location)           \
+do {                                                           \
+  if (yydebug)                                                 \
+    {                                                          \
+      YYFPRINTF (stderr, "%s ", Title);                                \
+      yysymprint (stderr,                                      \
+                  Token, Value);       \
+      YYFPRINTF (stderr, "\n");                                        \
+    }                                                          \
+} while (0)
 
-int    yychar;                 /*  the lookahead symbol                */
-YYSTYPE        yylval;                 /*  the semantic value of the           */
-                               /*  lookahead symbol                    */
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
 
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;                        /*  location data for the lookahead     */
-                               /*  symbol                              */
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    short *bottom;
+    short *top;
 #endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (/* Nothing. */; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
 
-int yynerrs;                   /*  number of parse errors so far       */
-#endif  /* not YYPURE */
+# define YY_STACK_PRINT(Bottom, Top)                           \
+do {                                                           \
+  if (yydebug)                                                 \
+    yy_stack_print ((Bottom), (Top));                          \
+} while (0)
 
-#if YYDEBUG != 0
-int yydebug;                   /*  nonzero means print parse trace     */
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
-#endif
 
-/*  YYINITDEPTH indicates the initial size of the parser's stacks      */
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
 
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+    int yyrule;
+#endif
+{
+  int yyi;
+  unsigned int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+             yyrule - 1, yylno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule)         \
+do {                                   \
+  if (yydebug)                         \
+    yy_reduce_print (Rule);            \
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef        YYINITDEPTH
-#define YYINITDEPTH 200
+# define YYINITDEPTH 200
 #endif
 
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
 
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
 #endif
 
 #ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
+# define YYMAXDEPTH 10000
 #endif
+
 \f
-/* Define __yy_memcpy.  Note that the size argument
-   should be passed with type unsigned int, because that is what the non-GCC
-   definitions require.  With GCC, __builtin_memcpy takes an arg
-   of type size_t, but it can handle unsigned int.  */
-
-#if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)     __builtin_memcpy(TO,FROM,COUNT)
-#else                          /* not GNU C or C++ */
-#ifndef __cplusplus
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     unsigned int count;
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined (__GLIBC__) && defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
 {
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+  register const char *yys = yystr;
 
-  while (i-- > 0)
-    *t++ = *f++;
+  while (*yys++ != '\0')
+    continue;
+
+  return yys - yystr - 1;
 }
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
 
-#else /* __cplusplus */
+\f
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
+#if defined (__STDC__) || defined (__cplusplus)
 static void
-__yy_memcpy (char *to, char *from, unsigned int count)
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
 {
-  register char *t = to;
-  register char *f = from;
-  register int i = count;
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  if (yytype < YYNTOKENS)
+    {
+      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+    }
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
-  while (i-- > 0)
-    *t++ = *f++;
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyoutput, ")");
 }
 
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+    int yytype;
+    YYSTYPE *yyvaluep;
 #endif
-#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  switch (yytype)
+    {
+
+      default:
+        break;
+    }
+}
 \f
-#line 217 "/usr/share/bison.simple"
 
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
+/* Prevent warnings from -Wmissing-prototypes.  */
 
 #ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-#ifdef YYPARSE_PARAM
-int yyparse (void *);
-#else
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
 int yyparse (void);
+#else
+int yyparse ();
 #endif
-#endif
+#endif /* ! YYPARSE_PARAM */
+
 
+
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
 int
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
+yyparse ()
+
+#endif
+#endif
 {
+  /* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
   register int yystate;
   register int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short        yyssa[YYINITDEPTH];
+  short *yyss = yyssa;
   register short *yyssp;
-  register YYSTYPE *yyvsp;
-  int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;             /*  lookahead token as an internal (translated) token number */
 
-  short        yyssa[YYINITDEPTH];     /*  the state stack                     */
-  YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  register YYSTYPE *yyvsp;
 
-  short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
 
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
 
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
 #define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
 
-  int yystacksize = YYINITDEPTH;
-  int yyfree_stacks = 0;
+  YYSIZE_T yystacksize = YYINITDEPTH;
 
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
 
-  YYSTYPE yyval;               /*  the variable used to return         */
-                               /*  semantic values from the action     */
-                               /*  routines                            */
 
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
   int yylen;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
+  YYDPRINTF ((stderr, "Starting parse\n"));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -538,110 +888,96 @@ yyparse(YYPARSE_PARAM_ARG)
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
 
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
+  goto yysetstate;
 
-  *++yyssp = yystate;
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
 
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
+ yysetstate:
+  *yyssp = yystate;
 
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
       /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
 #ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-        the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-        but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-                &yyss1, size * sizeof (*yyssp),
-                &yyvs1, size * sizeof (*yyvsp),
-                &yyls1, size * sizeof (*yylsp),
-                &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-                &yyss1, size * sizeof (*yyssp),
-                &yyvs1, size * sizeof (*yyvsp),
-                &yystacksize);
-#endif
-
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
+      {
+       /* Give user a chance to reallocate the stack. Use copies of
+          these so that the &'s don't force the real ones into
+          memory.  */
+       YYSTYPE *yyvs1 = yyvs;
+       short *yyss1 = yyss;
+
+
+       /* Each stack pointer address is followed by the size of the
+          data in use in that stack, in bytes.  This used to be a
+          conditional around just the two extra args, but that might
+          be undefined if yyoverflow is a macro.  */
+       yyoverflow ("parser stack overflow",
+                   &yyss1, yysize * sizeof (*yyssp),
+                   &yyvs1, yysize * sizeof (*yyvsp),
+
+                   &yystacksize);
+
+       yyss = yyss1;
+       yyvs = yyvs1;
+      }
 #else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyoverflowlab;
+# else
       /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       {
-         yyerror("parser stack overflow");
-         if (yyfree_stacks)
-           {
-             free (yyss);
-             free (yyvs);
-#ifdef YYLSP_NEEDED
-             free (yyls);
-#endif
-           }
-         return 2;
-       }
+      if (YYMAXDEPTH <= yystacksize)
+       goto yyoverflowlab;
       yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
+      if (YYMAXDEPTH < yystacksize)
        yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
-      yyfree_stacks = 1;
-#endif
-      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1,
-                  size * (unsigned int) sizeof (*yyssp));
-      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
-                  size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1,
-                  size * (unsigned int) sizeof (*yylsp));
-#endif
+
+      {
+       short *yyss1 = yyss;
+       union yyalloc *yyptr =
+         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+       if (! yyptr)
+         goto yyoverflowlab;
+       YYSTACK_RELOCATE (yyss);
+       YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+       if (yyss1 != yyssa)
+         YYSTACK_FREE (yyss1);
+      }
+# endif
 #endif /* no yyoverflow */
 
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
 
-#if YYDEBUG != 0
-      if (yydebug)
-       fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
 
-      if (yyssp >= yyss + yystacksize - 1)
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+                 (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
        YYABORT;
     }
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   goto yybackup;
- yybackup:
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
 
 /* Do appropriate processing given the current state.  */
 /* Read a lookahead token if we need one and don't already have one.  */
@@ -650,413 +986,398 @@ yynewstate:
   /* First try to decide what to do without reference to lookahead token.  */
 
   yyn = yypact[yystate];
-  if (yyn == YYFLAG)
+  if (yyn == YYPACT_NINF)
     goto yydefault;
 
   /* Not known => get a lookahead token if don't already have one.  */
 
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
-      if (yydebug)
-       fprintf(stderr, "Reading a token: ");
-#endif
+      YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
+  if (yychar <= YYEOF)
     {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-       fprintf(stderr, "Now at end of input.\n");
-#endif
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
-      if (yydebug)
-       {
-         fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise meaning
-            of a token, for further debugging info.  */
-#ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-#endif
-         fprintf (stderr, ")\n");
-       }
-#endif
+      yytoken = YYTRANSLATE (yychar);
+      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
     }
 
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
     goto yydefault;
-
   yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
+  if (yyn <= 0)
     {
-      if (yyn == YYFLAG)
+      if (yyn == 0 || yyn == YYTABLE_NINF)
        goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrlab;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
+  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
 
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
 
   yystate = yyn;
   goto yynewstate;
 
-/* Do the default action for the current state.  */
-yydefault:
 
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
   yyn = yydefact[yystate];
   if (yyn == 0)
     goto yyerrlab;
+  goto yyreduce;
+
 
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
 yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
   yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
-#if YYDEBUG != 0
-  if (yydebug)
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
     {
-      int i;
+        case 6:
+#line 138 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { yyval.val = - yyvsp[0].val; ;}
+    break;
+
+  case 9:
+#line 140 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { yyval.val = yyvsp[0].val; ;}
+    break;
+
+  case 10:
+#line 141 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { YYERROR ;}
+    break;
+
+  case 11:
+#line 143 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO (yyvsp[-2].val,  0,  0, yyvsp[0].val); ;}
+    break;
+
+  case 12:
+#line 144 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO ( 0, yyvsp[-2].val,  0, yyvsp[0].val); ;}
+    break;
+
+  case 13:
+#line 145 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO ( 0,  0, yyvsp[-2].val, yyvsp[0].val); ;}
+    break;
+
+  case 14:
+#line 146 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO ( 0,  0,  0, yyvsp[-1].val); ;}
+    break;
+
+  case 15:
+#line 147 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO (yyvsp[-6].val, yyvsp[-4].val, yyvsp[-2].val, yyvsp[0].val); ;}
+    break;
+
+  case 16:
+#line 148 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO ( 0, yyvsp[-4].val, yyvsp[-2].val, yyvsp[0].val); ;}
+    break;
+
+  case 17:
+#line 149 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO ( 0, yyvsp[-2].val, yyvsp[0].val,  0); ;}
+    break;
+
+  case 18:
+#line 150 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { DO ( 0,  0,  0, yyvsp[0].val); ;}
+    break;
+
+  case 20:
+#line 155 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { if (HOUR_NOT_OK(yyvsp[-2].val)) YYERROR;
+                                         DO_SUM(yyval.val, yyvsp[-2].val * 3600, yyvsp[0].val); ;}
+    break;
+
+  case 22:
+#line 159 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { if (MIN_NOT_OK(yyvsp[-2].val)) YYERROR;
+                                         DO_SUM(yyval.val, yyvsp[-2].val * 60, yyvsp[0].val); ;}
+    break;
+
+  case 23:
+#line 162 "../../../../src/lib/krb5/krb/x-deltat.y"
+    { yyval.val = 0; ;}
+    break;
 
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-              yyn, yyrline[yyn]);
 
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-       fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
     }
-#endif
-
 
-  switch (yyn) {
-
-case 5:
-#line 138 "./x-deltat.y"
-{ yyval.val = - yyvsp[0].val; ;
-    break;}
-case 8:
-#line 140 "./x-deltat.y"
-{ yyval.val = yyvsp[0].val; ;
-    break;}
-case 9:
-#line 141 "./x-deltat.y"
-{ YYERROR ;
-    break;}
-case 10:
-#line 143 "./x-deltat.y"
-{ DO (yyvsp[-2].val,  0,  0, yyvsp[0].val); ;
-    break;}
-case 11:
-#line 144 "./x-deltat.y"
-{ DO ( 0, yyvsp[-2].val,  0, yyvsp[0].val); ;
-    break;}
-case 12:
-#line 145 "./x-deltat.y"
-{ DO ( 0,  0, yyvsp[-2].val, yyvsp[0].val); ;
-    break;}
-case 13:
-#line 146 "./x-deltat.y"
-{ DO ( 0,  0,  0, yyvsp[-1].val); ;
-    break;}
-case 14:
-#line 147 "./x-deltat.y"
-{ DO (yyvsp[-6].val, yyvsp[-4].val, yyvsp[-2].val, yyvsp[0].val); ;
-    break;}
-case 15:
-#line 148 "./x-deltat.y"
-{ DO ( 0, yyvsp[-4].val, yyvsp[-2].val, yyvsp[0].val); ;
-    break;}
-case 16:
-#line 149 "./x-deltat.y"
-{ DO ( 0, yyvsp[-2].val, yyvsp[0].val,  0); ;
-    break;}
-case 17:
-#line 150 "./x-deltat.y"
-{ DO ( 0,  0,  0, yyvsp[0].val); ;
-    break;}
-case 19:
-#line 155 "./x-deltat.y"
-{ if (HOUR_NOT_OK(yyvsp[-2].val)) YYERROR;
-                                         DO_SUM(yyval.val, yyvsp[-2].val * 3600, yyvsp[0].val); ;
-    break;}
-case 21:
-#line 159 "./x-deltat.y"
-{ if (MIN_NOT_OK(yyvsp[-2].val)) YYERROR;
-                                         DO_SUM(yyval.val, yyvsp[-2].val * 60, yyvsp[0].val); ;
-    break;}
-case 22:
-#line 162 "./x-deltat.y"
-{ yyval.val = 0; ;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/bison.simple"
+/* Line 993 of yacc.c.  */
+#line 1156 "../../../../src/lib/krb5/krb/deltat.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
-      while (ssp1 != yyssp)
-       fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
+
+  YY_STACK_PRINT (yyss, yyssp);
 
   *++yyvsp = yyval;
 
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp->first_line = yylloc.first_line;
-      yylsp->first_column = yylloc.first_column;
-      yylsp->last_line = (yylsp-1)->last_line;
-      yylsp->last_column = (yylsp-1)->last_column;
-      yylsp->text = 0;
-    }
-  else
-    {
-      yylsp->last_line = (yylsp+yylen-1)->last_line;
-      yylsp->last_column = (yylsp+yylen-1)->last_column;
-    }
-#endif
 
-  /* Now "shift" the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
-yyerrlab:   /* here on detecting error */
 
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
     {
       ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
+#if YYERROR_VERBOSE
       yyn = yypact[yystate];
 
-      if (yyn > YYFLAG && yyn < YYLAST)
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
        {
-         int size = 0;
-         char *msg;
-         int x, count;
-
-         count = 0;
-         /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-         for (x = (yyn < 0 ? -yyn : 0);
-              x < (sizeof(yytname) / sizeof(char *)); x++)
-           if (yycheck[x + yyn] == x)
-             size += strlen(yytname[x]) + 15, count++;
-         msg = (char *) malloc(size + 15);
-         if (msg != 0)
+         YYSIZE_T yysize = 0;
+         int yytype = YYTRANSLATE (yychar);
+         const char* yyprefix;
+         char *yymsg;
+         int yyx;
+
+         /* Start YYX at -YYN if negative to avoid negative indexes in
+            YYCHECK.  */
+         int yyxbegin = yyn < 0 ? -yyn : 0;
+
+         /* Stay within bounds of both yycheck and yytname.  */
+         int yychecklim = YYLAST - yyn;
+         int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+         int yycount = 0;
+
+         yyprefix = ", expecting ";
+         for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+           if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+             {
+               yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+               yycount += 1;
+               if (yycount == 5)
+                 {
+                   yysize = 0;
+                   break;
+                 }
+             }
+         yysize += (sizeof ("syntax error, unexpected ")
+                    + yystrlen (yytname[yytype]));
+         yymsg = (char *) YYSTACK_ALLOC (yysize);
+         if (yymsg != 0)
            {
-             strcpy(msg, "parse error");
+             char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+             yyp = yystpcpy (yyp, yytname[yytype]);
 
-             if (count < 5)
+             if (yycount < 5)
                {
-                 count = 0;
-                 for (x = (yyn < 0 ? -yyn : 0);
-                      x < (sizeof(yytname) / sizeof(char *)); x++)
-                   if (yycheck[x + yyn] == x)
+                 yyprefix = ", expecting ";
+                 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+                   if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
                      {
-                       strcat(msg, count == 0 ? ", expecting `" : " or `");
-                       strcat(msg, yytname[x]);
-                       strcat(msg, "'");
-                       count++;
+                       yyp = yystpcpy (yyp, yyprefix);
+                       yyp = yystpcpy (yyp, yytname[yyx]);
+                       yyprefix = " or ";
                      }
                }
-             yyerror(msg);
-             free(msg);
+             yyerror (yymsg);
+             YYSTACK_FREE (yymsg);
            }
          else
-           yyerror ("parse error; also virtual memory exceeded");
+           yyerror ("syntax error; also virtual memory exhausted");
        }
       else
 #endif /* YYERROR_VERBOSE */
-       yyerror("parse error");
+       yyerror ("syntax error");
     }
 
-  goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
+
 
   if (yyerrstatus == 3)
     {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-
-#if YYDEBUG != 0
-      if (yydebug)
-       fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
+      /* If just tried and failed to reuse lookahead token after an
+        error, discard it.  */
+
+      if (yychar <= YYEOF)
+        {
+          /* If at end of input, pop the error token,
+            then the rest of the stack, then return failure.  */
+         if (yychar == YYEOF)
+            for (;;)
+              {
+                YYPOPSTACK;
+                if (yyssp == yyss)
+                  YYABORT;
+                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+                yydestruct (yystos[*yyssp], yyvsp);
+              }
+        }
+      else
+       {
+         YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+         yydestruct (yytoken, &yylval);
+         yychar = YYEMPTY;
 
-      yychar = YYEMPTY;
+       }
     }
 
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
 
-  goto yyerrhandle;
 
-yyerrdefault:  /* current state does not do anything special for the error token. */
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
 
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
+#ifdef __GNUC__
+  /* Pacify GCC when the user code never invokes YYERROR and the label
+     yyerrorlab therefore never appears in user code.  */
+  if (0)
+     goto yyerrorlab;
 #endif
 
-yyerrpop:   /* pop the current state because it cannot handle the error token */
-
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
-#endif
+  yyvsp -= yylen;
+  yyssp -= yylen;
+  yystate = *yyssp;
+  goto yyerrlab1;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
-      while (ssp1 != yyssp)
-       fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
 
-yyerrhandle:
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;     /* Each real token shifted decrements this.  */
 
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+       {
+         yyn += YYTERROR;
+         if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+           {
+             yyn = yytable[yyn];
+             if (0 < yyn)
+               break;
+           }
+       }
 
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+       YYABORT;
 
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
+      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+      yydestruct (yystos[yystate], yyvsp);
+      YYPOPSTACK;
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
     }
-  else if (yyn == 0)
-    goto yyerrpop;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting error token, ");
-#endif
+  YYDPRINTF ((stderr, "Shifting error token, "));
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
+
 
   yystate = yyn;
   goto yynewstate;
 
- yyacceptlab:
-  /* YYACCEPT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
+  yyresult = 2;
+  /* Fall through.  */
 #endif
-    }
-  return 0;
 
- yyabortlab:
-  /* YYABORT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
+yyreturn:
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
 #endif
-    }
-  return 1;
+  return yyresult;
 }
-#line 165 "./x-deltat.y"
+
+
+#line 165 "../../../../src/lib/krb5/krb/x-deltat.y"
 
 
 static int
@@ -1105,7 +1426,7 @@ mylex (krb5_int32 *intp, char **pp)
     case '\n':
        while (isspace ((int) *P))
            P++;
-       return WS;
+       return tok_WS;
     default:
        return YYEOF;
     }
@@ -1122,3 +1443,5 @@ krb5_string_to_deltat(char *string, krb5_deltat *deltatp)
     *deltatp = p.delta;
     return 0;
 }
+
+
index cb6d8b1e393faea1edea1e441fbc95d654114f02..7dd3ad6c94d319099784911b44523597a7022b0d 100644 (file)
@@ -173,8 +173,15 @@ krb5_get_credentials(krb5_context context, krb5_flags options,
        && not_ktype)
        retval = KRB5_CC_NOT_KTYPE;
 
-    if (!retval)
-       retval = krb5_cc_store_cred(context, ccache, *out_creds);
+    if (!retval) {
+        /* the purpose of the krb5_get_credentials call is to 
+         * obtain a set of credentials for the caller.  the 
+         * krb5_cc_store_cred() call is to optimize performance
+         * for future calls.  Ignore any errors, since the credentials
+         * are still valid even if we fail to store them in the cache.
+         */
+       krb5_cc_store_cred(context, ccache, *out_creds);
+    }
     return retval;
 }
 
index a3cd443b1d2df9031ee5938e7abd6679196567ef..ba704e6be8e29f7e1c4ca8ee3007a8a129a7df56 100644 (file)
@@ -127,7 +127,9 @@ krb5_get_init_creds_keytab(krb5_context context, krb5_creds *creds, krb5_princip
       /* if the master is unreachable, return the error from the
         slave we were able to contact */
 
-      if ((ret2 == KRB5_KDC_UNREACH) || (ret2 == KRB5_REALM_CANT_RESOLVE))
+      if ((ret2 == KRB5_KDC_UNREACH) ||
+         (ret2 == KRB5_REALM_CANT_RESOLVE) ||
+         (ret2 == KRB5_REALM_UNKNOWN))
         goto cleanup;
 
       ret = ret2;
index de0f47df3d84c90eb484a9c34297a44d34bc34a4..f2837effb61d9ef788662df6d9d4a66125e511ce 100644 (file)
@@ -104,7 +104,7 @@ krb5_get_init_creds_password(krb5_context context, krb5_creds *creds, krb5_princ
 
    pw0.data = pw0array;
 
-   if (password) {
+   if (password && password[0]) {
       if ((pw0.length = strlen(password)) > sizeof(pw0array)) {
         ret = EINVAL;
         goto cleanup;
index 50f7b225bd117ac04d0d4bfce1ae4727897982e0..cd23d14d1701ec9da4cd45d6340f398ddfb0c5d3 100644 (file)
@@ -73,8 +73,8 @@ krb5_parse_name(krb5_context context, const char *name, krb5_principal *nprincip
        const char      *parsed_realm = NULL;
        int             fcompsize[FCOMPNUM];
        unsigned int    realmsize = 0;
-       static char     *default_realm = NULL;
-       static int      default_realm_size = 0;
+       char            *default_realm = NULL;
+       int             default_realm_size = 0;
        char            *tmpdata;
        krb5_principal  principal;
        krb5_error_code retval;
@@ -211,6 +211,7 @@ krb5_parse_name(krb5_context context, const char *name, krb5_principal *nprincip
        if (tmpdata == 0) {
                krb5_xfree(principal->data);
                krb5_xfree(principal);
+               krb5_xfree(default_realm);
                return ENOMEM;
        }
        krb5_princ_set_realm_length(context, principal, realmsize);
@@ -224,6 +225,7 @@ krb5_parse_name(krb5_context context, const char *name, krb5_principal *nprincip
                        krb5_xfree(krb5_princ_realm(context, principal)->data);
                        krb5_xfree(principal->data);
                        krb5_xfree(principal);
+                       krb5_xfree(default_realm);
                        return(ENOMEM);
                }
                krb5_princ_component(context, principal, i)->data = tmpdata2;
@@ -276,6 +278,7 @@ krb5_parse_name(krb5_context context, const char *name, krb5_principal *nprincip
        principal->magic = KV5M_PRINCIPAL;
        principal->realm.magic = KV5M_DATA;
        *nprincipal = principal;
+       krb5_xfree(default_realm);
        return(0);
 }
 
index 3b001c178f5c7779f64591d1462097dfe9ee55c5..c29ef827577e89865ec5305bc93e07c4607becc6 100644 (file)
@@ -76,7 +76,6 @@ recvauth_common(krb5_context context,
            if ((retval = krb5_read_message(context, fd, &inbuf)))
                return(retval);
            if (strcmp(inbuf.data, sendauth_version)) {
-               krb5_xfree(inbuf.data);
                problem = KRB5_SENDAUTH_BADAUTHVERS;
            }
            krb5_xfree(inbuf.data);
@@ -90,7 +89,6 @@ recvauth_common(krb5_context context,
        if ((retval = krb5_read_message(context, fd, &inbuf)))
                return(retval);
        if (appl_version && strcmp(inbuf.data, appl_version)) {
-               krb5_xfree(inbuf.data);
                if (!problem)
                        problem = KRB5_SENDAUTH_BADAPPLVERS;
        }
index 6f1a3c9e8b24ae8f6ec804b21d4fc1ca563d503d..a67636641510b9df74dd05f40ae9e70730f67a72 100644 (file)
@@ -26,7 +26,7 @@
  *
  * krb5_unparse_name() routine
  *
- * Rewritten by Theodore Ts'o to propoerly unparse principal names
+ * Rewritten by Theodore Ts'o to properly unparse principal names
  * which have the component or realm separator as part of one of their
  * components.
  */
@@ -66,7 +66,7 @@ krb5_unparse_name_ext(krb5_context context, krb5_const_principal principal, regi
        krb5_int32 nelem;
        register unsigned int totalsize = 0;
 
-       if (!principal)
+       if (!principal || !name)
                return KRB5_PARSE_MALFORMED;
 
        cp = krb5_princ_realm(context, principal)->data;
@@ -91,6 +91,8 @@ krb5_unparse_name_ext(krb5_context context, krb5_const_principal principal, regi
                                totalsize++;
                totalsize++;    /* This is for the separator */
        }
+       if (nelem == 0)
+               totalsize++;
 
        /*
         * Allocate space for the ascii string; if space has been
@@ -99,17 +101,17 @@ krb5_unparse_name_ext(krb5_context context, krb5_const_principal principal, regi
         * We need only n-1 seperators for n components, but we need
         * an extra byte for the NULL at the end.
         */
-       if (*name) {
-               if (*size < (totalsize)) {
-                       *size = totalsize;
-                       *name = realloc(*name, totalsize);
-               }
-       } else {
-               *name = malloc(totalsize);
-               if (size)
-                       *size = totalsize;
-       }
-       
+        if (size) {
+            if (*name && (*size < totalsize)) {
+                *name = realloc(*name, totalsize);
+            } else {
+                *name = malloc(totalsize);
+            }
+            *size = totalsize;
+        } else {
+            *name = malloc(totalsize);
+        }
+
        if (!*name)
                return ENOMEM;
 
@@ -191,7 +193,8 @@ krb5_unparse_name_ext(krb5_context context, krb5_const_principal principal, regi
 krb5_error_code KRB5_CALLCONV
 krb5_unparse_name(krb5_context context, krb5_const_principal principal, register char **name)
 {
-       *name = NULL;
+        if (name)                       /* name == NULL will return error from _ext */
+            *name = NULL;
        return(krb5_unparse_name_ext(context, principal, name, NULL));
 }
 
index 819602fe17d504e1a5d51a8de0032da3ec0e90f7..ccd956d102b71cebf9ef022a7bbee3d55cd7dbed 100644 (file)
@@ -125,7 +125,7 @@ static int yyparse (void *);
 %union { int val; }
 
 %token <val> NUM LONGNUM OVERFLOW
-%token '-' ':' 'd' 'h' 'm' 's' WS
+%token '-' ':' 'd' 'h' 'm' 's' tok_WS
 
 %type <val> num opt_hms opt_ms opt_s wsnum posnum
 
@@ -136,9 +136,9 @@ static int yyparse (void *);
 start: deltat;
 posnum: NUM | LONGNUM ;
 num: posnum | '-' posnum { $$ = - $2; } ;
-ws: /* nothing */ | WS ;
+ws: /* nothing */ | tok_WS ;
 wsnum: ws num { $$ = $2; }
-        | ws OVERFLOW { YYERROR };
+        | ws OVERFLOW { YYERROR; };
 deltat:
          wsnum 'd' opt_hms             { DO ($1,  0,  0, $3); }
        | wsnum 'h' opt_ms              { DO ( 0, $1,  0, $3); }
@@ -210,7 +210,7 @@ mylex (krb5_int32 *intp, char **pp)
     case '\n':
        while (isspace ((int) *P))
            P++;
-       return WS;
+       return tok_WS;
     default:
        return YYEOF;
     }
index 8290c14761f5bb3a7ee2ef7b4bb51f94393888a3..ece79cfc72900bee3458eb4adb4de41dd09399ce 100644 (file)
@@ -69,9 +69,11 @@ void krb5int_lib_fini(void)
     if (!INITIALIZER_RAN(krb5int_lib_init) || PROGRAM_EXITING())
        return;
 
-    krb5int_rc_terminate();
-    krb5int_kt_finalize();
+    k5_mutex_destroy(&krb5int_us_time_mutex);
+
     krb5int_cc_finalize();
+    krb5int_kt_finalize();
+    krb5int_rc_terminate();
 
 #if defined(_WIN32) || defined(USE_CCAPI)
     krb5_stdcc_shutdown();
index 204296aa34c9c69310020ea434a3f2f531b0e7fa..f16b45cf803082aeb9ae3cbebee52ef75b2a51ff 100644 (file)
@@ -458,6 +458,7 @@ krb5_init_keyblock
 krb5_init_secure_context
 krb5_internalize_opaque
 krb5_is_permitted_enctype
+krb5_is_thread_safe
 krb5_kdc_rep_decrypt_proc
 krb5_kt_add_entry
 krb5_kt_close
index ea1a5a757b6e99080d50fc6897be949177e3ea9f..aaeec718b6d514cdd70bc8ef9b0be2369758c521 100644 (file)
@@ -1,3 +1,68 @@
+2005-06-09  Ken Raeburn  <raeburn@mit.edu>
+
+       * sendto_kdc.c (service_fds): Don't create a select_state on the
+       stack; take an additional argument pointing to it.
+       (krb5int_sendto): Don't create a select_state on the stack;
+       instead, allocate two on the heap, passing the second as the new
+       argument to service_fds.
+
+2005-04-22  Jeffrey Altman <jaltman@mit.edu>
+
+        * init_os_ctx.c:  use krb5_init_ctx and krb5_free_ctx
+        to initialize and cleanup the winsock stack.  WSAStartup/
+        WSACleanup are only supposed to increment/decrement a 
+        reference counter if they have been previously called
+        within the application.
+
+2005-03-25  Ken Raeburn  <raeburn@mit.edu>
+
+       * kuserok.c (krb5_kuserok): Use k5_getpwnam_r.
+
+2005-03-22  Tom Yu  <tlyu@mit.edu>
+
+       * dnsglue.h: Define ns_rr_class to ns_rr_cl if ns_rr_class doesn't
+       exist.
+
+2005-03-05  Jeffrey Altman <jaltman@mit.edu>
+
+        * sn2princ.c (krb5_sname_to_principal):
+          conditionalize the use of reverse dns lookups.  The default
+          is to use the existing behavior.  rdns can be disabled by
+          specifying [libdefaults] rdns=false
+
+2005-01-12  Tom Yu  <tlyu@mit.edu>
+
+       * dnsglue.c (krb5int_dns_fini): Reorder to make more correct.
+       (krb5int_dns_init): Rework error handling.  Call res_ndestroy() or
+       res_nclose() as appropriate to avoid leaking resources allocated
+       by res_ninit().
+
+2005-01-03  Jeffrey Altman <jaltman@mit.edu>
+
+        * thread_safe.c: (new file) krb5_is_thread_safe()
+
+2004-12-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * accessor.c (krb5int_accessor): Set new field use_dns_kdc.
+
+2004-12-06  Tom Yu  <tlyu@mit.edu>
+
+       * locate_kdc.c (krb5_locate_srv_dns_1): Don't compile if
+       KRB5_DNS_LOOKUP is not defined.
+
+2004-11-19  Ken Raeburn  <raeburn@mit.edu>
+
+       * locate_kdc.c (krb5int_add_host_to_list): If debugging, log the
+       requested family and socket type.  If AI_NUMERICSERV is defined,
+       set it in ai_flags.  If getaddrinfo returns an error with
+       debugging enabled, log the error.
+       (krb5_locate_srv_conf_1): When logging an error from
+       add_host_to_list, include the corresponding error string.
+
+       * t_locate_kdc.c: Include port-sockets.h, instead of sys/socket.h,
+       netdb.h, netinet/in.h, and arpa/inet.h.
+       * Makefile.in ($(OUTPRE)t_locate_kdc.exe): New target.
+
 2004-10-20  Ken Raeburn  <raeburn@mit.edu>
 
        * locate_kdc.c: Include stdarg.h.
index 66d0dcdfd7f4978825a6b8ad33cff438120e6c0f..3a0706b1487f532c61b0e32fb60403047ac845d0 100644 (file)
@@ -49,6 +49,7 @@ STLIBOBJS= \
        send524.o       \
        sendto_kdc.o    \
        sn2princ.o      \
+        thread_safe.o   \
        timeofday.o     \
        toffset.o       \
        unlck_file.o    \
@@ -94,6 +95,7 @@ OBJS= \
        $(OUTPRE)send524.$(OBJEXT)      \
        $(OUTPRE)sendto_kdc.$(OBJEXT)   \
        $(OUTPRE)sn2princ.$(OBJEXT)     \
+        $(OUTPRE)thread_safe.$(OBJEXT)  \
        $(OUTPRE)timeofday.$(OBJEXT)    \
        $(OUTPRE)toffset.$(OBJEXT)      \
        $(OUTPRE)unlck_file.$(OBJEXT)   \
@@ -139,6 +141,7 @@ SRCS= \
        $(srcdir)/send524.c     \
        $(srcdir)/sendto_kdc.c  \
        $(srcdir)/sn2princ.c    \
+        $(srcdir)/thread_safe.c \
        $(srcdir)/timeofday.c   \
        $(srcdir)/toffset.c     \
        $(srcdir)/unlck_file.c  \
@@ -185,6 +188,10 @@ t_locate_kdc: t_locate_kdc.o
        $(CC_LINK) $(ALL_CFLAGS) -o t_locate_kdc t_locate_kdc.o \
                $(KRB5_BASE_LIBS)
 t_locate_kdc.o: t_locate_kdc.c locate_kdc.c
+$(OUTPRE)t_locate_kdc.exe: $(OUTPRE)t_locate_kdc.obj \
+               $(OUTPRE)dnssrv.obj $(OUTPRE)dnsglue.obj \
+               $(KLIB) $(PLIB) $(CLIB) $(SLIB)
+       link $(EXE_LINKOPTS) -out:$@ $** ws2_32.lib $(DNSLIBS)
 
 LCLINT=lclint
 LCLINTOPTS= -warnposix \
@@ -477,6 +484,12 @@ sn2princ.so sn2princ.po $(OUTPRE)sn2princ.$(OBJEXT): sn2princ.c $(SRCTOP)/includ
   $(BUILDTOP)/include/krb5.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h \
   $(SRCTOP)/include/port-sockets.h $(SRCTOP)/include/socket-utils.h \
   $(SRCTOP)/include/krb5/kdb.h $(SRCTOP)/include/fake-addrinfo.h
+thread_safe.so thread_safe.po $(OUTPRE)thread_safe.$(OBJEXT): thread_safe.c $(SRCTOP)/include/k5-int.h \
+  $(BUILDTOP)/include/krb5/osconf.h $(BUILDTOP)/include/krb5/autoconf.h \
+  $(SRCTOP)/include/k5-platform.h $(SRCTOP)/include/k5-thread.h \
+  $(BUILDTOP)/include/krb5.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h \
+  $(SRCTOP)/include/port-sockets.h $(SRCTOP)/include/socket-utils.h \
+  $(SRCTOP)/include/krb5/kdb.h
 timeofday.so timeofday.po $(OUTPRE)timeofday.$(OBJEXT): timeofday.c $(SRCTOP)/include/k5-int.h \
   $(BUILDTOP)/include/krb5/osconf.h $(BUILDTOP)/include/krb5/autoconf.h \
   $(SRCTOP)/include/k5-platform.h $(SRCTOP)/include/k5-thread.h \
@@ -510,9 +523,9 @@ write_msg.so write_msg.po $(OUTPRE)write_msg.$(OBJEXT): write_msg.c $(SRCTOP)/in
 t_an_to_ln.so t_an_to_ln.po $(OUTPRE)t_an_to_ln.$(OBJEXT): t_an_to_ln.c $(BUILDTOP)/include/krb5.h \
   $(COM_ERR_DEPS)
 t_gifconf.so t_gifconf.po $(OUTPRE)t_gifconf.$(OBJEXT): t_gifconf.c
-t_locate_kdc.so t_locate_kdc.po $(OUTPRE)t_locate_kdc.$(OBJEXT): t_locate_kdc.c $(COM_ERR_DEPS) \
-  locate_kdc.c $(SRCTOP)/include/fake-addrinfo.h $(SRCTOP)/include/port-sockets.h \
-  $(BUILDTOP)/include/krb5/autoconf.h $(SRCTOP)/include/socket-utils.h \
+t_locate_kdc.so t_locate_kdc.po $(OUTPRE)t_locate_kdc.$(OBJEXT): t_locate_kdc.c $(SRCTOP)/include/port-sockets.h \
+  $(BUILDTOP)/include/krb5/autoconf.h $(COM_ERR_DEPS) \
+  locate_kdc.c $(SRCTOP)/include/fake-addrinfo.h $(SRCTOP)/include/socket-utils.h \
   $(SRCTOP)/include/k5-platform.h $(SRCTOP)/include/k5-thread.h \
   $(SRCTOP)/include/k5-int.h $(BUILDTOP)/include/krb5/osconf.h \
   $(BUILDTOP)/include/krb5.h $(BUILDTOP)/include/profile.h \
index 4e907b1c4d1292652fadbd1640d9d36decba08e7..078e036fedf9899c54412849edf7c8cb8abf0026 100644 (file)
@@ -45,9 +45,11 @@ krb5int_accessor(krb5int_access *internals, krb5_int32 version)
 #ifdef KRB5_DNS_LOOKUP
     internals_temp.make_srv_query_realm = krb5int_make_srv_query_realm;
     internals_temp.free_srv_dns_data = krb5int_free_srv_dns_data;
+    internals_temp.use_dns_kdc = _krb5_use_dns_kdc;
 #else
     internals_temp.make_srv_query_realm = 0;
     internals_temp.free_srv_dns_data = 0;
+    internals_temp.use_dns_kdc = 0;
 #endif
 #ifdef KRB5_KRB4_COMPAT
     internals_temp.krb_life_to_time = krb5int_krb_life_to_time;
index dba1b869c238b384a16947eae5291291cbcafd06..5d2db36952642f9b7f0d3ed04a71f482df4cc21b 100644 (file)
@@ -65,7 +65,7 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
     struct __res_state statbuf;
 #endif
     struct krb5int_dns_state *ds;
-    int len;
+    int len, ret;
     size_t nextincr, maxincr;
     unsigned char *p;
 
@@ -73,6 +73,7 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
     if (ds == NULL)
        return -1;
 
+    ret = -1;
     ds->nclass = nclass;
     ds->ntype = ntype;
     ds->ansp = NULL;
@@ -86,8 +87,8 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
 #endif
 
 #if HAVE_RES_NSEARCH
-    len = res_ninit(&statbuf);
-    if (len < 0)
+    ret = res_ninit(&statbuf);
+    if (ret < 0)
        return -1;
 #endif
 
@@ -96,8 +97,8 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
            ? malloc(nextincr) : realloc(ds->ansp, nextincr);
 
        if (p == NULL && ds->ansp != NULL) {
-           free(ds->ansp);
-           return -1;
+           ret = -1;
+           goto errout;
        }
        ds->ansp = p;
        ds->ansmax = nextincr;
@@ -109,28 +110,45 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
        len = res_search(host, ds->nclass, ds->ntype,
                         ds->ansp, ds->ansmax);
 #endif
-       if (len > maxincr)
-           return -1;
+       if (len > maxincr) {
+           ret = -1;
+           goto errout;
+       }
        while (nextincr < len)
            nextincr *= 2;
        if (len < 0 || nextincr > maxincr) {
-           free(ds->ansp);
-           return -1;
+           ret = -1;
+           goto errout;
        }
     } while (len > ds->ansmax);
 
     ds->anslen = len;
 #if HAVE_NS_INITPARSE
-    len = ns_initparse(ds->ansp, ds->anslen, &ds->msg);
+    ret = ns_initparse(ds->ansp, ds->anslen, &ds->msg);
 #else
-    len = initparse(ds);
+    ret = initparse(ds);
 #endif
-    if (len < 0) {
-       free(ds->ansp);
-       return -1;
+    if (ret < 0)
+       goto errout;
+
+    ret = 0;
+
+errout:
+#if HAVE_RES_NSEARCH
+#if HAVE_RES_NDESTROY
+    res_ndestroy(&statbuf);
+#else
+    res_nclose(&statbuf);
+#endif
+#endif
+    if (ret < 0) {
+       if (ds->ansp != NULL) {
+           free(ds->ansp);
+           ds->ansp = NULL;
+       }
     }
 
-    return 0;
+    return ret;
 }
 
 #if HAVE_NS_INITPARSE
@@ -190,10 +208,11 @@ int krb5int_dns_expand(struct krb5int_dns_state *ds,
 void
 krb5int_dns_fini(struct krb5int_dns_state *ds)
 {
+    if (ds == NULL)
+       return;
     if (ds->ansp != NULL)
        free(ds->ansp);
-    if (ds != NULL)
-       free(ds);
+    free(ds);
 }
 
 /*
index d2d192701f425ea3ec89434eb27f0a355a9245a3..9fa293c83a8f43c8396c3b8fb4491e3864c36630 100644 (file)
 
 #endif
 
+#if HAVE_NS_INITPARSE
+/*
+ * Solaris 7 has ns_rr_cl rather than ns_rr_class.
+ */
+#if !defined(ns_rr_class) && defined(ns_rr_cl)
+#define ns_rr_class ns_rr_cl
+#endif
+#endif
+
 #if HAVE_RES_NSEARCH
 /*
  * Some BIND 8 / BIND 9 implementations disable the BIND 4 style
index 0dd7cccd62a3982063ea99107d2d3f09dec4c73e..f4f9b690a085e8f717f757629e96f2dd27f80239 100644 (file)
@@ -36,6 +36,7 @@
 #endif
 
 #if defined(_WIN32)
+#include <winsock.h>
 
 static krb5_error_code
 get_from_windows_dir(
@@ -342,6 +343,10 @@ krb5_os_init_context(krb5_context ctx)
 {
        krb5_os_context os_ctx;
        krb5_error_code retval = 0;
+#ifdef _WIN32
+    WORD wVersionRequested;
+    WSADATA wsaData;
+#endif /* _WIN32 */
 
        os_ctx = ctx->os_context;
        os_ctx->magic = KV5M_OS_CONTEXT;
@@ -350,15 +355,23 @@ krb5_os_init_context(krb5_context ctx)
        os_ctx->os_flags = 0;
        os_ctx->default_ccname = 0;
 
-       krb5_cc_set_default_name(ctx, NULL);
-
        retval = os_init_paths(ctx);
-
        /*
         * If there's an error in the profile, return an error.  Just
         * ignoring the error is a Bad Thing (tm).
         */
-
+     
+        if (!retval) {
+                krb5_cc_set_default_name(ctx, NULL);
+
+#ifdef _WIN32
+                /* We initialize winsock to version 1.1 but 
+                 * we do not care if we succeed or fail.
+                 */
+                wVersionRequested = 0x0101;
+                WSAStartup (wVersionRequested, &wsaData);
+#endif /* _WIN32 */
+        }
        return retval;
 }
 
@@ -464,4 +477,8 @@ krb5_os_free_context(krb5_context ctx)
                profile_release(ctx->profile);
            ctx->profile = 0;
        }
+
+#ifdef _WIN32
+        WSACleanup();
+#endif /* _WIN32 */
 }
index c0111b995e2343280cb6bd49332c8e866c5dc0d1..356b98706f22c02f9c294da57e9e8463f0e7ab0c 100644 (file)
@@ -74,21 +74,9 @@ krb5_kuserok(krb5_context context, krb5_principal principal, const char *luser)
     int gobble;
 
     /* no account => no access */
-#ifdef HAVE_GETPWNAM_R
     char pwbuf[BUFSIZ];
     struct passwd pwx;
-#if !defined(GETPWNAM_R_4_ARGS)
-    /* POSIX */
-    if (getpwnam_r(luser, &pwx, pwbuf, sizeof(pwbuf), &pwd) != 0)
-       pwd = NULL;
-#else
-    /* draft POSIX */
-    pwd = getpwnam_r(luser, &pwx, pwbuf, sizeof(pwbuf));
-#endif
-#else
-    pwd = getpwnam(luser);
-#endif
-    if (pwd == NULL)
+    if (k5_getpwnam_r(luser, &pwx, pwbuf, sizeof(pwbuf), &pwd) != 0)
        return(FALSE);
     (void) strncpy(pbuf, pwd->pw_dir, sizeof(pbuf) - 1);
     pbuf[sizeof(pbuf) - 1] = '\0';
index 25334ddb9302bda91b895d0dd211565ab0c42ded..1fafbcaa9a510da4f4ae3291a8444947d54a5134 100644 (file)
@@ -260,17 +260,24 @@ krb5int_add_host_to_list (struct addrlist *lp, const char *hostname,
     int err;
     char portbuf[10], secportbuf[10];
 
-    Tprintf ("adding hostname %s, ports %d,%d\n", hostname,
-            ntohs (port), ntohs (secport));
+    Tprintf ("adding hostname %s, ports %d,%d, family %d, socktype %d\n",
+            hostname, ntohs (port), ntohs (secport),
+            family, socktype);
 
     memset(&hint, 0, sizeof(hint));
     hint.ai_family = family;
     hint.ai_socktype = socktype;
+#ifdef AI_NUMERICSERV
+    hint.ai_flags = AI_NUMERICSERV;
+#endif
     sprintf(portbuf, "%d", ntohs(port));
     sprintf(secportbuf, "%d", ntohs(secport));
     err = getaddrinfo (hostname, portbuf, &hint, &addrs);
-    if (err)
+    if (err) {
+       Tprintf ("\tgetaddrinfo(\"%s\", \"%s\", ...)\n\treturns %d: %s\n",
+                hostname, portbuf, err, gai_strerror (err));
        return translate_ai_error (err);
+    }
     anext = 0;
     for (a = addrs; a != 0 && err == 0; a = anext) {
        anext = a->ai_next;
@@ -460,7 +467,8 @@ krb5_locate_srv_conf_1(krb5_context context, const krb5_data *realm,
                                         SOCK_STREAM, family);
        }
        if (code) {
-           Tprintf ("error %d returned from add_host_to_list\n", code);
+           Tprintf ("error %d (%s) returned from add_host_to_list\n", code,
+                    error_message (code));
            if (hostlist)
                profile_free_list (hostlist);
            if (masterlist)
@@ -495,6 +503,7 @@ krb5_locate_srv_conf(krb5_context context, const krb5_data *realm,
 }
 #endif
 
+#ifdef KRB5_DNS_LOOKUP
 static krb5_error_code
 krb5_locate_srv_dns_1 (const krb5_data *realm,
                       const char *service,
@@ -534,8 +543,9 @@ krb5_locate_srv_dns_1 (const krb5_data *realm,
                                 (strcmp("_tcp", protocol)
                                  ? SOCK_DGRAM
                                  : SOCK_STREAM), family);
-       if (code)
+       if (code) {
            break;
+       }
        if (entry == head) {
            free(entry->host);
            free(entry);
@@ -548,6 +558,7 @@ krb5_locate_srv_dns_1 (const krb5_data *realm,
     krb5int_free_srv_dns_data(head);
     return code;
 }
+#endif
 
 /*
  * Wrapper function for the two backends
index 599c28515cbeac1ed34d869d059d2b90b67afa53..d27c085601ff9d895b291c0b46fc192609a9e36a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/os/sendto_kdc.c
  *
- * Copyright 1990,1991,2001,2002 by the Massachusetts Institute of Technology.
+ * Copyright 1990,1991,2001,2002,2004,2005 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -948,14 +948,14 @@ service_udp_fd(struct conn_state *conn, struct select_state *selstate,
 
 static int
 service_fds (struct select_state *selstate,
-            struct conn_state *conns, size_t n_conns, int *winning_conn)
+            struct conn_state *conns, size_t n_conns, int *winning_conn,
+            struct select_state *seltemp)
 {
     int e, selret;
-    struct select_state sel_results;
 
     e = 0;
     while (selstate->nfds > 0
-          && (e = krb5int_cm_call_select(selstate, &sel_results, &selret)) == 0) {
+          && (e = krb5int_cm_call_select(selstate, seltemp, &selret)) == 0) {
        int i;
 
        dprint("service_fds examining results, selret=%d\n", selret);
@@ -971,11 +971,11 @@ service_fds (struct select_state *selstate,
            if (conns[i].fd == INVALID_SOCKET)
                continue;
            ssflags = 0;
-           if (FD_ISSET(conns[i].fd, &sel_results.rfds))
+           if (FD_ISSET(conns[i].fd, &seltemp->rfds))
                ssflags |= SSF_READ, selret--;
-           if (FD_ISSET(conns[i].fd, &sel_results.wfds))
+           if (FD_ISSET(conns[i].fd, &seltemp->wfds))
                ssflags |= SSF_WRITE, selret--;
-           if (FD_ISSET(conns[i].fd, &sel_results.xfds))
+           if (FD_ISSET(conns[i].fd, &seltemp->xfds))
                ssflags |= SSF_EXCEPTION, selret--;
            if (!ssflags)
                continue;
@@ -1035,7 +1035,7 @@ krb5int_sendto (krb5_context context, const krb5_data *message,
     krb5_error_code retval;
     struct conn_state *conns;
     size_t n_conns, host;
-    struct select_state select_state;
+    struct select_state *sel_state;
     struct timeval now;
     int winning_conn = -1, e = 0;
     unsigned char message_len_buf[4];
@@ -1056,12 +1056,19 @@ krb5int_sendto (krb5_context context, const krb5_data *message,
        conns[i].fd = INVALID_SOCKET;
     }
 
-    select_state.max = 0;
-    select_state.nfds = 0;
-    select_state.end_time.tv_sec = select_state.end_time.tv_usec = 0;
-    FD_ZERO(&select_state.rfds);
-    FD_ZERO(&select_state.wfds);
-    FD_ZERO(&select_state.xfds);
+    /* One for use here, listing all our fds in use, and one for
+       temporary use in service_fds, for the fds of interest.  */
+    sel_state = malloc(2 * sizeof(*sel_state));
+    if (sel_state == NULL) {
+       free(conns);
+       return ENOMEM;
+    }
+    sel_state->max = 0;
+    sel_state->nfds = 0;
+    sel_state->end_time.tv_sec = sel_state->end_time.tv_usec = 0;
+    FD_ZERO(&sel_state->rfds);
+    FD_ZERO(&sel_state->wfds);
+    FD_ZERO(&sel_state->xfds);
 
     message_len_buf[0] = (message->length >> 24) & 0xff;
     message_len_buf[1] = (message->length >> 16) & 0xff;
@@ -1083,18 +1090,19 @@ krb5int_sendto (krb5_context context, const krb5_data *message,
            dprint("host %d\n", host);
 
            /* Send to the host, wait for a response, then move on. */
-           if (maybe_send(&conns[host], &select_state))
+           if (maybe_send(&conns[host], sel_state))
                continue;
 
            retval = getcurtime(&now);
            if (retval)
                goto egress;
-           select_state.end_time = now;
-           select_state.end_time.tv_sec += 1;
-           e = service_fds(&select_state, conns, host+1, &winning_conn);
+           sel_state->end_time = now;
+           sel_state->end_time.tv_sec += 1;
+           e = service_fds(sel_state, conns, host+1, &winning_conn,
+                           sel_state+1);
            if (e)
                break;
-           if (pass > 0 && select_state.nfds == 0)
+           if (pass > 0 && sel_state->nfds == 0)
                /*
                 * After the first pass, if we close all fds, break
                 * out right away.  During the first pass, it's okay,
@@ -1110,16 +1118,16 @@ krb5int_sendto (krb5_context context, const krb5_data *message,
        /* Possible optimization: Find a way to integrate this select
           call with the last one from the above loop, if the loop
           actually calls select.  */
-       select_state.end_time.tv_sec += delay_this_pass;
-       e = service_fds(&select_state, conns, host+1, &winning_conn);
+       sel_state->end_time.tv_sec += delay_this_pass;
+       e = service_fds(sel_state, conns, host+1, &winning_conn, sel_state+1);
        if (e)
            break;
-       if (select_state.nfds == 0)
+       if (sel_state->nfds == 0)
            break;
        delay_this_pass *= 2;
     }
 
-    if (select_state.nfds == 0) {
+    if (sel_state->nfds == 0) {
        /* No addresses?  */
        retval = KRB5_KDC_UNREACH;
        goto egress;
@@ -1152,5 +1160,6 @@ egress:
     free(conns);
     if (reply->data != udpbuf)
        free(udpbuf);
+    free(sel_state);
     return retval;
 }
index 240f14e907622f894d342a155fd159c76f05ac11..dea1b3c3c2416c445c4497c9ac6147602fd6a3ea 100644 (file)
 #include <sys/param.h>
 #endif
 
+#if !defined(DEFAULT_RDNS_LOOKUP)
+#define DEFAULT_RDNS_LOOKUP 1
+#endif
+
+static int
+maybe_use_reverse_dns (krb5_context context, int defalt)
+{
+    krb5_error_code code;
+    char * value = NULL;
+    int use_rdns = 0;
+
+    code = profile_get_string(context->profile, "libdefaults",
+                              "rdns", 0, 0, &value);
+    if (code)
+        return defalt;
+
+    if (value == 0)
+       return defalt;
+
+    use_rdns = _krb5_conf_boolean(value);
+    profile_release_string(value);
+    return use_rdns;
+}
+
+
 krb5_error_code KRB5_CALLCONV
 krb5_sname_to_principal(krb5_context context, const char *hostname, const char *sname, krb5_int32 type, krb5_principal *ret_princ)
 {
@@ -93,26 +118,29 @@ krb5_sname_to_principal(krb5_context context, const char *hostname, const char *
                freeaddrinfo(ai);
                return ENOMEM;
            }
-           /*
-            * Do a reverse resolution to get the full name, just in
-            * case there's some funny business going on.  If there
-            * isn't an in-addr record, give up.
-            */
-           /* XXX: This is *so* bogus.  There are several cases where
-              this won't get us the canonical name of the host, but
-              this is what we've trained people to expect.  We'll
-              probably fix it at some point, but let's try to
-              preserve the current behavior and only shake things up
-              once when it comes time to fix this lossage.  */
-           err = getnameinfo(ai->ai_addr, ai->ai_addrlen,
-                             hnamebuf, sizeof(hnamebuf), 0, 0, NI_NAMEREQD);
-           freeaddrinfo(ai);
-           if (err == 0) {
-               free(remote_host);
-               remote_host = strdup(hnamebuf);
-               if (!remote_host)
-                   return ENOMEM;
-           }
+
+            if (maybe_use_reverse_dns(context, DEFAULT_RDNS_LOOKUP)) {
+                /*
+                 * Do a reverse resolution to get the full name, just in
+                 * case there's some funny business going on.  If there
+                 * isn't an in-addr record, give up.
+                 */
+                /* XXX: This is *so* bogus.  There are several cases where
+                   this won't get us the canonical name of the host, but
+                   this is what we've trained people to expect.  We'll
+                   probably fix it at some point, but let's try to
+                   preserve the current behavior and only shake things up
+                   once when it comes time to fix this lossage.  */
+                err = getnameinfo(ai->ai_addr, ai->ai_addrlen,
+                                   hnamebuf, sizeof(hnamebuf), 0, 0, NI_NAMEREQD);
+                freeaddrinfo(ai);
+                if (err == 0) {
+                    free(remote_host);
+                    remote_host = strdup(hnamebuf);
+                    if (!remote_host)
+                        return ENOMEM;
+                }
+            }
        } else /* type == KRB5_NT_UNKNOWN */ {
            remote_host = strdup(hostname);
        }
index 03dac07ef42cc46ddf63fbb52b9b2c7015149771..7d5d554fabcf4f0dacd44b927dd2c930ac512f2d 100644 (file)
@@ -1,11 +1,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
+#include "port-sockets.h"
 #include <com_err.h>
 
 #define TEST
diff --git a/src/lib/krb5/os/thread_safe.c b/src/lib/krb5/os/thread_safe.c
new file mode 100644 (file)
index 0000000..faac234
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * lib/krb5/os/thread_safec
+ *
+ * Copyright 2005 by the Massachusetts Institute of Technology.
+ * All Rights Reserved.
+ *
+ * Export of this software from the United States of America may
+ *   require a specific license from the United States Government.
+ *   It is the responsibility of any person or organization contemplating
+ *   export to obtain such a license before exporting.
+ * 
+ * WITHIN THAT CONSTRAINT, 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.
+ * 
+ *
+ * krb5_is_thread_safe() function.
+ */
+
+#include "k5-int.h"
+
+krb5_boolean KRB5_CALLCONV
+krb5_is_thread_safe(void)
+{
+#if defined(ENABLE_THREADS)
+    return 1;
+#else
+    return 0;
+#endif
+}
index 24b04b015523d38835720161af8fdee1f6f6e938..597ce15e6641b801dd6dc9bc8c49fbc3230c18de 100644 (file)
@@ -1,3 +1,8 @@
+2005-01-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * rc_dfl.c: Move the extraction of the struct dfl_data
+          from the krb5_rcache after obtaining the lock, not before.
+
 2004-08-03  Ken Raeburn  <raeburn@mit.edu>
 
        * rc-int.h (struct _krb5_rc_ops): Add new member,
index 586716a3daa3e5fdef489ba8d88c31ceab8325a8..a334002e0ca9a79b83afb9e539efe6eceaaa90fa 100644 (file)
@@ -182,10 +182,10 @@ krb5_rc_dfl_get_span(krb5_context context, krb5_rcache id,
     krb5_error_code err;
     struct dfl_data *t;
 
-    t = (struct dfl_data *) id->data;
     err = k5_mutex_lock(&id->lock);
     if (err)
        return err;
+    t = (struct dfl_data *) id->data;
     *lifespan = t->lifespan;
     k5_mutex_unlock(&id->lock);
     return 0;
@@ -514,7 +514,6 @@ krb5_error_code KRB5_CALLCONV
 krb5_rc_dfl_recover_or_init(krb5_context context, krb5_rcache id,
                            krb5_deltat lifespan)
 {
-    struct dfl_data *t = (struct dfl_data *)id->data;
     krb5_error_code retval;
 
     retval = k5_mutex_lock(&id->lock);
@@ -561,7 +560,7 @@ krb5_error_code KRB5_CALLCONV
 krb5_rc_dfl_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep)
 {
     krb5_error_code ret;
-    struct dfl_data *t = (struct dfl_data *)id->data;
+    struct dfl_data *t;
     krb5_int32 now;
 
     ret = krb5_timeofday(context, &now);
@@ -582,6 +581,7 @@ krb5_rc_dfl_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep)
     case 0: break;
     default: /* wtf? */ ;
     }
+    t = (struct dfl_data *)id->data;
 #ifndef NOIOSTUFF
     ret = krb5_rc_io_store(context, t, rep);
     if (ret) {
index 58b4390df0f840a89883067bbc3753a1cbaa6d3c..0125d2630eb3ba75a62ac26808aaedd7870f88df 100644 (file)
@@ -168,6 +168,7 @@ krb5_c_string_to_key_with_params
        krb5_init_keyblock
        krb5_init_random_key
        krb5_init_secure_context
+        krb5_is_thread_safe
        krb5_kt_add_entry
        krb5_kt_close
        krb5_kt_default
@@ -193,7 +194,7 @@ krb5_c_string_to_key_with_params
        krb5_os_localaddr
        krb5_parse_name
        krb5_principal_compare
-       krb5_principal2salt
+       krb5_principal2salt                     ; KRB5_CALLCONV_WRONG
        krb5_process_key
        krb5_prompter_posix
        krb5_random_key
@@ -211,8 +212,8 @@ krb5_c_string_to_key_with_params
        krb5_sendauth
        krb5_set_default_realm
        krb5_set_default_tgs_enctypes
-krb5_set_password
-krb5_set_password_using_ccache
+        krb5_set_password
+        krb5_set_password_using_ccache
        krb5_set_principal_realm
        krb5_set_real_time
        krb5_sname_to_principal
index d3070b4b7de5744ec12b661c2344b2620b26417e..def5183a367f5df3825d43d36dd568fa1442982d 100644 (file)
@@ -1,3 +1,22 @@
+2005-01-14  Tom Yu  <tlyu@mit.edu>
+
+       * xdr.c (xdr_bytes): Revert previous; the problem was actually in
+       xdr_rpc_gss_buf.
+
+       * authgss_prot.c (xdr_rpc_gss_wrap_data): Use xdr_alloc to avoid
+       size limit issues.  Use (unsigned int)-1 instead of MAX_NETOBJ_SZ.
+       (xdr_rpc_gss_unwrap_data): Use (unsigned int)-1 instead of
+       MAX_NETOBJ_SZ.
+       (xdr_rpc_gss_buf): Set tmplen even if doing XDR_FREE.
+
+       * xdr.c (xdr_bytes): Don't assign from *sizep if XDR_FREE, since
+       it'll be uninitialized then.  Shuts up Purify.
+
+2004-11-18  Tom Yu  <tlyu@mit.edu>
+
+       * Makefile.in (install-unix): Install into KRB5_INCDIR/gssrpc,
+       rather than just KRB5_INCDIR.
+
 2004-10-25  Tom Yu  <tlyu@mit.edu>
 
        * auth_gss.c (authgss_get_private_data): New function.
index b303bb313729c4e240a79ecf6264b2a751f7b058..b9bd4c6768c7a98a9956a6f8b7b41e1ebb0295ec 100644 (file)
@@ -191,10 +191,10 @@ install-unix:: install-libs
 
 install-unix::
        for i in $(SRC_HDRS); do \
-               (set -x; $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(KRB5_INCDIR)$(S)$$i) ; \
+               (set -x; $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(KRB5_INCDIR)$(S)gssrpc$(S)$$i) ; \
        done
        for i in $(BUILD_HDRS); do \
-               (set -x; $(INSTALL_DATA) $$i $(DESTDIR)$(KRB5_INCDIR)$(S)$$i) ; \
+               (set -x; $(INSTALL_DATA) $$i $(DESTDIR)$(KRB5_INCDIR)$(S)gssrpc$(S)$$i) ; \
        done
 
 BUILD_HDRS = types.h
index 0e8029abd512c7eafbf325516afd7c5c0b80a1ef..ab6e7fea077cc7832580c3e3da6cc85ba84e7431 100644 (file)
@@ -52,7 +52,7 @@ xdr_rpc_gss_buf(XDR *xdrs, gss_buffer_t buf, u_int maxsize)
        bool_t xdr_stat;
        u_int tmplen;
 
-       if (xdrs->x_op == XDR_ENCODE) {
+       if (xdrs->x_op != XDR_DECODE) {
                if (buf->length > UINT_MAX)
                        return (FALSE);
                else
@@ -129,54 +129,37 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
                      gss_ctx_id_t ctx, gss_qop_t qop,
                      rpc_gss_svc_t svc, uint32_t seq)
 {
+       XDR             tmpxdrs;
        gss_buffer_desc databuf, wrapbuf;
        OM_uint32       maj_stat, min_stat;
-       u_int           start, end;
        int             conf_state;
        bool_t          xdr_stat;
-       u_int           tmplen;
 
-       /* Skip databody length. */
-       start = XDR_GETPOS(xdrs);
-       if (start > UINT_MAX - 4)
-               return (FALSE);
-       XDR_SETPOS(xdrs, start + 4);
+       xdralloc_create(&tmpxdrs, XDR_ENCODE);
+
+       xdr_stat = FALSE;
        
        /* Marshal rpc_gss_data_t (sequence number + arguments). */
-       if (!xdr_u_int32(xdrs, &seq) || !(*xdr_func)(xdrs, xdr_ptr))
-               return (FALSE);
-       end = XDR_GETPOS(xdrs);
-       if (end < start + 4)
-               return (FALSE);
+       if (!xdr_u_int32(&tmpxdrs, &seq) || !(*xdr_func)(&tmpxdrs, xdr_ptr))
+               goto errout;
 
        /* Set databuf to marshalled rpc_gss_data_t. */
-       databuf.length = end - start - 4;
-       XDR_SETPOS(xdrs, start + 4);
-       databuf.value = XDR_INLINE(xdrs, (int)databuf.length);
+       databuf.length = xdr_getpos(&tmpxdrs);
+       databuf.value = xdralloc_getdata(&tmpxdrs);
 
-       xdr_stat = FALSE;
-       
        if (svc == RPCSEC_GSS_SVC_INTEGRITY) {
-               /* Marshal databody_integ length. */
-               XDR_SETPOS(xdrs, start);
-               if (databuf.length > UINT_MAX)
-                       return (FALSE);
-               else
-                       tmplen = databuf.length;
+               if (!xdr_rpc_gss_buf(xdrs, &databuf, (unsigned int)-1))
+                       goto errout;
 
-               if (!xdr_u_int(xdrs, &tmplen))
-                       return (FALSE);
-               
                /* Checksum rpc_gss_data_t. */
                maj_stat = gss_get_mic(&min_stat, ctx, qop,
                                       &databuf, &wrapbuf);
                if (maj_stat != GSS_S_COMPLETE) {
                        log_debug("gss_get_mic failed");
-                       return (FALSE);
+                       goto errout;
                }
                /* Marshal checksum. */
-               XDR_SETPOS(xdrs, end);
-               xdr_stat = xdr_rpc_gss_buf(xdrs, &wrapbuf, MAX_NETOBJ_SZ);
+               xdr_stat = xdr_rpc_gss_buf(xdrs, &wrapbuf, (unsigned int)-1);
                gss_release_buffer(&min_stat, &wrapbuf);
        }               
        else if (svc == RPCSEC_GSS_SVC_PRIVACY) {
@@ -185,13 +168,14 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
                                    &conf_state, &wrapbuf);
                if (maj_stat != GSS_S_COMPLETE) {
                        log_status("gss_wrap", maj_stat, min_stat);
-                       return (FALSE);
+                       goto errout;
                }
                /* Marshal databody_priv. */
-               XDR_SETPOS(xdrs, start);
-               xdr_stat = xdr_rpc_gss_buf(xdrs, &wrapbuf, MAX_NETOBJ_SZ);
+               xdr_stat = xdr_rpc_gss_buf(xdrs, &wrapbuf, (unsigned int)-1);
                gss_release_buffer(&min_stat, &wrapbuf);
        }
+errout:
+       xdr_destroy(&tmpxdrs);
        return (xdr_stat);
 }
 
@@ -216,12 +200,12 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
        
        if (svc == RPCSEC_GSS_SVC_INTEGRITY) {
                /* Decode databody_integ. */
-               if (!xdr_rpc_gss_buf(xdrs, &databuf, MAX_NETOBJ_SZ)) {
+               if (!xdr_rpc_gss_buf(xdrs, &databuf, (unsigned int)-1)) {
                        log_debug("xdr decode databody_integ failed");
                        return (FALSE);
                }
                /* Decode checksum. */
-               if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, MAX_NETOBJ_SZ)) {
+               if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (unsigned int)-1)) {
                        gss_release_buffer(&min_stat, &databuf);
                        log_debug("xdr decode checksum failed");
                        return (FALSE);
@@ -239,7 +223,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
        }
        else if (svc == RPCSEC_GSS_SVC_PRIVACY) {
                /* Decode databody_priv. */
-               if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, MAX_NETOBJ_SZ)) {
+               if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (unsigned int)-1)) {
                        log_debug("xdr decode databody_priv failed");
                        return (FALSE);
                }
index 05b2a8aa7ab2a56e55709fdc57f651322d517be3..568ccc93837f60f25228953e613d07a7e279a9bc 100644 (file)
@@ -1,33 +1,9 @@
-/* 
- * WinSock support.
- *
- * Do the WinSock initialization call, keeping all the hair here.
- *
- * This routine is called by SOCKET_INITIALIZE in include/c-windows.h.
- * The code is pretty much copied from winsock.txt from winsock-1.1,
- * available from:
- * ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock/winsock-1.1
- *
- * Note: WSAStartup and WSACleanup is called here (and only here).
- * This assumes that under Windows, we only use this library via the
- * DLL.  Note that calls to WSAStartup and WSACleanup must be in
- * matched pairs.  If there is a missing WSACleanup call when a
- * program exits, under Lan Workplace, the name resolver will stop
- * working. 
- */
-
 #ifdef KRB4
 #include <kerberosIV/krb.h>
 #endif
 #define NEED_SOCKETS
 #include "k5-int.h"
 
-#ifndef NEED_WINSOCK
-#if defined(KRB4) || defined(KRB5) || defined(GSSAPI)
-#define NEED_WINSOCK 1
-#endif
-#endif
-
 #ifdef KRB4
 #include <kerberosIV/krb_err.h>
 #include <kerberosIV/kadm_err.h>
@@ -366,32 +342,13 @@ HINSTANCE get_lib_instance()
 static int
 control(int mode)
 {
-#ifdef NEED_WINSOCK
-    WORD wVersionRequested;
-    WSADATA wsaData;
-    int err;
-#endif
-
     switch(mode) {
     case DLL_STARTUP:
-#ifdef NEED_WINSOCK
-       wVersionRequested = 0x0101;             /* We need version 1.1 */
-       if ((err = WSAStartup (wVersionRequested, &wsaData)))
-           return err;
-       if (wVersionRequested != wsaData.wVersion) {
-           /* DLL couldn't support our version of the spec */
-           WSACleanup ();
-           return -104;                        /* FIXME -- better error? */
-       }
-#endif
        break;
 
     case DLL_SHUTDOWN:
 #ifdef KRB5
        krb5_stdcc_shutdown();
-#endif
-#ifdef NEED_WINSOCK
-       WSACleanup ();
 #endif
        break;
 
index e61e856e733225c199dc98c2059425c90bf9d60d..6c2e4137a01e23ab3a67a5d9b2ff02d62972dbc3 100644 (file)
@@ -94,3 +94,17 @@ _gss_nt_exported_name
 #
        
 _GSS_KRB5_NT_PRINCIPAL_NAME
+
+#
+# GSS-API krb5 symbols from gssapi_krb5.h 
+#
+
+_gss_mech_krb5
+_gss_mech_krb5_old
+_gss_mech_set_krb5
+_gss_mech_set_krb5_both
+_gss_mech_set_krb5_old
+
+_gss_nt_krb5_name
+_gss_nt_krb5_principal
+_krb5_gss_oid_array
index 66c6311a8bac4d35fca96f8e1a14cff590a87636..09b1986336baa1f0748d5c93334105d46b2819ad 100644 (file)
        archiveVersion = 1;
        classes = {
        };
-       objectVersion = 39;
+       objectVersion = 42;
        objects = {
-               A12536B3040BEC05003D8244 = {
-                       children = (
-                               A12536B5040BEC05003D8244,
-                               A12536B6040BEC05003D8244,
-                               A12536CA040BEC05003D8244,
-                               A12536CD040BEC05003D8244,
-                               A12536EC040BEC05003D8244,
-                               A12536F5040BEC05003D8244,
-                               A12536FF040BEC06003D8244,
-                               A1253700040BEC06003D8244,
-                               A1253716040BEC06003D8244,
-                               A1253718040BEC06003D8244,
-                               A1253725040BEC06003D8244,
-                               A125374E040BEC06003D8244,
+
+/* Begin PBXAggregateTarget section */
+               A1B08BF7087F22550063079F /* Error Tables */ = {
+                       isa = PBXAggregateTarget;
+                       buildConfigurationList = A1B08BFE087F22740063079F /* Build configuration list for PBXAggregateTarget "Error Tables" */;
+                       buildPhases = (
+                               A1B08BF6087F22550063079F /* ShellScript */,
                        );
-                       isa = PBXGroup;
-                       path = kadmin;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A12536B5040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = "Error Tables";
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
+                       );
+                       name = "Error Tables";
+                       productName = "Error Tables";
                };
-               A12536B6040BEC05003D8244 = {
-                       children = (
-                               A12536B7040BEC05003D8244,
-                               A12536B8040BEC05003D8244,
-                               A12536B9040BEC05003D8244,
-                               A12536BA040BEC05003D8244,
-                               A12536BB040BEC05003D8244,
-                               A12536BC040BEC05003D8244,
-                               A12536BD040BEC05003D8244,
-                               A12536BE040BEC05003D8244,
-                               A12536BF040BEC05003D8244,
-                               A12536C0040BEC05003D8244,
-                               A12536C1040BEC05003D8244,
-                               A12536C2040BEC05003D8244,
-                               A12536C3040BEC05003D8244,
-                               A12536C4040BEC05003D8244,
-                               A12536C5040BEC05003D8244,
-                               A12536C6040BEC05003D8244,
+               A1B707610873129400F0C55D /* Configure */ = {
+                       isa = PBXAggregateTarget;
+                       buildConfigurationList = A1B70762087312B200F0C55D /* Build configuration list for PBXAggregateTarget "Configure" */;
+                       buildPhases = (
+                               A1B707600873129400F0C55D /* ShellScript */,
                        );
-                       isa = PBXGroup;
-                       path = cli;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Configure;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
+                       );
+                       name = Configure;
+                       productName = Configure;
                };
-               A12536B7040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7077F08731E4500F0C55D /* Servers */ = {
+                       isa = PBXAggregateTarget;
+                       buildConfigurationList = A1B7078008731E6300F0C55D /* Build configuration list for PBXAggregateTarget "Servers" */;
+                       buildPhases = (
+                               A1B7077E08731E4500F0C55D /* ShellScript */,
+                               A1B707DE0873574900F0C55D /* CopyFiles */,
+                               A1B70873087357D200F0C55D /* CopyFiles */,
+                               A1B708780873586A00F0C55D /* CopyFiles */,
+                               A1B7087C087358C400F0C55D /* CopyFiles */,
+                               A1B708800873590600F0C55D /* CopyFiles */,
+                       );
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Servers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
+                               A1B7078708731F2C00F0C55D /* PBXTargetDependency */,
+                       );
+                       name = Servers;
+                       productName = Servers;
                };
-               A12536B8040BEC05003D8244 = {
-                       children = (
+               A1B7078B08731F4900F0C55D /* Autogenerated Headers */ = {
+                       isa = PBXAggregateTarget;
+                       buildConfigurationList = A1B7078E08731F7000F0C55D /* Build configuration list for PBXAggregateTarget "Autogenerated Headers" */;
+                       buildPhases = (
+                               A1B7078A08731F4900F0C55D /* ShellScript */,
+                               A1B707920873202500F0C55D /* ShellScript */,
                        );
-                       isa = PBXGroup;
-                       path = attic;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Headers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
+                               A1B08C21087F25650063079F /* PBXTargetDependency */,
+                               A1B7078D08731F5100F0C55D /* PBXTargetDependency */,
+                       );
+                       name = "Autogenerated Headers";
+                       productName = Headers;
+               };
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+               A14E78E90725B12A00A025E3 /* des_int.h in Headers */ = {isa = PBXBuildFile; fileRef = F517327003F1B65901120114 /* des_int.h */; };
+               A159A3C3088ED301004325D0 /* kerberos.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708240873577700F0C55D /* kerberos.1 */; };
+               A1A6783206C3D47F00EC826E /* fake-addrinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = A1A6783106C3D47F00EC826E /* fake-addrinfo.c */; };
+               A1A6784406C3D82500EC826E /* rc_none.c in Sources */ = {isa = PBXBuildFile; fileRef = A1A6784206C3D82500EC826E /* rc_none.c */; };
+               A1A6784506C3D82500EC826E /* rc-int.h in Headers */ = {isa = PBXBuildFile; fileRef = A1A6784306C3D82500EC826E /* rc-int.h */; };
+               A1AB1DEF05DDC40100526345 /* Kerberos5Prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CA623604168DFE0013F915 /* Kerberos5Prefix.h */; };
+               A1AB1DF105DDC40100526345 /* weak_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517332003F1B65901120114 /* weak_key.c */; };
+               A1AB1DF205DDC40100526345 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331E03F1B65901120114 /* util.c */; };
+               A1AB1DF305DDC40100526345 /* cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517330C03F1B65901120114 /* cksum.c */; };
+               A1AB1DF405DDC40100526345 /* des.c in Sources */ = {isa = PBXBuildFile; fileRef = F517330E03F1B65901120114 /* des.c */; };
+               A1AB1DF505DDC40100526345 /* enc_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = F517330F03F1B65901120114 /* enc_dec.c */; };
+               A1AB1DF605DDC40100526345 /* key_parity.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331103F1B65901120114 /* key_parity.c */; };
+               A1AB1DF705DDC40100526345 /* key_sched.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331203F1B65901120114 /* key_sched.c */; };
+               A1AB1DF805DDC40100526345 /* new_rnd_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331403F1B65901120114 /* new_rnd_key.c */; };
+               A1AB1DF905DDC40100526345 /* pcbc_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331503F1B65901120114 /* pcbc_encrypt.c */; };
+               A1AB1DFA05DDC40100526345 /* quad_cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331603F1B65901120114 /* quad_cksum.c */; };
+               A1AB1DFB05DDC40100526345 /* random_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331703F1B65901120114 /* random_key.c */; };
+               A1AB1DFC05DDC40100526345 /* read_passwd.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331803F1B65901120114 /* read_passwd.c */; };
+               A1AB1DFD05DDC40100526345 /* str_to_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517331903F1B65901120114 /* str_to_key.c */; };
+               A1AB1DFE05DDC40100526345 /* mac_des_glue.c in Sources */ = {isa = PBXBuildFile; fileRef = A166BCC3040D36F8004AA618 /* mac_des_glue.c */; };
+               A1AB1E1405DDC43000526345 /* prof_int.h in Headers */ = {isa = PBXBuildFile; fileRef = F51737BD03F1B65B01120114 /* prof_int.h */; };
+               A1AB1E1505DDC43000526345 /* autoconf.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E2662D03F443E901120114 /* autoconf.h */; };
+               A1AB1E1605DDC43000526345 /* osconf.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E2662F03F443E901120114 /* osconf.h */; };
+               A1AB1E1805DDC43000526345 /* prof_file.c in Sources */ = {isa = PBXBuildFile; fileRef = F51737BA03F1B65B01120114 /* prof_file.c */; };
+               A1AB1E1905DDC43000526345 /* prof_get.c in Sources */ = {isa = PBXBuildFile; fileRef = F51737BB03F1B65B01120114 /* prof_get.c */; };
+               A1AB1E1A05DDC43000526345 /* prof_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F51737BC03F1B65B01120114 /* prof_init.c */; };
+               A1AB1E1B05DDC43000526345 /* prof_parse.c in Sources */ = {isa = PBXBuildFile; fileRef = F51737BE03F1B65B01120114 /* prof_parse.c */; };
+               A1AB1E1C05DDC43000526345 /* prof_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F51737BF03F1B65B01120114 /* prof_set.c */; };
+               A1AB1E1D05DDC43000526345 /* prof_tree.c in Sources */ = {isa = PBXBuildFile; fileRef = F51737C003F1B65B01120114 /* prof_tree.c */; };
+               A1AB1E1E05DDC43000526345 /* prof_FSp_glue.c in Sources */ = {isa = PBXBuildFile; fileRef = A198BC2A0406DA8F00120114 /* prof_FSp_glue.c */; };
+               A1AB1E3605DDC45F00526345 /* mk_priv.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345A03F1B65A01120114 /* mk_priv.c */; };
+               A1AB1E3705DDC45F00526345 /* mk_req.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345B03F1B65A01120114 /* mk_req.c */; };
+               A1AB1E3805DDC45F00526345 /* mk_safe.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345C03F1B65A01120114 /* mk_safe.c */; };
+               A1AB1E3905DDC45F00526345 /* month_sname.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345D03F1B65A01120114 /* month_sname.c */; };
+               A1AB1E3A05DDC45F00526345 /* pkt_cipher.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346203F1B65A01120114 /* pkt_cipher.c */; };
+               A1AB1E3B05DDC45F00526345 /* pkt_clen.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346303F1B65A01120114 /* pkt_clen.c */; };
+               A1AB1E3C05DDC45F00526345 /* prot_client.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346403F1B65A01120114 /* prot_client.c */; };
+               A1AB1E3D05DDC45F00526345 /* prot_common.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346503F1B65A01120114 /* prot_common.c */; };
+               A1AB1E3E05DDC45F00526345 /* prot_kdc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346603F1B65A01120114 /* prot_kdc.c */; };
+               A1AB1E3F05DDC45F00526345 /* rd_err.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346803F1B65A01120114 /* rd_err.c */; };
+               A1AB1E4005DDC45F00526345 /* rd_priv.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346A03F1B65A01120114 /* rd_priv.c */; };
+               A1AB1E4105DDC45F00526345 /* rd_safe.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346C03F1B65A01120114 /* rd_safe.c */; };
+               A1AB1E4205DDC45F00526345 /* RealmsConfig-glue.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346E03F1B65A01120114 /* RealmsConfig-glue.c */; };
+               A1AB1E4305DDC45F00526345 /* send_to_kdc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517347B03F1B65A01120114 /* send_to_kdc.c */; };
+               A1AB1E4405DDC45F00526345 /* stime.c in Sources */ = {isa = PBXBuildFile; fileRef = F517347E03F1B65A01120114 /* stime.c */; };
+               A1AB1E4505DDC45F00526345 /* strnlen.c in Sources */ = {isa = PBXBuildFile; fileRef = F517348003F1B65A01120114 /* strnlen.c */; };
+               A1AB1E4605DDC45F00526345 /* rd_preauth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346903F1B65A01120114 /* rd_preauth.c */; };
+               A1AB1E4705DDC45F00526345 /* mk_preauth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345903F1B65A01120114 /* mk_preauth.c */; };
+               A1AB1E4805DDC45F00526345 /* CCache-glue.c in Sources */ = {isa = PBXBuildFile; fileRef = F517342403F1B65A01120114 /* CCache-glue.c */; };
+               A1AB1E4905DDC45F00526345 /* change_password.c in Sources */ = {isa = PBXBuildFile; fileRef = F517342503F1B65A01120114 /* change_password.c */; };
+               A1AB1E4A05DDC45F00526345 /* cr_auth_repl.c in Sources */ = {isa = PBXBuildFile; fileRef = F517342803F1B65A01120114 /* cr_auth_repl.c */; };
+               A1AB1E4B05DDC45F00526345 /* cr_ciph.c in Sources */ = {isa = PBXBuildFile; fileRef = F517342903F1B65A01120114 /* cr_ciph.c */; };
+               A1AB1E4C05DDC45F00526345 /* cr_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517342C03F1B65A01120114 /* cr_tkt.c */; };
+               A1AB1E4D05DDC45F00526345 /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = F517342D03F1B65A01120114 /* debug.c */; };
+               A1AB1E4E05DDC45F00526345 /* decomp_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517342E03F1B65A01120114 /* decomp_tkt.c */; };
+               A1AB1E4F05DDC45F00526345 /* g_ad_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343403F1B65A01120114 /* g_ad_tkt.c */; };
+               A1AB1E5005DDC45F00526345 /* g_in_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343703F1B65A01120114 /* g_in_tkt.c */; };
+               A1AB1E5105DDC45F00526345 /* g_phost.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343803F1B65A01120114 /* g_phost.c */; };
+               A1AB1E5205DDC45F00526345 /* g_pw_in_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343903F1B65A01120114 /* g_pw_in_tkt.c */; };
+               A1AB1E5305DDC45F00526345 /* g_pw_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343A03F1B65A01120114 /* g_pw_tkt.c */; };
+               A1AB1E5405DDC45F00526345 /* gethostname.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343F03F1B65A01120114 /* gethostname.c */; };
+               A1AB1E5505DDC45F00526345 /* getst.c in Sources */ = {isa = PBXBuildFile; fileRef = F517344003F1B65A01120114 /* getst.c */; };
+               A1AB1E5605DDC45F00526345 /* kadm_net.c in Sources */ = {isa = PBXBuildFile; fileRef = F517344303F1B65A01120114 /* kadm_net.c */; };
+               A1AB1E5705DDC45F00526345 /* kadm_stream.c in Sources */ = {isa = PBXBuildFile; fileRef = F517344403F1B65A01120114 /* kadm_stream.c */; };
+               A1AB1E5805DDC45F00526345 /* kname_parse.c in Sources */ = {isa = PBXBuildFile; fileRef = F517344603F1B65A01120114 /* kname_parse.c */; };
+               A1AB1E5905DDC45F00526345 /* lifetime.c in Sources */ = {isa = PBXBuildFile; fileRef = F517344C03F1B65A01120114 /* lifetime.c */; };
+               A1AB1E5A05DDC45F00526345 /* mk_auth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345703F1B65A01120114 /* mk_auth.c */; };
+               A1AB1E5B05DDC45F00526345 /* mk_err.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345803F1B65A01120114 /* mk_err.c */; };
+               A1AB1E5C05DDC45F00526345 /* password_to_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346103F1B65A01120114 /* password_to_key.c */; };
+               A1AB1E5D05DDC45F00526345 /* netread.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345E03F1B65A01120114 /* netread.c */; };
+               A1AB1E5E05DDC45F00526345 /* netwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = F517345F03F1B65A01120114 /* netwrite.c */; };
+               A1AB1E5F05DDC45F00526345 /* err_txt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343003F1B65A01120114 /* err_txt.c */; };
+               A1AB1E6005DDC45F00526345 /* unix_time.c in Sources */ = {isa = PBXBuildFile; fileRef = F517348603F1B65A01120114 /* unix_time.c */; };
+               A1AB1E6105DDC45F00526345 /* FSp-glue.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343303F1B65A01120114 /* FSp-glue.c */; };
+               A1AB1E6205DDC45F00526345 /* g_cnffile.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343503F1B65A01120114 /* g_cnffile.c */; };
+               A1AB1E6305DDC45F00526345 /* g_svc_in_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343B03F1B65A01120114 /* g_svc_in_tkt.c */; };
+               A1AB1E6405DDC45F00526345 /* kntoln.c in Sources */ = {isa = PBXBuildFile; fileRef = F517344703F1B65A01120114 /* kntoln.c */; };
+               A1AB1E6505DDC45F00526345 /* put_svc_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346703F1B65A01120114 /* put_svc_key.c */; };
+               A1AB1E6605DDC45F00526345 /* rd_req.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346B03F1B65A01120114 /* rd_req.c */; };
+               A1AB1E6705DDC45F00526345 /* rd_svc_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346D03F1B65A01120114 /* rd_svc_key.c */; };
+               A1AB1E6805DDC45F00526345 /* recvauth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517346F03F1B65A01120114 /* recvauth.c */; };
+               A1AB1E6905DDC45F00526345 /* sendauth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517347C03F1B65A01120114 /* sendauth.c */; };
+               A1AB1E6A05DDC45F00526345 /* kuserok.c in Sources */ = {isa = PBXBuildFile; fileRef = F517344B03F1B65A01120114 /* kuserok.c */; };
+               A1AB1E6B05DDC45F00526345 /* g_tkt_svc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517343E03F1B65A01120114 /* g_tkt_svc.c */; };
+               A1AB1E8605DDC47700526345 /* krb5_libinit.h in Headers */ = {isa = PBXBuildFile; fileRef = F517355303F1B65A01120114 /* krb5_libinit.h */; };
+               A1AB1E8705DDC47700526345 /* os-proto.h in Headers */ = {isa = PBXBuildFile; fileRef = F517357403F1B65A01120114 /* os-proto.h */; };
+               A1AB1E8805DDC47700526345 /* asn1_decode.h in Headers */ = {isa = PBXBuildFile; fileRef = F517349503F1B65A01120114 /* asn1_decode.h */; };
+               A1AB1E8905DDC47700526345 /* asn1_encode.h in Headers */ = {isa = PBXBuildFile; fileRef = F517349703F1B65A01120114 /* asn1_encode.h */; };
+               A1AB1E8A05DDC47700526345 /* asn1_get.h in Headers */ = {isa = PBXBuildFile; fileRef = F517349903F1B65A01120114 /* asn1_get.h */; };
+               A1AB1E8B05DDC47700526345 /* asn1_make.h in Headers */ = {isa = PBXBuildFile; fileRef = F517349F03F1B65A01120114 /* asn1_make.h */; };
+               A1AB1E8C05DDC47700526345 /* asn1buf.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734A303F1B65A01120114 /* asn1buf.h */; };
+               A1AB1E8D05DDC47700526345 /* krbasn1.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734A903F1B65A01120114 /* krbasn1.h */; };
+               A1AB1E8E05DDC47700526345 /* asn1_misc.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734A103F1B65A01120114 /* asn1_misc.h */; };
+               A1AB1E8F05DDC47700526345 /* asn1_k_decode.h in Headers */ = {isa = PBXBuildFile; fileRef = F517349B03F1B65A01120114 /* asn1_k_decode.h */; };
+               A1AB1E9005DDC47700526345 /* asn1_k_encode.h in Headers */ = {isa = PBXBuildFile; fileRef = F517349D03F1B65A01120114 /* asn1_k_encode.h */; };
+               A1AB1E9105DDC47700526345 /* asn1glue.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734A403F1B65A01120114 /* asn1glue.h */; };
+               A1AB1E9205DDC47700526345 /* fcc.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734C003F1B65A01120114 /* fcc.h */; };
+               A1AB1E9305DDC47700526345 /* scc.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734C403F1B65A01120114 /* scc.h */; };
+               A1AB1E9405DDC47700526345 /* stdcc.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734B503F1B65A01120114 /* stdcc.h */; };
+               A1AB1E9505DDC47700526345 /* stdcc_util.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734B703F1B65A01120114 /* stdcc_util.h */; };
+               A1AB1E9605DDC47700526345 /* k5-int.h in Headers */ = {isa = PBXBuildFile; fileRef = F51730E703F1B65801120114 /* k5-int.h */; };
+               A1AB1E9705DDC47700526345 /* auth_con.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734F103F1B65A01120114 /* auth_con.h */; };
+               A1AB1E9805DDC47700526345 /* cleanup.h in Headers */ = {isa = PBXBuildFile; fileRef = F51734F803F1B65A01120114 /* cleanup.h */; };
+               A1AB1E9905DDC47700526345 /* int-proto.h in Headers */ = {isa = PBXBuildFile; fileRef = F517351A03F1B65A01120114 /* int-proto.h */; };
+               A1AB1E9A05DDC47700526345 /* rc_base.h in Headers */ = {isa = PBXBuildFile; fileRef = F51735A103F1B65A01120114 /* rc_base.h */; };
+               A1AB1E9B05DDC47700526345 /* rc_dfl.h in Headers */ = {isa = PBXBuildFile; fileRef = F51735A403F1B65A01120114 /* rc_dfl.h */; };
+               A1AB1E9C05DDC47700526345 /* rc_io.h in Headers */ = {isa = PBXBuildFile; fileRef = F51735A603F1B65A01120114 /* rc_io.h */; };
+               A1AB1E9D05DDC47700526345 /* autoconf.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E2662D03F443E901120114 /* autoconf.h */; };
+               A1AB1E9E05DDC47700526345 /* osconf.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E2662F03F443E901120114 /* osconf.h */; };
+               A1AB1E9F05DDC47700526345 /* cksumtypes.h in Headers */ = {isa = PBXBuildFile; fileRef = F517325603F1B65901120114 /* cksumtypes.h */; };
+               A1AB1EA005DDC47700526345 /* crypto_libinit.h in Headers */ = {isa = PBXBuildFile; fileRef = F517326603F1B65901120114 /* crypto_libinit.h */; };
+               A1AB1EA105DDC47700526345 /* etypes.h in Headers */ = {isa = PBXBuildFile; fileRef = F517329903F1B65901120114 /* etypes.h */; };
+               A1AB1EA205DDC47700526345 /* arcfour.h in Headers */ = {isa = PBXBuildFile; fileRef = F517324D03F1B65901120114 /* arcfour.h */; };
+               A1AB1EA305DDC47700526345 /* arcfour-int.h in Headers */ = {isa = PBXBuildFile; fileRef = F517324B03F1B65901120114 /* arcfour-int.h */; };
+               A1AB1EA405DDC47700526345 /* crc-32.h in Headers */ = {isa = PBXBuildFile; fileRef = F517325E03F1B65901120114 /* crc-32.h */; };
+               A1AB1EA505DDC47700526345 /* f_tables.h in Headers */ = {isa = PBXBuildFile; fileRef = F517327A03F1B65901120114 /* f_tables.h */; };
+               A1AB1EA605DDC47700526345 /* des_int.h in Headers */ = {isa = PBXBuildFile; fileRef = F517327003F1B65901120114 /* des_int.h */; };
+               A1AB1EA705DDC47700526345 /* dk.h in Headers */ = {isa = PBXBuildFile; fileRef = F517328703F1B65901120114 /* dk.h */; };
+               A1AB1EA805DDC47700526345 /* enc_provider.h in Headers */ = {isa = PBXBuildFile; fileRef = F517329203F1B65901120114 /* enc_provider.h */; };
+               A1AB1EA905DDC47700526345 /* hash_provider.h in Headers */ = {isa = PBXBuildFile; fileRef = F517329F03F1B65901120114 /* hash_provider.h */; };
+               A1AB1EAA05DDC47700526345 /* keyhash_provider.h in Headers */ = {isa = PBXBuildFile; fileRef = F51732AD03F1B65901120114 /* keyhash_provider.h */; };
+               A1AB1EAB05DDC47700526345 /* rsa-md4.h in Headers */ = {isa = PBXBuildFile; fileRef = F51732BA03F1B65901120114 /* rsa-md4.h */; };
+               A1AB1EAC05DDC47700526345 /* rsa-md5.h in Headers */ = {isa = PBXBuildFile; fileRef = F51732C203F1B65901120114 /* rsa-md5.h */; };
+               A1AB1EAD05DDC47700526345 /* old.h in Headers */ = {isa = PBXBuildFile; fileRef = F51732CA03F1B65901120114 /* old.h */; };
+               A1AB1EAE05DDC47700526345 /* raw.h in Headers */ = {isa = PBXBuildFile; fileRef = F51732D403F1B65901120114 /* raw.h */; };
+               A1AB1EAF05DDC47800526345 /* shs.h in Headers */ = {isa = PBXBuildFile; fileRef = F51732DE03F1B65901120114 /* shs.h */; };
+               A1AB1EB005DDC47800526345 /* yarrow.h in Headers */ = {isa = PBXBuildFile; fileRef = F51732FD03F1B65901120114 /* yarrow.h */; };
+               A1AB1EB105DDC47800526345 /* ycipher.h in Headers */ = {isa = PBXBuildFile; fileRef = F517330103F1B65901120114 /* ycipher.h */; };
+               A1AB1EB205DDC47800526345 /* yexcep.h in Headers */ = {isa = PBXBuildFile; fileRef = F517330203F1B65901120114 /* yexcep.h */; };
+               A1AB1EB305DDC47800526345 /* yhash.h in Headers */ = {isa = PBXBuildFile; fileRef = F517330303F1B65901120114 /* yhash.h */; };
+               A1AB1EB405DDC47800526345 /* ylock.h in Headers */ = {isa = PBXBuildFile; fileRef = F517330403F1B65901120114 /* ylock.h */; };
+               A1AB1EB505DDC47800526345 /* ystate.h in Headers */ = {isa = PBXBuildFile; fileRef = F517330503F1B65901120114 /* ystate.h */; };
+               A1AB1EB605DDC47800526345 /* ytypes.h in Headers */ = {isa = PBXBuildFile; fileRef = F517330703F1B65901120114 /* ytypes.h */; };
+               A1AB1EB705DDC47800526345 /* aes_s2k.h in Headers */ = {isa = PBXBuildFile; fileRef = A1B21F180417D6BC00120114 /* aes_s2k.h */; };
+               A1AB1EB805DDC47800526345 /* k5-platform.h in Headers */ = {isa = PBXBuildFile; fileRef = A181DA5405CF0BD800E4C246 /* k5-platform.h */; };
+               A1AB1EBA05DDC47800526345 /* krb5_libinit.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355203F1B65A01120114 /* krb5_libinit.c */; };
+               A1AB1EBB05DDC47800526345 /* accessor.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355803F1B65A01120114 /* accessor.c */; };
+               A1AB1EBC05DDC47800526345 /* an_to_ln.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355903F1B65A01120114 /* an_to_ln.c */; };
+               A1AB1EBD05DDC47800526345 /* c_ustime.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355A03F1B65A01120114 /* c_ustime.c */; };
+               A1AB1EBE05DDC47800526345 /* ccdefname.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355B03F1B65A01120114 /* ccdefname.c */; };
+               A1AB1EBF05DDC47800526345 /* changepw.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355D03F1B65A01120114 /* changepw.c */; };
+               A1AB1EC005DDC47800526345 /* def_realm.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355E03F1B65A01120114 /* def_realm.c */; };
+               A1AB1EC105DDC47800526345 /* free_hstrl.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355F03F1B65A01120114 /* free_hstrl.c */; };
+               A1AB1EC205DDC47800526345 /* free_krbhs.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356003F1B65A01120114 /* free_krbhs.c */; };
+               A1AB1EC305DDC47800526345 /* full_ipadr.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356103F1B65A01120114 /* full_ipadr.c */; };
+               A1AB1EC405DDC47800526345 /* gen_port.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356203F1B65A01120114 /* gen_port.c */; };
+               A1AB1EC505DDC47800526345 /* gen_rname.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356303F1B65A01120114 /* gen_rname.c */; };
+               A1AB1EC605DDC47800526345 /* genaddrs.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356403F1B65A01120114 /* genaddrs.c */; };
+               A1AB1EC705DDC47800526345 /* get_krbhst.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356503F1B65A01120114 /* get_krbhst.c */; };
+               A1AB1EC805DDC47800526345 /* gmt_mktime.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356603F1B65A01120114 /* gmt_mktime.c */; };
+               A1AB1EC905DDC47800526345 /* hostaddr.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356703F1B65A01120114 /* hostaddr.c */; };
+               A1AB1ECA05DDC47800526345 /* hst_realm.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356803F1B65A01120114 /* hst_realm.c */; };
+               A1AB1ECB05DDC47800526345 /* krbfileio.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356A03F1B65A01120114 /* krbfileio.c */; };
+               A1AB1ECC05DDC47800526345 /* init_os_ctx.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356903F1B65A01120114 /* init_os_ctx.c */; };
+               A1AB1ECD05DDC47800526345 /* ktdefname.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356B03F1B65A01120114 /* ktdefname.c */; };
+               A1AB1ECE05DDC47800526345 /* kuserok.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356C03F1B65A01120114 /* kuserok.c */; };
+               A1AB1ECF05DDC47800526345 /* localaddr.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356D03F1B65A01120114 /* localaddr.c */; };
+               A1AB1ED005DDC47800526345 /* locate_kdc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356E03F1B65A01120114 /* locate_kdc.c */; };
+               A1AB1ED105DDC47800526345 /* lock_file.c in Sources */ = {isa = PBXBuildFile; fileRef = F517356F03F1B65A01120114 /* lock_file.c */; };
+               A1AB1ED205DDC47800526345 /* mk_faddr.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357103F1B65A01120114 /* mk_faddr.c */; };
+               A1AB1ED305DDC47800526345 /* net_read.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357203F1B65A01120114 /* net_read.c */; };
+               A1AB1ED405DDC47800526345 /* net_write.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357303F1B65A01120114 /* net_write.c */; };
+               A1AB1ED505DDC47800526345 /* osconfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357503F1B65A01120114 /* osconfig.c */; };
+               A1AB1ED605DDC47800526345 /* port2ip.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357603F1B65A01120114 /* port2ip.c */; };
+               A1AB1ED705DDC47800526345 /* prompter.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357703F1B65A01120114 /* prompter.c */; };
+               A1AB1ED805DDC47800526345 /* promptusr.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357803F1B65A01120114 /* promptusr.c */; };
+               A1AB1ED905DDC47800526345 /* read_msg.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357903F1B65A01120114 /* read_msg.c */; };
+               A1AB1EDA05DDC47800526345 /* read_pwd.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357A03F1B65A01120114 /* read_pwd.c */; };
+               A1AB1EDB05DDC47800526345 /* realm_dom.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357B03F1B65A01120114 /* realm_dom.c */; };
+               A1AB1EDC05DDC47800526345 /* realm_iter.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357C03F1B65A01120114 /* realm_iter.c */; };
+               A1AB1EDD05DDC47800526345 /* sendto_kdc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357E03F1B65A01120114 /* sendto_kdc.c */; };
+               A1AB1EDE05DDC47800526345 /* sn2princ.c in Sources */ = {isa = PBXBuildFile; fileRef = F517357F03F1B65A01120114 /* sn2princ.c */; };
+               A1AB1EDF05DDC47800526345 /* timeofday.c in Sources */ = {isa = PBXBuildFile; fileRef = F517358603F1B65A01120114 /* timeofday.c */; };
+               A1AB1EE005DDC47800526345 /* toffset.c in Sources */ = {isa = PBXBuildFile; fileRef = F517358703F1B65A01120114 /* toffset.c */; };
+               A1AB1EE105DDC47800526345 /* unlck_file.c in Sources */ = {isa = PBXBuildFile; fileRef = F517358803F1B65A01120114 /* unlck_file.c */; };
+               A1AB1EE205DDC47800526345 /* ustime.c in Sources */ = {isa = PBXBuildFile; fileRef = F517358903F1B65A01120114 /* ustime.c */; };
+               A1AB1EE305DDC47800526345 /* write_msg.c in Sources */ = {isa = PBXBuildFile; fileRef = F517358A03F1B65A01120114 /* write_msg.c */; };
+               A1AB1EE405DDC47800526345 /* asn1_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = F517349403F1B65A01120114 /* asn1_decode.c */; };
+               A1AB1EE505DDC47800526345 /* asn1_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = F517349603F1B65A01120114 /* asn1_encode.c */; };
+               A1AB1EE605DDC47800526345 /* asn1_get.c in Sources */ = {isa = PBXBuildFile; fileRef = F517349803F1B65A01120114 /* asn1_get.c */; };
+               A1AB1EE705DDC47800526345 /* asn1_make.c in Sources */ = {isa = PBXBuildFile; fileRef = F517349E03F1B65A01120114 /* asn1_make.c */; };
+               A1AB1EE805DDC47800526345 /* asn1buf.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734A203F1B65A01120114 /* asn1buf.c */; };
+               A1AB1EE905DDC47800526345 /* krb5_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734A703F1B65A01120114 /* krb5_decode.c */; };
+               A1AB1EEA05DDC47800526345 /* krb5_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734A803F1B65A01120114 /* krb5_encode.c */; };
+               A1AB1EEB05DDC47800526345 /* asn1_misc.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734A003F1B65A01120114 /* asn1_misc.c */; };
+               A1AB1EEC05DDC47800526345 /* asn1_k_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = F517349A03F1B65A01120114 /* asn1_k_decode.c */; };
+               A1AB1EED05DDC47800526345 /* asn1_k_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = F517349C03F1B65A01120114 /* asn1_k_encode.c */; };
+               A1AB1EEE05DDC47800526345 /* cc_file.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734AE03F1B65A01120114 /* cc_file.c */; };
+               A1AB1EEF05DDC47800526345 /* cc_memory.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734AF03F1B65A01120114 /* cc_memory.c */; };
+               A1AB1EF005DDC47800526345 /* cc_retr.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734B003F1B65A01120114 /* cc_retr.c */; };
+               A1AB1EF105DDC47800526345 /* ccbase.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734BA03F1B65A01120114 /* ccbase.c */; };
+               A1AB1EF205DDC47800526345 /* cccopy.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734BB03F1B65A01120114 /* cccopy.c */; };
+               A1AB1EF305DDC47800526345 /* ccdefault.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734BC03F1B65A01120114 /* ccdefault.c */; };
+               A1AB1EF405DDC47800526345 /* ccdefops.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734BD03F1B65A01120114 /* ccdefops.c */; };
+               A1AB1EF505DDC47800526345 /* ccfns.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734BE03F1B65A01120114 /* ccfns.c */; };
+               A1AB1EF605DDC47800526345 /* ser_cc.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734C503F1B65A01120114 /* ser_cc.c */; };
+               A1AB1EF705DDC47800526345 /* stdcc.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734B403F1B65A01120114 /* stdcc.c */; };
+               A1AB1EF805DDC47800526345 /* stdcc_util.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734B603F1B65A01120114 /* stdcc_util.c */; };
+               A1AB1EF905DDC47800526345 /* init_ets.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734D303F1B65A01120114 /* init_ets.c */; };
+               A1AB1EFA05DDC47800526345 /* kt_file.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734DE03F1B65A01120114 /* kt_file.c */; };
+               A1AB1EFB05DDC47800526345 /* kt_srvtab.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734DF03F1B65A01120114 /* kt_srvtab.c */; };
+               A1AB1EFC05DDC47800526345 /* ktadd.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734E003F1B65A01120114 /* ktadd.c */; };
+               A1AB1EFD05DDC47800526345 /* ktbase.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734E103F1B65A01120114 /* ktbase.c */; };
+               A1AB1EFE05DDC47800526345 /* ktdefault.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734E203F1B65A01120114 /* ktdefault.c */; };
+               A1AB1EFF05DDC47800526345 /* ktfns.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734E303F1B65A01120114 /* ktfns.c */; };
+               A1AB1F0005DDC47800526345 /* ktfr_entry.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734E403F1B65A01120114 /* ktfr_entry.c */; };
+               A1AB1F0105DDC47800526345 /* ktremove.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734E503F1B65A01120114 /* ktremove.c */; };
+               A1AB1F0205DDC47800526345 /* read_servi.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734E703F1B65A01120114 /* read_servi.c */; };
+               A1AB1F0305DDC47800526345 /* addr_comp.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734EC03F1B65A01120114 /* addr_comp.c */; };
+               A1AB1F0405DDC47800526345 /* addr_order.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734ED03F1B65A01120114 /* addr_order.c */; };
+               A1AB1F0505DDC47800526345 /* addr_srch.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734EE03F1B65A01120114 /* addr_srch.c */; };
+               A1AB1F0605DDC47800526345 /* appdefault.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734EF03F1B65A01120114 /* appdefault.c */; };
+               A1AB1F0705DDC47800526345 /* auth_con.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734F003F1B65A01120114 /* auth_con.c */; };
+               A1AB1F0805DDC47800526345 /* bld_pr_ext.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734F203F1B65A01120114 /* bld_pr_ext.c */; };
+               A1AB1F0905DDC47800526345 /* bld_princ.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734F303F1B65A01120114 /* bld_princ.c */; };
+               A1AB1F0A05DDC47800526345 /* chk_trans.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734F603F1B65A01120114 /* chk_trans.c */; };
+               A1AB1F0B05DDC47800526345 /* chpw.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734F703F1B65A01120114 /* chpw.c */; };
+               A1AB1F0C05DDC47800526345 /* conv_princ.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734F903F1B65A01120114 /* conv_princ.c */; };
+               A1AB1F0D05DDC47800526345 /* copy_addrs.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734FA03F1B65A01120114 /* copy_addrs.c */; };
+               A1AB1F0E05DDC47800526345 /* copy_athctr.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734FB03F1B65A01120114 /* copy_athctr.c */; };
+               A1AB1F0F05DDC47800526345 /* copy_auth.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734FC03F1B65A01120114 /* copy_auth.c */; };
+               A1AB1F1005DDC47800526345 /* copy_cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734FD03F1B65A01120114 /* copy_cksum.c */; };
+               A1AB1F1105DDC47800526345 /* copy_creds.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734FE03F1B65A01120114 /* copy_creds.c */; };
+               A1AB1F1205DDC47800526345 /* copy_data.c in Sources */ = {isa = PBXBuildFile; fileRef = F51734FF03F1B65A01120114 /* copy_data.c */; };
+               A1AB1F1305DDC47800526345 /* copy_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350003F1B65A01120114 /* copy_key.c */; };
+               A1AB1F1405DDC47800526345 /* copy_princ.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350103F1B65A01120114 /* copy_princ.c */; };
+               A1AB1F1505DDC47800526345 /* copy_tick.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350203F1B65A01120114 /* copy_tick.c */; };
+               A1AB1F1605DDC47800526345 /* cp_key_cnt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350303F1B65A01120114 /* cp_key_cnt.c */; };
+               A1AB1F1705DDC47800526345 /* decode_kdc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350403F1B65A01120114 /* decode_kdc.c */; };
+               A1AB1F1805DDC47800526345 /* decrypt_tk.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350503F1B65A01120114 /* decrypt_tk.c */; };
+               A1AB1F1905DDC47800526345 /* deltat.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350603F1B65A01120114 /* deltat.c */; };
+               A1AB1F1A05DDC47800526345 /* enc_helper.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350703F1B65A01120114 /* enc_helper.c */; };
+               A1AB1F1B05DDC47800526345 /* encode_kdc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350803F1B65A01120114 /* encode_kdc.c */; };
+               A1AB1F1C05DDC47800526345 /* encrypt_tk.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350903F1B65A01120114 /* encrypt_tk.c */; };
+               A1AB1F1D05DDC47800526345 /* free_rtree.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350A03F1B65A01120114 /* free_rtree.c */; };
+               A1AB1F1E05DDC47800526345 /* gc_frm_kdc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350C03F1B65A01120114 /* gc_frm_kdc.c */; };
+               A1AB1F1F05DDC47800526345 /* fwd_tgt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350B03F1B65A01120114 /* fwd_tgt.c */; };
+               A1AB1F2005DDC47800526345 /* gc_via_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350D03F1B65A01120114 /* gc_via_tkt.c */; };
+               A1AB1F2105DDC47800526345 /* gen_seqnum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350E03F1B65A01120114 /* gen_seqnum.c */; };
+               A1AB1F2205DDC47800526345 /* gen_subkey.c in Sources */ = {isa = PBXBuildFile; fileRef = F517350F03F1B65A01120114 /* gen_subkey.c */; };
+               A1AB1F2305DDC47800526345 /* get_creds.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351003F1B65A01120114 /* get_creds.c */; };
+               A1AB1F2405DDC47800526345 /* get_in_tkt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351103F1B65A01120114 /* get_in_tkt.c */; };
+               A1AB1F2505DDC47800526345 /* gic_keytab.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351203F1B65A01120114 /* gic_keytab.c */; };
+               A1AB1F2605DDC47800526345 /* gic_opt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351303F1B65A01120114 /* gic_opt.c */; };
+               A1AB1F2705DDC47800526345 /* gic_pwd.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351403F1B65A01120114 /* gic_pwd.c */; };
+               A1AB1F2805DDC47800526345 /* in_tkt_sky.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351703F1B65A01120114 /* in_tkt_sky.c */; };
+               A1AB1F2905DDC47800526345 /* init_ctx.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351803F1B65A01120114 /* init_ctx.c */; };
+               A1AB1F2A05DDC47800526345 /* init_keyblock.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351903F1B65A01120114 /* init_keyblock.c */; };
+               A1AB1F2B05DDC47800526345 /* kdc_rep_dc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351B03F1B65A01120114 /* kdc_rep_dc.c */; };
+               A1AB1F2C05DDC47800526345 /* kfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351C03F1B65A01120114 /* kfree.c */; };
+               A1AB1F2D05DDC47800526345 /* mk_cred.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351E03F1B65A01120114 /* mk_cred.c */; };
+               A1AB1F2E05DDC47800526345 /* mk_error.c in Sources */ = {isa = PBXBuildFile; fileRef = F517351F03F1B65A01120114 /* mk_error.c */; };
+               A1AB1F2F05DDC47800526345 /* mk_priv.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352003F1B65A01120114 /* mk_priv.c */; };
+               A1AB1F3005DDC47800526345 /* mk_rep.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352103F1B65A01120114 /* mk_rep.c */; };
+               A1AB1F3105DDC47800526345 /* mk_req.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352203F1B65A01120114 /* mk_req.c */; };
+               A1AB1F3205DDC47800526345 /* mk_req_ext.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352303F1B65A01120114 /* mk_req_ext.c */; };
+               A1AB1F3305DDC47800526345 /* mk_safe.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352403F1B65A01120114 /* mk_safe.c */; };
+               A1AB1F3405DDC47800526345 /* parse.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352503F1B65A01120114 /* parse.c */; };
+               A1AB1F3505DDC47800526345 /* pr_to_salt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352603F1B65A01120114 /* pr_to_salt.c */; };
+               A1AB1F3605DDC47800526345 /* preauth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352703F1B65A01120114 /* preauth.c */; };
+               A1AB1F3705DDC47800526345 /* preauth2.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352803F1B65A01120114 /* preauth2.c */; };
+               A1AB1F3805DDC47800526345 /* princ_comp.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352903F1B65A01120114 /* princ_comp.c */; };
+               A1AB1F3905DDC47800526345 /* rd_cred.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352A03F1B65A01120114 /* rd_cred.c */; };
+               A1AB1F3A05DDC47800526345 /* rd_error.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352B03F1B65A01120114 /* rd_error.c */; };
+               A1AB1F3B05DDC47800526345 /* rd_priv.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352C03F1B65A01120114 /* rd_priv.c */; };
+               A1AB1F3C05DDC47800526345 /* rd_rep.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352D03F1B65A01120114 /* rd_rep.c */; };
+               A1AB1F3D05DDC47800526345 /* rd_req.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352E03F1B65A01120114 /* rd_req.c */; };
+               A1AB1F3E05DDC47800526345 /* rd_req_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = F517352F03F1B65A01120114 /* rd_req_dec.c */; };
+               A1AB1F3F05DDC47800526345 /* rd_safe.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353003F1B65A01120114 /* rd_safe.c */; };
+               A1AB1F4005DDC47800526345 /* recvauth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353103F1B65A01120114 /* recvauth.c */; };
+               A1AB1F4105DDC47800526345 /* send_tgs.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353203F1B65A01120114 /* send_tgs.c */; };
+               A1AB1F4205DDC47800526345 /* sendauth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353303F1B65A01120114 /* sendauth.c */; };
+               A1AB1F4305DDC47800526345 /* ser_actx.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353403F1B65A01120114 /* ser_actx.c */; };
+               A1AB1F4405DDC47800526345 /* ser_adata.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353503F1B65A01120114 /* ser_adata.c */; };
+               A1AB1F4505DDC47800526345 /* ser_addr.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353603F1B65A01120114 /* ser_addr.c */; };
+               A1AB1F4605DDC47800526345 /* ser_auth.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353703F1B65A01120114 /* ser_auth.c */; };
+               A1AB1F4705DDC47800526345 /* ser_cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353803F1B65A01120114 /* ser_cksum.c */; };
+               A1AB1F4805DDC47800526345 /* ser_ctx.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353903F1B65A01120114 /* ser_ctx.c */; };
+               A1AB1F4905DDC47800526345 /* ser_eblk.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353A03F1B65A01120114 /* ser_eblk.c */; };
+               A1AB1F4A05DDC47800526345 /* ser_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353B03F1B65A01120114 /* ser_key.c */; };
+               A1AB1F4B05DDC47800526345 /* ser_princ.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353C03F1B65A01120114 /* ser_princ.c */; };
+               A1AB1F4C05DDC47800526345 /* serialize.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353D03F1B65A01120114 /* serialize.c */; };
+               A1AB1F4D05DDC47800526345 /* set_realm.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353E03F1B65A01120114 /* set_realm.c */; };
+               A1AB1F4E05DDC47800526345 /* srv_rcache.c in Sources */ = {isa = PBXBuildFile; fileRef = F517353F03F1B65A01120114 /* srv_rcache.c */; };
+               A1AB1F4F05DDC47800526345 /* str_conv.c in Sources */ = {isa = PBXBuildFile; fileRef = F517354003F1B65A01120114 /* str_conv.c */; };
+               A1AB1F5005DDC47800526345 /* tgtname.c in Sources */ = {isa = PBXBuildFile; fileRef = F517354A03F1B65A01120114 /* tgtname.c */; };
+               A1AB1F5105DDC47800526345 /* unparse.c in Sources */ = {isa = PBXBuildFile; fileRef = F517354C03F1B65A01120114 /* unparse.c */; };
+               A1AB1F5205DDC47800526345 /* valid_times.c in Sources */ = {isa = PBXBuildFile; fileRef = F517354D03F1B65A01120114 /* valid_times.c */; };
+               A1AB1F5305DDC47800526345 /* vfy_increds.c in Sources */ = {isa = PBXBuildFile; fileRef = F517354E03F1B65A01120114 /* vfy_increds.c */; };
+               A1AB1F5405DDC47800526345 /* vic_opt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517354F03F1B65A01120114 /* vic_opt.c */; };
+               A1AB1F5505DDC47800526345 /* walk_rtree.c in Sources */ = {isa = PBXBuildFile; fileRef = F517355003F1B65A01120114 /* walk_rtree.c */; };
+               A1AB1F5705DDC47800526345 /* rc_base.c in Sources */ = {isa = PBXBuildFile; fileRef = F51735A003F1B65A01120114 /* rc_base.c */; };
+               A1AB1F5805DDC47800526345 /* rc_conv.c in Sources */ = {isa = PBXBuildFile; fileRef = F51735A203F1B65A01120114 /* rc_conv.c */; };
+               A1AB1F5905DDC47800526345 /* rc_dfl.c in Sources */ = {isa = PBXBuildFile; fileRef = F51735A303F1B65A01120114 /* rc_dfl.c */; };
+               A1AB1F5A05DDC47800526345 /* rc_io.c in Sources */ = {isa = PBXBuildFile; fileRef = F51735A503F1B65A01120114 /* rc_io.c */; };
+               A1AB1F5B05DDC47800526345 /* rcdef.c in Sources */ = {isa = PBXBuildFile; fileRef = F51735A703F1B65A01120114 /* rcdef.c */; };
+               A1AB1F5C05DDC47800526345 /* rcfns.c in Sources */ = {isa = PBXBuildFile; fileRef = F51735A803F1B65A01120114 /* rcfns.c */; };
+               A1AB1F5D05DDC47800526345 /* ser_rc.c in Sources */ = {isa = PBXBuildFile; fileRef = F51735AB03F1B65A01120114 /* ser_rc.c */; };
+               A1AB1F5E05DDC47800526345 /* block_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F517325103F1B65901120114 /* block_size.c */; };
+               A1AB1F5F05DDC47800526345 /* checksum_length.c in Sources */ = {isa = PBXBuildFile; fileRef = F517325303F1B65901120114 /* checksum_length.c */; };
+               A1AB1F6005DDC47800526345 /* cksumtype_to_string.c in Sources */ = {isa = PBXBuildFile; fileRef = F517325403F1B65901120114 /* cksumtype_to_string.c */; };
+               A1AB1F6105DDC47800526345 /* cksumtypes.c in Sources */ = {isa = PBXBuildFile; fileRef = F517325503F1B65901120114 /* cksumtypes.c */; };
+               A1AB1F6205DDC47800526345 /* coll_proof_cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517325703F1B65901120114 /* coll_proof_cksum.c */; };
+               A1AB1F6305DDC47800526345 /* combine_keys.c in Sources */ = {isa = PBXBuildFile; fileRef = F517325803F1B65901120114 /* combine_keys.c */; };
+               A1AB1F6405DDC47800526345 /* crypto_libinit.c in Sources */ = {isa = PBXBuildFile; fileRef = F517326503F1B65901120114 /* crypto_libinit.c */; };
+               A1AB1F6505DDC47800526345 /* decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517326703F1B65901120114 /* decrypt.c */; };
+               A1AB1F6605DDC47800526345 /* default_state.c in Sources */ = {isa = PBXBuildFile; fileRef = F517326803F1B65901120114 /* default_state.c */; };
+               A1AB1F6705DDC47800526345 /* encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329403F1B65901120114 /* encrypt.c */; };
+               A1AB1F6805DDC47800526345 /* encrypt_length.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329503F1B65901120114 /* encrypt_length.c */; };
+               A1AB1F6905DDC47800526345 /* enctype_compare.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329603F1B65901120114 /* enctype_compare.c */; };
+               A1AB1F6A05DDC47800526345 /* enctype_to_string.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329703F1B65901120114 /* enctype_to_string.c */; };
+               A1AB1F6B05DDC47800526345 /* etypes.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329803F1B65901120114 /* etypes.c */; };
+               A1AB1F6C05DDC47800526345 /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732A203F1B65901120114 /* hmac.c */; };
+               A1AB1F6D05DDC47800526345 /* keyed_checksum_types.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732A403F1B65901120114 /* keyed_checksum_types.c */; };
+               A1AB1F6E05DDC47800526345 /* keyed_cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732A503F1B65901120114 /* keyed_cksum.c */; };
+               A1AB1F6F05DDC47800526345 /* make_checksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732B003F1B65901120114 /* make_checksum.c */; };
+               A1AB1F7005DDC47800526345 /* make_random_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732B103F1B65901120114 /* make_random_key.c */; };
+               A1AB1F7105DDC47800526345 /* nfold.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732C503F1B65901120114 /* nfold.c */; };
+               A1AB1F7205DDC47800526345 /* old_api_glue.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732CD03F1B65901120114 /* old_api_glue.c */; };
+               A1AB1F7305DDC47800526345 /* pbkdf2.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732CF03F1B65901120114 /* pbkdf2.c */; };
+               A1AB1F7405DDC47800526345 /* prng.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732D003F1B65901120114 /* prng.c */; };
+               A1AB1F7505DDC47800526345 /* state.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732E103F1B65901120114 /* state.c */; };
+               A1AB1F7605DDC47800526345 /* string_to_cksumtype.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732E203F1B65901120114 /* string_to_cksumtype.c */; };
+               A1AB1F7705DDC47800526345 /* string_to_enctype.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732E303F1B65901120114 /* string_to_enctype.c */; };
+               A1AB1F7805DDC47800526345 /* string_to_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732E403F1B65901120114 /* string_to_key.c */; };
+               A1AB1F7905DDC47800526345 /* valid_cksumtype.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732F103F1B65901120114 /* valid_cksumtype.c */; };
+               A1AB1F7A05DDC47800526345 /* valid_enctype.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732F203F1B65901120114 /* valid_enctype.c */; };
+               A1AB1F7B05DDC47800526345 /* verify_checksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732F403F1B65901120114 /* verify_checksum.c */; };
+               A1AB1F7C05DDC47800526345 /* aescrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517323103F1B65901120114 /* aescrypt.c */; };
+               A1AB1F7D05DDC47800526345 /* aeskey.c in Sources */ = {isa = PBXBuildFile; fileRef = F517323203F1B65901120114 /* aeskey.c */; };
+               A1AB1F7E05DDC47800526345 /* aestab.c in Sources */ = {isa = PBXBuildFile; fileRef = F517323603F1B65901120114 /* aestab.c */; };
+               A1AB1F7F05DDC47800526345 /* arcfour.c in Sources */ = {isa = PBXBuildFile; fileRef = F517324C03F1B65901120114 /* arcfour.c */; };
+               A1AB1F8005DDC47800526345 /* string_to_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517325003F1B65901120114 /* string_to_key.c */; };
+               A1AB1F8105DDC47800526345 /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = F517326103F1B65901120114 /* crc32.c */; };
+               A1AB1F8205DDC47800526345 /* afsstring2key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517326C03F1B65901120114 /* afsstring2key.c */; };
+               A1AB1F8305DDC47800526345 /* d3_cbc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517326E03F1B65901120114 /* d3_cbc.c */; };
+               A1AB1F8405DDC47800526345 /* d3_kysched.c in Sources */ = {isa = PBXBuildFile; fileRef = F517326F03F1B65901120114 /* d3_kysched.c */; };
+               A1AB1F8505DDC47800526345 /* f_cbc.c in Sources */ = {isa = PBXBuildFile; fileRef = F517327503F1B65901120114 /* f_cbc.c */; };
+               A1AB1F8605DDC47800526345 /* f_cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517327603F1B65901120114 /* f_cksum.c */; };
+               A1AB1F8705DDC47800526345 /* f_parity.c in Sources */ = {isa = PBXBuildFile; fileRef = F517327703F1B65901120114 /* f_parity.c */; };
+               A1AB1F8805DDC47800526345 /* f_sched.c in Sources */ = {isa = PBXBuildFile; fileRef = F517327803F1B65901120114 /* f_sched.c */; };
+               A1AB1F8905DDC47800526345 /* f_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = F517327903F1B65901120114 /* f_tables.c */; };
+               A1AB1F8A05DDC47800526345 /* key_sched.c in Sources */ = {isa = PBXBuildFile; fileRef = F517327C03F1B65901120114 /* key_sched.c */; };
+               A1AB1F8B05DDC47800526345 /* string2key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517327F03F1B65901120114 /* string2key.c */; };
+               A1AB1F8C05DDC47800526345 /* weak_key.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328203F1B65901120114 /* weak_key.c */; };
+               A1AB1F8D05DDC47800526345 /* checksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328503F1B65901120114 /* checksum.c */; };
+               A1AB1F8E05DDC47800526345 /* derive.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328603F1B65901120114 /* derive.c */; };
+               A1AB1F8F05DDC47800526345 /* dk_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328803F1B65901120114 /* dk_decrypt.c */; };
+               A1AB1F9005DDC47800526345 /* dk_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328903F1B65901120114 /* dk_encrypt.c */; };
+               A1AB1F9105DDC47800526345 /* stringtokey.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328B03F1B65901120114 /* stringtokey.c */; };
+               A1AB1F9205DDC47800526345 /* des.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329003F1B65901120114 /* des.c */; };
+               A1AB1F9305DDC47800526345 /* des3.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329103F1B65901120114 /* des3.c */; };
+               A1AB1F9405DDC47800526345 /* arcfour.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328E03F1B65901120114 /* arcfour.c */; };
+               A1AB1F9505DDC47800526345 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = F517328D03F1B65901120114 /* aes.c */; };
+               A1AB1F9605DDC47800526345 /* hash_crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329C03F1B65901120114 /* hash_crc32.c */; };
+               A1AB1F9705DDC47800526345 /* hash_md4.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329D03F1B65901120114 /* hash_md4.c */; };
+               A1AB1F9805DDC47800526345 /* hash_md5.c in Sources */ = {isa = PBXBuildFile; fileRef = F517329E03F1B65901120114 /* hash_md5.c */; };
+               A1AB1F9905DDC47800526345 /* hash_sha1.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732A003F1B65901120114 /* hash_sha1.c */; };
+               A1AB1F9A05DDC47800526345 /* descbc.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732A903F1B65901120114 /* descbc.c */; };
+               A1AB1F9B05DDC47800526345 /* hmac_md5.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732AA03F1B65901120114 /* hmac_md5.c */; };
+               A1AB1F9C05DDC47800526345 /* k5_md4des.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732AB03F1B65901120114 /* k5_md4des.c */; };
+               A1AB1F9D05DDC47800526345 /* k5_md5des.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732AC03F1B65901120114 /* k5_md5des.c */; };
+               A1AB1F9E05DDC47800526345 /* md4.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732B903F1B65901120114 /* md4.c */; };
+               A1AB1F9F05DDC47800526345 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732C103F1B65901120114 /* md5.c */; };
+               A1AB1FA005DDC47800526345 /* old_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732CB03F1B65901120114 /* old_decrypt.c */; };
+               A1AB1FA105DDC47800526345 /* old_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732CC03F1B65901120114 /* old_encrypt.c */; };
+               A1AB1FA205DDC47800526345 /* des_stringtokey.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732C803F1B65901120114 /* des_stringtokey.c */; };
+               A1AB1FA305DDC47800526345 /* raw_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732D503F1B65901120114 /* raw_decrypt.c */; };
+               A1AB1FA405DDC47800526345 /* raw_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732D603F1B65901120114 /* raw_encrypt.c */; };
+               A1AB1FA505DDC47800526345 /* shs.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732DD03F1B65901120114 /* shs.c */; };
+               A1AB1FA605DDC47800526345 /* yarrow.c in Sources */ = {isa = PBXBuildFile; fileRef = F51732FC03F1B65901120114 /* yarrow.c */; };
+               A1AB1FA705DDC47800526345 /* ycipher.c in Sources */ = {isa = PBXBuildFile; fileRef = F517330003F1B65901120114 /* ycipher.c */; };
+               A1AB1FA805DDC47800526345 /* aes_s2k.c in Sources */ = {isa = PBXBuildFile; fileRef = A1B21F170417D6BC00120114 /* aes_s2k.c */; };
+               A1AB1FA905DDC47800526345 /* conv_creds.c in Sources */ = {isa = PBXBuildFile; fileRef = A16DA36604854EF700120112 /* conv_creds.c */; };
+               A1AB1FAA05DDC47800526345 /* v4lifetime.c in Sources */ = {isa = PBXBuildFile; fileRef = A16DA36704854EF700120112 /* v4lifetime.c */; };
+               A1AB1FAB05DDC47800526345 /* send524.c in Sources */ = {isa = PBXBuildFile; fileRef = A16DB01304868A7E00120112 /* send524.c */; };
+               A1AB1FAC05DDC47800526345 /* mandatory_sumtype.c in Sources */ = {isa = PBXBuildFile; fileRef = A125399205CF12A2003BD89B /* mandatory_sumtype.c */; };
+               A1AB1FAD05DDC47800526345 /* dnssrv.c in Sources */ = {isa = PBXBuildFile; fileRef = A12539AD05CF12D5003BD89B /* dnssrv.c */; };
+               A1AB1FC305DDC48A00526345 /* gss_libinit.h in Headers */ = {isa = PBXBuildFile; fileRef = F517334303F1B65901120114 /* gss_libinit.h */; };
+               A1AB1FC405DDC48A00526345 /* gssapiP_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = F517333403F1B65901120114 /* gssapiP_generic.h */; };
+               A1AB1FC505DDC48A00526345 /* gssapiP_krb5.h in Headers */ = {isa = PBXBuildFile; fileRef = F517335A03F1B65901120114 /* gssapiP_krb5.h */; };
+               A1AB1FC605DDC48A00526345 /* autoconf.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E2662D03F443E901120114 /* autoconf.h */; };
+               A1AB1FC705DDC48A00526345 /* osconf.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E2662F03F443E901120114 /* osconf.h */; };
+               A1AB1FC905DDC48A00526345 /* gss_libinit.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334203F1B65901120114 /* gss_libinit.c */; };
+               A1AB1FCA05DDC48A00526345 /* disp_com_err_status.c in Sources */ = {isa = PBXBuildFile; fileRef = F517332E03F1B65901120114 /* disp_com_err_status.c */; };
+               A1AB1FCB05DDC48A00526345 /* disp_major_status.c in Sources */ = {isa = PBXBuildFile; fileRef = F517332F03F1B65901120114 /* disp_major_status.c */; };
+               A1AB1FCC05DDC48A00526345 /* gssapi_generic.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333203F1B65901120114 /* gssapi_generic.c */; };
+               A1AB1FCD05DDC48A00526345 /* oid_ops.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333603F1B65901120114 /* oid_ops.c */; };
+               A1AB1FCE05DDC48A00526345 /* rel_buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333703F1B65901120114 /* rel_buffer.c */; };
+               A1AB1FCF05DDC48A00526345 /* rel_oid_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333803F1B65901120114 /* rel_oid_set.c */; };
+               A1AB1FD005DDC48A00526345 /* util_buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333903F1B65901120114 /* util_buffer.c */; };
+               A1AB1FD105DDC48A00526345 /* util_oid.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333C03F1B65901120114 /* util_oid.c */; };
+               A1AB1FD205DDC48A00526345 /* util_ordering.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333D03F1B65901120114 /* util_ordering.c */; };
+               A1AB1FD305DDC48A00526345 /* util_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333E03F1B65901120114 /* util_set.c */; };
+               A1AB1FD405DDC48A00526345 /* util_token.c in Sources */ = {isa = PBXBuildFile; fileRef = F517333F03F1B65901120114 /* util_token.c */; };
+               A1AB1FD505DDC48A00526345 /* util_validate.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334003F1B65901120114 /* util_validate.c */; };
+               A1AB1FD605DDC48A00526345 /* accept_sec_context.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334803F1B65901120114 /* accept_sec_context.c */; };
+               A1AB1FD705DDC48A00526345 /* acquire_cred.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334903F1B65901120114 /* acquire_cred.c */; };
+               A1AB1FD805DDC48A00526345 /* add_cred.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334A03F1B65901120114 /* add_cred.c */; };
+               A1AB1FD905DDC48A00526345 /* canon_name.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334B03F1B65901120114 /* canon_name.c */; };
+               A1AB1FDA05DDC48A00526345 /* compare_name.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334D03F1B65901120114 /* compare_name.c */; };
+               A1AB1FDB05DDC48A00526345 /* context_time.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334E03F1B65901120114 /* context_time.c */; };
+               A1AB1FDC05DDC48A00526345 /* copy_ccache.c in Sources */ = {isa = PBXBuildFile; fileRef = F517334F03F1B65901120114 /* copy_ccache.c */; };
+               A1AB1FDD05DDC48A00526345 /* delete_sec_context.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335003F1B65901120114 /* delete_sec_context.c */; };
+               A1AB1FDE05DDC48A00526345 /* disp_name.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335103F1B65901120114 /* disp_name.c */; };
+               A1AB1FDF05DDC48A00526345 /* disp_status.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335203F1B65901120114 /* disp_status.c */; };
+               A1AB1FE005DDC48A00526345 /* duplicate_name.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335303F1B65901120114 /* duplicate_name.c */; };
+               A1AB1FE105DDC48A00526345 /* export_name.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335403F1B65901120114 /* export_name.c */; };
+               A1AB1FE205DDC48A00526345 /* export_sec_context.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335503F1B65901120114 /* export_sec_context.c */; };
+               A1AB1FE305DDC48A00526345 /* get_tkt_flags.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335603F1B65901120114 /* get_tkt_flags.c */; };
+               A1AB1FE405DDC48A00526345 /* gssapi_krb5.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335803F1B65901120114 /* gssapi_krb5.c */; };
+               A1AB1FE505DDC48A00526345 /* import_name.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335B03F1B65901120114 /* import_name.c */; };
+               A1AB1FE605DDC48A00526345 /* indicate_mechs.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335D03F1B65901120114 /* indicate_mechs.c */; };
+               A1AB1FE705DDC48A00526345 /* import_sec_context.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335C03F1B65901120114 /* import_sec_context.c */; };
+               A1AB1FE805DDC48A00526345 /* init_sec_context.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335E03F1B65901120114 /* init_sec_context.c */; };
+               A1AB1FE905DDC48A00526345 /* inq_context.c in Sources */ = {isa = PBXBuildFile; fileRef = F517335F03F1B65901120114 /* inq_context.c */; };
+               A1AB1FEA05DDC48A00526345 /* inq_cred.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336003F1B65901120114 /* inq_cred.c */; };
+               A1AB1FEB05DDC48A00526345 /* inq_names.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336103F1B65901120114 /* inq_names.c */; };
+               A1AB1FEC05DDC48A00526345 /* k5seal.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336203F1B65901120114 /* k5seal.c */; };
+               A1AB1FED05DDC48A00526345 /* k5unseal.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336303F1B65901120114 /* k5unseal.c */; };
+               A1AB1FEE05DDC48A00526345 /* krb5_gss_glue.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336403F1B65901120114 /* krb5_gss_glue.c */; };
+               A1AB1FEF05DDC48A00526345 /* process_context_token.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336603F1B65901120114 /* process_context_token.c */; };
+               A1AB1FF005DDC48A00526345 /* rel_cred.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336703F1B65901120114 /* rel_cred.c */; };
+               A1AB1FF105DDC48A00526345 /* rel_oid.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336903F1B65901120114 /* rel_oid.c */; };
+               A1AB1FF205DDC48A00526345 /* seal.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336A03F1B65901120114 /* seal.c */; };
+               A1AB1FF305DDC48A00526345 /* ser_sctx.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336B03F1B65901120114 /* ser_sctx.c */; };
+               A1AB1FF405DDC48A00526345 /* set_ccache.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336C03F1B65901120114 /* set_ccache.c */; };
+               A1AB1FF505DDC48A00526345 /* sign.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336D03F1B65901120114 /* sign.c */; };
+               A1AB1FF605DDC48A00526345 /* unseal.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336E03F1B65901120114 /* unseal.c */; };
+               A1AB1FF705DDC48A00526345 /* util_cksum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336F03F1B65901120114 /* util_cksum.c */; };
+               A1AB1FF805DDC48A00526345 /* rel_name.c in Sources */ = {isa = PBXBuildFile; fileRef = F517336803F1B65901120114 /* rel_name.c */; };
+               A1AB1FF905DDC48A00526345 /* util_crypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F517337003F1B65901120114 /* util_crypt.c */; };
+               A1AB1FFA05DDC48A00526345 /* util_seed.c in Sources */ = {isa = PBXBuildFile; fileRef = F517337103F1B65901120114 /* util_seed.c */; };
+               A1AB1FFB05DDC48A00526345 /* val_cred.c in Sources */ = {isa = PBXBuildFile; fileRef = F517337303F1B65901120114 /* val_cred.c */; };
+               A1AB1FFC05DDC48A00526345 /* util_seqnum.c in Sources */ = {isa = PBXBuildFile; fileRef = F517337203F1B65901120114 /* util_seqnum.c */; };
+               A1AB1FFD05DDC48A00526345 /* verify.c in Sources */ = {isa = PBXBuildFile; fileRef = F517337403F1B65901120114 /* verify.c */; };
+               A1AB1FFE05DDC48A00526345 /* wrap_size_limit.c in Sources */ = {isa = PBXBuildFile; fileRef = F517337503F1B65901120114 /* wrap_size_limit.c */; };
+               A1AB1FFF05DDC48A00526345 /* k5sealv3.c in Sources */ = {isa = PBXBuildFile; fileRef = A125397605CF124D003BD89B /* k5sealv3.c */; };
+               A1B70868087357B600F0C55D /* kadmin in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7084C0873577700F0C55D /* kadmin */; };
+               A1B70869087357B600F0C55D /* kadmin.local in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7084D0873577700F0C55D /* kadmin.local */; };
+               A1B7086A087357B600F0C55D /* kadmind in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7084E0873577700F0C55D /* kadmind */; };
+               A1B7086B087357B600F0C55D /* kdb5_util in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7084F0873577700F0C55D /* kdb5_util */; };
+               A1B7086C087357B600F0C55D /* kprop in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708510873577700F0C55D /* kprop */; };
+               A1B7086D087357B600F0C55D /* kpropd in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708520873577700F0C55D /* kpropd */; };
+               A1B7086E087357B600F0C55D /* krb524d in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708540873577700F0C55D /* krb524d */; };
+               A1B7086F087357B600F0C55D /* krb5kdc in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708550873577700F0C55D /* krb5kdc */; };
+               A1B70870087357B600F0C55D /* ktutil in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708570873577700F0C55D /* ktutil */; };
+               A1B70875087357ED00F0C55D /* krb5-config in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B707EA0873577700F0C55D /* krb5-config */; };
+               A1B7087B087358B700F0C55D /* krb5-config.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708280873577700F0C55D /* krb5-config.1 */; };
+               A1B7087E087358F600F0C55D /* kdc.conf.5 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708350873577700F0C55D /* kdc.conf.5 */; };
+               A1B7087F087358FA00F0C55D /* krb5.conf.5 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708360873577700F0C55D /* krb5.conf.5 */; };
+               A1B708820873594900F0C55D /* kadmin.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7083A0873577700F0C55D /* kadmin.8 */; };
+               A1B708830873594900F0C55D /* kadmin.local.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7083B0873577700F0C55D /* kadmin.local.8 */; };
+               A1B708840873594900F0C55D /* kadmind.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7083C0873577700F0C55D /* kadmind.8 */; };
+               A1B708850873594900F0C55D /* kdb5_util.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7083D0873577700F0C55D /* kdb5_util.8 */; };
+               A1B708860873594900F0C55D /* kprop.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B7083F0873577700F0C55D /* kprop.8 */; };
+               A1B708870873594900F0C55D /* kpropd.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708400873577700F0C55D /* kpropd.8 */; };
+               A1B708880873594900F0C55D /* krb524d.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708410873577700F0C55D /* krb524d.8 */; };
+               A1B708890873594900F0C55D /* krb5kdc.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708420873577700F0C55D /* krb5kdc.8 */; };
+               A1B7088A0873594900F0C55D /* ktutil.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1B708440873577700F0C55D /* ktutil.8 */; };
+               A1CA43BD06E3D0D400F35E9C /* pkinit_apple_asn1.c in Sources */ = {isa = PBXBuildFile; fileRef = A1CA43B806E3D0D400F35E9C /* pkinit_apple_asn1.c */; };
+               A1CA43BE06E3D0D400F35E9C /* pkinit_apple_cert_store.c in Sources */ = {isa = PBXBuildFile; fileRef = A1CA43B906E3D0D400F35E9C /* pkinit_apple_cert_store.c */; };
+               A1CA43BF06E3D0D400F35E9C /* pkinit_apple_client.c in Sources */ = {isa = PBXBuildFile; fileRef = A1CA43BA06E3D0D400F35E9C /* pkinit_apple_client.c */; };
+               A1CA43C006E3D0D400F35E9C /* pkinit_apple_cms.c in Sources */ = {isa = PBXBuildFile; fileRef = A1CA43BB06E3D0D400F35E9C /* pkinit_apple_cms.c */; };
+               A1CA43C106E3D0D400F35E9C /* pkinit_apple_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = A1CA43BC06E3D0D400F35E9C /* pkinit_apple_utils.c */; };
+               A1D256F206A713A600A9EC13 /* threads.c in Sources */ = {isa = PBXBuildFile; fileRef = A1D256F106A713A600A9EC13 /* threads.c */; };
+               A1D62985070C878B0015C908 /* patchlevel.h in Headers */ = {isa = PBXBuildFile; fileRef = A1D62984070C878B0015C908 /* patchlevel.h */; };
+               A1D62991070C8AD70015C908 /* dnsglue.c in Sources */ = {isa = PBXBuildFile; fileRef = A1D6298F070C8AD70015C908 /* dnsglue.c */; };
+               A1D62992070C8AD70015C908 /* dnsglue.h in Headers */ = {isa = PBXBuildFile; fileRef = A1D62990070C8AD70015C908 /* dnsglue.h */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXBuildStyle section */
+               F5CFD370022D854401120112 /* Development */ = {
+                       isa = PBXBuildStyle;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               ZERO_LINK = YES;
+                       };
+                       name = Development;
                };
-               A12536B9040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
+               F5CFD371022D854401120112 /* Deployment */ = {
+                       isa = PBXBuildStyle;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               ZERO_LINK = NO;
+                       };
+                       name = Deployment;
                };
-               A12536BA040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.yacc;
-                       path = getdate.y;
-                       refType = 4;
-                       sourceTree = "<group>";
+/* End PBXBuildStyle section */
+
+/* Begin PBXContainerItemProxy section */
+               A159A2D3088C5F5A004325D0 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = A1B7078B08731F4900F0C55D;
+                       remoteInfo = "Autogenerated Headers";
                };
-               A12536BB040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = k5srvutil.M;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A159A309088D75A5004325D0 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = A1B7078B08731F4900F0C55D;
+                       remoteInfo = "Autogenerated Headers";
                };
-               A12536BC040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = k5srvutil.sh;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A159A30B088D75AD004325D0 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = A1B7078B08731F4900F0C55D;
+                       remoteInfo = "Autogenerated Headers";
                };
-               A12536BD040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadmin.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A181DA4405CEFC0400E4C246 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = F5CFD5CD022D86AD01120112;
+                       remoteInfo = KerberosProfile;
                };
-               A12536BE040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kadmin.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A181DA4505CEFC0400E4C246 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = F5E2686C03F8336601120114;
+                       remoteInfo = KerberosDES;
                };
-               A12536BF040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = kadmin.local.M;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A181DA4905CEFC0400E4C246 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = F5E2686C03F8336601120114;
+                       remoteInfo = KerberosDES;
                };
-               A12536C0040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = kadmin.M;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B08C20087F25650063079F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = A1B08BF7087F22550063079F;
+                       remoteInfo = "Error Tables";
                };
-               A12536C1040BEC05003D8244 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kadmin_ct.ct;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7078608731F2C00F0C55D /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = A1B707610873129400F0C55D;
+                       remoteInfo = Configure;
                };
-               A12536C2040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = keytab.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7078C08731F5100F0C55D /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = F5CFD36E022D854401120112 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = A1B707610873129400F0C55D;
+                       remoteInfo = Configure;
+               };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+               A1B707DE0873574900F0C55D /* CopyFiles */ = {
+                       isa = PBXCopyFilesBuildPhase;
+                       buildActionMask = 8;
+                       comments = /usr/sbin;
+                       dstPath = /usr/sbin;
+                       dstSubfolderSpec = 0;
+                       files = (
+                               A1B70868087357B600F0C55D /* kadmin in CopyFiles */,
+                               A1B70869087357B600F0C55D /* kadmin.local in CopyFiles */,
+                               A1B7086A087357B600F0C55D /* kadmind in CopyFiles */,
+                               A1B7086B087357B600F0C55D /* kdb5_util in CopyFiles */,
+                               A1B7086C087357B600F0C55D /* kprop in CopyFiles */,
+                               A1B7086D087357B600F0C55D /* kpropd in CopyFiles */,
+                               A1B7086E087357B600F0C55D /* krb524d in CopyFiles */,
+                               A1B7086F087357B600F0C55D /* krb5kdc in CopyFiles */,
+                               A1B70870087357B600F0C55D /* ktutil in CopyFiles */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 1;
+               };
+               A1B70873087357D200F0C55D /* CopyFiles */ = {
+                       isa = PBXCopyFilesBuildPhase;
+                       buildActionMask = 8;
+                       comments = /usr/bin;
+                       dstPath = /usr/bin;
+                       dstSubfolderSpec = 0;
+                       files = (
+                               A1B70875087357ED00F0C55D /* krb5-config in CopyFiles */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 1;
                };
-               A12536C3040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B708780873586A00F0C55D /* CopyFiles */ = {
+                       isa = PBXCopyFilesBuildPhase;
+                       buildActionMask = 8;
+                       comments = /usr/share/man/man1;
+                       dstPath = /usr/share/man/man1;
+                       dstSubfolderSpec = 0;
+                       files = (
+                               A159A3C3088ED301004325D0 /* kerberos.1 in CopyFiles */,
+                               A1B7087B087358B700F0C55D /* krb5-config.1 in CopyFiles */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 1;
                };
-               A12536C4040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = memmove.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7087C087358C400F0C55D /* CopyFiles */ = {
+                       isa = PBXCopyFilesBuildPhase;
+                       buildActionMask = 8;
+                       comments = /usr/share/man/man5;
+                       dstPath = /usr/share/man/man5;
+                       dstSubfolderSpec = 0;
+                       files = (
+                               A1B7087E087358F600F0C55D /* kdc.conf.5 in CopyFiles */,
+                               A1B7087F087358FA00F0C55D /* krb5.conf.5 in CopyFiles */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 1;
                };
-               A12536C5040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ss_wrapper.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B708800873590600F0C55D /* CopyFiles */ = {
+                       isa = PBXCopyFilesBuildPhase;
+                       buildActionMask = 8;
+                       comments = /usr/share/man/man8;
+                       dstPath = /usr/share/man/man8;
+                       dstSubfolderSpec = 0;
+                       files = (
+                               A1B708820873594900F0C55D /* kadmin.8 in CopyFiles */,
+                               A1B708830873594900F0C55D /* kadmin.local.8 in CopyFiles */,
+                               A1B708840873594900F0C55D /* kadmind.8 in CopyFiles */,
+                               A1B708850873594900F0C55D /* kdb5_util.8 in CopyFiles */,
+                               A1B708860873594900F0C55D /* kprop.8 in CopyFiles */,
+                               A1B708870873594900F0C55D /* kpropd.8 in CopyFiles */,
+                               A1B708880873594900F0C55D /* krb524d.8 in CopyFiles */,
+                               A1B708890873594900F0C55D /* krb5kdc.8 in CopyFiles */,
+                               A1B7088A0873594900F0C55D /* ktutil.8 in CopyFiles */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 1;
+               };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+               A12536B5040BEC05003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A12536B7040BEC05003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A12536B9040BEC05003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A12536BA040BEC05003D8244 /* getdate.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; path = getdate.y; sourceTree = "<group>"; };
+               A12536BB040BEC05003D8244 /* k5srvutil.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = k5srvutil.M; sourceTree = "<group>"; };
+               A12536BC040BEC05003D8244 /* k5srvutil.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = k5srvutil.sh; sourceTree = "<group>"; };
+               A12536BD040BEC05003D8244 /* kadmin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadmin.c; sourceTree = "<group>"; };
+               A12536BE040BEC05003D8244 /* kadmin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kadmin.h; sourceTree = "<group>"; };
+               A12536BF040BEC05003D8244 /* kadmin.local.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = kadmin.local.M; sourceTree = "<group>"; };
+               A12536C0040BEC05003D8244 /* kadmin.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = kadmin.M; sourceTree = "<group>"; };
+               A12536C1040BEC05003D8244 /* kadmin_ct.ct */ = {isa = PBXFileReference; lastKnownFileType = text; path = kadmin_ct.ct; sourceTree = "<group>"; };
+               A12536C2040BEC05003D8244 /* keytab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = keytab.c; sourceTree = "<group>"; };
+               A12536C3040BEC05003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A12536C4040BEC05003D8244 /* memmove.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = memmove.c; sourceTree = "<group>"; };
+               A12536C5040BEC05003D8244 /* ss_wrapper.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ss_wrapper.c; sourceTree = "<group>"; };
+               A12536C6040BEC05003D8244 /* strftime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strftime.c; sourceTree = "<group>"; };
+               A12536CA040BEC05003D8244 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               A12536CE040BEC05003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A12536CF040BEC05003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A12536D0040BEC05003D8244 /* dump.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dump.c; sourceTree = "<group>"; };
+               A12536D1040BEC05003D8244 /* dumpv4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dumpv4.c; sourceTree = "<group>"; };
+               A12536D2040BEC05003D8244 /* import_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = import_err.et; sourceTree = "<group>"; };
+               A12536D3040BEC05003D8244 /* kadm5_create.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm5_create.c; sourceTree = "<group>"; };
+               A12536D4040BEC05003D8244 /* kdb5_create.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kdb5_create.c; sourceTree = "<group>"; };
+               A12536D5040BEC05003D8244 /* kdb5_destroy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kdb5_destroy.c; sourceTree = "<group>"; };
+               A12536D6040BEC05003D8244 /* kdb5_edit.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = kdb5_edit.M; sourceTree = "<group>"; };
+               A12536D7040BEC05003D8244 /* kdb5_stash.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kdb5_stash.c; sourceTree = "<group>"; };
+               A12536D8040BEC05003D8244 /* kdb5_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kdb5_util.c; sourceTree = "<group>"; };
+               A12536D9040BEC05003D8244 /* kdb5_util.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kdb5_util.h; sourceTree = "<group>"; };
+               A12536DA040BEC05003D8244 /* kdb5_util.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = kdb5_util.M; sourceTree = "<group>"; };
+               A12536DB040BEC05003D8244 /* loadv4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = loadv4.c; sourceTree = "<group>"; };
+               A12536DC040BEC05003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A12536DD040BEC05003D8244 /* nstrtok.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = nstrtok.h; sourceTree = "<group>"; };
+               A12536DE040BEC05003D8244 /* ovload.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ovload.c; sourceTree = "<group>"; };
+               A12536DF040BEC05003D8244 /* string_table.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = string_table.c; sourceTree = "<group>"; };
+               A12536E0040BEC05003D8244 /* string_table.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = string_table.h; sourceTree = "<group>"; };
+               A12536E1040BEC05003D8244 /* strtok.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strtok.c; sourceTree = "<group>"; };
+               A12536E2040BEC05003D8244 /* tcl_wrapper.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tcl_wrapper.c; sourceTree = "<group>"; };
+               A12536E3040BEC05003D8244 /* util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util.c; sourceTree = "<group>"; };
+               A12536ED040BEC05003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A12536EE040BEC05003D8244 /* do-test.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = "do-test.pl"; sourceTree = "<group>"; };
+               A12536EF040BEC05003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A12536F6040BEC05003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A12536F7040BEC06003D8244 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               A12536F8040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A12536F9040BEC06003D8244 /* ktutil.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktutil.c; sourceTree = "<group>"; };
+               A12536FA040BEC06003D8244 /* ktutil.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ktutil.h; sourceTree = "<group>"; };
+               A12536FB040BEC06003D8244 /* ktutil.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = ktutil.M; sourceTree = "<group>"; };
+               A12536FC040BEC06003D8244 /* ktutil_ct.ct */ = {isa = PBXFileReference; lastKnownFileType = text; path = ktutil_ct.ct; sourceTree = "<group>"; };
+               A12536FD040BEC06003D8244 /* ktutil_funcs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktutil_funcs.c; sourceTree = "<group>"; };
+               A12536FE040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A12536FF040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1253701040BEC06003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1253702040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1253703040BEC06003D8244 /* kpasswd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kpasswd.c; sourceTree = "<group>"; };
+               A1253704040BEC06003D8244 /* kpasswd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kpasswd.h; sourceTree = "<group>"; };
+               A1253705040BEC06003D8244 /* kpasswd.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = kpasswd.M; sourceTree = "<group>"; };
+               A1253706040BEC06003D8244 /* kpasswd_strings.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kpasswd_strings.et; sourceTree = "<group>"; };
+               A1253707040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1253708040BEC06003D8244 /* tty_kpasswd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tty_kpasswd.c; sourceTree = "<group>"; };
+               A125370A040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A125370C040BEC06003D8244 /* unix.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = unix.exp; sourceTree = "<group>"; };
+               A125370E040BEC06003D8244 /* changing.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = changing.exp; sourceTree = "<group>"; };
+               A125370F040BEC06003D8244 /* connecting.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = connecting.exp; sourceTree = "<group>"; };
+               A1253710040BEC06003D8244 /* principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = principal.exp; sourceTree = "<group>"; };
+               A1253711040BEC06003D8244 /* usage.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = usage.exp; sourceTree = "<group>"; };
+               A1253713040BEC06003D8244 /* helpers.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = helpers.exp; sourceTree = "<group>"; };
+               A1253714040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1253715040BEC06003D8244 /* xm_kpasswd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xm_kpasswd.c; sourceTree = "<group>"; };
+               A1253717040BEC06003D8244 /* inst-hdrs.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "inst-hdrs.sh"; sourceTree = "<group>"; };
+               A1253719040BEC06003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A125371A040BEC06003D8244 /* acls.l */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.lex; path = acls.l; sourceTree = "<group>"; };
+               A125371B040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A125371C040BEC06003D8244 /* kadm_rpc_svc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_rpc_svc.c; sourceTree = "<group>"; };
+               A125371D040BEC06003D8244 /* kadmind.M */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = kadmind.M; sourceTree = "<group>"; };
+               A125371E040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A125371F040BEC06003D8244 /* misc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = misc.c; sourceTree = "<group>"; };
+               A1253720040BEC06003D8244 /* misc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = misc.h; sourceTree = "<group>"; };
+               A1253721040BEC06003D8244 /* ovsec_kadmd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ovsec_kadmd.c; sourceTree = "<group>"; };
+               A1253722040BEC06003D8244 /* schpw.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = schpw.c; sourceTree = "<group>"; };
+               A1253723040BEC06003D8244 /* server_glue_v1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_glue_v1.c; sourceTree = "<group>"; };
+               A1253724040BEC06003D8244 /* server_stubs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_stubs.c; sourceTree = "<group>"; };
+               A1253726040BEC06003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1253727040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1253729040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A125372B040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A125372C040BEC06003D8244 /* kdc.conf.proto */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kdc.conf.proto; sourceTree = "<group>"; };
+               A125372D040BEC06003D8244 /* krb5.conf.proto */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5.conf.proto; sourceTree = "<group>"; };
+               A125372E040BEC06003D8244 /* ovsec_adm.dict */ = {isa = PBXFileReference; lastKnownFileType = text; path = ovsec_adm.dict; sourceTree = "<group>"; };
+               A1253730040BEC06003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1253731040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1253732040BEC06003D8244 /* compare_dump.plin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = compare_dump.plin; sourceTree = "<group>"; };
+               A1253733040BEC06003D8244 /* env-setup.shin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "env-setup.shin"; sourceTree = "<group>"; };
+               A1253734040BEC06003D8244 /* find-make.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "find-make.sh"; sourceTree = "<group>"; };
+               A1253735040BEC06003D8244 /* fixup-conf-files.plin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = "fixup-conf-files.plin"; sourceTree = "<group>"; };
+               A1253736040BEC06003D8244 /* init_db */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = init_db; sourceTree = "<group>"; };
+               A1253737040BEC06003D8244 /* make-host-keytab.plin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = "make-host-keytab.plin"; sourceTree = "<group>"; };
+               A1253738040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1253739040BEC06003D8244 /* qualname.plin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = qualname.plin; sourceTree = "<group>"; };
+               A125373A040BEC06003D8244 /* save_files.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = save_files.sh; sourceTree = "<group>"; };
+               A125373B040BEC06003D8244 /* simple_dump.plin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = simple_dump.plin; sourceTree = "<group>"; };
+               A125373C040BEC06003D8244 /* start_servers */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = start_servers; sourceTree = "<group>"; };
+               A125373D040BEC06003D8244 /* start_servers_local */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = start_servers_local; sourceTree = "<group>"; };
+               A125373E040BEC06003D8244 /* stop_servers */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = stop_servers; sourceTree = "<group>"; };
+               A125373F040BEC06003D8244 /* stop_servers_local */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = stop_servers_local; sourceTree = "<group>"; };
+               A1253740040BEC06003D8244 /* verify_xrunner_report.plin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = verify_xrunner_report.plin; sourceTree = "<group>"; };
+               A1253742040BEC06003D8244 /* util.t */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = util.t; sourceTree = "<group>"; };
+               A1253744040BEC06003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1253745040BEC06003D8244 /* bsddb_dump.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = bsddb_dump.c; sourceTree = "<group>"; };
+               A1253746040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1253747040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1253748040BEC06003D8244 /* tcl_kadm5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tcl_kadm5.c; sourceTree = "<group>"; };
+               A1253749040BEC06003D8244 /* tcl_kadm5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tcl_kadm5.h; sourceTree = "<group>"; };
+               A125374A040BEC06003D8244 /* tcl_krb5_hash.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tcl_krb5_hash.c; sourceTree = "<group>"; };
+               A125374B040BEC06003D8244 /* tcl_ovsec_kadm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tcl_ovsec_kadm.c; sourceTree = "<group>"; };
+               A125374C040BEC06003D8244 /* tcl_ovsec_kadm_syntax */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = tcl_ovsec_kadm_syntax; sourceTree = "<group>"; };
+               A125374D040BEC06003D8244 /* test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test.c; sourceTree = "<group>"; };
+               A125374F040BEC06003D8244 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1253750040BEC06003D8244 /* acl_files.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = acl_files.c; sourceTree = "<group>"; };
+               A1253751040BEC06003D8244 /* acl_files.doc */ = {isa = PBXFileReference; lastKnownFileType = text; path = acl_files.doc; sourceTree = "<group>"; };
+               A1253752040BEC06003D8244 /* admin_server.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = admin_server.c; sourceTree = "<group>"; };
+               A1253754040BEC06003D8244 /* build_pwfile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = build_pwfile.c; sourceTree = "<group>"; };
+               A1253755040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1253756040BEC06003D8244 /* kadm_funcs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_funcs.c; sourceTree = "<group>"; };
+               A1253757040BEC06003D8244 /* kadm_ser_wrap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_ser_wrap.c; sourceTree = "<group>"; };
+               A1253758040BEC06003D8244 /* kadm_server.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_server.c; sourceTree = "<group>"; };
+               A1253759040BEC06003D8244 /* kadm_server.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kadm_server.h; sourceTree = "<group>"; };
+               A125375A040BEC06003D8244 /* kadm_supp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_supp.c; sourceTree = "<group>"; };
+               A125375B040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A125375D040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A125375F040BEC06003D8244 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1253760040BEC06003D8244 /* unix.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = unix.exp; sourceTree = "<group>"; };
+               A1253761040BEC06003D8244 /* getpid.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = getpid.sh; sourceTree = "<group>"; };
+               A1253763040BEC06003D8244 /* helpers.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = helpers.exp; sourceTree = "<group>"; };
+               A1253764040BEC06003D8244 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1253765040BEC06003D8244 /* remove_changepw_perms.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = remove_changepw_perms.sh; sourceTree = "<group>"; };
+               A1253767040BEC06003D8244 /* setup-srvtab.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "setup-srvtab.exp"; sourceTree = "<group>"; };
+               A1253769040BEC06003D8244 /* access.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = access.exp; sourceTree = "<group>"; };
+               A125376A040BEC06003D8244 /* change-password.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "change-password.exp"; sourceTree = "<group>"; };
+               A125376B040BEC06003D8244 /* usage.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = usage.exp; sourceTree = "<group>"; };
+               A1253783040BF7E6003D8244 /* KerberosDES.pbexp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = KerberosDES.pbexp; sourceTree = "<group>"; };
+               A1253784040BF80F003D8244 /* Kerberos4.pbexp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Kerberos4.pbexp; sourceTree = "<group>"; };
+               A125378D040BFA0E003D8244 /* KerberosProfile.pbexp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = KerberosProfile.pbexp; sourceTree = "<group>"; };
+               A12537EB040C0795003D8244 /* krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb5.h; sourceTree = "<group>"; };
+               A12537EE040C0795003D8244 /* profile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = profile.h; sourceTree = "<group>"; };
+               A12537F0040C0795003D8244 /* des.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
+               A12537F1040C0795003D8244 /* gssapi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi.h; sourceTree = "<group>"; };
+               A12537F2040C0795003D8244 /* gssapi_generic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_generic.h; sourceTree = "<group>"; };
+               A12537F3040C0795003D8244 /* gssapi_krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_krb5.h; sourceTree = "<group>"; };
+               A12537F4040C0795003D8244 /* krb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb.h; sourceTree = "<group>"; };
+               A12537F5040C0795003D8244 /* krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb5.h; sourceTree = "<group>"; };
+               A12537F8040C0795003D8244 /* krb_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb_err.h; sourceTree = "<group>"; };
+               A12537F9040C0795003D8244 /* profile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = profile.h; sourceTree = "<group>"; };
+               A12537FB040C080B003D8244 /* gssapi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi.h; sourceTree = "<group>"; };
+               A12537FC040C080B003D8244 /* gssapi_generic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_generic.h; sourceTree = "<group>"; };
+               A12537FD040C080B003D8244 /* gssapi_krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_krb5.h; sourceTree = "<group>"; };
+               A12537FF040C080B003D8244 /* des.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
+               A1253800040C080B003D8244 /* krb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb.h; sourceTree = "<group>"; };
+               A1253801040C080B003D8244 /* krb_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb_err.h; sourceTree = "<group>"; };
+               A1253804040C0D3E003D8244 /* autoconf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = autoconf.h; sourceTree = "<group>"; };
+               A1253805040C0D3E003D8244 /* osconf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = osconf.h; sourceTree = "<group>"; };
+               A125397605CF124D003BD89B /* k5sealv3.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = k5sealv3.c; sourceTree = "<group>"; };
+               A125399205CF12A2003BD89B /* mandatory_sumtype.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mandatory_sumtype.c; sourceTree = "<group>"; };
+               A12539AD05CF12D5003BD89B /* dnssrv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dnssrv.c; sourceTree = "<group>"; };
+               A1474D05066D13E700CA2AA8 /* Kerberos5BuildSystem.jam */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Kerberos5BuildSystem.jam; sourceTree = "<group>"; };
+               A166BCC3040D36F8004AA618 /* mac_des_glue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mac_des_glue.c; sourceTree = "<group>"; };
+               A16DA36604854EF700120112 /* conv_creds.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = conv_creds.c; sourceTree = "<group>"; };
+               A16DA36704854EF700120112 /* v4lifetime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = v4lifetime.c; sourceTree = "<group>"; };
+               A16DA36A0485503F00120112 /* krb524_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb524_err.et; sourceTree = "<group>"; };
+               A16DB01304868A7E00120112 /* send524.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = send524.c; sourceTree = "<group>"; };
+               A181DA5405CF0BD800E4C246 /* k5-platform.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "k5-platform.h"; sourceTree = "<group>"; };
+               A1908D5A06878C780039CAD8 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               A1908D5B06878C780039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908D5D06878C780039CAD8 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               A1908D5E06878C780039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908D5F06878C780039CAD8 /* clock00.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock00.ico; sourceTree = "<group>"; };
+               A1908D6006878C780039CAD8 /* clock05.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock05.ico; sourceTree = "<group>"; };
+               A1908D6106878C780039CAD8 /* clock10.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock10.ico; sourceTree = "<group>"; };
+               A1908D6206878C780039CAD8 /* clock15.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock15.ico; sourceTree = "<group>"; };
+               A1908D6306878C780039CAD8 /* clock20.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock20.ico; sourceTree = "<group>"; };
+               A1908D6406878C780039CAD8 /* clock25.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock25.ico; sourceTree = "<group>"; };
+               A1908D6506878C780039CAD8 /* clock30.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock30.ico; sourceTree = "<group>"; };
+               A1908D6606878C780039CAD8 /* clock35.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock35.ico; sourceTree = "<group>"; };
+               A1908D6706878C780039CAD8 /* clock40.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock40.ico; sourceTree = "<group>"; };
+               A1908D6806878C780039CAD8 /* clock45.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock45.ico; sourceTree = "<group>"; };
+               A1908D6906878C780039CAD8 /* clock50.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock50.ico; sourceTree = "<group>"; };
+               A1908D6A06878C780039CAD8 /* clock55.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock55.ico; sourceTree = "<group>"; };
+               A1908D6B06878C780039CAD8 /* clock60.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clock60.ico; sourceTree = "<group>"; };
+               A1908D6C06878C780039CAD8 /* clockexp.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clockexp.ico; sourceTree = "<group>"; };
+               A1908D6D06878C780039CAD8 /* clocktkt.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = clocktkt.ico; sourceTree = "<group>"; };
+               A1908D6E06878C780039CAD8 /* cns-help.doc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cns-help.doc"; sourceTree = "<group>"; };
+               A1908D6F06878C780039CAD8 /* cns-help.hlp */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cns-help.hlp"; sourceTree = "<group>"; };
+               A1908D7006878C780039CAD8 /* cns-help.hpj */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "cns-help.hpj"; sourceTree = "<group>"; };
+               A1908D7106878C780039CAD8 /* cns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cns.c; sourceTree = "<group>"; };
+               A1908D7206878C780039CAD8 /* cns.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cns.h; sourceTree = "<group>"; };
+               A1908D7306878C780039CAD8 /* cns.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = cns.ico; sourceTree = "<group>"; };
+               A1908D7406878C780039CAD8 /* cns_reg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cns_reg.c; sourceTree = "<group>"; };
+               A1908D7506878C780039CAD8 /* cns_reg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cns_reg.h; sourceTree = "<group>"; };
+               A1908D7606878C780039CAD8 /* cnsres4.rc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = cnsres4.rc; sourceTree = "<group>"; };
+               A1908D7706878C780039CAD8 /* cnsres5.rc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = cnsres5.rc; sourceTree = "<group>"; };
+               A1908D7806878C780039CAD8 /* debug.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = debug.c; sourceTree = "<group>"; };
+               A1908D7906878C780039CAD8 /* heap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = heap.c; sourceTree = "<group>"; };
+               A1908D7A06878C780039CAD8 /* kerbnet.doc */ = {isa = PBXFileReference; lastKnownFileType = file; path = kerbnet.doc; sourceTree = "<group>"; };
+               A1908D7B06878C780039CAD8 /* kerbnet.hlp */ = {isa = PBXFileReference; lastKnownFileType = file; path = kerbnet.hlp; sourceTree = "<group>"; };
+               A1908D7C06878C780039CAD8 /* kerbnet.hpj */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kerbnet.hpj; sourceTree = "<group>"; };
+               A1908D7D06878C780039CAD8 /* kpasswd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kpasswd.c; sourceTree = "<group>"; };
+               A1908D7E06878C780039CAD8 /* krb5.def */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5.def; sourceTree = "<group>"; };
+               A1908D7F06878C780039CAD8 /* krbini.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krbini.h; sourceTree = "<group>"; };
+               A1908D8006878C790039CAD8 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1908D8106878C790039CAD8 /* options.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = "<group>"; };
+               A1908D8206878C790039CAD8 /* password.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = password.c; sourceTree = "<group>"; };
+               A1908D8306878C790039CAD8 /* tktlist.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tktlist.c; sourceTree = "<group>"; };
+               A1908D8406878C790039CAD8 /* tktlist.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tktlist.h; sourceTree = "<group>"; };
+               A1908D8606878C790039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908D8706878C790039CAD8 /* gina.def */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = gina.def; sourceTree = "<group>"; };
+               A1908D8806878C790039CAD8 /* ginastub.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ginastub.c; sourceTree = "<group>"; };
+               A1908D8906878C790039CAD8 /* ginastub.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ginastub.h; sourceTree = "<group>"; };
+               A1908D8A06878C790039CAD8 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1908D8C06878C790039CAD8 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               A1908D8D06878C790039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908D8E06878C790039CAD8 /* gss-client.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "gss-client.c"; sourceTree = "<group>"; };
+               A1908D8F06878C790039CAD8 /* gss-misc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "gss-misc.c"; sourceTree = "<group>"; };
+               A1908D9006878C790039CAD8 /* gss-misc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "gss-misc.h"; sourceTree = "<group>"; };
+               A1908D9106878C790039CAD8 /* gss.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gss.c; sourceTree = "<group>"; };
+               A1908D9206878C790039CAD8 /* gss.def */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = gss.def; sourceTree = "<group>"; };
+               A1908D9306878C790039CAD8 /* gss.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gss.h; sourceTree = "<group>"; };
+               A1908D9406878C790039CAD8 /* gss.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = gss.ico; sourceTree = "<group>"; };
+               A1908D9506878C790039CAD8 /* gss.rc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = gss.rc; sourceTree = "<group>"; };
+               A1908D9606878C790039CAD8 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1908D9706878C790039CAD8 /* resource.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = "<group>"; };
+               A1908D9806878C790039CAD8 /* ver_serv.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ver_serv.txt; sourceTree = "<group>"; };
+               A1908D9B06878C790039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908D9C06878C790039CAD8 /* kfw-fixed.nsi */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "kfw-fixed.nsi"; sourceTree = "<group>"; };
+               A1908D9D06878C790039CAD8 /* kfw.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = kfw.ico; sourceTree = "<group>"; };
+               A1908D9E06878C790039CAD8 /* kfw.nsi */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kfw.nsi; sourceTree = "<group>"; };
+               A1908D9F06878C790039CAD8 /* KfWConfigPage.ini */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = KfWConfigPage.ini; sourceTree = "<group>"; };
+               A1908DA006878C790039CAD8 /* KfWConfigPage2.ini */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = KfWConfigPage2.ini; sourceTree = "<group>"; };
+               A1908DA106878C790039CAD8 /* killer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = killer.cpp; sourceTree = "<group>"; };
+               A1908DA206878C790039CAD8 /* licenses.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = licenses.rtf; sourceTree = "<group>"; };
+               A1908DA306878C790039CAD8 /* nsi-includes.nsi */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nsi-includes.nsi"; sourceTree = "<group>"; };
+               A1908DA406878C790039CAD8 /* site-local.nsi */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "site-local.nsi"; sourceTree = "<group>"; };
+               A1908DA506878C790039CAD8 /* utils.nsi */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = utils.nsi; sourceTree = "<group>"; };
+               A1908DA706878C790039CAD8 /* cacheapi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cacheapi.h; sourceTree = "<group>"; };
+               A1908DA806878C790039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908DA906878C790039CAD8 /* gic.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gic.c; sourceTree = "<group>"; };
+               A1908DAA06878C790039CAD8 /* gic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gic.h; sourceTree = "<group>"; };
+               A1908DAB06878C790039CAD8 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1908DAC06878C790039CAD8 /* registry.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = registry.c; sourceTree = "<group>"; };
+               A1908DAD06878C790039CAD8 /* registry.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = registry.h; sourceTree = "<group>"; };
+               A1908DAE06878C790039CAD8 /* vardlg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vardlg.c; sourceTree = "<group>"; };
+               A1908DAF06878C790039CAD8 /* vardlg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = vardlg.h; sourceTree = "<group>"; };
+               A1908DB006878C790039CAD8 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1908DB206878C790039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908DB306878C790039CAD8 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1908DB406878C790039CAD8 /* ms2mit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ms2mit.c; sourceTree = "<group>"; };
+               A1908DB506878C790039CAD8 /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
+               A1908DB606878C790039CAD8 /* version.rc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = version.rc; sourceTree = "<group>"; };
+               A1908DB806878C790039CAD8 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               A1908DB906878C790039CAD8 /* auth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = auth.c; sourceTree = "<group>"; };
+               A1908DBA06878C790039CAD8 /* auth.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = auth.h; sourceTree = "<group>"; };
+               A1908DBB06878C790039CAD8 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1908DBC06878C790039CAD8 /* dialog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = dialog.h; sourceTree = "<group>"; };
+               A1908DBD06878C790039CAD8 /* edit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = edit.c; sourceTree = "<group>"; };
+               A1908DBE06878C790039CAD8 /* emul.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = emul.c; sourceTree = "<group>"; };
+               A1908DBF06878C790039CAD8 /* enc_des.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = enc_des.c; sourceTree = "<group>"; };
+               A1908DC006878C790039CAD8 /* enc_des.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = enc_des.h; sourceTree = "<group>"; };
+               A1908DC106878C790039CAD8 /* encrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = encrypt.c; sourceTree = "<group>"; };
+               A1908DC206878C790039CAD8 /* encrypt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = encrypt.h; sourceTree = "<group>"; };
+               A1908DC306878C790039CAD8 /* font.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = font.c; sourceTree = "<group>"; };
+               A1908DC406878C790039CAD8 /* genget.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = genget.c; sourceTree = "<group>"; };
+               A1908DC506878C790039CAD8 /* ini.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ini.h; sourceTree = "<group>"; };
+               A1908DC606878C790039CAD8 /* intern.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = intern.c; sourceTree = "<group>"; };
+               A1908DC706878C790039CAD8 /* k5stream.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = k5stream.c; sourceTree = "<group>"; };
+               A1908DC806878C790039CAD8 /* k5stream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = k5stream.h; sourceTree = "<group>"; };
+               A1908DC906878C790039CAD8 /* ktelnet.doc */ = {isa = PBXFileReference; lastKnownFileType = file; path = ktelnet.doc; sourceTree = "<group>"; };
+               A1908DCA06878C790039CAD8 /* ktelnet.hlp */ = {isa = PBXFileReference; lastKnownFileType = file; path = ktelnet.hlp; sourceTree = "<group>"; };
+               A1908DCB06878C790039CAD8 /* ktelnet.hpj */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ktelnet.hpj; sourceTree = "<group>"; };
+               A1908DCC06878C790039CAD8 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1908DCD06878C790039CAD8 /* ncsa.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = ncsa.ico; sourceTree = "<group>"; };
+               A1908DCE06878C790039CAD8 /* negotiat.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = negotiat.c; sourceTree = "<group>"; };
+               A1908DCF06878C790039CAD8 /* resource.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = "<group>"; };
+               A1908DD006878C790039CAD8 /* screen.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = screen.c; sourceTree = "<group>"; };
+               A1908DD106878C790039CAD8 /* screen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = screen.h; sourceTree = "<group>"; };
+               A1908DD206878C790039CAD8 /* struct.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = struct.h; sourceTree = "<group>"; };
+               A1908DD306878C790039CAD8 /* telnet.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = telnet.c; sourceTree = "<group>"; };
+               A1908DD406878C790039CAD8 /* telnet.def */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = telnet.def; sourceTree = "<group>"; };
+               A1908DD506878C790039CAD8 /* telnet.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = telnet.h; sourceTree = "<group>"; };
+               A1908DD606878C790039CAD8 /* telnet.rc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = telnet.rc; sourceTree = "<group>"; };
+               A1908DD706878C790039CAD8 /* telnet_arpa.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = telnet_arpa.h; sourceTree = "<group>"; };
+               A1908DD806878C790039CAD8 /* telopts.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = telopts.h; sourceTree = "<group>"; };
+               A1908DD906878C790039CAD8 /* terminal.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = terminal.ico; sourceTree = "<group>"; };
+               A1908DDA06878C790039CAD8 /* wt-proto.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "wt-proto.h"; sourceTree = "<group>"; };
+               A198BBE60406D04A00120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A198BC0A0406D04A00120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A198BC200406D04A00120114 /* ReadMe */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe; sourceTree = "<group>"; };
+               A198BC210406D04A00120114 /* Release notes */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Release notes"; sourceTree = "<group>"; };
+               A198BC2A0406DA8F00120114 /* prof_FSp_glue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prof_FSp_glue.c; sourceTree = "<group>"; };
+               A1A6783106C3D47F00EC826E /* fake-addrinfo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "fake-addrinfo.c"; sourceTree = "<group>"; };
+               A1A6784206C3D82500EC826E /* rc_none.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rc_none.c; sourceTree = "<group>"; };
+               A1A6784306C3D82500EC826E /* rc-int.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "rc-int.h"; sourceTree = "<group>"; };
+               A1AB1E0205DDC40100526345 /* libKerberosDES.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libKerberosDES.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               A1AB1E2205DDC43000526345 /* libKerberosProfile.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libKerberosProfile.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               A1AB1E6F05DDC45F00526345 /* libKerberos4.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libKerberos4.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               A1AB1FB105DDC47800526345 /* libKerberos5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libKerberos5.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               A1AB200305DDC48A00526345 /* libGSS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libGSS.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               A1AFE5D506D19E7A0073AEA1 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1AFE5D606D19E7A0073AEA1 /* adb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = adb.h; sourceTree = "<group>"; };
+               A1AFE5D706D19E7A0073AEA1 /* adb_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = adb_err.et; sourceTree = "<group>"; };
+               A1AFE5D806D19E7A0073AEA1 /* admin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = admin.h; sourceTree = "<group>"; };
+               A1AFE5D906D19E7A0073AEA1 /* admin_internal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = admin_internal.h; sourceTree = "<group>"; };
+               A1AFE5DA06D19E7A0073AEA1 /* admin_xdr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = admin_xdr.h; sourceTree = "<group>"; };
+               A1AFE5DB06D19E7A0073AEA1 /* alt_prof.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = alt_prof.c; sourceTree = "<group>"; };
+               A1AFE5DC06D19E7A0073AEA1 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1AFE5DD06D19E7A0073AEA1 /* chpass_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = chpass_util.c; sourceTree = "<group>"; };
+               A1AFE5DE06D19E7A0073AEA1 /* chpass_util_strings.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = chpass_util_strings.et; sourceTree = "<group>"; };
+               A1AFE5E006D19E7A0073AEA1 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1AFE5E106D19E7A0073AEA1 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1AFE5E206D19E7A0073AEA1 /* client_handle.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = client_handle.c; sourceTree = "<group>"; };
+               A1AFE5E306D19E7A0073AEA1 /* client_init.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = client_init.c; sourceTree = "<group>"; };
+               A1AFE5E406D19E7A0073AEA1 /* client_internal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = client_internal.h; sourceTree = "<group>"; };
+               A1AFE5E506D19E7A0073AEA1 /* client_principal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = client_principal.c; sourceTree = "<group>"; };
+               A1AFE5E606D19E7A0073AEA1 /* client_rpc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = client_rpc.c; sourceTree = "<group>"; };
+               A1AFE5E706D19E7A0073AEA1 /* clnt_chpass_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = clnt_chpass_util.c; sourceTree = "<group>"; };
+               A1AFE5E806D19E7A0073AEA1 /* clnt_policy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = clnt_policy.c; sourceTree = "<group>"; };
+               A1AFE5E906D19E7A0073AEA1 /* clnt_privs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = clnt_privs.c; sourceTree = "<group>"; };
+               A1AFE5EA06D19E7A0073AEA1 /* libkadm5clnt.exports */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = libkadm5clnt.exports; sourceTree = "<group>"; };
+               A1AFE5EB06D19E7A0073AEA1 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1AFE5EC06D19E7A0073AEA1 /* configure */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
+               A1AFE5ED06D19E7A0073AEA1 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               A1AFE5EE06D19E7A0073AEA1 /* kadm_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kadm_err.et; sourceTree = "<group>"; };
+               A1AFE5EF06D19E7A0073AEA1 /* kadm_rpc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kadm_rpc.h; sourceTree = "<group>"; };
+               A1AFE5F006D19E7A0073AEA1 /* kadm_rpc_xdr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_rpc_xdr.c; sourceTree = "<group>"; };
+               A1AFE5F106D19E7A0073AEA1 /* logger.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = logger.c; sourceTree = "<group>"; };
+               A1AFE5F206D19E7A0073AEA1 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1AFE5F306D19E7A0073AEA1 /* misc_free.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = misc_free.c; sourceTree = "<group>"; };
+               A1AFE5F406D19E7A0073AEA1 /* ovsec_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ovsec_glue.c; sourceTree = "<group>"; };
+               A1AFE5F506D19E7A0073AEA1 /* server_internal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = server_internal.h; sourceTree = "<group>"; };
+               A1AFE5F706D19E7A0073AEA1 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1AFE5F806D19E7A0073AEA1 /* adb_free.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = adb_free.c; sourceTree = "<group>"; };
+               A1AFE5F906D19E7A0073AEA1 /* adb_openclose.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = adb_openclose.c; sourceTree = "<group>"; };
+               A1AFE5FA06D19E7A0073AEA1 /* adb_policy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = adb_policy.c; sourceTree = "<group>"; };
+               A1AFE5FB06D19E7A0073AEA1 /* adb_xdr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = adb_xdr.c; sourceTree = "<group>"; };
+               A1AFE5FC06D19E7A0073AEA1 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1AFE5FD06D19E7A0073AEA1 /* libkadm5srv.exports */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = libkadm5srv.exports; sourceTree = "<group>"; };
+               A1AFE5FE06D19E7A0073AEA1 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1AFE5FF06D19E7A0073AEA1 /* server_acl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_acl.c; sourceTree = "<group>"; };
+               A1AFE60006D19E7A0073AEA1 /* server_acl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = server_acl.h; sourceTree = "<group>"; };
+               A1AFE60106D19E7A0073AEA1 /* server_dict.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_dict.c; sourceTree = "<group>"; };
+               A1AFE60206D19E7A0073AEA1 /* server_handle.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_handle.c; sourceTree = "<group>"; };
+               A1AFE60306D19E7A0073AEA1 /* server_init.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_init.c; sourceTree = "<group>"; };
+               A1AFE60406D19E7A0073AEA1 /* server_kdb.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_kdb.c; sourceTree = "<group>"; };
+               A1AFE60506D19E7A0073AEA1 /* server_misc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = server_misc.c; sourceTree = "<group>"; };
+               A1AFE60606D19E7A0073AEA1 /* svr_chpass_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = svr_chpass_util.c; sourceTree = "<group>"; };
+               A1AFE60706D19E7A0073AEA1 /* svr_iters.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = svr_iters.c; sourceTree = "<group>"; };
+               A1AFE60806D19E7A0073AEA1 /* svr_misc_free.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = svr_misc_free.c; sourceTree = "<group>"; };
+               A1AFE60906D19E7A0073AEA1 /* svr_policy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = svr_policy.c; sourceTree = "<group>"; };
+               A1AFE60A06D19E7A0073AEA1 /* svr_principal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = svr_principal.c; sourceTree = "<group>"; };
+               A1AFE60B06D19E7B0073AEA1 /* str_conv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = str_conv.c; sourceTree = "<group>"; };
+               A1AFE60D06D19E7B0073AEA1 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               A1AFE60F06D19E7B0073AEA1 /* chpass-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "chpass-principal.exp"; sourceTree = "<group>"; };
+               A1AFE61006D19E7B0073AEA1 /* crte-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "crte-policy.exp"; sourceTree = "<group>"; };
+               A1AFE61106D19E7B0073AEA1 /* crte-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "crte-principal.exp"; sourceTree = "<group>"; };
+               A1AFE61206D19E7B0073AEA1 /* destroy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = destroy.exp; sourceTree = "<group>"; };
+               A1AFE61306D19E7B0073AEA1 /* dlte-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "dlte-policy.exp"; sourceTree = "<group>"; };
+               A1AFE61406D19E7B0073AEA1 /* dlte-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "dlte-principal.exp"; sourceTree = "<group>"; };
+               A1AFE61506D19E7B0073AEA1 /* get-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "get-policy.exp"; sourceTree = "<group>"; };
+               A1AFE61606D19E7B0073AEA1 /* get-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "get-principal.exp"; sourceTree = "<group>"; };
+               A1AFE61706D19E7B0073AEA1 /* init.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = init.exp; sourceTree = "<group>"; };
+               A1AFE61806D19E7B0073AEA1 /* mod-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "mod-policy.exp"; sourceTree = "<group>"; };
+               A1AFE61906D19E7B0073AEA1 /* mod-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "mod-principal.exp"; sourceTree = "<group>"; };
+               A1AFE61A06D19E7B0073AEA1 /* randkey-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "randkey-principal.exp"; sourceTree = "<group>"; };
+               A1AFE61B06D19E7B0073AEA1 /* rename-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "rename-principal.exp"; sourceTree = "<group>"; };
+               A1AFE61C06D19E7B0073AEA1 /* api.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = api.1; sourceTree = "<group>"; };
+               A1AFE61E06D19E7B0073AEA1 /* chpass-principal-v2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "chpass-principal-v2.exp"; sourceTree = "<group>"; };
+               A1AFE61F06D19E7B0073AEA1 /* chpass-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "chpass-principal.exp"; sourceTree = "<group>"; };
+               A1AFE62006D19E7B0073AEA1 /* crte-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "crte-policy.exp"; sourceTree = "<group>"; };
+               A1AFE62106D19E7B0073AEA1 /* crte-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "crte-principal.exp"; sourceTree = "<group>"; };
+               A1AFE62206D19E7B0073AEA1 /* destroy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = destroy.exp; sourceTree = "<group>"; };
+               A1AFE62306D19E7B0073AEA1 /* dlte-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "dlte-policy.exp"; sourceTree = "<group>"; };
+               A1AFE62406D19E7B0073AEA1 /* dlte-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "dlte-principal.exp"; sourceTree = "<group>"; };
+               A1AFE62506D19E7B0073AEA1 /* get-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "get-policy.exp"; sourceTree = "<group>"; };
+               A1AFE62606D19E7B0073AEA1 /* get-principal-v2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "get-principal-v2.exp"; sourceTree = "<group>"; };
+               A1AFE62706D19E7B0073AEA1 /* get-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "get-principal.exp"; sourceTree = "<group>"; };
+               A1AFE62806D19E7B0073AEA1 /* init-v2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "init-v2.exp"; sourceTree = "<group>"; };
+               A1AFE62906D19E7B0073AEA1 /* init.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = init.exp; sourceTree = "<group>"; };
+               A1AFE62A06D19E7B0073AEA1 /* mod-policy.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "mod-policy.exp"; sourceTree = "<group>"; };
+               A1AFE62B06D19E7B0073AEA1 /* mod-principal-v2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "mod-principal-v2.exp"; sourceTree = "<group>"; };
+               A1AFE62C06D19E7B0073AEA1 /* mod-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "mod-principal.exp"; sourceTree = "<group>"; };
+               A1AFE62D06D19E7B0073AEA1 /* randkey-principal-v2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "randkey-principal-v2.exp"; sourceTree = "<group>"; };
+               A1AFE62E06D19E7B0073AEA1 /* randkey-principal.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = "randkey-principal.exp"; sourceTree = "<group>"; };
+               A1AFE62F06D19E7B0073AEA1 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1AFE63106D19E7B0073AEA1 /* unix.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = unix.exp; sourceTree = "<group>"; };
+               A1AFE63206D19E7B0073AEA1 /* destroy-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "destroy-test.c"; sourceTree = "<group>"; };
+               A1AFE63406D19E7B0073AEA1 /* destroy-1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "destroy-1"; sourceTree = "<group>"; };
+               A1AFE63506D19E7B0073AEA1 /* no-diffs */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "no-diffs"; sourceTree = "<group>"; };
+               A1AFE63606D19E7B0073AEA1 /* handle-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "handle-test.c"; sourceTree = "<group>"; };
+               A1AFE63706D19E7B0073AEA1 /* init-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "init-test.c"; sourceTree = "<group>"; };
+               A1AFE63806D19E7B0073AEA1 /* iter-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "iter-test.c"; sourceTree = "<group>"; };
+               A1AFE63A06D19E7B0073AEA1 /* lib.t */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = lib.t; sourceTree = "<group>"; };
+               A1AFE63B06D19E7B0073AEA1 /* lock-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "lock-test.c"; sourceTree = "<group>"; };
+               A1AFE63C06D19E7B0073AEA1 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               A1AFE63D06D19E7B0073AEA1 /* randkey-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "randkey-test.c"; sourceTree = "<group>"; };
+               A1AFE63E06D19E7B0073AEA1 /* README.new-tests */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "README.new-tests"; sourceTree = "<group>"; };
+               A1AFE63F06D19E7B0073AEA1 /* setkey-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "setkey-test.c"; sourceTree = "<group>"; };
+               A1AFE64006D19E7B0073AEA1 /* site.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = site.exp; sourceTree = "<group>"; };
+               A1B21F170417D6BC00120114 /* aes_s2k.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aes_s2k.c; sourceTree = "<group>"; };
+               A1B21F180417D6BC00120114 /* aes_s2k.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = aes_s2k.h; sourceTree = "<group>"; };
+               A1B707440872FB9D00F0C55D /* configure */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
+               A1B707E30873577700F0C55D /* compile_et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = compile_et; sourceTree = "<group>"; };
+               A1B707E40873577700F0C55D /* ftp */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = ftp; sourceTree = "<group>"; };
+               A1B707E50873577700F0C55D /* gss-client */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = "gss-client"; sourceTree = "<group>"; };
+               A1B707E60873577700F0C55D /* kdestroy */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kdestroy; sourceTree = "<group>"; };
+               A1B707E70873577700F0C55D /* kinit */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kinit; sourceTree = "<group>"; };
+               A1B707E80873577700F0C55D /* klist */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = klist; sourceTree = "<group>"; };
+               A1B707E90873577700F0C55D /* kpasswd */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kpasswd; sourceTree = "<group>"; };
+               A1B707EA0873577700F0C55D /* krb5-config */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "krb5-config"; sourceTree = "<group>"; };
+               A1B707EB0873577700F0C55D /* krb524init */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = krb524init; sourceTree = "<group>"; };
+               A1B707EC0873577700F0C55D /* kvno */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kvno; sourceTree = "<group>"; };
+               A1B707ED0873577700F0C55D /* rcp */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = rcp; sourceTree = "<group>"; };
+               A1B707EE0873577700F0C55D /* rlogin */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = rlogin; sourceTree = "<group>"; };
+               A1B707EF0873577700F0C55D /* rsh */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = rsh; sourceTree = "<group>"; };
+               A1B707F00873577700F0C55D /* sclient */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = sclient; sourceTree = "<group>"; };
+               A1B707F10873577700F0C55D /* sim_client */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = sim_client; sourceTree = "<group>"; };
+               A1B707F20873577700F0C55D /* telnet */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = telnet; sourceTree = "<group>"; };
+               A1B707F30873577700F0C55D /* uuclient */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = uuclient; sourceTree = "<group>"; };
+               A1B707F50873577700F0C55D /* com_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = com_err.h; sourceTree = "<group>"; };
+               A1B707F70873577700F0C55D /* gssapi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi.h; sourceTree = "<group>"; };
+               A1B707F80873577700F0C55D /* gssapi_generic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_generic.h; sourceTree = "<group>"; };
+               A1B707F90873577700F0C55D /* gssapi_krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_krb5.h; sourceTree = "<group>"; };
+               A1B707FB0873577700F0C55D /* auth.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = auth.h; sourceTree = "<group>"; };
+               A1B707FC0873577700F0C55D /* auth_gss.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = auth_gss.h; sourceTree = "<group>"; };
+               A1B707FD0873577700F0C55D /* auth_gssapi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = auth_gssapi.h; sourceTree = "<group>"; };
+               A1B707FE0873577700F0C55D /* auth_unix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = auth_unix.h; sourceTree = "<group>"; };
+               A1B707FF0873577700F0C55D /* clnt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = clnt.h; sourceTree = "<group>"; };
+               A1B708000873577700F0C55D /* netdb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = netdb.h; sourceTree = "<group>"; };
+               A1B708010873577700F0C55D /* pmap_clnt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pmap_clnt.h; sourceTree = "<group>"; };
+               A1B708020873577700F0C55D /* pmap_prot.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pmap_prot.h; sourceTree = "<group>"; };
+               A1B708030873577700F0C55D /* pmap_rmt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pmap_rmt.h; sourceTree = "<group>"; };
+               A1B708040873577700F0C55D /* rename.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rename.h; sourceTree = "<group>"; };
+               A1B708050873577700F0C55D /* rpc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rpc.h; sourceTree = "<group>"; };
+               A1B708060873577700F0C55D /* rpc_msg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rpc_msg.h; sourceTree = "<group>"; };
+               A1B708070873577700F0C55D /* svc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = svc.h; sourceTree = "<group>"; };
+               A1B708080873577700F0C55D /* svc_auth.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = svc_auth.h; sourceTree = "<group>"; };
+               A1B708090873577700F0C55D /* types.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
+               A1B7080A0873577700F0C55D /* xdr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = xdr.h; sourceTree = "<group>"; };
+               A1B7080C0873577700F0C55D /* des.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
+               A1B7080D0873577700F0C55D /* kadm_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kadm_err.h; sourceTree = "<group>"; };
+               A1B7080E0873577700F0C55D /* krb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb.h; sourceTree = "<group>"; };
+               A1B7080F0873577700F0C55D /* krb_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb_err.h; sourceTree = "<group>"; };
+               A1B708100873577700F0C55D /* mit-copyright.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "mit-copyright.h"; sourceTree = "<group>"; };
+               A1B708110873577700F0C55D /* krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb5.h; sourceTree = "<group>"; };
+               A1B708120873577700F0C55D /* profile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = profile.h; sourceTree = "<group>"; };
+               A1B708140873577700F0C55D /* libcom_err.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libcom_err.a; sourceTree = "<group>"; };
+               A1B708150873577700F0C55D /* libdes425.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libdes425.a; sourceTree = "<group>"; };
+               A1B708160873577700F0C55D /* libgssapi_krb5.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgssapi_krb5.a; sourceTree = "<group>"; };
+               A1B708170873577700F0C55D /* libgssrpc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgssrpc.a; sourceTree = "<group>"; };
+               A1B708180873577700F0C55D /* libk5crypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libk5crypto.a; sourceTree = "<group>"; };
+               A1B708190873577700F0C55D /* libkadm5clnt.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libkadm5clnt.a; sourceTree = "<group>"; };
+               A1B7081A0873577700F0C55D /* libkadm5srv.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libkadm5srv.a; sourceTree = "<group>"; };
+               A1B7081B0873577700F0C55D /* libkdb5.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libkdb5.a; sourceTree = "<group>"; };
+               A1B7081C0873577700F0C55D /* libkrb4.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libkrb4.a; sourceTree = "<group>"; };
+               A1B7081D0873577700F0C55D /* libkrb5.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libkrb5.a; sourceTree = "<group>"; };
+               A1B7081E0873577700F0C55D /* libkrb5support.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libkrb5support.a; sourceTree = "<group>"; };
+               A1B708210873577700F0C55D /* compile_et.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = compile_et.1; sourceTree = "<group>"; };
+               A1B708220873577700F0C55D /* ftp.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = ftp.1; sourceTree = "<group>"; };
+               A1B708230873577700F0C55D /* kdestroy.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = kdestroy.1; sourceTree = "<group>"; };
+               A1B708240873577700F0C55D /* kerberos.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = kerberos.1; sourceTree = "<group>"; };
+               A1B708250873577700F0C55D /* kinit.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = kinit.1; sourceTree = "<group>"; };
+               A1B708260873577700F0C55D /* klist.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = klist.1; sourceTree = "<group>"; };
+               A1B708270873577700F0C55D /* kpasswd.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = kpasswd.1; sourceTree = "<group>"; };
+               A1B708280873577700F0C55D /* krb5-config.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = "krb5-config.1"; sourceTree = "<group>"; };
+               A1B708290873577700F0C55D /* krb5-send-pr.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = "krb5-send-pr.1"; sourceTree = "<group>"; };
+               A1B7082A0873577700F0C55D /* ksu.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = ksu.1; sourceTree = "<group>"; };
+               A1B7082B0873577700F0C55D /* kvno.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = kvno.1; sourceTree = "<group>"; };
+               A1B7082C0873577700F0C55D /* rcp.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = rcp.1; sourceTree = "<group>"; };
+               A1B7082D0873577700F0C55D /* rlogin.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = rlogin.1; sourceTree = "<group>"; };
+               A1B7082E0873577700F0C55D /* rsh.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = rsh.1; sourceTree = "<group>"; };
+               A1B7082F0873577700F0C55D /* sclient.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = sclient.1; sourceTree = "<group>"; };
+               A1B708300873577700F0C55D /* telnet.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = telnet.1; sourceTree = "<group>"; };
+               A1B708310873577700F0C55D /* tmac.doc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = tmac.doc; sourceTree = "<group>"; };
+               A1B708320873577700F0C55D /* v4rcp.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = v4rcp.1; sourceTree = "<group>"; };
+               A1B708340873577700F0C55D /* .k5login.5 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .k5login.5; sourceTree = "<group>"; };
+               A1B708350873577700F0C55D /* kdc.conf.5 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kdc.conf.5; sourceTree = "<group>"; };
+               A1B708360873577700F0C55D /* krb5.conf.5 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5.conf.5; sourceTree = "<group>"; };
+               A1B708380873577700F0C55D /* ftpd.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ftpd.8; sourceTree = "<group>"; };
+               A1B708390873577700F0C55D /* k5srvutil.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = k5srvutil.8; sourceTree = "<group>"; };
+               A1B7083A0873577700F0C55D /* kadmin.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kadmin.8; sourceTree = "<group>"; };
+               A1B7083B0873577700F0C55D /* kadmin.local.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kadmin.local.8; sourceTree = "<group>"; };
+               A1B7083C0873577700F0C55D /* kadmind.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kadmind.8; sourceTree = "<group>"; };
+               A1B7083D0873577700F0C55D /* kdb5_util.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kdb5_util.8; sourceTree = "<group>"; };
+               A1B7083E0873577700F0C55D /* klogind.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = klogind.8; sourceTree = "<group>"; };
+               A1B7083F0873577700F0C55D /* kprop.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kprop.8; sourceTree = "<group>"; };
+               A1B708400873577700F0C55D /* kpropd.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kpropd.8; sourceTree = "<group>"; };
+               A1B708410873577700F0C55D /* krb524d.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb524d.8; sourceTree = "<group>"; };
+               A1B708420873577700F0C55D /* krb5kdc.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5kdc.8; sourceTree = "<group>"; };
+               A1B708430873577700F0C55D /* kshd.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kshd.8; sourceTree = "<group>"; };
+               A1B708440873577700F0C55D /* ktutil.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ktutil.8; sourceTree = "<group>"; };
+               A1B708450873577700F0C55D /* login.krb5.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = login.krb5.8; sourceTree = "<group>"; };
+               A1B708460873577700F0C55D /* sserver.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = sserver.8; sourceTree = "<group>"; };
+               A1B708470873577700F0C55D /* telnetd.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = telnetd.8; sourceTree = "<group>"; };
+               A1B708490873577700F0C55D /* ftpd */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = ftpd; sourceTree = "<group>"; };
+               A1B7084A0873577700F0C55D /* gss-server */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = "gss-server"; sourceTree = "<group>"; };
+               A1B7084B0873577700F0C55D /* k5srvutil */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = k5srvutil; sourceTree = "<group>"; };
+               A1B7084C0873577700F0C55D /* kadmin */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kadmin; sourceTree = "<group>"; };
+               A1B7084D0873577700F0C55D /* kadmin.local */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kadmin.local; sourceTree = "<group>"; };
+               A1B7084E0873577700F0C55D /* kadmind */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kadmind; sourceTree = "<group>"; };
+               A1B7084F0873577700F0C55D /* kdb5_util */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kdb5_util; sourceTree = "<group>"; };
+               A1B708500873577700F0C55D /* klogind */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = klogind; sourceTree = "<group>"; };
+               A1B708510873577700F0C55D /* kprop */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kprop; sourceTree = "<group>"; };
+               A1B708520873577700F0C55D /* kpropd */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kpropd; sourceTree = "<group>"; };
+               A1B708530873577700F0C55D /* krb5-send-pr */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "krb5-send-pr"; sourceTree = "<group>"; };
+               A1B708540873577700F0C55D /* krb524d */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = krb524d; sourceTree = "<group>"; };
+               A1B708550873577700F0C55D /* krb5kdc */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = krb5kdc; sourceTree = "<group>"; };
+               A1B708560873577700F0C55D /* kshd */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = kshd; sourceTree = "<group>"; };
+               A1B708570873577700F0C55D /* ktutil */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = ktutil; sourceTree = "<group>"; };
+               A1B708580873577700F0C55D /* login.krb5 */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = login.krb5; sourceTree = "<group>"; };
+               A1B708590873577700F0C55D /* sim_server */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = sim_server; sourceTree = "<group>"; };
+               A1B7085A0873577700F0C55D /* sserver */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = sserver; sourceTree = "<group>"; };
+               A1B7085B0873577700F0C55D /* telnetd */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = telnetd; sourceTree = "<group>"; };
+               A1B7085C0873577700F0C55D /* uuserver */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = uuserver; sourceTree = "<group>"; };
+               A1B7085F0873577700F0C55D /* et_c.awk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = et_c.awk; sourceTree = "<group>"; };
+               A1B708600873577700F0C55D /* et_h.awk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = et_h.awk; sourceTree = "<group>"; };
+               A1B708630873577700F0C55D /* kdc.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kdc.conf; sourceTree = "<group>"; };
+               A1B708640873577700F0C55D /* krb5.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5.conf; sourceTree = "<group>"; };
+               A1B708650873577700F0C55D /* services.append */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = services.append; sourceTree = "<group>"; };
+               A1B708670873577700F0C55D /* mit */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = mit; sourceTree = "<group>"; };
+               A1BBFF1604226DBD00120114 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               A1CA438506E3D01200F35E9C /* pkinit_apple_utils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pkinit_apple_utils.h; sourceTree = "<group>"; };
+               A1CA438606E3D01200F35E9C /* pkinit_asn1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pkinit_asn1.h; sourceTree = "<group>"; };
+               A1CA438706E3D01200F35E9C /* pkinit_cert_store.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pkinit_cert_store.h; sourceTree = "<group>"; };
+               A1CA438806E3D01200F35E9C /* pkinit_client.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pkinit_client.h; sourceTree = "<group>"; };
+               A1CA438906E3D01200F35E9C /* pkinit_cms.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pkinit_cms.h; sourceTree = "<group>"; };
+               A1CA43B806E3D0D400F35E9C /* pkinit_apple_asn1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pkinit_apple_asn1.c; sourceTree = "<group>"; };
+               A1CA43B906E3D0D400F35E9C /* pkinit_apple_cert_store.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pkinit_apple_cert_store.c; sourceTree = "<group>"; };
+               A1CA43BA06E3D0D400F35E9C /* pkinit_apple_client.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pkinit_apple_client.c; sourceTree = "<group>"; };
+               A1CA43BB06E3D0D400F35E9C /* pkinit_apple_cms.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pkinit_apple_cms.c; sourceTree = "<group>"; };
+               A1CA43BC06E3D0D400F35E9C /* pkinit_apple_utils.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pkinit_apple_utils.c; sourceTree = "<group>"; };
+               A1CA623604168DFE0013F915 /* Kerberos5Prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Kerberos5Prefix.h; sourceTree = "<group>"; };
+               A1D256EA06A7139700A9EC13 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1D256EE06A713A600A9EC13 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               A1D256F106A713A600A9EC13 /* threads.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = threads.c; sourceTree = "<group>"; };
+               A1D62984070C878B0015C908 /* patchlevel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = patchlevel.h; sourceTree = "<group>"; };
+               A1D6298F070C8AD70015C908 /* dnsglue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dnsglue.c; sourceTree = "<group>"; };
+               A1D62990070C8AD70015C908 /* dnsglue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = dnsglue.h; sourceTree = "<group>"; };
+               A1F1429E067E5BD500A82808 /* foreachaddr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = foreachaddr.h; sourceTree = "<group>"; };
+               A1F1429F067E5BD500A82808 /* k5-thread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "k5-thread.h"; sourceTree = "<group>"; };
+               F517307F03F1B65801120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51730E203F1B65801120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51730E303F1B65801120114 /* cm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cm.h; sourceTree = "<group>"; };
+               F51730E503F1B65801120114 /* fake-addrinfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "fake-addrinfo.h"; sourceTree = "<group>"; };
+               F51730E703F1B65801120114 /* k5-int.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "k5-int.h"; sourceTree = "<group>"; };
+               F51730E803F1B65801120114 /* k5-util.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "k5-util.h"; sourceTree = "<group>"; };
+               F51730EA03F1B65801120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F51730EB03F1B65801120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F51730EC03F1B65801120114 /* addr_comp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = addr_comp.h; sourceTree = "<group>"; };
+               F51730ED03F1B65801120114 /* admin_server.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = admin_server.h; sourceTree = "<group>"; };
+               F51730EE03F1B65801120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51730EF03F1B65801120114 /* des.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
+               F51730F003F1B65801120114 /* kadm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kadm.h; sourceTree = "<group>"; };
+               F51730F103F1B65801120114 /* kdc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kdc.h; sourceTree = "<group>"; };
+               F51730F203F1B65801120114 /* klog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = klog.h; sourceTree = "<group>"; };
+               F51730F303F1B65801120114 /* kparse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kparse.h; sourceTree = "<group>"; };
+               F51730F403F1B65801120114 /* krb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb.h; sourceTree = "<group>"; };
+               F51730F503F1B65801120114 /* krb_db.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb_db.h; sourceTree = "<group>"; };
+               F51730F603F1B65801120114 /* krbports.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krbports.h; sourceTree = "<group>"; };
+               F51730F703F1B65801120114 /* lsb_addr_cmp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = lsb_addr_cmp.h; sourceTree = "<group>"; };
+               F51730F803F1B65801120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51730F903F1B65801120114 /* mit-copyright.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "mit-copyright.h"; sourceTree = "<group>"; };
+               F51730FA03F1B65801120114 /* prot.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = prot.h; sourceTree = "<group>"; };
+               F51730FF03F1B65801120114 /* adm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = adm.h; sourceTree = "<group>"; };
+               F517310003F1B65801120114 /* adm_defs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = adm_defs.h; sourceTree = "<group>"; };
+               F517310103F1B65801120114 /* adm_proto.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = adm_proto.h; sourceTree = "<group>"; };
+               F517310303F1B65801120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517310403F1B65801120114 /* copyright.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = copyright.h; sourceTree = "<group>"; };
+               F517310503F1B65801120114 /* kdb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kdb.h; sourceTree = "<group>"; };
+               F517310603F1B65801120114 /* kdb_dbc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kdb_dbc.h; sourceTree = "<group>"; };
+               F517310803F1B65801120114 /* kdb_kt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kdb_kt.h; sourceTree = "<group>"; };
+               F517310903F1B65801120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517310B03F1B65801120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F517310C03F1B65801120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517310D03F1B65801120114 /* osconf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = osconf.h; sourceTree = "<group>"; };
+               F517310E03F1B65801120114 /* krb5.hin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5.hin; sourceTree = "<group>"; };
+               F517310F03F1B65801120114 /* krb54proto.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb54proto.h; sourceTree = "<group>"; };
+               F517311003F1B65801120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517311103F1B65801120114 /* port-sockets.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "port-sockets.h"; sourceTree = "<group>"; };
+               F517311203F1B65801120114 /* socket-utils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "socket-utils.h"; sourceTree = "<group>"; };
+               F517311303F1B65901120114 /* spnego-asn1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "spnego-asn1.h"; sourceTree = "<group>"; };
+               F517311503F1B65901120114 /* syslog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = syslog.h; sourceTree = "<group>"; };
+               F517311603F1B65901120114 /* win-mac.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "win-mac.h"; sourceTree = "<group>"; };
+               F517322403F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517322703F1B65901120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F517322803F1B65901120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F517322A03F1B65901120114 /* aes-gen.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "aes-gen.c"; sourceTree = "<group>"; };
+               F517322B03F1B65901120114 /* aes-test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "aes-test.c"; sourceTree = "<group>"; };
+               F517322C03F1B65901120114 /* aes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
+               F517322D03F1B65901120114 /* aes.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = aes.txt; sourceTree = "<group>"; };
+               F517322E03F1B65901120114 /* aescpp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = aescpp.h; sourceTree = "<group>"; };
+               F517322F03F1B65901120114 /* aescrypp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aescrypp.c; sourceTree = "<group>"; };
+               F517323003F1B65901120114 /* aescrypt.asm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.asm; path = aescrypt.asm; sourceTree = "<group>"; };
+               F517323103F1B65901120114 /* aescrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aescrypt.c; sourceTree = "<group>"; };
+               F517323203F1B65901120114 /* aeskey.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aeskey.c; sourceTree = "<group>"; };
+               F517323303F1B65901120114 /* aeskeypp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aeskeypp.c; sourceTree = "<group>"; };
+               F517323403F1B65901120114 /* aesopt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = aesopt.h; sourceTree = "<group>"; };
+               F517323503F1B65901120114 /* aessrc.url */ = {isa = PBXFileReference; lastKnownFileType = text; path = aessrc.url; sourceTree = "<group>"; };
+               F517323603F1B65901120114 /* aestab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aestab.c; sourceTree = "<group>"; };
+               F517323703F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517323803F1B65901120114 /* expect-vk.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "expect-vk.txt"; sourceTree = "<group>"; };
+               F517323903F1B65901120114 /* expect-vt.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "expect-vt.txt"; sourceTree = "<group>"; };
+               F517323A03F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517323C03F1B65901120114 /* cbc_d_m.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = cbc_d_m.txt; sourceTree = "<group>"; };
+               F517323D03F1B65901120114 /* cbc_e_m.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = cbc_e_m.txt; sourceTree = "<group>"; };
+               F517323E03F1B65901120114 /* ecb_d_m.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ecb_d_m.txt; sourceTree = "<group>"; };
+               F517323F03F1B65901120114 /* ecb_e_m.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ecb_e_m.txt; sourceTree = "<group>"; };
+               F517324003F1B65901120114 /* ecb_iv.readme */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ecb_iv.readme; sourceTree = "<group>"; };
+               F517324103F1B65901120114 /* ecb_iv.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ecb_iv.txt; sourceTree = "<group>"; };
+               F517324203F1B65901120114 /* ecb_tbl.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ecb_tbl.txt; sourceTree = "<group>"; };
+               F517324303F1B65901120114 /* ecb_vk.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ecb_vk.txt; sourceTree = "<group>"; };
+               F517324403F1B65901120114 /* ecb_vt.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ecb_vt.txt; sourceTree = "<group>"; };
+               F517324503F1B65901120114 /* katmct.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = katmct.pdf; sourceTree = "<group>"; };
+               F517324603F1B65901120114 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
+               F517324703F1B65901120114 /* uitypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = uitypes.h; sourceTree = "<group>"; };
+               F517324803F1B65901120114 /* vb.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = vb.txt; sourceTree = "<group>"; };
+               F517324903F1B65901120114 /* vbaxam.doc */ = {isa = PBXFileReference; lastKnownFileType = file; path = vbaxam.doc; sourceTree = "<group>"; };
+               F517324B03F1B65901120114 /* arcfour-int.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "arcfour-int.h"; sourceTree = "<group>"; };
+               F517324C03F1B65901120114 /* arcfour.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = arcfour.c; sourceTree = "<group>"; };
+               F517324D03F1B65901120114 /* arcfour.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = arcfour.h; sourceTree = "<group>"; };
+               F517324E03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517324F03F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517325003F1B65901120114 /* string_to_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = string_to_key.c; sourceTree = "<group>"; };
+               F517325103F1B65901120114 /* block_size.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = block_size.c; sourceTree = "<group>"; };
+               F517325203F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517325303F1B65901120114 /* checksum_length.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = checksum_length.c; sourceTree = "<group>"; };
+               F517325403F1B65901120114 /* cksumtype_to_string.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cksumtype_to_string.c; sourceTree = "<group>"; };
+               F517325503F1B65901120114 /* cksumtypes.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cksumtypes.c; sourceTree = "<group>"; };
+               F517325603F1B65901120114 /* cksumtypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cksumtypes.h; sourceTree = "<group>"; };
+               F517325703F1B65901120114 /* coll_proof_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = coll_proof_cksum.c; sourceTree = "<group>"; };
+               F517325803F1B65901120114 /* combine_keys.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = combine_keys.c; sourceTree = "<group>"; };
+               F517325903F1B65901120114 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               F517325B03F1B65901120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F517325C03F1B65901120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F517325D03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517325E03F1B65901120114 /* crc-32.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "crc-32.h"; sourceTree = "<group>"; };
+               F517325F03F1B65901120114 /* crc.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = crc.pl; sourceTree = "<group>"; };
+               F517326003F1B65901120114 /* CRC.pm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = CRC.pm; sourceTree = "<group>"; };
+               F517326103F1B65901120114 /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = "<group>"; };
+               F517326203F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517326303F1B65901120114 /* Poly.pm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = Poly.pm; sourceTree = "<group>"; };
+               F517326403F1B65901120114 /* t_crc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_crc.c; sourceTree = "<group>"; };
+               F517326503F1B65901120114 /* crypto_libinit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = crypto_libinit.c; sourceTree = "<group>"; };
+               F517326603F1B65901120114 /* crypto_libinit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = crypto_libinit.h; sourceTree = "<group>"; };
+               F517326703F1B65901120114 /* decrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = decrypt.c; sourceTree = "<group>"; };
+               F517326803F1B65901120114 /* default_state.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = default_state.c; sourceTree = "<group>"; };
+               F517326A03F1B65901120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F517326B03F1B65901120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F517326C03F1B65901120114 /* afsstring2key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = afsstring2key.c; sourceTree = "<group>"; };
+               F517326D03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517326E03F1B65901120114 /* d3_cbc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = d3_cbc.c; sourceTree = "<group>"; };
+               F517326F03F1B65901120114 /* d3_kysched.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = d3_kysched.c; sourceTree = "<group>"; };
+               F517327003F1B65901120114 /* des_int.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = des_int.h; sourceTree = "<group>"; };
+               F517327103F1B65901120114 /* destest.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = destest.c; sourceTree = "<group>"; };
+               F517327303F1B65901120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F517327403F1B65901120114 /* libdes.doc */ = {isa = PBXFileReference; lastKnownFileType = text; path = libdes.doc; sourceTree = "<group>"; };
+               F517327503F1B65901120114 /* f_cbc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = f_cbc.c; sourceTree = "<group>"; };
+               F517327603F1B65901120114 /* f_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = f_cksum.c; sourceTree = "<group>"; };
+               F517327703F1B65901120114 /* f_parity.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = f_parity.c; sourceTree = "<group>"; };
+               F517327803F1B65901120114 /* f_sched.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = f_sched.c; sourceTree = "<group>"; };
+               F517327903F1B65901120114 /* f_tables.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = f_tables.c; sourceTree = "<group>"; };
+               F517327A03F1B65901120114 /* f_tables.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = f_tables.h; sourceTree = "<group>"; };
+               F517327B03F1B65901120114 /* ISSUES */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ISSUES; sourceTree = "<group>"; };
+               F517327C03F1B65901120114 /* key_sched.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = key_sched.c; sourceTree = "<group>"; };
+               F517327D03F1B65901120114 /* keytest.data */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = keytest.data; sourceTree = "<group>"; };
+               F517327E03F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517327F03F1B65901120114 /* string2key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = string2key.c; sourceTree = "<group>"; };
+               F517328003F1B65901120114 /* t_afss2k.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_afss2k.c; sourceTree = "<group>"; };
+               F517328103F1B65901120114 /* t_verify.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_verify.c; sourceTree = "<group>"; };
+               F517328203F1B65901120114 /* weak_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = weak_key.c; sourceTree = "<group>"; };
+               F517328403F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517328503F1B65901120114 /* checksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = checksum.c; sourceTree = "<group>"; };
+               F517328603F1B65901120114 /* derive.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = derive.c; sourceTree = "<group>"; };
+               F517328703F1B65901120114 /* dk.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = dk.h; sourceTree = "<group>"; };
+               F517328803F1B65901120114 /* dk_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dk_decrypt.c; sourceTree = "<group>"; };
+               F517328903F1B65901120114 /* dk_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dk_encrypt.c; sourceTree = "<group>"; };
+               F517328A03F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517328B03F1B65901120114 /* stringtokey.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = stringtokey.c; sourceTree = "<group>"; };
+               F517328D03F1B65901120114 /* aes.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aes.c; sourceTree = "<group>"; };
+               F517328E03F1B65901120114 /* arcfour.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = arcfour.c; sourceTree = "<group>"; };
+               F517328F03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517329003F1B65901120114 /* des.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = des.c; sourceTree = "<group>"; };
+               F517329103F1B65901120114 /* des3.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = des3.c; sourceTree = "<group>"; };
+               F517329203F1B65901120114 /* enc_provider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = enc_provider.h; sourceTree = "<group>"; };
+               F517329303F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517329403F1B65901120114 /* encrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = encrypt.c; sourceTree = "<group>"; };
+               F517329503F1B65901120114 /* encrypt_length.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = encrypt_length.c; sourceTree = "<group>"; };
+               F517329603F1B65901120114 /* enctype_compare.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = enctype_compare.c; sourceTree = "<group>"; };
+               F517329703F1B65901120114 /* enctype_to_string.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = enctype_to_string.c; sourceTree = "<group>"; };
+               F517329803F1B65901120114 /* etypes.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = etypes.c; sourceTree = "<group>"; };
+               F517329903F1B65901120114 /* etypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = etypes.h; sourceTree = "<group>"; };
+               F517329B03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517329C03F1B65901120114 /* hash_crc32.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hash_crc32.c; sourceTree = "<group>"; };
+               F517329D03F1B65901120114 /* hash_md4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hash_md4.c; sourceTree = "<group>"; };
+               F517329E03F1B65901120114 /* hash_md5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hash_md5.c; sourceTree = "<group>"; };
+               F517329F03F1B65901120114 /* hash_provider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = hash_provider.h; sourceTree = "<group>"; };
+               F51732A003F1B65901120114 /* hash_sha1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hash_sha1.c; sourceTree = "<group>"; };
+               F51732A103F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732A203F1B65901120114 /* hmac.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hmac.c; sourceTree = "<group>"; };
+               F51732A303F1B65901120114 /* ISSUES */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ISSUES; sourceTree = "<group>"; };
+               F51732A403F1B65901120114 /* keyed_checksum_types.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = keyed_checksum_types.c; sourceTree = "<group>"; };
+               F51732A503F1B65901120114 /* keyed_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = keyed_cksum.c; sourceTree = "<group>"; };
+               F51732A703F1B65901120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F51732A803F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51732A903F1B65901120114 /* descbc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = descbc.c; sourceTree = "<group>"; };
+               F51732AA03F1B65901120114 /* hmac_md5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hmac_md5.c; sourceTree = "<group>"; };
+               F51732AB03F1B65901120114 /* k5_md4des.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = k5_md4des.c; sourceTree = "<group>"; };
+               F51732AC03F1B65901120114 /* k5_md5des.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = k5_md5des.c; sourceTree = "<group>"; };
+               F51732AD03F1B65901120114 /* keyhash_provider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = keyhash_provider.h; sourceTree = "<group>"; };
+               F51732AE03F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732AF03F1B65901120114 /* t_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_cksum.c; sourceTree = "<group>"; };
+               F51732B003F1B65901120114 /* make_checksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = make_checksum.c; sourceTree = "<group>"; };
+               F51732B103F1B65901120114 /* make_random_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = make_random_key.c; sourceTree = "<group>"; };
+               F51732B203F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732B403F1B65901120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F51732B503F1B65901120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F51732B603F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51732B703F1B65901120114 /* ISSUES */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ISSUES; sourceTree = "<group>"; };
+               F51732B803F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732B903F1B65901120114 /* md4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = md4.c; sourceTree = "<group>"; };
+               F51732BA03F1B65901120114 /* rsa-md4.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "rsa-md4.h"; sourceTree = "<group>"; };
+               F51732BC03F1B65901120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F51732BD03F1B65901120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F51732BE03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51732BF03F1B65901120114 /* ISSUES */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ISSUES; sourceTree = "<group>"; };
+               F51732C003F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732C103F1B65901120114 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = md5.c; sourceTree = "<group>"; };
+               F51732C203F1B65901120114 /* rsa-md5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "rsa-md5.h"; sourceTree = "<group>"; };
+               F51732C303F1B65901120114 /* t_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_cksum.c; sourceTree = "<group>"; };
+               F51732C403F1B65901120114 /* t_mddriver.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_mddriver.c; sourceTree = "<group>"; };
+               F51732C503F1B65901120114 /* nfold.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = nfold.c; sourceTree = "<group>"; };
+               F51732C703F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51732C803F1B65901120114 /* des_stringtokey.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = des_stringtokey.c; sourceTree = "<group>"; };
+               F51732C903F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732CA03F1B65901120114 /* old.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = old.h; sourceTree = "<group>"; };
+               F51732CB03F1B65901120114 /* old_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = old_decrypt.c; sourceTree = "<group>"; };
+               F51732CC03F1B65901120114 /* old_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = old_encrypt.c; sourceTree = "<group>"; };
+               F51732CD03F1B65901120114 /* old_api_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = old_api_glue.c; sourceTree = "<group>"; };
+               F51732CF03F1B65901120114 /* pbkdf2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pbkdf2.c; sourceTree = "<group>"; };
+               F51732D003F1B65901120114 /* prng.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prng.c; sourceTree = "<group>"; };
+               F51732D203F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51732D303F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732D403F1B65901120114 /* raw.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = raw.h; sourceTree = "<group>"; };
+               F51732D503F1B65901120114 /* raw_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = raw_decrypt.c; sourceTree = "<group>"; };
+               F51732D603F1B65901120114 /* raw_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = raw_encrypt.c; sourceTree = "<group>"; };
+               F51732D903F1B65901120114 /* .cvsignore */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .cvsignore; sourceTree = "<group>"; };
+               F51732DA03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51732DB03F1B65901120114 /* ISSUES */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ISSUES; sourceTree = "<group>"; };
+               F51732DC03F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732DD03F1B65901120114 /* shs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = shs.c; sourceTree = "<group>"; };
+               F51732DE03F1B65901120114 /* shs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = shs.h; sourceTree = "<group>"; };
+               F51732DF03F1B65901120114 /* t_shs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_shs.c; sourceTree = "<group>"; };
+               F51732E003F1B65901120114 /* t_shs3.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_shs3.c; sourceTree = "<group>"; };
+               F51732E103F1B65901120114 /* state.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = state.c; sourceTree = "<group>"; };
+               F51732E203F1B65901120114 /* string_to_cksumtype.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = string_to_cksumtype.c; sourceTree = "<group>"; };
+               F51732E303F1B65901120114 /* string_to_enctype.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = string_to_enctype.c; sourceTree = "<group>"; };
+               F51732E403F1B65901120114 /* string_to_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = string_to_key.c; sourceTree = "<group>"; };
+               F51732E503F1B65901120114 /* t_cts.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_cts.c; sourceTree = "<group>"; };
+               F51732E603F1B65901120114 /* t_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_encrypt.c; sourceTree = "<group>"; };
+               F51732E703F1B65901120114 /* t_hmac.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_hmac.c; sourceTree = "<group>"; };
+               F51732E803F1B65901120114 /* t_nfold.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_nfold.c; sourceTree = "<group>"; };
+               F51732E903F1B65901120114 /* t_pkcs5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_pkcs5.c; sourceTree = "<group>"; };
+               F51732EA03F1B65901120114 /* t_prng.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_prng.c; sourceTree = "<group>"; };
+               F51732EB03F1B65901120114 /* t_prng.comments */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = t_prng.comments; sourceTree = "<group>"; };
+               F51732EC03F1B65901120114 /* t_prng.expected */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = t_prng.expected; sourceTree = "<group>"; };
+               F51732ED03F1B65901120114 /* t_prng.reseedtest */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = t_prng.reseedtest; sourceTree = "<group>"; };
+               F51732EE03F1B65901120114 /* t_prng.reseedtest-comments */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "t_prng.reseedtest-comments"; sourceTree = "<group>"; };
+               F51732EF03F1B65901120114 /* t_prng.reseedtest-expected */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "t_prng.reseedtest-expected"; sourceTree = "<group>"; };
+               F51732F003F1B65901120114 /* t_prng.seed */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = t_prng.seed; sourceTree = "<group>"; };
+               F51732F103F1B65901120114 /* valid_cksumtype.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = valid_cksumtype.c; sourceTree = "<group>"; };
+               F51732F203F1B65901120114 /* valid_enctype.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = valid_enctype.c; sourceTree = "<group>"; };
+               F51732F303F1B65901120114 /* vectors.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vectors.c; sourceTree = "<group>"; };
+               F51732F403F1B65901120114 /* verify_checksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = verify_checksum.c; sourceTree = "<group>"; };
+               F51732F603F1B65901120114 /* ASSUMPTIONS */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ASSUMPTIONS; sourceTree = "<group>"; };
+               F51732F703F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51732F803F1B65901120114 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
+               F51732F903F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51732FA03F1B65901120114 /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
+               F51732FB03F1B65901120114 /* TODO */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = TODO; sourceTree = "<group>"; };
+               F51732FC03F1B65901120114 /* yarrow.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = yarrow.c; sourceTree = "<group>"; };
+               F51732FD03F1B65901120114 /* yarrow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = yarrow.h; sourceTree = "<group>"; };
+               F51732FE03F1B65901120114 /* yarrow.man */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = yarrow.man; sourceTree = "<group>"; };
+               F51732FF03F1B65901120114 /* yarrow.pod */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = yarrow.pod; sourceTree = "<group>"; };
+               F517330003F1B65901120114 /* ycipher.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ycipher.c; sourceTree = "<group>"; };
+               F517330103F1B65901120114 /* ycipher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ycipher.h; sourceTree = "<group>"; };
+               F517330203F1B65901120114 /* yexcep.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = yexcep.h; sourceTree = "<group>"; };
+               F517330303F1B65901120114 /* yhash.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = yhash.h; sourceTree = "<group>"; };
+               F517330403F1B65901120114 /* ylock.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ylock.h; sourceTree = "<group>"; };
+               F517330503F1B65901120114 /* ystate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ystate.h; sourceTree = "<group>"; };
+               F517330603F1B65901120114 /* ytest.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ytest.c; sourceTree = "<group>"; };
+               F517330703F1B65901120114 /* ytypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ytypes.h; sourceTree = "<group>"; };
+               F517330B03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517330C03F1B65901120114 /* cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cksum.c; sourceTree = "<group>"; };
+               F517330D03F1B65901120114 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               F517330E03F1B65901120114 /* des.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = des.c; sourceTree = "<group>"; };
+               F517330F03F1B65901120114 /* enc_dec.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = enc_dec.c; sourceTree = "<group>"; };
+               F517331003F1B65901120114 /* ISSUES */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ISSUES; sourceTree = "<group>"; };
+               F517331103F1B65901120114 /* key_parity.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = key_parity.c; sourceTree = "<group>"; };
+               F517331203F1B65901120114 /* key_sched.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = key_sched.c; sourceTree = "<group>"; };
+               F517331303F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517331403F1B65901120114 /* new_rnd_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = new_rnd_key.c; sourceTree = "<group>"; };
+               F517331503F1B65901120114 /* pcbc_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pcbc_encrypt.c; sourceTree = "<group>"; };
+               F517331603F1B65901120114 /* quad_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = quad_cksum.c; sourceTree = "<group>"; };
+               F517331703F1B65901120114 /* random_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = random_key.c; sourceTree = "<group>"; };
+               F517331803F1B65901120114 /* read_passwd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = read_passwd.c; sourceTree = "<group>"; };
+               F517331903F1B65901120114 /* str_to_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = str_to_key.c; sourceTree = "<group>"; };
+               F517331A03F1B65901120114 /* string2key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = string2key.c; sourceTree = "<group>"; };
+               F517331B03F1B65901120114 /* t_pcbc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_pcbc.c; sourceTree = "<group>"; };
+               F517331C03F1B65901120114 /* t_quad.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_quad.c; sourceTree = "<group>"; };
+               F517331D03F1B65901120114 /* unix_time.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = unix_time.c; sourceTree = "<group>"; };
+               F517331E03F1B65901120114 /* util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util.c; sourceTree = "<group>"; };
+               F517331F03F1B65901120114 /* verify.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = verify.c; sourceTree = "<group>"; };
+               F517332003F1B65901120114 /* weak_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = weak_key.c; sourceTree = "<group>"; };
+               F517332103F1B65901120114 /* exports.crypto */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = exports.crypto; sourceTree = "<group>"; };
+               F517332203F1B65901120114 /* exports.des425 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = exports.des425; sourceTree = "<group>"; };
+               F517332303F1B65901120114 /* exports.kdb5 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = exports.kdb5; sourceTree = "<group>"; };
+               F517332403F1B65901120114 /* exports.krb5 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = exports.krb5; sourceTree = "<group>"; };
+               F517332503F1B65901120114 /* glue4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = glue4.c; sourceTree = "<group>"; };
+               F517332803F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517332D03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517332E03F1B65901120114 /* disp_com_err_status.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = disp_com_err_status.c; sourceTree = "<group>"; };
+               F517332F03F1B65901120114 /* disp_major_status.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = disp_major_status.c; sourceTree = "<group>"; };
+               F517333003F1B65901120114 /* gssapi.hin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = gssapi.hin; sourceTree = "<group>"; };
+               F517333103F1B65901120114 /* gssapi_err_generic.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = gssapi_err_generic.et; sourceTree = "<group>"; };
+               F517333203F1B65901120114 /* gssapi_generic.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gssapi_generic.c; sourceTree = "<group>"; };
+               F517333303F1B65901120114 /* gssapi_generic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_generic.h; sourceTree = "<group>"; };
+               F517333403F1B65901120114 /* gssapiP_generic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapiP_generic.h; sourceTree = "<group>"; };
+               F517333503F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517333603F1B65901120114 /* oid_ops.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = oid_ops.c; sourceTree = "<group>"; };
+               F517333703F1B65901120114 /* rel_buffer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rel_buffer.c; sourceTree = "<group>"; };
+               F517333803F1B65901120114 /* rel_oid_set.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rel_oid_set.c; sourceTree = "<group>"; };
+               F517333903F1B65901120114 /* util_buffer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_buffer.c; sourceTree = "<group>"; };
+               F517333A03F1B65901120114 /* util_canonhost.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_canonhost.c; sourceTree = "<group>"; };
+               F517333B03F1B65901120114 /* util_localhost.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_localhost.c; sourceTree = "<group>"; };
+               F517333C03F1B65901120114 /* util_oid.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_oid.c; sourceTree = "<group>"; };
+               F517333D03F1B65901120114 /* util_ordering.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_ordering.c; sourceTree = "<group>"; };
+               F517333E03F1B65901120114 /* util_set.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_set.c; sourceTree = "<group>"; };
+               F517333F03F1B65901120114 /* util_token.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_token.c; sourceTree = "<group>"; };
+               F517334003F1B65901120114 /* util_validate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_validate.c; sourceTree = "<group>"; };
+               F517334103F1B65901120114 /* utl_nohash_validate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = utl_nohash_validate.c; sourceTree = "<group>"; };
+               F517334203F1B65901120114 /* gss_libinit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gss_libinit.c; sourceTree = "<group>"; };
+               F517334303F1B65901120114 /* gss_libinit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gss_libinit.h; sourceTree = "<group>"; };
+               F517334703F1B65901120114 /* 3des.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = 3des.txt; sourceTree = "<group>"; };
+               F517334803F1B65901120114 /* accept_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = accept_sec_context.c; sourceTree = "<group>"; };
+               F517334903F1B65901120114 /* acquire_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = acquire_cred.c; sourceTree = "<group>"; };
+               F517334A03F1B65901120114 /* add_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = add_cred.c; sourceTree = "<group>"; };
+               F517334B03F1B65901120114 /* canon_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = canon_name.c; sourceTree = "<group>"; };
+               F517334C03F1B65901120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517334D03F1B65901120114 /* compare_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = compare_name.c; sourceTree = "<group>"; };
+               F517334E03F1B65901120114 /* context_time.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = context_time.c; sourceTree = "<group>"; };
+               F517334F03F1B65901120114 /* copy_ccache.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_ccache.c; sourceTree = "<group>"; };
+               F517335003F1B65901120114 /* delete_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = delete_sec_context.c; sourceTree = "<group>"; };
+               F517335103F1B65901120114 /* disp_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = disp_name.c; sourceTree = "<group>"; };
+               F517335203F1B65901120114 /* disp_status.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = disp_status.c; sourceTree = "<group>"; };
+               F517335303F1B65901120114 /* duplicate_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = duplicate_name.c; sourceTree = "<group>"; };
+               F517335403F1B65901120114 /* export_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = export_name.c; sourceTree = "<group>"; };
+               F517335503F1B65901120114 /* export_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = export_sec_context.c; sourceTree = "<group>"; };
+               F517335603F1B65901120114 /* get_tkt_flags.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get_tkt_flags.c; sourceTree = "<group>"; };
+               F517335703F1B65901120114 /* gssapi_err_krb5.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = gssapi_err_krb5.et; sourceTree = "<group>"; };
+               F517335803F1B65901120114 /* gssapi_krb5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gssapi_krb5.c; sourceTree = "<group>"; };
+               F517335903F1B65901120114 /* gssapi_krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_krb5.h; sourceTree = "<group>"; };
+               F517335A03F1B65901120114 /* gssapiP_krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapiP_krb5.h; sourceTree = "<group>"; };
+               F517335B03F1B65901120114 /* import_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = import_name.c; sourceTree = "<group>"; };
+               F517335C03F1B65901120114 /* import_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = import_sec_context.c; sourceTree = "<group>"; };
+               F517335D03F1B65901120114 /* indicate_mechs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = indicate_mechs.c; sourceTree = "<group>"; };
+               F517335E03F1B65901120114 /* init_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = init_sec_context.c; sourceTree = "<group>"; };
+               F517335F03F1B65901120114 /* inq_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inq_context.c; sourceTree = "<group>"; };
+               F517336003F1B65901120114 /* inq_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inq_cred.c; sourceTree = "<group>"; };
+               F517336103F1B65901120114 /* inq_names.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inq_names.c; sourceTree = "<group>"; };
+               F517336203F1B65901120114 /* k5seal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = k5seal.c; sourceTree = "<group>"; };
+               F517336303F1B65901120114 /* k5unseal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = k5unseal.c; sourceTree = "<group>"; };
+               F517336403F1B65901120114 /* krb5_gss_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krb5_gss_glue.c; sourceTree = "<group>"; };
+               F517336503F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517336603F1B65901120114 /* process_context_token.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = process_context_token.c; sourceTree = "<group>"; };
+               F517336703F1B65901120114 /* rel_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rel_cred.c; sourceTree = "<group>"; };
+               F517336803F1B65901120114 /* rel_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rel_name.c; sourceTree = "<group>"; };
+               F517336903F1B65901120114 /* rel_oid.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rel_oid.c; sourceTree = "<group>"; };
+               F517336A03F1B65901120114 /* seal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seal.c; sourceTree = "<group>"; };
+               F517336B03F1B65901120114 /* ser_sctx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_sctx.c; sourceTree = "<group>"; };
+               F517336C03F1B65901120114 /* set_ccache.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = set_ccache.c; sourceTree = "<group>"; };
+               F517336D03F1B65901120114 /* sign.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sign.c; sourceTree = "<group>"; };
+               F517336E03F1B65901120114 /* unseal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = unseal.c; sourceTree = "<group>"; };
+               F517336F03F1B65901120114 /* util_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_cksum.c; sourceTree = "<group>"; };
+               F517337003F1B65901120114 /* util_crypt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_crypt.c; sourceTree = "<group>"; };
+               F517337103F1B65901120114 /* util_seed.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_seed.c; sourceTree = "<group>"; };
+               F517337203F1B65901120114 /* util_seqnum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util_seqnum.c; sourceTree = "<group>"; };
+               F517337303F1B65901120114 /* val_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = val_cred.c; sourceTree = "<group>"; };
+               F517337403F1B65901120114 /* verify.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = verify.c; sourceTree = "<group>"; };
+               F517337503F1B65901120114 /* wrap_size_limit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = wrap_size_limit.c; sourceTree = "<group>"; };
+               F517337603F1B65901120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517337803F1B65A01120114 /* .Sanitize */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = .Sanitize; sourceTree = "<group>"; };
+               F517337903F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517337A03F1B65A01120114 /* g_accept_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_accept_sec_context.c; sourceTree = "<group>"; };
+               F517337B03F1B65A01120114 /* g_acquire_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_acquire_cred.c; sourceTree = "<group>"; };
+               F517337C03F1B65A01120114 /* g_compare_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_compare_name.c; sourceTree = "<group>"; };
+               F517337D03F1B65A01120114 /* g_context_time.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_context_time.c; sourceTree = "<group>"; };
+               F517337E03F1B65A01120114 /* g_delete_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_delete_sec_context.c; sourceTree = "<group>"; };
+               F517337F03F1B65A01120114 /* g_dsp_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_dsp_name.c; sourceTree = "<group>"; };
+               F517338003F1B65A01120114 /* g_dsp_status.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_dsp_status.c; sourceTree = "<group>"; };
+               F517338103F1B65A01120114 /* g_exp_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_exp_sec_context.c; sourceTree = "<group>"; };
+               F517338203F1B65A01120114 /* g_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_glue.c; sourceTree = "<group>"; };
+               F517338303F1B65A01120114 /* g_imp_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_imp_name.c; sourceTree = "<group>"; };
+               F517338403F1B65A01120114 /* g_imp_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_imp_sec_context.c; sourceTree = "<group>"; };
+               F517338503F1B65A01120114 /* g_indicate_mechs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_indicate_mechs.c; sourceTree = "<group>"; };
+               F517338603F1B65A01120114 /* g_init_sec_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_init_sec_context.c; sourceTree = "<group>"; };
+               F517338703F1B65A01120114 /* g_initialize.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_initialize.c; sourceTree = "<group>"; };
+               F517338803F1B65A01120114 /* g_inq_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_inq_context.c; sourceTree = "<group>"; };
+               F517338903F1B65A01120114 /* g_inq_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_inq_cred.c; sourceTree = "<group>"; };
+               F517338A03F1B65A01120114 /* g_inq_names.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_inq_names.c; sourceTree = "<group>"; };
+               F517338B03F1B65A01120114 /* g_mechname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_mechname.c; sourceTree = "<group>"; };
+               F517338C03F1B65A01120114 /* g_oid_ops.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_oid_ops.c; sourceTree = "<group>"; };
+               F517338D03F1B65A01120114 /* g_process_context.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_process_context.c; sourceTree = "<group>"; };
+               F517338E03F1B65A01120114 /* g_rel_buffer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_rel_buffer.c; sourceTree = "<group>"; };
+               F517338F03F1B65A01120114 /* g_rel_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_rel_cred.c; sourceTree = "<group>"; };
+               F517339003F1B65A01120114 /* g_rel_name.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_rel_name.c; sourceTree = "<group>"; };
+               F517339103F1B65A01120114 /* g_rel_oid_set.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_rel_oid_set.c; sourceTree = "<group>"; };
+               F517339203F1B65A01120114 /* g_seal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_seal.c; sourceTree = "<group>"; };
+               F517339303F1B65A01120114 /* g_sign.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_sign.c; sourceTree = "<group>"; };
+               F517339403F1B65A01120114 /* g_unseal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_unseal.c; sourceTree = "<group>"; };
+               F517339503F1B65A01120114 /* g_verify.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_verify.c; sourceTree = "<group>"; };
+               F517339603F1B65A01120114 /* gen_oids.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gen_oids.c; sourceTree = "<group>"; };
+               F517339703F1B65A01120114 /* gssd_pname_to_uid.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gssd_pname_to_uid.c; sourceTree = "<group>"; };
+               F517339803F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517339903F1B65A01120114 /* mech.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = mech.conf; sourceTree = "<group>"; };
+               F517339A03F1B65A01120114 /* mechglue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mechglue.h; sourceTree = "<group>"; };
+               F517339B03F1B65A01120114 /* mglueP.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mglueP.h; sourceTree = "<group>"; };
+               F517339C03F1B65A01120114 /* oid_ops.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = oid_ops.c; sourceTree = "<group>"; };
+               F517339D03F1B65A01120114 /* README_SAMPLE_APP */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README_SAMPLE_APP; sourceTree = "<group>"; };
+               F517342303F1B65A01120114 /* ad_print.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ad_print.c; sourceTree = "<group>"; };
+               F517342403F1B65A01120114 /* CCache-glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "CCache-glue.c"; sourceTree = "<group>"; };
+               F517342503F1B65A01120114 /* change_password.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = change_password.c; sourceTree = "<group>"; };
+               F517342603F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517342703F1B65A01120114 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               F517342803F1B65A01120114 /* cr_auth_repl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cr_auth_repl.c; sourceTree = "<group>"; };
+               F517342903F1B65A01120114 /* cr_ciph.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cr_ciph.c; sourceTree = "<group>"; };
+               F517342A03F1B65A01120114 /* cr_death_pkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cr_death_pkt.c; sourceTree = "<group>"; };
+               F517342B03F1B65A01120114 /* cr_err_repl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cr_err_repl.c; sourceTree = "<group>"; };
+               F517342C03F1B65A01120114 /* cr_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cr_tkt.c; sourceTree = "<group>"; };
+               F517342D03F1B65A01120114 /* debug.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = debug.c; sourceTree = "<group>"; };
+               F517342E03F1B65A01120114 /* decomp_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = decomp_tkt.c; sourceTree = "<group>"; };
+               F517342F03F1B65A01120114 /* dest_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dest_tkt.c; sourceTree = "<group>"; };
+               F517343003F1B65A01120114 /* err_txt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = err_txt.c; sourceTree = "<group>"; };
+               F517343103F1B65A01120114 /* fakeenv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fakeenv.c; sourceTree = "<group>"; };
+               F517343203F1B65A01120114 /* fgetst.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fgetst.c; sourceTree = "<group>"; };
+               F517343303F1B65A01120114 /* FSp-glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "FSp-glue.c"; sourceTree = "<group>"; };
+               F517343403F1B65A01120114 /* g_ad_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_ad_tkt.c; sourceTree = "<group>"; };
+               F517343503F1B65A01120114 /* g_cnffile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_cnffile.c; sourceTree = "<group>"; };
+               F517343603F1B65A01120114 /* g_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_cred.c; sourceTree = "<group>"; };
+               F517343703F1B65A01120114 /* g_in_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_in_tkt.c; sourceTree = "<group>"; };
+               F517343803F1B65A01120114 /* g_phost.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_phost.c; sourceTree = "<group>"; };
+               F517343903F1B65A01120114 /* g_pw_in_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_pw_in_tkt.c; sourceTree = "<group>"; };
+               F517343A03F1B65A01120114 /* g_pw_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_pw_tkt.c; sourceTree = "<group>"; };
+               F517343B03F1B65A01120114 /* g_svc_in_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_svc_in_tkt.c; sourceTree = "<group>"; };
+               F517343C03F1B65A01120114 /* g_tf_fname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_tf_fname.c; sourceTree = "<group>"; };
+               F517343D03F1B65A01120114 /* g_tf_realm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_tf_realm.c; sourceTree = "<group>"; };
+               F517343E03F1B65A01120114 /* g_tkt_svc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = g_tkt_svc.c; sourceTree = "<group>"; };
+               F517343F03F1B65A01120114 /* gethostname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gethostname.c; sourceTree = "<group>"; };
+               F517344003F1B65A01120114 /* getst.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = getst.c; sourceTree = "<group>"; };
+               F517344103F1B65A01120114 /* in_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = in_tkt.c; sourceTree = "<group>"; };
+               F517344203F1B65A01120114 /* kadm_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kadm_err.et; sourceTree = "<group>"; };
+               F517344303F1B65A01120114 /* kadm_net.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_net.c; sourceTree = "<group>"; };
+               F517344403F1B65A01120114 /* kadm_stream.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_stream.c; sourceTree = "<group>"; };
+               F517344503F1B65A01120114 /* klog.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = klog.c; sourceTree = "<group>"; };
+               F517344603F1B65A01120114 /* kname_parse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kname_parse.c; sourceTree = "<group>"; };
+               F517344703F1B65A01120114 /* kntoln.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kntoln.c; sourceTree = "<group>"; };
+               F517344803F1B65A01120114 /* kparse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kparse.c; sourceTree = "<group>"; };
+               F517344903F1B65A01120114 /* krb4int.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb4int.h; sourceTree = "<group>"; };
+               F517344A03F1B65A01120114 /* krb_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb_err.et; sourceTree = "<group>"; };
+               F517344B03F1B65A01120114 /* kuserok.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kuserok.c; sourceTree = "<group>"; };
+               F517344C03F1B65A01120114 /* lifetime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = lifetime.c; sourceTree = "<group>"; };
+               F517344D03F1B65A01120114 /* log.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = log.c; sourceTree = "<group>"; };
+               F517344E03F1B65A01120114 /* mac_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mac_glue.c; sourceTree = "<group>"; };
+               F517344F03F1B65A01120114 /* mac_store.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mac_store.c; sourceTree = "<group>"; };
+               F517345003F1B65A01120114 /* mac_store.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mac_store.h; sourceTree = "<group>"; };
+               F517345103F1B65A01120114 /* mac_stubs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mac_stubs.c; sourceTree = "<group>"; };
+               F517345203F1B65A01120114 /* mac_time.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mac_time.c; sourceTree = "<group>"; };
+               F517345303F1B65A01120114 /* macsock.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = macsock.c; sourceTree = "<group>"; };
+               F517345403F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517345503F1B65A01120114 /* memcache.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = memcache.c; sourceTree = "<group>"; };
+               F517345603F1B65A01120114 /* memcache.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = memcache.h; sourceTree = "<group>"; };
+               F517345703F1B65A01120114 /* mk_auth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_auth.c; sourceTree = "<group>"; };
+               F517345803F1B65A01120114 /* mk_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_err.c; sourceTree = "<group>"; };
+               F517345903F1B65A01120114 /* mk_preauth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_preauth.c; sourceTree = "<group>"; };
+               F517345A03F1B65A01120114 /* mk_priv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_priv.c; sourceTree = "<group>"; };
+               F517345B03F1B65A01120114 /* mk_req.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_req.c; sourceTree = "<group>"; };
+               F517345C03F1B65A01120114 /* mk_safe.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_safe.c; sourceTree = "<group>"; };
+               F517345D03F1B65A01120114 /* month_sname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = month_sname.c; sourceTree = "<group>"; };
+               F517345E03F1B65A01120114 /* netread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = netread.c; sourceTree = "<group>"; };
+               F517345F03F1B65A01120114 /* netwrite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = netwrite.c; sourceTree = "<group>"; };
+               F517346003F1B65A01120114 /* Password.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = Password.c; sourceTree = "<group>"; };
+               F517346103F1B65A01120114 /* password_to_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = password_to_key.c; sourceTree = "<group>"; };
+               F517346203F1B65A01120114 /* pkt_cipher.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pkt_cipher.c; sourceTree = "<group>"; };
+               F517346303F1B65A01120114 /* pkt_clen.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pkt_clen.c; sourceTree = "<group>"; };
+               F517346403F1B65A01120114 /* prot_client.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prot_client.c; sourceTree = "<group>"; };
+               F517346503F1B65A01120114 /* prot_common.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prot_common.c; sourceTree = "<group>"; };
+               F517346603F1B65A01120114 /* prot_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prot_kdc.c; sourceTree = "<group>"; };
+               F517346703F1B65A01120114 /* put_svc_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = put_svc_key.c; sourceTree = "<group>"; };
+               F517346803F1B65A01120114 /* rd_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_err.c; sourceTree = "<group>"; };
+               F517346903F1B65A01120114 /* rd_preauth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_preauth.c; sourceTree = "<group>"; };
+               F517346A03F1B65A01120114 /* rd_priv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_priv.c; sourceTree = "<group>"; };
+               F517346B03F1B65A01120114 /* rd_req.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_req.c; sourceTree = "<group>"; };
+               F517346C03F1B65A01120114 /* rd_safe.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_safe.c; sourceTree = "<group>"; };
+               F517346D03F1B65A01120114 /* rd_svc_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_svc_key.c; sourceTree = "<group>"; };
+               F517346E03F1B65A01120114 /* RealmsConfig-glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "RealmsConfig-glue.c"; sourceTree = "<group>"; };
+               F517346F03F1B65A01120114 /* recvauth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = recvauth.c; sourceTree = "<group>"; };
+               F517347003F1B65A01120114 /* ren-cyg.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "ren-cyg.sh"; sourceTree = "<group>"; };
+               F517347103F1B65A01120114 /* ren-pc.bat */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "ren-pc.bat"; sourceTree = "<group>"; };
+               F517347203F1B65A01120114 /* ren-pc.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "ren-pc.sh"; sourceTree = "<group>"; };
+               F517347303F1B65A01120114 /* ren-pl10.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "ren-pl10.sh"; sourceTree = "<group>"; };
+               F517347403F1B65A01120114 /* ren.msg */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ren.msg; sourceTree = "<group>"; };
+               F517347503F1B65A01120114 /* ren2dos.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = ren2dos.sh; sourceTree = "<group>"; };
+               F517347603F1B65A01120114 /* ren2long.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = ren2long.sh; sourceTree = "<group>"; };
+               F517347703F1B65A01120114 /* save_creds.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = save_creds.c; sourceTree = "<group>"; };
+               F517347803F1B65A01120114 /* sed-cyg.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "sed-cyg.sh"; sourceTree = "<group>"; };
+               F517347903F1B65A01120114 /* sed-pc.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "sed-pc.sh"; sourceTree = "<group>"; };
+               F517347A03F1B65A01120114 /* sed-pl10.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "sed-pl10.sh"; sourceTree = "<group>"; };
+               F517347B03F1B65A01120114 /* send_to_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = send_to_kdc.c; sourceTree = "<group>"; };
+               F517347C03F1B65A01120114 /* sendauth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sendauth.c; sourceTree = "<group>"; };
+               F517347D03F1B65A01120114 /* setenv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = setenv.c; sourceTree = "<group>"; };
+               F517347E03F1B65A01120114 /* stime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = stime.c; sourceTree = "<group>"; };
+               F517347F03F1B65A01120114 /* strcasecmp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strcasecmp.c; sourceTree = "<group>"; };
+               F517348003F1B65A01120114 /* strnlen.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strnlen.c; sourceTree = "<group>"; };
+               F517348103F1B65A01120114 /* swab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = swab.c; sourceTree = "<group>"; };
+               F517348203F1B65A01120114 /* tf_shm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tf_shm.c; sourceTree = "<group>"; };
+               F517348303F1B65A01120114 /* tf_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tf_util.c; sourceTree = "<group>"; };
+               F517348403F1B65A01120114 /* tkt_string.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tkt_string.c; sourceTree = "<group>"; };
+               F517348503F1B65A01120114 /* unix_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = unix_glue.c; sourceTree = "<group>"; };
+               F517348603F1B65A01120114 /* unix_time.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = unix_time.c; sourceTree = "<group>"; };
+               F517348703F1B65A01120114 /* vmslink.com */ = {isa = PBXFileReference; lastKnownFileType = text; path = vmslink.com; sourceTree = "<group>"; };
+               F517348803F1B65A01120114 /* vmsswab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vmsswab.c; sourceTree = "<group>"; };
+               F517348903F1B65A01120114 /* win_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = win_glue.c; sourceTree = "<group>"; };
+               F517348A03F1B65A01120114 /* win_store.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = win_store.c; sourceTree = "<group>"; };
+               F517348B03F1B65A01120114 /* win_time.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = win_time.c; sourceTree = "<group>"; };
+               F517349403F1B65A01120114 /* asn1_decode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_decode.c; sourceTree = "<group>"; };
+               F517349503F1B65A01120114 /* asn1_decode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_decode.h; sourceTree = "<group>"; };
+               F517349603F1B65A01120114 /* asn1_encode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_encode.c; sourceTree = "<group>"; };
+               F517349703F1B65A01120114 /* asn1_encode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_encode.h; sourceTree = "<group>"; };
+               F517349803F1B65A01120114 /* asn1_get.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_get.c; sourceTree = "<group>"; };
+               F517349903F1B65A01120114 /* asn1_get.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_get.h; sourceTree = "<group>"; };
+               F517349A03F1B65A01120114 /* asn1_k_decode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_k_decode.c; sourceTree = "<group>"; };
+               F517349B03F1B65A01120114 /* asn1_k_decode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_k_decode.h; sourceTree = "<group>"; };
+               F517349C03F1B65A01120114 /* asn1_k_encode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_k_encode.c; sourceTree = "<group>"; };
+               F517349D03F1B65A01120114 /* asn1_k_encode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_k_encode.h; sourceTree = "<group>"; };
+               F517349E03F1B65A01120114 /* asn1_make.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_make.c; sourceTree = "<group>"; };
+               F517349F03F1B65A01120114 /* asn1_make.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_make.h; sourceTree = "<group>"; };
+               F51734A003F1B65A01120114 /* asn1_misc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_misc.c; sourceTree = "<group>"; };
+               F51734A103F1B65A01120114 /* asn1_misc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_misc.h; sourceTree = "<group>"; };
+               F51734A203F1B65A01120114 /* asn1buf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1buf.c; sourceTree = "<group>"; };
+               F51734A303F1B65A01120114 /* asn1buf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1buf.h; sourceTree = "<group>"; };
+               F51734A403F1B65A01120114 /* asn1glue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1glue.h; sourceTree = "<group>"; };
+               F51734A503F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51734A603F1B65A01120114 /* KRB5-asn.py */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.python; path = "KRB5-asn.py"; sourceTree = "<group>"; };
+               F51734A703F1B65A01120114 /* krb5_decode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krb5_decode.c; sourceTree = "<group>"; };
+               F51734A803F1B65A01120114 /* krb5_encode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krb5_encode.c; sourceTree = "<group>"; };
+               F51734A903F1B65A01120114 /* krbasn1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krbasn1.h; sourceTree = "<group>"; };
+               F51734AA03F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51734AE03F1B65A01120114 /* cc_file.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cc_file.c; sourceTree = "<group>"; };
+               F51734AF03F1B65A01120114 /* cc_memory.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cc_memory.c; sourceTree = "<group>"; };
+               F51734B003F1B65A01120114 /* cc_retr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cc_retr.c; sourceTree = "<group>"; };
+               F51734B203F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51734B303F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51734B403F1B65A01120114 /* stdcc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = stdcc.c; sourceTree = "<group>"; };
+               F51734B503F1B65A01120114 /* stdcc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stdcc.h; sourceTree = "<group>"; };
+               F51734B603F1B65A01120114 /* stdcc_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = stdcc_util.c; sourceTree = "<group>"; };
+               F51734B703F1B65A01120114 /* stdcc_util.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stdcc_util.h; sourceTree = "<group>"; };
+               F51734B803F1B65A01120114 /* winccld.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = winccld.c; sourceTree = "<group>"; };
+               F51734B903F1B65A01120114 /* winccld.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = winccld.h; sourceTree = "<group>"; };
+               F51734BA03F1B65A01120114 /* ccbase.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ccbase.c; sourceTree = "<group>"; };
+               F51734BB03F1B65A01120114 /* cccopy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cccopy.c; sourceTree = "<group>"; };
+               F51734BC03F1B65A01120114 /* ccdefault.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ccdefault.c; sourceTree = "<group>"; };
+               F51734BD03F1B65A01120114 /* ccdefops.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ccdefops.c; sourceTree = "<group>"; };
+               F51734BE03F1B65A01120114 /* ccfns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ccfns.c; sourceTree = "<group>"; };
+               F51734BF03F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51734C003F1B65A01120114 /* fcc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fcc.h; sourceTree = "<group>"; };
+               F51734C203F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51734C403F1B65A01120114 /* scc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = scc.h; sourceTree = "<group>"; };
+               F51734C503F1B65A01120114 /* ser_cc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_cc.c; sourceTree = "<group>"; };
+               F51734C703F1B65A01120114 /* t_cc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_cc.c; sourceTree = "<group>"; };
+               F51734C803F1B65A01120114 /* t_file.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_file.c; sourceTree = "<group>"; };
+               F51734C903F1B65A01120114 /* t_memory.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_memory.c; sourceTree = "<group>"; };
+               F51734CA03F1B65A01120114 /* t_stdio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_stdio.c; sourceTree = "<group>"; };
+               F51734CB03F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51734CC03F1B65A01120114 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               F51734D103F1B65A01120114 /* asn1_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = asn1_err.et; sourceTree = "<group>"; };
+               F51734D203F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51734D303F1B65A01120114 /* init_ets.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = init_ets.c; sourceTree = "<group>"; };
+               F51734D403F1B65A01120114 /* kdb5_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kdb5_err.et; sourceTree = "<group>"; };
+               F51734D503F1B65A01120114 /* krb5_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5_err.et; sourceTree = "<group>"; };
+               F51734D603F1B65A01120114 /* kv5m_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = kv5m_err.et; sourceTree = "<group>"; };
+               F51734D703F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51734DB03F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51734DE03F1B65A01120114 /* kt_file.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kt_file.c; sourceTree = "<group>"; };
+               F51734DF03F1B65A01120114 /* kt_srvtab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kt_srvtab.c; sourceTree = "<group>"; };
+               F51734E003F1B65A01120114 /* ktadd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktadd.c; sourceTree = "<group>"; };
+               F51734E103F1B65A01120114 /* ktbase.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktbase.c; sourceTree = "<group>"; };
+               F51734E203F1B65A01120114 /* ktdefault.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktdefault.c; sourceTree = "<group>"; };
+               F51734E303F1B65A01120114 /* ktfns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktfns.c; sourceTree = "<group>"; };
+               F51734E403F1B65A01120114 /* ktfr_entry.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktfr_entry.c; sourceTree = "<group>"; };
+               F51734E503F1B65A01120114 /* ktremove.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktremove.c; sourceTree = "<group>"; };
+               F51734E603F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51734E703F1B65A01120114 /* read_servi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = read_servi.c; sourceTree = "<group>"; };
+               F51734EC03F1B65A01120114 /* addr_comp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = addr_comp.c; sourceTree = "<group>"; };
+               F51734ED03F1B65A01120114 /* addr_order.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = addr_order.c; sourceTree = "<group>"; };
+               F51734EE03F1B65A01120114 /* addr_srch.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = addr_srch.c; sourceTree = "<group>"; };
+               F51734EF03F1B65A01120114 /* appdefault.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = appdefault.c; sourceTree = "<group>"; };
+               F51734F003F1B65A01120114 /* auth_con.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = auth_con.c; sourceTree = "<group>"; };
+               F51734F103F1B65A01120114 /* auth_con.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = auth_con.h; sourceTree = "<group>"; };
+               F51734F203F1B65A01120114 /* bld_pr_ext.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = bld_pr_ext.c; sourceTree = "<group>"; };
+               F51734F303F1B65A01120114 /* bld_princ.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = bld_princ.c; sourceTree = "<group>"; };
+               F51734F403F1B65A01120114 /* brand.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = brand.c; sourceTree = "<group>"; };
+               F51734F503F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51734F603F1B65A01120114 /* chk_trans.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = chk_trans.c; sourceTree = "<group>"; };
+               F51734F703F1B65A01120114 /* chpw.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = chpw.c; sourceTree = "<group>"; };
+               F51734F803F1B65A01120114 /* cleanup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cleanup.h; sourceTree = "<group>"; };
+               F51734F903F1B65A01120114 /* conv_princ.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = conv_princ.c; sourceTree = "<group>"; };
+               F51734FA03F1B65A01120114 /* copy_addrs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_addrs.c; sourceTree = "<group>"; };
+               F51734FB03F1B65A01120114 /* copy_athctr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_athctr.c; sourceTree = "<group>"; };
+               F51734FC03F1B65A01120114 /* copy_auth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_auth.c; sourceTree = "<group>"; };
+               F51734FD03F1B65A01120114 /* copy_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_cksum.c; sourceTree = "<group>"; };
+               F51734FE03F1B65A01120114 /* copy_creds.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_creds.c; sourceTree = "<group>"; };
+               F51734FF03F1B65A01120114 /* copy_data.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_data.c; sourceTree = "<group>"; };
+               F517350003F1B65A01120114 /* copy_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_key.c; sourceTree = "<group>"; };
+               F517350103F1B65A01120114 /* copy_princ.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_princ.c; sourceTree = "<group>"; };
+               F517350203F1B65A01120114 /* copy_tick.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = copy_tick.c; sourceTree = "<group>"; };
+               F517350303F1B65A01120114 /* cp_key_cnt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cp_key_cnt.c; sourceTree = "<group>"; };
+               F517350403F1B65A01120114 /* decode_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = decode_kdc.c; sourceTree = "<group>"; };
+               F517350503F1B65A01120114 /* decrypt_tk.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = decrypt_tk.c; sourceTree = "<group>"; };
+               F517350603F1B65A01120114 /* deltat.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = deltat.c; sourceTree = "<group>"; };
+               F517350703F1B65A01120114 /* enc_helper.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = enc_helper.c; sourceTree = "<group>"; };
+               F517350803F1B65A01120114 /* encode_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = encode_kdc.c; sourceTree = "<group>"; };
+               F517350903F1B65A01120114 /* encrypt_tk.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = encrypt_tk.c; sourceTree = "<group>"; };
+               F517350A03F1B65A01120114 /* free_rtree.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = free_rtree.c; sourceTree = "<group>"; };
+               F517350B03F1B65A01120114 /* fwd_tgt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fwd_tgt.c; sourceTree = "<group>"; };
+               F517350C03F1B65A01120114 /* gc_frm_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gc_frm_kdc.c; sourceTree = "<group>"; };
+               F517350D03F1B65A01120114 /* gc_via_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gc_via_tkt.c; sourceTree = "<group>"; };
+               F517350E03F1B65A01120114 /* gen_seqnum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gen_seqnum.c; sourceTree = "<group>"; };
+               F517350F03F1B65A01120114 /* gen_subkey.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gen_subkey.c; sourceTree = "<group>"; };
+               F517351003F1B65A01120114 /* get_creds.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get_creds.c; sourceTree = "<group>"; };
+               F517351103F1B65A01120114 /* get_in_tkt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get_in_tkt.c; sourceTree = "<group>"; };
+               F517351203F1B65A01120114 /* gic_keytab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gic_keytab.c; sourceTree = "<group>"; };
+               F517351303F1B65A01120114 /* gic_opt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gic_opt.c; sourceTree = "<group>"; };
+               F517351403F1B65A01120114 /* gic_pwd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gic_pwd.c; sourceTree = "<group>"; };
+               F517351703F1B65A01120114 /* in_tkt_sky.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = in_tkt_sky.c; sourceTree = "<group>"; };
+               F517351803F1B65A01120114 /* init_ctx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = init_ctx.c; sourceTree = "<group>"; };
+               F517351903F1B65A01120114 /* init_keyblock.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = init_keyblock.c; sourceTree = "<group>"; };
+               F517351A03F1B65A01120114 /* int-proto.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "int-proto.h"; sourceTree = "<group>"; };
+               F517351B03F1B65A01120114 /* kdc_rep_dc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kdc_rep_dc.c; sourceTree = "<group>"; };
+               F517351C03F1B65A01120114 /* kfree.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kfree.c; sourceTree = "<group>"; };
+               F517351D03F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517351E03F1B65A01120114 /* mk_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_cred.c; sourceTree = "<group>"; };
+               F517351F03F1B65A01120114 /* mk_error.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_error.c; sourceTree = "<group>"; };
+               F517352003F1B65A01120114 /* mk_priv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_priv.c; sourceTree = "<group>"; };
+               F517352103F1B65A01120114 /* mk_rep.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_rep.c; sourceTree = "<group>"; };
+               F517352203F1B65A01120114 /* mk_req.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_req.c; sourceTree = "<group>"; };
+               F517352303F1B65A01120114 /* mk_req_ext.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_req_ext.c; sourceTree = "<group>"; };
+               F517352403F1B65A01120114 /* mk_safe.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_safe.c; sourceTree = "<group>"; };
+               F517352503F1B65A01120114 /* parse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = parse.c; sourceTree = "<group>"; };
+               F517352603F1B65A01120114 /* pr_to_salt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pr_to_salt.c; sourceTree = "<group>"; };
+               F517352703F1B65A01120114 /* preauth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = preauth.c; sourceTree = "<group>"; };
+               F517352803F1B65A01120114 /* preauth2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = preauth2.c; sourceTree = "<group>"; };
+               F517352903F1B65A01120114 /* princ_comp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = princ_comp.c; sourceTree = "<group>"; };
+               F517352A03F1B65A01120114 /* rd_cred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_cred.c; sourceTree = "<group>"; };
+               F517352B03F1B65A01120114 /* rd_error.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_error.c; sourceTree = "<group>"; };
+               F517352C03F1B65A01120114 /* rd_priv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_priv.c; sourceTree = "<group>"; };
+               F517352D03F1B65A01120114 /* rd_rep.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_rep.c; sourceTree = "<group>"; };
+               F517352E03F1B65A01120114 /* rd_req.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_req.c; sourceTree = "<group>"; };
+               F517352F03F1B65A01120114 /* rd_req_dec.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_req_dec.c; sourceTree = "<group>"; };
+               F517353003F1B65A01120114 /* rd_safe.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rd_safe.c; sourceTree = "<group>"; };
+               F517353103F1B65A01120114 /* recvauth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = recvauth.c; sourceTree = "<group>"; };
+               F517353203F1B65A01120114 /* send_tgs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = send_tgs.c; sourceTree = "<group>"; };
+               F517353303F1B65A01120114 /* sendauth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sendauth.c; sourceTree = "<group>"; };
+               F517353403F1B65A01120114 /* ser_actx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_actx.c; sourceTree = "<group>"; };
+               F517353503F1B65A01120114 /* ser_adata.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_adata.c; sourceTree = "<group>"; };
+               F517353603F1B65A01120114 /* ser_addr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_addr.c; sourceTree = "<group>"; };
+               F517353703F1B65A01120114 /* ser_auth.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_auth.c; sourceTree = "<group>"; };
+               F517353803F1B65A01120114 /* ser_cksum.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_cksum.c; sourceTree = "<group>"; };
+               F517353903F1B65A01120114 /* ser_ctx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_ctx.c; sourceTree = "<group>"; };
+               F517353A03F1B65A01120114 /* ser_eblk.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_eblk.c; sourceTree = "<group>"; };
+               F517353B03F1B65A01120114 /* ser_key.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_key.c; sourceTree = "<group>"; };
+               F517353C03F1B65A01120114 /* ser_princ.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_princ.c; sourceTree = "<group>"; };
+               F517353D03F1B65A01120114 /* serialize.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = serialize.c; sourceTree = "<group>"; };
+               F517353E03F1B65A01120114 /* set_realm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = set_realm.c; sourceTree = "<group>"; };
+               F517353F03F1B65A01120114 /* srv_rcache.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = srv_rcache.c; sourceTree = "<group>"; };
+               F517354003F1B65A01120114 /* str_conv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = str_conv.c; sourceTree = "<group>"; };
+               F517354103F1B65A01120114 /* strftime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strftime.c; sourceTree = "<group>"; };
+               F517354203F1B65A01120114 /* strptime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strptime.c; sourceTree = "<group>"; };
+               F517354303F1B65A01120114 /* t_deltat.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_deltat.c; sourceTree = "<group>"; };
+               F517354403F1B65A01120114 /* t_expand.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_expand.c; sourceTree = "<group>"; };
+               F517354503F1B65A01120114 /* t_kerb.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_kerb.c; sourceTree = "<group>"; };
+               F517354603F1B65A01120114 /* t_krb5.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = t_krb5.conf; sourceTree = "<group>"; };
+               F517354703F1B65A01120114 /* t_ref_kerb.out */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = t_ref_kerb.out; sourceTree = "<group>"; };
+               F517354803F1B65A01120114 /* t_ser.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_ser.c; sourceTree = "<group>"; };
+               F517354903F1B65A01120114 /* t_walk_rtree.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_walk_rtree.c; sourceTree = "<group>"; };
+               F517354A03F1B65A01120114 /* tgtname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tgtname.c; sourceTree = "<group>"; };
+               F517354B03F1B65A01120114 /* transit-tests */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "transit-tests"; sourceTree = "<group>"; };
+               F517354C03F1B65A01120114 /* unparse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = unparse.c; sourceTree = "<group>"; };
+               F517354D03F1B65A01120114 /* valid_times.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = valid_times.c; sourceTree = "<group>"; };
+               F517354E03F1B65A01120114 /* vfy_increds.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vfy_increds.c; sourceTree = "<group>"; };
+               F517354F03F1B65A01120114 /* vic_opt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vic_opt.c; sourceTree = "<group>"; };
+               F517355003F1B65A01120114 /* walk_rtree.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = walk_rtree.c; sourceTree = "<group>"; };
+               F517355103F1B65A01120114 /* x-deltat.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; path = "x-deltat.y"; sourceTree = "<group>"; };
+               F517355203F1B65A01120114 /* krb5_libinit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krb5_libinit.c; sourceTree = "<group>"; };
+               F517355303F1B65A01120114 /* krb5_libinit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb5_libinit.h; sourceTree = "<group>"; };
+               F517355403F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517355803F1B65A01120114 /* accessor.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = accessor.c; sourceTree = "<group>"; };
+               F517355903F1B65A01120114 /* an_to_ln.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = an_to_ln.c; sourceTree = "<group>"; };
+               F517355A03F1B65A01120114 /* c_ustime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = c_ustime.c; sourceTree = "<group>"; };
+               F517355B03F1B65A01120114 /* ccdefname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ccdefname.c; sourceTree = "<group>"; };
+               F517355C03F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517355D03F1B65A01120114 /* changepw.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = changepw.c; sourceTree = "<group>"; };
+               F517355E03F1B65A01120114 /* def_realm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = def_realm.c; sourceTree = "<group>"; };
+               F517355F03F1B65A01120114 /* free_hstrl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = free_hstrl.c; sourceTree = "<group>"; };
+               F517356003F1B65A01120114 /* free_krbhs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = free_krbhs.c; sourceTree = "<group>"; };
+               F517356103F1B65A01120114 /* full_ipadr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = full_ipadr.c; sourceTree = "<group>"; };
+               F517356203F1B65A01120114 /* gen_port.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gen_port.c; sourceTree = "<group>"; };
+               F517356303F1B65A01120114 /* gen_rname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gen_rname.c; sourceTree = "<group>"; };
+               F517356403F1B65A01120114 /* genaddrs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = genaddrs.c; sourceTree = "<group>"; };
+               F517356503F1B65A01120114 /* get_krbhst.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get_krbhst.c; sourceTree = "<group>"; };
+               F517356603F1B65A01120114 /* gmt_mktime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gmt_mktime.c; sourceTree = "<group>"; };
+               F517356703F1B65A01120114 /* hostaddr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hostaddr.c; sourceTree = "<group>"; };
+               F517356803F1B65A01120114 /* hst_realm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = hst_realm.c; sourceTree = "<group>"; };
+               F517356903F1B65A01120114 /* init_os_ctx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = init_os_ctx.c; sourceTree = "<group>"; };
+               F517356A03F1B65A01120114 /* krbfileio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krbfileio.c; sourceTree = "<group>"; };
+               F517356B03F1B65A01120114 /* ktdefname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ktdefname.c; sourceTree = "<group>"; };
+               F517356C03F1B65A01120114 /* kuserok.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kuserok.c; sourceTree = "<group>"; };
+               F517356D03F1B65A01120114 /* localaddr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = localaddr.c; sourceTree = "<group>"; };
+               F517356E03F1B65A01120114 /* locate_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = locate_kdc.c; sourceTree = "<group>"; };
+               F517356F03F1B65A01120114 /* lock_file.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = lock_file.c; sourceTree = "<group>"; };
+               F517357003F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517357103F1B65A01120114 /* mk_faddr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mk_faddr.c; sourceTree = "<group>"; };
+               F517357203F1B65A01120114 /* net_read.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = net_read.c; sourceTree = "<group>"; };
+               F517357303F1B65A01120114 /* net_write.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = net_write.c; sourceTree = "<group>"; };
+               F517357403F1B65A01120114 /* os-proto.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "os-proto.h"; sourceTree = "<group>"; };
+               F517357503F1B65A01120114 /* osconfig.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = osconfig.c; sourceTree = "<group>"; };
+               F517357603F1B65A01120114 /* port2ip.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = port2ip.c; sourceTree = "<group>"; };
+               F517357703F1B65A01120114 /* prompter.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prompter.c; sourceTree = "<group>"; };
+               F517357803F1B65A01120114 /* promptusr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = promptusr.c; sourceTree = "<group>"; };
+               F517357903F1B65A01120114 /* read_msg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = read_msg.c; sourceTree = "<group>"; };
+               F517357A03F1B65A01120114 /* read_pwd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = read_pwd.c; sourceTree = "<group>"; };
+               F517357B03F1B65A01120114 /* realm_dom.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = realm_dom.c; sourceTree = "<group>"; };
+               F517357C03F1B65A01120114 /* realm_iter.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = realm_iter.c; sourceTree = "<group>"; };
+               F517357D03F1B65A01120114 /* ref_std_conf.out */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ref_std_conf.out; sourceTree = "<group>"; };
+               F517357E03F1B65A01120114 /* sendto_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sendto_kdc.c; sourceTree = "<group>"; };
+               F517357F03F1B65A01120114 /* sn2princ.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sn2princ.c; sourceTree = "<group>"; };
+               F517358003F1B65A01120114 /* t_an_to_ln.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_an_to_ln.c; sourceTree = "<group>"; };
+               F517358103F1B65A01120114 /* t_gifconf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_gifconf.c; sourceTree = "<group>"; };
+               F517358203F1B65A01120114 /* t_locate_kdc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_locate_kdc.c; sourceTree = "<group>"; };
+               F517358303F1B65A01120114 /* t_realm_iter.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_realm_iter.c; sourceTree = "<group>"; };
+               F517358403F1B65A01120114 /* t_std_conf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = t_std_conf.c; sourceTree = "<group>"; };
+               F517358503F1B65A01120114 /* td_krb5.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = td_krb5.conf; sourceTree = "<group>"; };
+               F517358603F1B65A01120114 /* timeofday.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = timeofday.c; sourceTree = "<group>"; };
+               F517358703F1B65A01120114 /* toffset.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = toffset.c; sourceTree = "<group>"; };
+               F517358803F1B65A01120114 /* unlck_file.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = unlck_file.c; sourceTree = "<group>"; };
+               F517358903F1B65A01120114 /* ustime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ustime.c; sourceTree = "<group>"; };
+               F517358A03F1B65A01120114 /* write_msg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = write_msg.c; sourceTree = "<group>"; };
+               F517358D03F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517358F03F1B65A01120114 /* getuid.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = getuid.c; sourceTree = "<group>"; };
+               F517359003F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517359103F1B65A01120114 /* memmove.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = memmove.c; sourceTree = "<group>"; };
+               F517359403F1B65A01120114 /* sscanf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sscanf.c; sourceTree = "<group>"; };
+               F517359503F1B65A01120114 /* strcasecmp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strcasecmp.c; sourceTree = "<group>"; };
+               F517359603F1B65A01120114 /* strdup.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strdup.c; sourceTree = "<group>"; };
+               F517359703F1B65A01120114 /* strerror.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = strerror.c; sourceTree = "<group>"; };
+               F517359803F1B65A01120114 /* syslog.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = syslog.c; sourceTree = "<group>"; };
+               F517359903F1B65A01120114 /* vfprintf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vfprintf.c; sourceTree = "<group>"; };
+               F517359A03F1B65A01120114 /* vsprintf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vsprintf.c; sourceTree = "<group>"; };
+               F517359E03F1B65A01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F517359F03F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51735A003F1B65A01120114 /* rc_base.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rc_base.c; sourceTree = "<group>"; };
+               F51735A103F1B65A01120114 /* rc_base.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rc_base.h; sourceTree = "<group>"; };
+               F51735A203F1B65A01120114 /* rc_conv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rc_conv.c; sourceTree = "<group>"; };
+               F51735A303F1B65A01120114 /* rc_dfl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rc_dfl.c; sourceTree = "<group>"; };
+               F51735A403F1B65A01120114 /* rc_dfl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rc_dfl.h; sourceTree = "<group>"; };
+               F51735A503F1B65A01120114 /* rc_io.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rc_io.c; sourceTree = "<group>"; };
+               F51735A603F1B65A01120114 /* rc_io.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rc_io.h; sourceTree = "<group>"; };
+               F51735A703F1B65A01120114 /* rcdef.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rcdef.c; sourceTree = "<group>"; };
+               F51735A803F1B65A01120114 /* rcfns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rcfns.c; sourceTree = "<group>"; };
+               F51735A903F1B65A01120114 /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
+               F51735AA03F1B65A01120114 /* RELEASE */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = RELEASE; sourceTree = "<group>"; };
+               F51735AB03F1B65A01120114 /* ser_rc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ser_rc.c; sourceTree = "<group>"; };
+               F51735B103F1B65A01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F517360C03F1B65B01120114 /* win_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = win_glue.c; sourceTree = "<group>"; };
+               F51737B203F1B65B01120114 /* argv_parse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = argv_parse.c; sourceTree = "<group>"; };
+               F51737B303F1B65B01120114 /* argv_parse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = argv_parse.h; sourceTree = "<group>"; };
+               F51737B403F1B65B01120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F51737B603F1B65B01120114 /* dosshell.ini */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = dosshell.ini; sourceTree = "<group>"; };
+               F51737B703F1B65B01120114 /* krb5.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = krb5.conf; sourceTree = "<group>"; };
+               F51737B803F1B65B01120114 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; };
+               F51737B903F1B65B01120114 /* prof_err.et */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = prof_err.et; sourceTree = "<group>"; };
+               F51737BA03F1B65B01120114 /* prof_file.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prof_file.c; sourceTree = "<group>"; };
+               F51737BB03F1B65B01120114 /* prof_get.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prof_get.c; sourceTree = "<group>"; };
+               F51737BC03F1B65B01120114 /* prof_init.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prof_init.c; sourceTree = "<group>"; };
+               F51737BD03F1B65B01120114 /* prof_int.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = prof_int.h; sourceTree = "<group>"; };
+               F51737BE03F1B65B01120114 /* prof_parse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prof_parse.c; sourceTree = "<group>"; };
+               F51737BF03F1B65B01120114 /* prof_set.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prof_set.c; sourceTree = "<group>"; };
+               F51737C003F1B65B01120114 /* prof_tree.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prof_tree.c; sourceTree = "<group>"; };
+               F51737C103F1B65B01120114 /* profile.5 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = profile.5; sourceTree = "<group>"; };
+               F51737C203F1B65B01120114 /* profile.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = profile.exp; sourceTree = "<group>"; };
+               F51737C303F1B65B01120114 /* profile.hin */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = profile.hin; sourceTree = "<group>"; };
+               F51737C403F1B65B01120114 /* profile.pbexp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = profile.pbexp; sourceTree = "<group>"; };
+               F51737C503F1B65B01120114 /* prtest.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = prtest.in; sourceTree = "<group>"; };
+               F51737C603F1B65B01120114 /* prtest.script */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = prtest.script; sourceTree = "<group>"; };
+               F51737C703F1B65B01120114 /* test.ini */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = test.ini; sourceTree = "<group>"; };
+               F51737C803F1B65B01120114 /* test_parse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_parse.c; sourceTree = "<group>"; };
+               F51737C903F1B65B01120114 /* test_profile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_profile.c; sourceTree = "<group>"; };
+               F5C2DF140240F9F601650119 /* asn1_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = asn1_err.c; sourceTree = "<group>"; };
+               F5C2DF150240F9F601650119 /* asn1_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = asn1_err.h; sourceTree = "<group>"; };
+               F5C2DF160240F9F601650119 /* asn1_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = asn1_err.strings; sourceTree = "<group>"; };
+               F5C2DF170240F9F601650119 /* gssapi_err_generic.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gssapi_err_generic.c; sourceTree = "<group>"; };
+               F5C2DF180240F9F601650119 /* gssapi_err_generic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_err_generic.h; sourceTree = "<group>"; };
+               F5C2DF190240F9F601650119 /* gssapi_err_generic.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = gssapi_err_generic.strings; sourceTree = "<group>"; };
+               F5C2DF1A0240F9F601650119 /* gssapi_err_krb5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gssapi_err_krb5.c; sourceTree = "<group>"; };
+               F5C2DF1B0240F9F601650119 /* gssapi_err_krb5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gssapi_err_krb5.h; sourceTree = "<group>"; };
+               F5C2DF1C0240F9F601650119 /* gssapi_err_krb5.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = gssapi_err_krb5.strings; sourceTree = "<group>"; };
+               F5C2DF1D0240F9F601650119 /* kdb5_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kdb5_err.c; sourceTree = "<group>"; };
+               F5C2DF1E0240F9F601650119 /* kdb5_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kdb5_err.h; sourceTree = "<group>"; };
+               F5C2DF1F0240F9F601650119 /* kdb5_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = kdb5_err.strings; sourceTree = "<group>"; };
+               F5C2DF200240F9F601650119 /* krb524_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krb524_err.c; sourceTree = "<group>"; };
+               F5C2DF210240F9F601650119 /* krb524_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb524_err.h; sourceTree = "<group>"; };
+               F5C2DF220240F9F601650119 /* krb524_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = krb524_err.strings; sourceTree = "<group>"; };
+               F5C2DF230240F9F601650119 /* krb5_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krb5_err.c; sourceTree = "<group>"; };
+               F5C2DF240240F9F601650119 /* krb5_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb5_err.h; sourceTree = "<group>"; };
+               F5C2DF250240F9F601650119 /* krb5_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = krb5_err.strings; sourceTree = "<group>"; };
+               F5C2DF260240F9F601650119 /* kv5m_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kv5m_err.c; sourceTree = "<group>"; };
+               F5C2DF270240F9F601650119 /* kv5m_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kv5m_err.h; sourceTree = "<group>"; };
+               F5C2DF280240F9F601650119 /* kv5m_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = kv5m_err.strings; sourceTree = "<group>"; };
+               F5C2DF290240F9F601650119 /* prof_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prof_err.c; sourceTree = "<group>"; };
+               F5C2DF2A0240F9F601650119 /* prof_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = prof_err.h; sourceTree = "<group>"; };
+               F5C2DF2B0240F9F601650119 /* prof_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = prof_err.strings; sourceTree = "<group>"; };
+               F5CFD5E5022D891701120112 /* Kerberos5Errors.jam */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.jam; path = Kerberos5Errors.jam; sourceTree = "<group>"; };
+               F5CFD5EC022D8B6001120112 /* GSS.pbexp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = GSS.pbexp; sourceTree = SOURCE_ROOT; };
+               F5CFD5ED022D8B6001120112 /* Kerberos5.pbexp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Kerberos5.pbexp; sourceTree = SOURCE_ROOT; };
+               F5CFD60D022D8BD601120112 /* Kerberos5Headers.jam */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.jam; lineEnding = 0; path = Kerberos5Headers.jam; sourceTree = "<group>"; };
+               F5E2662D03F443E901120114 /* autoconf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = autoconf.h; sourceTree = "<group>"; };
+               F5E2662F03F443E901120114 /* osconf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = osconf.h; sourceTree = "<group>"; };
+               F5E266F503F443EA01120114 /* configure.stamp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = file; path = configure.stamp; sourceTree = "<group>"; };
+               F5E2671F03F8200601120114 /* kadm_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = kadm_err.c; sourceTree = "<group>"; };
+               F5E2672003F8200601120114 /* kadm_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kadm_err.h; sourceTree = "<group>"; };
+               F5E2672103F8200601120114 /* kadm_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = kadm_err.strings; sourceTree = "<group>"; };
+               F5E2672203F8200601120114 /* krb_err.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = krb_err.c; sourceTree = "<group>"; };
+               F5E2672303F8200601120114 /* krb_err.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = krb_err.h; sourceTree = "<group>"; };
+               F5E2672403F8200601120114 /* krb_err.strings */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; path = krb_err.strings; sourceTree = "<group>"; };
+               F5E59BD403FD7D5301120114 /* Kerberos5ServerBuild.jam */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.jam; path = Kerberos5ServerBuild.jam; sourceTree = "<group>"; };
+               F5E59C0D03FD95A101120114 /* aclocal.m4 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = aclocal.m4; sourceTree = "<group>"; };
+               F5E59C0E03FD95A101120114 /* configure.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = configure.in; sourceTree = "<group>"; };
+               F5E59C1103FD95D001120114 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+               F5E59C1203FD95D001120114 /* config.guess */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = config.guess; sourceTree = "<group>"; };
+               F5E59C1303FD95D001120114 /* config.sub */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = config.sub; sourceTree = "<group>"; };
+               F5E59C1503FD95D001120114 /* install-sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
+               F5E59C1603FD95D001120114 /* lib.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = lib.in; sourceTree = "<group>"; };
+               F5E59C1703FD95D001120114 /* libobj.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = libobj.in; sourceTree = "<group>"; };
+               F5E59C1803FD95D001120114 /* mac-config.cache */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "mac-config.cache"; sourceTree = "<group>"; };
+               F5E59C1903FD95D001120114 /* mac-config.README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "mac-config.README"; sourceTree = "<group>"; };
+               F5E59C1A03FD95D001120114 /* mac-mf.sed */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "mac-mf.sed"; sourceTree = "<group>"; };
+               F5E59C1B03FD95D001120114 /* mac-post.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "mac-post.in"; sourceTree = "<group>"; };
+               F5E59C1C03FD95D001120114 /* mac-pre.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "mac-pre.in"; sourceTree = "<group>"; };
+               F5E59C1D03FD95D001120114 /* mkinstalldirs */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = mkinstalldirs; sourceTree = "<group>"; };
+               F5E59C1E03FD95D001120114 /* move-if-changed */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = "move-if-changed"; sourceTree = "<group>"; };
+               F5E59C1F03FD95D001120114 /* post.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = post.in; sourceTree = "<group>"; };
+               F5E59C2003FD95D001120114 /* pre.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = pre.in; sourceTree = "<group>"; };
+               F5E59C2103FD95D001120114 /* ren2long */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = ren2long; sourceTree = "<group>"; };
+               F5E59C2203FD95D001120114 /* ren2long.awk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ren2long.awk; sourceTree = "<group>"; };
+               F5E59C2303FD95D001120114 /* rm.bat */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = rm.bat; sourceTree = "<group>"; };
+               F5E59C2403FD95D001120114 /* shlib.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = shlib.conf; sourceTree = "<group>"; };
+               F5E59C2503FD95D001120114 /* win-post.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "win-post.in"; sourceTree = "<group>"; };
+               F5E59C2603FD95D001120114 /* win-pre.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "win-pre.in"; sourceTree = "<group>"; };
+               F5E59C2703FD95D001120114 /* winexclude.sed */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = winexclude.sed; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               A1AB1DFF05DDC40100526345 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A12536C6040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strftime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E1F05DDC43000526345 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A12536CA040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E6C05DDC45F00526345 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               A1AB1FAE05DDC47800526345 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A12536CD040BEC05003D8244 = {
-                       children = (
-                               A12536CE040BEC05003D8244,
-                               A12536CF040BEC05003D8244,
-                               A12536D0040BEC05003D8244,
-                               A12536D1040BEC05003D8244,
-                               A12536D2040BEC05003D8244,
-                               A12536D3040BEC05003D8244,
-                               A12536D4040BEC05003D8244,
-                               A12536D5040BEC05003D8244,
-                               A12536D6040BEC05003D8244,
-                               A12536D7040BEC05003D8244,
-                               A12536D8040BEC05003D8244,
-                               A12536D9040BEC05003D8244,
-                               A12536DA040BEC05003D8244,
-                               A12536DB040BEC05003D8244,
-                               A12536DC040BEC05003D8244,
-                               A12536DD040BEC05003D8244,
-                               A12536DE040BEC05003D8244,
-                               A12536DF040BEC05003D8244,
-                               A12536E0040BEC05003D8244,
-                               A12536E1040BEC05003D8244,
-                               A12536E2040BEC05003D8244,
-                               A12536E3040BEC05003D8244,
+               A1AB200005DDC48A00526345 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
                        );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               A12536B3040BEC05003D8244 /* kadmin */ = {
                        isa = PBXGroup;
-                       path = dbutil;
-                       refType = 4;
+                       children = (
+                               A12536B5040BEC05003D8244 /* ChangeLog */,
+                               A12536B6040BEC05003D8244 /* cli */,
+                               A12536CA040BEC05003D8244 /* configure.in */,
+                               A12536CD040BEC05003D8244 /* dbutil */,
+                               A12536EC040BEC05003D8244 /* kdbkeys */,
+                               A12536F5040BEC05003D8244 /* ktutil */,
+                               A12536FF040BEC06003D8244 /* Makefile.in */,
+                               A1253700040BEC06003D8244 /* passwd */,
+                               A1253716040BEC06003D8244 /* scripts */,
+                               A1253718040BEC06003D8244 /* server */,
+                               A1253725040BEC06003D8244 /* testing */,
+                               A125374E040BEC06003D8244 /* v4server */,
+                       );
+                       path = kadmin;
                        sourceTree = "<group>";
                };
-               A12536CE040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
+               A12536B6040BEC05003D8244 /* cli */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A12536B7040BEC05003D8244 /* .cvsignore */,
+                               A12536B8040BEC05003D8244 /* attic */,
+                               A12536B9040BEC05003D8244 /* ChangeLog */,
+                               A12536BA040BEC05003D8244 /* getdate.y */,
+                               A12536BB040BEC05003D8244 /* k5srvutil.M */,
+                               A12536BC040BEC05003D8244 /* k5srvutil.sh */,
+                               A12536BD040BEC05003D8244 /* kadmin.c */,
+                               A12536BE040BEC05003D8244 /* kadmin.h */,
+                               A12536BF040BEC05003D8244 /* kadmin.local.M */,
+                               A12536C0040BEC05003D8244 /* kadmin.M */,
+                               A12536C1040BEC05003D8244 /* kadmin_ct.ct */,
+                               A12536C2040BEC05003D8244 /* keytab.c */,
+                               A12536C3040BEC05003D8244 /* Makefile.in */,
+                               A12536C4040BEC05003D8244 /* memmove.c */,
+                               A12536C5040BEC05003D8244 /* ss_wrapper.c */,
+                               A12536C6040BEC05003D8244 /* strftime.c */,
+                       );
+                       path = cli;
                        sourceTree = "<group>";
                };
-               A12536CF040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               A12536B8040BEC05003D8244 /* attic */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       path = attic;
                        sourceTree = "<group>";
                };
-               A12536D0040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = dump.c;
-                       refType = 4;
+               A12536CD040BEC05003D8244 /* dbutil */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A12536CE040BEC05003D8244 /* .cvsignore */,
+                               A12536CF040BEC05003D8244 /* ChangeLog */,
+                               A12536D0040BEC05003D8244 /* dump.c */,
+                               A12536D1040BEC05003D8244 /* dumpv4.c */,
+                               A12536D2040BEC05003D8244 /* import_err.et */,
+                               A12536D3040BEC05003D8244 /* kadm5_create.c */,
+                               A12536D4040BEC05003D8244 /* kdb5_create.c */,
+                               A12536D5040BEC05003D8244 /* kdb5_destroy.c */,
+                               A12536D6040BEC05003D8244 /* kdb5_edit.M */,
+                               A12536D7040BEC05003D8244 /* kdb5_stash.c */,
+                               A12536D8040BEC05003D8244 /* kdb5_util.c */,
+                               A12536D9040BEC05003D8244 /* kdb5_util.h */,
+                               A12536DA040BEC05003D8244 /* kdb5_util.M */,
+                               A12536DB040BEC05003D8244 /* loadv4.c */,
+                               A12536DC040BEC05003D8244 /* Makefile.in */,
+                               A12536DD040BEC05003D8244 /* nstrtok.h */,
+                               A12536DE040BEC05003D8244 /* ovload.c */,
+                               A12536DF040BEC05003D8244 /* string_table.c */,
+                               A12536E0040BEC05003D8244 /* string_table.h */,
+                               A12536E1040BEC05003D8244 /* strtok.c */,
+                               A12536E2040BEC05003D8244 /* tcl_wrapper.c */,
+                               A12536E3040BEC05003D8244 /* util.c */,
+                       );
+                       path = dbutil;
                        sourceTree = "<group>";
                };
-               A12536D1040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = dumpv4.c;
-                       refType = 4;
+               A12536EC040BEC05003D8244 /* kdbkeys */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A12536ED040BEC05003D8244 /* ChangeLog */,
+                               A12536EE040BEC05003D8244 /* do-test.pl */,
+                               A12536EF040BEC05003D8244 /* Makefile.in */,
+                       );
+                       path = kdbkeys;
                        sourceTree = "<group>";
                };
-               A12536D2040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = import_err.et;
-                       refType = 4;
+               A12536F5040BEC05003D8244 /* ktutil */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A12536F6040BEC05003D8244 /* .cvsignore */,
+                               A12536F7040BEC06003D8244 /* .Sanitize */,
+                               A12536F8040BEC06003D8244 /* ChangeLog */,
+                               A12536F9040BEC06003D8244 /* ktutil.c */,
+                               A12536FA040BEC06003D8244 /* ktutil.h */,
+                               A12536FB040BEC06003D8244 /* ktutil.M */,
+                               A12536FC040BEC06003D8244 /* ktutil_ct.ct */,
+                               A12536FD040BEC06003D8244 /* ktutil_funcs.c */,
+                               A12536FE040BEC06003D8244 /* Makefile.in */,
+                       );
+                       path = ktutil;
                        sourceTree = "<group>";
                };
-               A12536D3040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm5_create.c;
-                       refType = 4;
+               A1253700040BEC06003D8244 /* passwd */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253701040BEC06003D8244 /* .cvsignore */,
+                               A1253702040BEC06003D8244 /* ChangeLog */,
+                               A1253703040BEC06003D8244 /* kpasswd.c */,
+                               A1253704040BEC06003D8244 /* kpasswd.h */,
+                               A1253705040BEC06003D8244 /* kpasswd.M */,
+                               A1253706040BEC06003D8244 /* kpasswd_strings.et */,
+                               A1253707040BEC06003D8244 /* Makefile.in */,
+                               A1253708040BEC06003D8244 /* tty_kpasswd.c */,
+                               A1253709040BEC06003D8244 /* unit-test */,
+                               A1253715040BEC06003D8244 /* xm_kpasswd.c */,
+                       );
+                       path = passwd;
                        sourceTree = "<group>";
                };
-               A12536D4040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kdb5_create.c;
-                       refType = 4;
+               A1253709040BEC06003D8244 /* unit-test */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A125370A040BEC06003D8244 /* ChangeLog */,
+                               A125370B040BEC06003D8244 /* config */,
+                               A125370D040BEC06003D8244 /* kpasswd.0 */,
+                               A1253712040BEC06003D8244 /* lib */,
+                               A1253714040BEC06003D8244 /* Makefile.in */,
+                       );
+                       path = "unit-test";
                        sourceTree = "<group>";
                };
-               A12536D5040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kdb5_destroy.c;
-                       refType = 4;
+               A125370B040BEC06003D8244 /* config */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A125370C040BEC06003D8244 /* unix.exp */,
+                       );
+                       path = config;
                        sourceTree = "<group>";
                };
-               A12536D6040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = kdb5_edit.M;
-                       refType = 4;
+               A125370D040BEC06003D8244 /* kpasswd.0 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A125370E040BEC06003D8244 /* changing.exp */,
+                               A125370F040BEC06003D8244 /* connecting.exp */,
+                               A1253710040BEC06003D8244 /* principal.exp */,
+                               A1253711040BEC06003D8244 /* usage.exp */,
+                       );
+                       path = kpasswd.0;
                        sourceTree = "<group>";
                };
-               A12536D7040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kdb5_stash.c;
-                       refType = 4;
+               A1253712040BEC06003D8244 /* lib */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253713040BEC06003D8244 /* helpers.exp */,
+                       );
+                       path = lib;
                        sourceTree = "<group>";
                };
-               A12536D8040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kdb5_util.c;
-                       refType = 4;
+               A1253716040BEC06003D8244 /* scripts */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253717040BEC06003D8244 /* inst-hdrs.sh */,
+                       );
+                       path = scripts;
                        sourceTree = "<group>";
                };
-               A12536D9040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kdb5_util.h;
-                       refType = 4;
+               A1253718040BEC06003D8244 /* server */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253719040BEC06003D8244 /* .cvsignore */,
+                               A125371A040BEC06003D8244 /* acls.l */,
+                               A125371B040BEC06003D8244 /* ChangeLog */,
+                               A125371C040BEC06003D8244 /* kadm_rpc_svc.c */,
+                               A125371D040BEC06003D8244 /* kadmind.M */,
+                               A125371E040BEC06003D8244 /* Makefile.in */,
+                               A125371F040BEC06003D8244 /* misc.c */,
+                               A1253720040BEC06003D8244 /* misc.h */,
+                               A1253721040BEC06003D8244 /* ovsec_kadmd.c */,
+                               A1253722040BEC06003D8244 /* schpw.c */,
+                               A1253723040BEC06003D8244 /* server_glue_v1.c */,
+                               A1253724040BEC06003D8244 /* server_stubs.c */,
+                       );
+                       path = server;
                        sourceTree = "<group>";
                };
-               A12536DA040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = kdb5_util.M;
-                       refType = 4;
+               A1253725040BEC06003D8244 /* testing */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253726040BEC06003D8244 /* .cvsignore */,
+                               A1253727040BEC06003D8244 /* ChangeLog */,
+                               A1253728040BEC06003D8244 /* lib */,
+                               A1253729040BEC06003D8244 /* Makefile.in */,
+                               A125372A040BEC06003D8244 /* proto */,
+                               A125372F040BEC06003D8244 /* scripts */,
+                               A1253741040BEC06003D8244 /* tcl */,
+                               A1253743040BEC06003D8244 /* util */,
+                       );
+                       path = testing;
                        sourceTree = "<group>";
                };
-               A12536DB040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = loadv4.c;
-                       refType = 4;
+               A1253728040BEC06003D8244 /* lib */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       path = lib;
                        sourceTree = "<group>";
                };
-               A12536DC040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               A125372A040BEC06003D8244 /* proto */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A125372B040BEC06003D8244 /* ChangeLog */,
+                               A125372C040BEC06003D8244 /* kdc.conf.proto */,
+                               A125372D040BEC06003D8244 /* krb5.conf.proto */,
+                               A125372E040BEC06003D8244 /* ovsec_adm.dict */,
+                       );
+                       path = proto;
                        sourceTree = "<group>";
                };
-               A12536DD040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = nstrtok.h;
-                       refType = 4;
+               A125372F040BEC06003D8244 /* scripts */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253730040BEC06003D8244 /* .cvsignore */,
+                               A1253731040BEC06003D8244 /* ChangeLog */,
+                               A1253732040BEC06003D8244 /* compare_dump.plin */,
+                               A1253733040BEC06003D8244 /* env-setup.shin */,
+                               A1253734040BEC06003D8244 /* find-make.sh */,
+                               A1253735040BEC06003D8244 /* fixup-conf-files.plin */,
+                               A1253736040BEC06003D8244 /* init_db */,
+                               A1253737040BEC06003D8244 /* make-host-keytab.plin */,
+                               A1253738040BEC06003D8244 /* Makefile.in */,
+                               A1253739040BEC06003D8244 /* qualname.plin */,
+                               A125373A040BEC06003D8244 /* save_files.sh */,
+                               A125373B040BEC06003D8244 /* simple_dump.plin */,
+                               A125373C040BEC06003D8244 /* start_servers */,
+                               A125373D040BEC06003D8244 /* start_servers_local */,
+                               A125373E040BEC06003D8244 /* stop_servers */,
+                               A125373F040BEC06003D8244 /* stop_servers_local */,
+                               A1253740040BEC06003D8244 /* verify_xrunner_report.plin */,
+                       );
+                       path = scripts;
                        sourceTree = "<group>";
                };
-               A12536DE040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ovload.c;
-                       refType = 4;
+               A1253741040BEC06003D8244 /* tcl */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253742040BEC06003D8244 /* util.t */,
+                       );
+                       path = tcl;
                        sourceTree = "<group>";
                };
-               A12536DF040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = string_table.c;
-                       refType = 4;
+               A1253743040BEC06003D8244 /* util */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253744040BEC06003D8244 /* .cvsignore */,
+                               A1253745040BEC06003D8244 /* bsddb_dump.c */,
+                               A1253746040BEC06003D8244 /* ChangeLog */,
+                               A1253747040BEC06003D8244 /* Makefile.in */,
+                               A1253748040BEC06003D8244 /* tcl_kadm5.c */,
+                               A1253749040BEC06003D8244 /* tcl_kadm5.h */,
+                               A125374A040BEC06003D8244 /* tcl_krb5_hash.c */,
+                               A125374B040BEC06003D8244 /* tcl_ovsec_kadm.c */,
+                               A125374C040BEC06003D8244 /* tcl_ovsec_kadm_syntax */,
+                               A125374D040BEC06003D8244 /* test.c */,
+                       );
+                       path = util;
                        sourceTree = "<group>";
                };
-               A12536E0040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = string_table.h;
-                       refType = 4;
+               A125374E040BEC06003D8244 /* v4server */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A125374F040BEC06003D8244 /* .cvsignore */,
+                               A1253750040BEC06003D8244 /* acl_files.c */,
+                               A1253751040BEC06003D8244 /* acl_files.doc */,
+                               A1253752040BEC06003D8244 /* admin_server.c */,
+                               A1253753040BEC06003D8244 /* attic */,
+                               A1253754040BEC06003D8244 /* build_pwfile.c */,
+                               A1253755040BEC06003D8244 /* ChangeLog */,
+                               A1253756040BEC06003D8244 /* kadm_funcs.c */,
+                               A1253757040BEC06003D8244 /* kadm_ser_wrap.c */,
+                               A1253758040BEC06003D8244 /* kadm_server.c */,
+                               A1253759040BEC06003D8244 /* kadm_server.h */,
+                               A125375A040BEC06003D8244 /* kadm_supp.c */,
+                               A125375B040BEC06003D8244 /* Makefile.in */,
+                               A125375C040BEC06003D8244 /* unit-test */,
+                       );
+                       path = v4server;
                        sourceTree = "<group>";
                };
-               A12536E1040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strtok.c;
-                       refType = 4;
+               A1253753040BEC06003D8244 /* attic */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       path = attic;
                        sourceTree = "<group>";
                };
-               A12536E2040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tcl_wrapper.c;
-                       refType = 4;
+               A125375C040BEC06003D8244 /* unit-test */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A125375D040BEC06003D8244 /* ChangeLog */,
+                               A125375E040BEC06003D8244 /* config */,
+                               A1253761040BEC06003D8244 /* getpid.sh */,
+                               A1253762040BEC06003D8244 /* lib */,
+                               A1253764040BEC06003D8244 /* Makefile.in */,
+                               A1253765040BEC06003D8244 /* remove_changepw_perms.sh */,
+                               A1253766040BEC06003D8244 /* v4server.0 */,
+                               A1253768040BEC06003D8244 /* v4server.1 */,
+                       );
+                       path = "unit-test";
                        sourceTree = "<group>";
                };
-               A12536E3040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util.c;
-                       refType = 4;
+               A125375E040BEC06003D8244 /* config */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A125375F040BEC06003D8244 /* ChangeLog */,
+                               A1253760040BEC06003D8244 /* unix.exp */,
+                       );
+                       path = config;
                        sourceTree = "<group>";
                };
-               A12536EC040BEC05003D8244 = {
+               A1253762040BEC06003D8244 /* lib */ = {
+                       isa = PBXGroup;
                        children = (
-                               A12536ED040BEC05003D8244,
-                               A12536EE040BEC05003D8244,
-                               A12536EF040BEC05003D8244,
+                               A1253763040BEC06003D8244 /* helpers.exp */,
                        );
-                       isa = PBXGroup;
-                       path = kdbkeys;
-                       refType = 4;
+                       path = lib;
                        sourceTree = "<group>";
                };
-               A12536ED040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               A1253766040BEC06003D8244 /* v4server.0 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253767040BEC06003D8244 /* setup-srvtab.exp */,
+                       );
+                       path = v4server.0;
                        sourceTree = "<group>";
                };
-               A12536EE040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = "do-test.pl";
-                       refType = 4;
+               A1253768040BEC06003D8244 /* v4server.1 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253769040BEC06003D8244 /* access.exp */,
+                               A125376A040BEC06003D8244 /* change-password.exp */,
+                               A125376B040BEC06003D8244 /* usage.exp */,
+                       );
+                       path = v4server.1;
                        sourceTree = "<group>";
                };
-               A12536EF040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               A12537EA040C0795003D8244 /* include */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A12537FA040C080B003D8244 /* gssapi */,
+                               A12537FE040C080B003D8244 /* kerberosIV */,
+                               A1253803040C0D3E003D8244 /* krb5 */,
+                               A12537EB040C0795003D8244 /* krb5.h */,
+                               A12537EE040C0795003D8244 /* profile.h */,
+                       );
+                       path = include;
                        sourceTree = "<group>";
                };
-               A12536F5040BEC05003D8244 = {
+               A12537EF040C0795003D8244 /* Kerberos */ = {
+                       isa = PBXGroup;
                        children = (
-                               A12536F6040BEC05003D8244,
-                               A12536F7040BEC06003D8244,
-                               A12536F8040BEC06003D8244,
-                               A12536F9040BEC06003D8244,
-                               A12536FA040BEC06003D8244,
-                               A12536FB040BEC06003D8244,
-                               A12536FC040BEC06003D8244,
-                               A12536FD040BEC06003D8244,
-                               A12536FE040BEC06003D8244,
+                               A12537F0040C0795003D8244 /* des.h */,
+                               A12537F1040C0795003D8244 /* gssapi.h */,
+                               A12537F2040C0795003D8244 /* gssapi_generic.h */,
+                               A12537F3040C0795003D8244 /* gssapi_krb5.h */,
+                               A12537F4040C0795003D8244 /* krb.h */,
+                               A12537F5040C0795003D8244 /* krb5.h */,
+                               A12537F8040C0795003D8244 /* krb_err.h */,
+                               A12537F9040C0795003D8244 /* profile.h */,
                        );
-                       isa = PBXGroup;
-                       path = ktutil;
-                       refType = 4;
+                       path = Kerberos;
                        sourceTree = "<group>";
                };
-               A12536F6040BEC05003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
+               A12537FA040C080B003D8244 /* gssapi */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A12537FB040C080B003D8244 /* gssapi.h */,
+                               A12537FC040C080B003D8244 /* gssapi_generic.h */,
+                               A12537FD040C080B003D8244 /* gssapi_krb5.h */,
+                       );
+                       path = gssapi;
                        sourceTree = "<group>";
                };
-               A12536F7040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
+               A12537FE040C080B003D8244 /* kerberosIV */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A12537FF040C080B003D8244 /* des.h */,
+                               A1253800040C080B003D8244 /* krb.h */,
+                               A1253801040C080B003D8244 /* krb_err.h */,
+                       );
+                       path = kerberosIV;
                        sourceTree = "<group>";
                };
-               A12536F8040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               A1253803040C0D3E003D8244 /* krb5 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253804040C0D3E003D8244 /* autoconf.h */,
+                               A1253805040C0D3E003D8244 /* osconf.h */,
+                       );
+                       path = krb5;
                        sourceTree = "<group>";
                };
-               A12536F9040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktutil.c;
-                       refType = 4;
+               A1908D5906878C780039CAD8 /* windows */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908D5A06878C780039CAD8 /* .Sanitize */,
+                               A1908D5B06878C780039CAD8 /* ChangeLog */,
+                               A1908D5C06878C780039CAD8 /* cns */,
+                               A1908D8506878C790039CAD8 /* gina */,
+                               A1908D8B06878C790039CAD8 /* gss */,
+                               A1908D9906878C790039CAD8 /* installer */,
+                               A1908DA606878C790039CAD8 /* lib */,
+                               A1908DB006878C790039CAD8 /* Makefile.in */,
+                               A1908DB106878C790039CAD8 /* ms2mit */,
+                               A1908DB506878C790039CAD8 /* README */,
+                               A1908DB606878C790039CAD8 /* version.rc */,
+                               A1908DB706878C790039CAD8 /* wintel */,
+                       );
+                       path = windows;
                        sourceTree = "<group>";
                };
-               A12536FA040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ktutil.h;
-                       refType = 4;
+               A1908D5C06878C780039CAD8 /* cns */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908D5D06878C780039CAD8 /* .Sanitize */,
+                               A1908D5E06878C780039CAD8 /* ChangeLog */,
+                               A1908D5F06878C780039CAD8 /* clock00.ico */,
+                               A1908D6006878C780039CAD8 /* clock05.ico */,
+                               A1908D6106878C780039CAD8 /* clock10.ico */,
+                               A1908D6206878C780039CAD8 /* clock15.ico */,
+                               A1908D6306878C780039CAD8 /* clock20.ico */,
+                               A1908D6406878C780039CAD8 /* clock25.ico */,
+                               A1908D6506878C780039CAD8 /* clock30.ico */,
+                               A1908D6606878C780039CAD8 /* clock35.ico */,
+                               A1908D6706878C780039CAD8 /* clock40.ico */,
+                               A1908D6806878C780039CAD8 /* clock45.ico */,
+                               A1908D6906878C780039CAD8 /* clock50.ico */,
+                               A1908D6A06878C780039CAD8 /* clock55.ico */,
+                               A1908D6B06878C780039CAD8 /* clock60.ico */,
+                               A1908D6C06878C780039CAD8 /* clockexp.ico */,
+                               A1908D6D06878C780039CAD8 /* clocktkt.ico */,
+                               A1908D6E06878C780039CAD8 /* cns-help.doc */,
+                               A1908D6F06878C780039CAD8 /* cns-help.hlp */,
+                               A1908D7006878C780039CAD8 /* cns-help.hpj */,
+                               A1908D7106878C780039CAD8 /* cns.c */,
+                               A1908D7206878C780039CAD8 /* cns.h */,
+                               A1908D7306878C780039CAD8 /* cns.ico */,
+                               A1908D7406878C780039CAD8 /* cns_reg.c */,
+                               A1908D7506878C780039CAD8 /* cns_reg.h */,
+                               A1908D7606878C780039CAD8 /* cnsres4.rc */,
+                               A1908D7706878C780039CAD8 /* cnsres5.rc */,
+                               A1908D7806878C780039CAD8 /* debug.c */,
+                               A1908D7906878C780039CAD8 /* heap.c */,
+                               A1908D7A06878C780039CAD8 /* kerbnet.doc */,
+                               A1908D7B06878C780039CAD8 /* kerbnet.hlp */,
+                               A1908D7C06878C780039CAD8 /* kerbnet.hpj */,
+                               A1908D7D06878C780039CAD8 /* kpasswd.c */,
+                               A1908D7E06878C780039CAD8 /* krb5.def */,
+                               A1908D7F06878C780039CAD8 /* krbini.h */,
+                               A1908D8006878C790039CAD8 /* Makefile.in */,
+                               A1908D8106878C790039CAD8 /* options.c */,
+                               A1908D8206878C790039CAD8 /* password.c */,
+                               A1908D8306878C790039CAD8 /* tktlist.c */,
+                               A1908D8406878C790039CAD8 /* tktlist.h */,
+                       );
+                       path = cns;
                        sourceTree = "<group>";
                };
-               A12536FB040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = ktutil.M;
-                       refType = 4;
+               A1908D8506878C790039CAD8 /* gina */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908D8606878C790039CAD8 /* ChangeLog */,
+                               A1908D8706878C790039CAD8 /* gina.def */,
+                               A1908D8806878C790039CAD8 /* ginastub.c */,
+                               A1908D8906878C790039CAD8 /* ginastub.h */,
+                               A1908D8A06878C790039CAD8 /* Makefile.in */,
+                       );
+                       path = gina;
                        sourceTree = "<group>";
                };
-               A12536FC040BEC06003D8244 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ktutil_ct.ct;
-                       refType = 4;
+               A1908D8B06878C790039CAD8 /* gss */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908D8C06878C790039CAD8 /* .Sanitize */,
+                               A1908D8D06878C790039CAD8 /* ChangeLog */,
+                               A1908D8E06878C790039CAD8 /* gss-client.c */,
+                               A1908D8F06878C790039CAD8 /* gss-misc.c */,
+                               A1908D9006878C790039CAD8 /* gss-misc.h */,
+                               A1908D9106878C790039CAD8 /* gss.c */,
+                               A1908D9206878C790039CAD8 /* gss.def */,
+                               A1908D9306878C790039CAD8 /* gss.h */,
+                               A1908D9406878C790039CAD8 /* gss.ico */,
+                               A1908D9506878C790039CAD8 /* gss.rc */,
+                               A1908D9606878C790039CAD8 /* Makefile.in */,
+                               A1908D9706878C790039CAD8 /* resource.h */,
+                               A1908D9806878C790039CAD8 /* ver_serv.txt */,
+                       );
+                       path = gss;
                        sourceTree = "<group>";
                };
-               A12536FD040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktutil_funcs.c;
-                       refType = 4;
+               A1908D9906878C790039CAD8 /* installer */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908D9A06878C790039CAD8 /* nsis */,
+                       );
+                       path = installer;
                        sourceTree = "<group>";
                };
-               A12536FE040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               A1908D9A06878C790039CAD8 /* nsis */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908D9B06878C790039CAD8 /* ChangeLog */,
+                               A1908D9C06878C790039CAD8 /* kfw-fixed.nsi */,
+                               A1908D9D06878C790039CAD8 /* kfw.ico */,
+                               A1908D9E06878C790039CAD8 /* kfw.nsi */,
+                               A1908D9F06878C790039CAD8 /* KfWConfigPage.ini */,
+                               A1908DA006878C790039CAD8 /* KfWConfigPage2.ini */,
+                               A1908DA106878C790039CAD8 /* killer.cpp */,
+                               A1908DA206878C790039CAD8 /* licenses.rtf */,
+                               A1908DA306878C790039CAD8 /* nsi-includes.nsi */,
+                               A1908DA406878C790039CAD8 /* site-local.nsi */,
+                               A1908DA506878C790039CAD8 /* utils.nsi */,
+                       );
+                       path = nsis;
                        sourceTree = "<group>";
                };
-               A12536FF040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               A1908DA606878C790039CAD8 /* lib */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908DA706878C790039CAD8 /* cacheapi.h */,
+                               A1908DA806878C790039CAD8 /* ChangeLog */,
+                               A1908DA906878C790039CAD8 /* gic.c */,
+                               A1908DAA06878C790039CAD8 /* gic.h */,
+                               A1908DAB06878C790039CAD8 /* Makefile.in */,
+                               A1908DAC06878C790039CAD8 /* registry.c */,
+                               A1908DAD06878C790039CAD8 /* registry.h */,
+                               A1908DAE06878C790039CAD8 /* vardlg.c */,
+                               A1908DAF06878C790039CAD8 /* vardlg.h */,
+                       );
+                       path = lib;
                        sourceTree = "<group>";
                };
-               A1253700040BEC06003D8244 = {
+               A1908DB106878C790039CAD8 /* ms2mit */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253701040BEC06003D8244,
-                               A1253702040BEC06003D8244,
-                               A1253703040BEC06003D8244,
-                               A1253704040BEC06003D8244,
-                               A1253705040BEC06003D8244,
-                               A1253706040BEC06003D8244,
-                               A1253707040BEC06003D8244,
-                               A1253708040BEC06003D8244,
-                               A1253709040BEC06003D8244,
-                               A1253715040BEC06003D8244,
+                               A1908DB206878C790039CAD8 /* ChangeLog */,
+                               A1908DB306878C790039CAD8 /* Makefile.in */,
+                               A1908DB406878C790039CAD8 /* ms2mit.c */,
                        );
-                       isa = PBXGroup;
-                       path = passwd;
-                       refType = 4;
+                       path = ms2mit;
                        sourceTree = "<group>";
                };
-               A1253701040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
+               A1908DB706878C790039CAD8 /* wintel */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1908DB806878C790039CAD8 /* .Sanitize */,
+                               A1908DB906878C790039CAD8 /* auth.c */,
+                               A1908DBA06878C790039CAD8 /* auth.h */,
+                               A1908DBB06878C790039CAD8 /* ChangeLog */,
+                               A1908DBC06878C790039CAD8 /* dialog.h */,
+                               A1908DBD06878C790039CAD8 /* edit.c */,
+                               A1908DBE06878C790039CAD8 /* emul.c */,
+                               A1908DBF06878C790039CAD8 /* enc_des.c */,
+                               A1908DC006878C790039CAD8 /* enc_des.h */,
+                               A1908DC106878C790039CAD8 /* encrypt.c */,
+                               A1908DC206878C790039CAD8 /* encrypt.h */,
+                               A1908DC306878C790039CAD8 /* font.c */,
+                               A1908DC406878C790039CAD8 /* genget.c */,
+                               A1908DC506878C790039CAD8 /* ini.h */,
+                               A1908DC606878C790039CAD8 /* intern.c */,
+                               A1908DC706878C790039CAD8 /* k5stream.c */,
+                               A1908DC806878C790039CAD8 /* k5stream.h */,
+                               A1908DC906878C790039CAD8 /* ktelnet.doc */,
+                               A1908DCA06878C790039CAD8 /* ktelnet.hlp */,
+                               A1908DCB06878C790039CAD8 /* ktelnet.hpj */,
+                               A1908DCC06878C790039CAD8 /* Makefile.in */,
+                               A1908DCD06878C790039CAD8 /* ncsa.ico */,
+                               A1908DCE06878C790039CAD8 /* negotiat.c */,
+                               A1908DCF06878C790039CAD8 /* resource.h */,
+                               A1908DD006878C790039CAD8 /* screen.c */,
+                               A1908DD106878C790039CAD8 /* screen.h */,
+                               A1908DD206878C790039CAD8 /* struct.h */,
+                               A1908DD306878C790039CAD8 /* telnet.c */,
+                               A1908DD406878C790039CAD8 /* telnet.def */,
+                               A1908DD506878C790039CAD8 /* telnet.h */,
+                               A1908DD606878C790039CAD8 /* telnet.rc */,
+                               A1908DD706878C790039CAD8 /* telnet_arpa.h */,
+                               A1908DD806878C790039CAD8 /* telopts.h */,
+                               A1908DD906878C790039CAD8 /* terminal.ico */,
+                               A1908DDA06878C790039CAD8 /* wt-proto.h */,
+                       );
+                       path = wintel;
                        sourceTree = "<group>";
                };
-               A1253702040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               A198BBE10406D04A00120114 /* mac */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A198BBE60406D04A00120114 /* ChangeLog */,
+                               A198BC050406D04A00120114 /* libraries */,
+                               A198BC180406D04A00120114 /* MacOSX */,
+                               A198BC200406D04A00120114 /* ReadMe */,
+                               A198BC210406D04A00120114 /* Release notes */,
+                       );
+                       path = mac;
                        sourceTree = "<group>";
                };
-               A1253703040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kpasswd.c;
-                       refType = 4;
+               A198BC050406D04A00120114 /* libraries */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A198BC0A0406D04A00120114 /* ChangeLog */,
+                       );
+                       path = libraries;
                        sourceTree = "<group>";
                };
-               A1253704040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kpasswd.h;
-                       refType = 4;
+               A198BC180406D04A00120114 /* MacOSX */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A198BC190406D04A00120114 /* Headers */,
+                               A198BC1A0406D04A00120114 /* Projects */,
+                               A198BC1C0406D04A00120114 /* Scripts */,
+                               A198BC1D0406D04A00120114 /* Sources */,
+                       );
+                       path = MacOSX;
                        sourceTree = "<group>";
                };
-               A1253705040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = kpasswd.M;
-                       refType = 4;
+               A198BC190406D04A00120114 /* Headers */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1CA623604168DFE0013F915 /* Kerberos5Prefix.h */,
+                       );
+                       path = Headers;
                        sourceTree = "<group>";
                };
-               A1253706040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kpasswd_strings.et;
-                       refType = 4;
+               A198BC1A0406D04A00120114 /* Projects */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A198BC1B0406D04A00120114 /* Kerberos5.pbproj */,
+                       );
+                       path = Projects;
                        sourceTree = "<group>";
                };
-               A1253707040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               A198BC1B0406D04A00120114 /* Kerberos5.pbproj */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       path = Kerberos5.pbproj;
                        sourceTree = "<group>";
                };
-               A1253708040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tty_kpasswd.c;
-                       refType = 4;
+               A198BC1C0406D04A00120114 /* Scripts */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       path = Scripts;
                        sourceTree = "<group>";
                };
-               A1253709040BEC06003D8244 = {
+               A198BC1D0406D04A00120114 /* Sources */ = {
+                       isa = PBXGroup;
                        children = (
-                               A125370A040BEC06003D8244,
-                               A125370B040BEC06003D8244,
-                               A125370D040BEC06003D8244,
-                               A1253712040BEC06003D8244,
-                               A1253714040BEC06003D8244,
                        );
-                       isa = PBXGroup;
-                       path = "unit-test";
-                       refType = 4;
+                       path = Sources;
                        sourceTree = "<group>";
                };
-               A125370A040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               A1AFE5D406D19E7A0073AEA1 /* kadm5 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1AFE5D506D19E7A0073AEA1 /* .cvsignore */,
+                               A1AFE5D606D19E7A0073AEA1 /* adb.h */,
+                               A1AFE5D706D19E7A0073AEA1 /* adb_err.et */,
+                               A1AFE5D806D19E7A0073AEA1 /* admin.h */,
+                               A1AFE5D906D19E7A0073AEA1 /* admin_internal.h */,
+                               A1AFE5DA06D19E7A0073AEA1 /* admin_xdr.h */,
+                               A1AFE5DB06D19E7A0073AEA1 /* alt_prof.c */,
+                               A1AFE5DC06D19E7A0073AEA1 /* ChangeLog */,
+                               A1AFE5DD06D19E7A0073AEA1 /* chpass_util.c */,
+                               A1AFE5DE06D19E7A0073AEA1 /* chpass_util_strings.et */,
+                               A1AFE5DF06D19E7A0073AEA1 /* clnt */,
+                               A1AFE5EC06D19E7A0073AEA1 /* configure */,
+                               A1AFE5ED06D19E7A0073AEA1 /* configure.in */,
+                               A1AFE5EE06D19E7A0073AEA1 /* kadm_err.et */,
+                               A1AFE5EF06D19E7A0073AEA1 /* kadm_rpc.h */,
+                               A1AFE5F006D19E7A0073AEA1 /* kadm_rpc_xdr.c */,
+                               A1AFE5F106D19E7A0073AEA1 /* logger.c */,
+                               A1AFE5F206D19E7A0073AEA1 /* Makefile.in */,
+                               A1AFE5F306D19E7A0073AEA1 /* misc_free.c */,
+                               A1AFE5F406D19E7A0073AEA1 /* ovsec_glue.c */,
+                               A1AFE5F506D19E7A0073AEA1 /* server_internal.h */,
+                               A1AFE5F606D19E7A0073AEA1 /* srv */,
+                               A1AFE60B06D19E7B0073AEA1 /* str_conv.c */,
+                               A1AFE60C06D19E7B0073AEA1 /* unit-test */,
+                       );
+                       path = kadm5;
                        sourceTree = "<group>";
                };
-               A125370B040BEC06003D8244 = {
+               A1AFE5DF06D19E7A0073AEA1 /* clnt */ = {
+                       isa = PBXGroup;
                        children = (
-                               A125370C040BEC06003D8244,
+                               A1AFE5E006D19E7A0073AEA1 /* .cvsignore */,
+                               A1AFE5E106D19E7A0073AEA1 /* ChangeLog */,
+                               A1AFE5E206D19E7A0073AEA1 /* client_handle.c */,
+                               A1AFE5E306D19E7A0073AEA1 /* client_init.c */,
+                               A1AFE5E406D19E7A0073AEA1 /* client_internal.h */,
+                               A1AFE5E506D19E7A0073AEA1 /* client_principal.c */,
+                               A1AFE5E606D19E7A0073AEA1 /* client_rpc.c */,
+                               A1AFE5E706D19E7A0073AEA1 /* clnt_chpass_util.c */,
+                               A1AFE5E806D19E7A0073AEA1 /* clnt_policy.c */,
+                               A1AFE5E906D19E7A0073AEA1 /* clnt_privs.c */,
+                               A1AFE5EA06D19E7A0073AEA1 /* libkadm5clnt.exports */,
+                               A1AFE5EB06D19E7A0073AEA1 /* Makefile.in */,
                        );
-                       isa = PBXGroup;
-                       path = config;
-                       refType = 4;
+                       path = clnt;
                        sourceTree = "<group>";
                };
-               A125370C040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = unix.exp;
-                       refType = 4;
+               A1AFE5F606D19E7A0073AEA1 /* srv */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1AFE5F706D19E7A0073AEA1 /* .cvsignore */,
+                               A1AFE5F806D19E7A0073AEA1 /* adb_free.c */,
+                               A1AFE5F906D19E7A0073AEA1 /* adb_openclose.c */,
+                               A1AFE5FA06D19E7A0073AEA1 /* adb_policy.c */,
+                               A1AFE5FB06D19E7A0073AEA1 /* adb_xdr.c */,
+                               A1AFE5FC06D19E7A0073AEA1 /* ChangeLog */,
+                               A1AFE5FD06D19E7A0073AEA1 /* libkadm5srv.exports */,
+                               A1AFE5FE06D19E7A0073AEA1 /* Makefile.in */,
+                               A1AFE5FF06D19E7A0073AEA1 /* server_acl.c */,
+                               A1AFE60006D19E7A0073AEA1 /* server_acl.h */,
+                               A1AFE60106D19E7A0073AEA1 /* server_dict.c */,
+                               A1AFE60206D19E7A0073AEA1 /* server_handle.c */,
+                               A1AFE60306D19E7A0073AEA1 /* server_init.c */,
+                               A1AFE60406D19E7A0073AEA1 /* server_kdb.c */,
+                               A1AFE60506D19E7A0073AEA1 /* server_misc.c */,
+                               A1AFE60606D19E7A0073AEA1 /* svr_chpass_util.c */,
+                               A1AFE60706D19E7A0073AEA1 /* svr_iters.c */,
+                               A1AFE60806D19E7A0073AEA1 /* svr_misc_free.c */,
+                               A1AFE60906D19E7A0073AEA1 /* svr_policy.c */,
+                               A1AFE60A06D19E7A0073AEA1 /* svr_principal.c */,
+                       );
+                       path = srv;
                        sourceTree = "<group>";
                };
-               A125370D040BEC06003D8244 = {
+               A1AFE60C06D19E7B0073AEA1 /* unit-test */ = {
+                       isa = PBXGroup;
                        children = (
-                               A125370E040BEC06003D8244,
-                               A125370F040BEC06003D8244,
-                               A1253710040BEC06003D8244,
-                               A1253711040BEC06003D8244,
+                               A1AFE60D06D19E7B0073AEA1 /* .cvsignore */,
+                               A1AFE60E06D19E7B0073AEA1 /* api.0 */,
+                               A1AFE61C06D19E7B0073AEA1 /* api.1 */,
+                               A1AFE61D06D19E7B0073AEA1 /* api.2 */,
+                               A1AFE62F06D19E7B0073AEA1 /* ChangeLog */,
+                               A1AFE63006D19E7B0073AEA1 /* config */,
+                               A1AFE63206D19E7B0073AEA1 /* destroy-test.c */,
+                               A1AFE63306D19E7B0073AEA1 /* diff-files */,
+                               A1AFE63606D19E7B0073AEA1 /* handle-test.c */,
+                               A1AFE63706D19E7B0073AEA1 /* init-test.c */,
+                               A1AFE63806D19E7B0073AEA1 /* iter-test.c */,
+                               A1AFE63906D19E7B0073AEA1 /* lib */,
+                               A1AFE63B06D19E7B0073AEA1 /* lock-test.c */,
+                               A1AFE63C06D19E7B0073AEA1 /* Makefile.in */,
+                               A1AFE63D06D19E7B0073AEA1 /* randkey-test.c */,
+                               A1AFE63E06D19E7B0073AEA1 /* README.new-tests */,
+                               A1AFE63F06D19E7B0073AEA1 /* setkey-test.c */,
+                               A1AFE64006D19E7B0073AEA1 /* site.exp */,
                        );
-                       isa = PBXGroup;
-                       path = kpasswd.0;
-                       refType = 4;
+                       path = "unit-test";
                        sourceTree = "<group>";
                };
-               A125370E040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = changing.exp;
-                       refType = 4;
+               A1AFE60E06D19E7B0073AEA1 /* api.0 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1AFE60F06D19E7B0073AEA1 /* chpass-principal.exp */,
+                               A1AFE61006D19E7B0073AEA1 /* crte-policy.exp */,
+                               A1AFE61106D19E7B0073AEA1 /* crte-principal.exp */,
+                               A1AFE61206D19E7B0073AEA1 /* destroy.exp */,
+                               A1AFE61306D19E7B0073AEA1 /* dlte-policy.exp */,
+                               A1AFE61406D19E7B0073AEA1 /* dlte-principal.exp */,
+                               A1AFE61506D19E7B0073AEA1 /* get-policy.exp */,
+                               A1AFE61606D19E7B0073AEA1 /* get-principal.exp */,
+                               A1AFE61706D19E7B0073AEA1 /* init.exp */,
+                               A1AFE61806D19E7B0073AEA1 /* mod-policy.exp */,
+                               A1AFE61906D19E7B0073AEA1 /* mod-principal.exp */,
+                               A1AFE61A06D19E7B0073AEA1 /* randkey-principal.exp */,
+                               A1AFE61B06D19E7B0073AEA1 /* rename-principal.exp */,
+                       );
+                       path = api.0;
                        sourceTree = "<group>";
                };
-               A125370F040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = connecting.exp;
-                       refType = 4;
+               A1AFE61D06D19E7B0073AEA1 /* api.2 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1AFE61E06D19E7B0073AEA1 /* chpass-principal-v2.exp */,
+                               A1AFE61F06D19E7B0073AEA1 /* chpass-principal.exp */,
+                               A1AFE62006D19E7B0073AEA1 /* crte-policy.exp */,
+                               A1AFE62106D19E7B0073AEA1 /* crte-principal.exp */,
+                               A1AFE62206D19E7B0073AEA1 /* destroy.exp */,
+                               A1AFE62306D19E7B0073AEA1 /* dlte-policy.exp */,
+                               A1AFE62406D19E7B0073AEA1 /* dlte-principal.exp */,
+                               A1AFE62506D19E7B0073AEA1 /* get-policy.exp */,
+                               A1AFE62606D19E7B0073AEA1 /* get-principal-v2.exp */,
+                               A1AFE62706D19E7B0073AEA1 /* get-principal.exp */,
+                               A1AFE62806D19E7B0073AEA1 /* init-v2.exp */,
+                               A1AFE62906D19E7B0073AEA1 /* init.exp */,
+                               A1AFE62A06D19E7B0073AEA1 /* mod-policy.exp */,
+                               A1AFE62B06D19E7B0073AEA1 /* mod-principal-v2.exp */,
+                               A1AFE62C06D19E7B0073AEA1 /* mod-principal.exp */,
+                               A1AFE62D06D19E7B0073AEA1 /* randkey-principal-v2.exp */,
+                               A1AFE62E06D19E7B0073AEA1 /* randkey-principal.exp */,
+                       );
+                       path = api.2;
                        sourceTree = "<group>";
                };
-               A1253710040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = principal.exp;
-                       refType = 4;
+               A1AFE63006D19E7B0073AEA1 /* config */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1AFE63106D19E7B0073AEA1 /* unix.exp */,
+                       );
+                       path = config;
                        sourceTree = "<group>";
                };
-               A1253711040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = usage.exp;
-                       refType = 4;
+               A1AFE63306D19E7B0073AEA1 /* diff-files */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1AFE63406D19E7B0073AEA1 /* destroy-1 */,
+                               A1AFE63506D19E7B0073AEA1 /* no-diffs */,
+                       );
+                       path = "diff-files";
                        sourceTree = "<group>";
                };
-               A1253712040BEC06003D8244 = {
+               A1AFE63906D19E7B0073AEA1 /* lib */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253713040BEC06003D8244,
+                               A1AFE63A06D19E7B0073AEA1 /* lib.t */,
                        );
-                       isa = PBXGroup;
                        path = lib;
-                       refType = 4;
                        sourceTree = "<group>";
                };
-               A1253713040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = helpers.exp;
-                       refType = 4;
+               A1B707E00873577700F0C55D /* servers */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B707E10873577700F0C55D /* usr */,
+                       );
+                       path = servers;
                        sourceTree = "<group>";
                };
-               A1253714040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               A1B707E10873577700F0C55D /* usr */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B707E20873577700F0C55D /* bin */,
+                               A1B707F40873577700F0C55D /* include */,
+                               A1B708130873577700F0C55D /* lib */,
+                               A1B7081F0873577700F0C55D /* man */,
+                               A1B708480873577700F0C55D /* sbin */,
+                               A1B7085D0873577700F0C55D /* share */,
+                       );
+                       path = usr;
                        sourceTree = "<group>";
                };
-               A1253715040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = xm_kpasswd.c;
-                       refType = 4;
+               A1B707E20873577700F0C55D /* bin */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B707E30873577700F0C55D /* compile_et */,
+                               A1B707E40873577700F0C55D /* ftp */,
+                               A1B707E50873577700F0C55D /* gss-client */,
+                               A1B707E60873577700F0C55D /* kdestroy */,
+                               A1B707E70873577700F0C55D /* kinit */,
+                               A1B707E80873577700F0C55D /* klist */,
+                               A1B707E90873577700F0C55D /* kpasswd */,
+                               A1B707EA0873577700F0C55D /* krb5-config */,
+                               A1B707EB0873577700F0C55D /* krb524init */,
+                               A1B707EC0873577700F0C55D /* kvno */,
+                               A1B707ED0873577700F0C55D /* rcp */,
+                               A1B707EE0873577700F0C55D /* rlogin */,
+                               A1B707EF0873577700F0C55D /* rsh */,
+                               A1B707F00873577700F0C55D /* sclient */,
+                               A1B707F10873577700F0C55D /* sim_client */,
+                               A1B707F20873577700F0C55D /* telnet */,
+                               A1B707F30873577700F0C55D /* uuclient */,
+                       );
+                       path = bin;
+                       sourceTree = "<group>";
+               };
+               A1B707F40873577700F0C55D /* include */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B707F50873577700F0C55D /* com_err.h */,
+                               A1B707F60873577700F0C55D /* gssapi */,
+                               A1B707FA0873577700F0C55D /* gssrpc */,
+                               A1B7080B0873577700F0C55D /* kerberosIV */,
+                               A1B708110873577700F0C55D /* krb5.h */,
+                               A1B708120873577700F0C55D /* profile.h */,
+                       );
+                       path = include;
                        sourceTree = "<group>";
                };
-               A1253716040BEC06003D8244 = {
+               A1B707F60873577700F0C55D /* gssapi */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253717040BEC06003D8244,
+                               A1B707F70873577700F0C55D /* gssapi.h */,
+                               A1B707F80873577700F0C55D /* gssapi_generic.h */,
+                               A1B707F90873577700F0C55D /* gssapi_krb5.h */,
                        );
-                       isa = PBXGroup;
-                       path = scripts;
-                       refType = 4;
+                       path = gssapi;
                        sourceTree = "<group>";
                };
-               A1253717040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "inst-hdrs.sh";
-                       refType = 4;
+               A1B707FA0873577700F0C55D /* gssrpc */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B707FB0873577700F0C55D /* auth.h */,
+                               A1B707FC0873577700F0C55D /* auth_gss.h */,
+                               A1B707FD0873577700F0C55D /* auth_gssapi.h */,
+                               A1B707FE0873577700F0C55D /* auth_unix.h */,
+                               A1B707FF0873577700F0C55D /* clnt.h */,
+                               A1B708000873577700F0C55D /* netdb.h */,
+                               A1B708010873577700F0C55D /* pmap_clnt.h */,
+                               A1B708020873577700F0C55D /* pmap_prot.h */,
+                               A1B708030873577700F0C55D /* pmap_rmt.h */,
+                               A1B708040873577700F0C55D /* rename.h */,
+                               A1B708050873577700F0C55D /* rpc.h */,
+                               A1B708060873577700F0C55D /* rpc_msg.h */,
+                               A1B708070873577700F0C55D /* svc.h */,
+                               A1B708080873577700F0C55D /* svc_auth.h */,
+                               A1B708090873577700F0C55D /* types.h */,
+                               A1B7080A0873577700F0C55D /* xdr.h */,
+                       );
+                       path = gssrpc;
+                       sourceTree = "<group>";
+               };
+               A1B7080B0873577700F0C55D /* kerberosIV */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B7080C0873577700F0C55D /* des.h */,
+                               A1B7080D0873577700F0C55D /* kadm_err.h */,
+                               A1B7080E0873577700F0C55D /* krb.h */,
+                               A1B7080F0873577700F0C55D /* krb_err.h */,
+                               A1B708100873577700F0C55D /* mit-copyright.h */,
+                       );
+                       path = kerberosIV;
                        sourceTree = "<group>";
                };
-               A1253718040BEC06003D8244 = {
+               A1B708130873577700F0C55D /* lib */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253719040BEC06003D8244,
-                               A125371A040BEC06003D8244,
-                               A125371B040BEC06003D8244,
-                               A125371C040BEC06003D8244,
-                               A125371D040BEC06003D8244,
-                               A125371E040BEC06003D8244,
-                               A125371F040BEC06003D8244,
-                               A1253720040BEC06003D8244,
-                               A1253721040BEC06003D8244,
-                               A1253722040BEC06003D8244,
-                               A1253723040BEC06003D8244,
-                               A1253724040BEC06003D8244,
+                               A1B708140873577700F0C55D /* libcom_err.a */,
+                               A1B708150873577700F0C55D /* libdes425.a */,
+                               A1B708160873577700F0C55D /* libgssapi_krb5.a */,
+                               A1B708170873577700F0C55D /* libgssrpc.a */,
+                               A1B708180873577700F0C55D /* libk5crypto.a */,
+                               A1B708190873577700F0C55D /* libkadm5clnt.a */,
+                               A1B7081A0873577700F0C55D /* libkadm5srv.a */,
+                               A1B7081B0873577700F0C55D /* libkdb5.a */,
+                               A1B7081C0873577700F0C55D /* libkrb4.a */,
+                               A1B7081D0873577700F0C55D /* libkrb5.a */,
+                               A1B7081E0873577700F0C55D /* libkrb5support.a */,
                        );
-                       isa = PBXGroup;
-                       path = server;
-                       refType = 4;
+                       path = lib;
                        sourceTree = "<group>";
                };
-               A1253719040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
+               A1B7081F0873577700F0C55D /* man */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708200873577700F0C55D /* man1 */,
+                               A1B708330873577700F0C55D /* man5 */,
+                               A1B708370873577700F0C55D /* man8 */,
+                       );
+                       path = man;
                        sourceTree = "<group>";
                };
-               A125371A040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.lex;
-                       path = acls.l;
-                       refType = 4;
+               A1B708200873577700F0C55D /* man1 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708210873577700F0C55D /* compile_et.1 */,
+                               A1B708220873577700F0C55D /* ftp.1 */,
+                               A1B708230873577700F0C55D /* kdestroy.1 */,
+                               A1B708240873577700F0C55D /* kerberos.1 */,
+                               A1B708250873577700F0C55D /* kinit.1 */,
+                               A1B708260873577700F0C55D /* klist.1 */,
+                               A1B708270873577700F0C55D /* kpasswd.1 */,
+                               A1B708280873577700F0C55D /* krb5-config.1 */,
+                               A1B708290873577700F0C55D /* krb5-send-pr.1 */,
+                               A1B7082A0873577700F0C55D /* ksu.1 */,
+                               A1B7082B0873577700F0C55D /* kvno.1 */,
+                               A1B7082C0873577700F0C55D /* rcp.1 */,
+                               A1B7082D0873577700F0C55D /* rlogin.1 */,
+                               A1B7082E0873577700F0C55D /* rsh.1 */,
+                               A1B7082F0873577700F0C55D /* sclient.1 */,
+                               A1B708300873577700F0C55D /* telnet.1 */,
+                               A1B708310873577700F0C55D /* tmac.doc */,
+                               A1B708320873577700F0C55D /* v4rcp.1 */,
+                       );
+                       path = man1;
+                       sourceTree = "<group>";
+               };
+               A1B708330873577700F0C55D /* man5 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708340873577700F0C55D /* .k5login.5 */,
+                               A1B708350873577700F0C55D /* kdc.conf.5 */,
+                               A1B708360873577700F0C55D /* krb5.conf.5 */,
+                       );
+                       path = man5;
                        sourceTree = "<group>";
                };
-               A125371B040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               A1B708370873577700F0C55D /* man8 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708380873577700F0C55D /* ftpd.8 */,
+                               A1B708390873577700F0C55D /* k5srvutil.8 */,
+                               A1B7083A0873577700F0C55D /* kadmin.8 */,
+                               A1B7083B0873577700F0C55D /* kadmin.local.8 */,
+                               A1B7083C0873577700F0C55D /* kadmind.8 */,
+                               A1B7083D0873577700F0C55D /* kdb5_util.8 */,
+                               A1B7083E0873577700F0C55D /* klogind.8 */,
+                               A1B7083F0873577700F0C55D /* kprop.8 */,
+                               A1B708400873577700F0C55D /* kpropd.8 */,
+                               A1B708410873577700F0C55D /* krb524d.8 */,
+                               A1B708420873577700F0C55D /* krb5kdc.8 */,
+                               A1B708430873577700F0C55D /* kshd.8 */,
+                               A1B708440873577700F0C55D /* ktutil.8 */,
+                               A1B708450873577700F0C55D /* login.krb5.8 */,
+                               A1B708460873577700F0C55D /* sserver.8 */,
+                               A1B708470873577700F0C55D /* telnetd.8 */,
+                       );
+                       path = man8;
+                       sourceTree = "<group>";
+               };
+               A1B708480873577700F0C55D /* sbin */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708490873577700F0C55D /* ftpd */,
+                               A1B7084A0873577700F0C55D /* gss-server */,
+                               A1B7084B0873577700F0C55D /* k5srvutil */,
+                               A1B7084C0873577700F0C55D /* kadmin */,
+                               A1B7084D0873577700F0C55D /* kadmin.local */,
+                               A1B7084E0873577700F0C55D /* kadmind */,
+                               A1B7084F0873577700F0C55D /* kdb5_util */,
+                               A1B708500873577700F0C55D /* klogind */,
+                               A1B708510873577700F0C55D /* kprop */,
+                               A1B708520873577700F0C55D /* kpropd */,
+                               A1B708530873577700F0C55D /* krb5-send-pr */,
+                               A1B708540873577700F0C55D /* krb524d */,
+                               A1B708550873577700F0C55D /* krb5kdc */,
+                               A1B708560873577700F0C55D /* kshd */,
+                               A1B708570873577700F0C55D /* ktutil */,
+                               A1B708580873577700F0C55D /* login.krb5 */,
+                               A1B708590873577700F0C55D /* sim_server */,
+                               A1B7085A0873577700F0C55D /* sserver */,
+                               A1B7085B0873577700F0C55D /* telnetd */,
+                               A1B7085C0873577700F0C55D /* uuserver */,
+                       );
+                       path = sbin;
+                       sourceTree = "<group>";
+               };
+               A1B7085D0873577700F0C55D /* share */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B7085E0873577700F0C55D /* et */,
+                               A1B708610873577700F0C55D /* examples */,
+                               A1B708660873577700F0C55D /* gnats */,
+                       );
+                       path = share;
                        sourceTree = "<group>";
                };
-               A125371C040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_rpc_svc.c;
-                       refType = 4;
+               A1B7085E0873577700F0C55D /* et */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B7085F0873577700F0C55D /* et_c.awk */,
+                               A1B708600873577700F0C55D /* et_h.awk */,
+                       );
+                       path = et;
                        sourceTree = "<group>";
                };
-               A125371D040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.objcpp;
-                       path = kadmind.M;
-                       refType = 4;
+               A1B708610873577700F0C55D /* examples */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708620873577700F0C55D /* krb5 */,
+                       );
+                       path = examples;
                        sourceTree = "<group>";
                };
-               A125371E040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               A1B708620873577700F0C55D /* krb5 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708630873577700F0C55D /* kdc.conf */,
+                               A1B708640873577700F0C55D /* krb5.conf */,
+                               A1B708650873577700F0C55D /* services.append */,
+                       );
+                       path = krb5;
                        sourceTree = "<group>";
                };
-               A125371F040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = misc.c;
-                       refType = 4;
+               A1B708660873577700F0C55D /* gnats */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1B708670873577700F0C55D /* mit */,
+                       );
+                       path = gnats;
                        sourceTree = "<group>";
                };
-               A1253720040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = misc.h;
-                       refType = 4;
+               A1D256ED06A713A600A9EC13 /* support */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1A6783106C3D47F00EC826E /* fake-addrinfo.c */,
+                               A1D256EE06A713A600A9EC13 /* ChangeLog */,
+                               A1D256F106A713A600A9EC13 /* threads.c */,
+                       );
+                       path = support;
                        sourceTree = "<group>";
                };
-               A1253721040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ovsec_kadmd.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               F5172F7B03F1B65801120114 /* Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F5E59C0D03FD95A101120114 /* aclocal.m4 */,
+                               F517307F03F1B65801120114 /* ChangeLog */,
+                               A1B707440872FB9D00F0C55D /* configure */,
+                               F5E59C0E03FD95A101120114 /* configure.in */,
+                               F5E59C0F03FD95CF01120114 /* config */,
+                               F51730DE03F1B65801120114 /* include */,
+                               A12536B3040BEC05003D8244 /* kadmin */,
+                               F517322103F1B65901120114 /* lib */,
+                               A198BBE10406D04A00120114 /* mac */,
+                               A1D62984070C878B0015C908 /* patchlevel.h */,
+                               F51736C803F1B65B01120114 /* util */,
+                               A1908D5906878C780039CAD8 /* windows */,
+                       );
+                       name = Sources;
+                       path = ../Sources;
+                       sourceTree = SOURCE_ROOT;
                };
-               A1253722040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = schpw.c;
-                       refType = 4;
+               F51730DE03F1B65801120114 /* include */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51730E203F1B65801120114 /* ChangeLog */,
+                               F51730E303F1B65801120114 /* cm.h */,
+                               A1BBFF1604226DBD00120114 /* configure.in */,
+                               F51730E503F1B65801120114 /* fake-addrinfo.h */,
+                               A1F1429E067E5BD500A82808 /* foreachaddr.h */,
+                               F51730E703F1B65801120114 /* k5-int.h */,
+                               A181DA5405CF0BD800E4C246 /* k5-platform.h */,
+                               A1F1429F067E5BD500A82808 /* k5-thread.h */,
+                               F51730E803F1B65801120114 /* k5-util.h */,
+                               F51730E903F1B65801120114 /* kerberosIV */,
+                               F51730FB03F1B65801120114 /* krb5 */,
+                               F517310E03F1B65801120114 /* krb5.hin */,
+                               F517310F03F1B65801120114 /* krb54proto.h */,
+                               F517311003F1B65801120114 /* Makefile.in */,
+                               A1CA438506E3D01200F35E9C /* pkinit_apple_utils.h */,
+                               A1CA438606E3D01200F35E9C /* pkinit_asn1.h */,
+                               A1CA438706E3D01200F35E9C /* pkinit_cert_store.h */,
+                               A1CA438806E3D01200F35E9C /* pkinit_client.h */,
+                               A1CA438906E3D01200F35E9C /* pkinit_cms.h */,
+                               F517311103F1B65801120114 /* port-sockets.h */,
+                               F517311203F1B65801120114 /* socket-utils.h */,
+                               F517311303F1B65901120114 /* spnego-asn1.h */,
+                               F517311503F1B65901120114 /* syslog.h */,
+                               F517311603F1B65901120114 /* win-mac.h */,
+                       );
+                       path = include;
                        sourceTree = "<group>";
                };
-               A1253723040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_glue_v1.c;
-                       refType = 4;
+               F51730E903F1B65801120114 /* kerberosIV */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51730EA03F1B65801120114 /* .cvsignore */,
+                               F51730EB03F1B65801120114 /* .Sanitize */,
+                               F51730EC03F1B65801120114 /* addr_comp.h */,
+                               F51730ED03F1B65801120114 /* admin_server.h */,
+                               F51730EE03F1B65801120114 /* ChangeLog */,
+                               F51730EF03F1B65801120114 /* des.h */,
+                               F51730F003F1B65801120114 /* kadm.h */,
+                               F51730F103F1B65801120114 /* kdc.h */,
+                               F51730F203F1B65801120114 /* klog.h */,
+                               F51730F303F1B65801120114 /* kparse.h */,
+                               F51730F403F1B65801120114 /* krb.h */,
+                               F51730F503F1B65801120114 /* krb_db.h */,
+                               F51730F603F1B65801120114 /* krbports.h */,
+                               F51730F703F1B65801120114 /* lsb_addr_cmp.h */,
+                               F51730F803F1B65801120114 /* Makefile.in */,
+                               F51730F903F1B65801120114 /* mit-copyright.h */,
+                               F51730FA03F1B65801120114 /* prot.h */,
+                       );
+                       path = kerberosIV;
                        sourceTree = "<group>";
                };
-               A1253724040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_stubs.c;
-                       refType = 4;
+               F51730FB03F1B65801120114 /* krb5 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51730FF03F1B65801120114 /* adm.h */,
+                               F517310003F1B65801120114 /* adm_defs.h */,
+                               F517310103F1B65801120114 /* adm_proto.h */,
+                               F517310303F1B65801120114 /* ChangeLog */,
+                               F517310403F1B65801120114 /* copyright.h */,
+                               F517310503F1B65801120114 /* kdb.h */,
+                               F517310603F1B65801120114 /* kdb_dbc.h */,
+                               F517310803F1B65801120114 /* kdb_kt.h */,
+                               F517310903F1B65801120114 /* Makefile.in */,
+                               F517310A03F1B65801120114 /* stock */,
+                       );
+                       path = krb5;
                        sourceTree = "<group>";
                };
-               A1253725040BEC06003D8244 = {
+               F517310A03F1B65801120114 /* stock */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253726040BEC06003D8244,
-                               A1253727040BEC06003D8244,
-                               A1253728040BEC06003D8244,
-                               A1253729040BEC06003D8244,
-                               A125372A040BEC06003D8244,
-                               A125372F040BEC06003D8244,
-                               A1253741040BEC06003D8244,
-                               A1253743040BEC06003D8244,
+                               F517310B03F1B65801120114 /* .Sanitize */,
+                               F517310C03F1B65801120114 /* ChangeLog */,
+                               F517310D03F1B65801120114 /* osconf.h */,
                        );
-                       isa = PBXGroup;
-                       path = testing;
-                       refType = 4;
+                       path = stock;
                        sourceTree = "<group>";
                };
-               A1253726040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
+               F517322103F1B65901120114 /* lib */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517322403F1B65901120114 /* ChangeLog */,
+                               F517322603F1B65901120114 /* crypto */,
+                               F517330803F1B65901120114 /* des425 */,
+                               F517332103F1B65901120114 /* exports.crypto */,
+                               F517332203F1B65901120114 /* exports.des425 */,
+                               F517332303F1B65901120114 /* exports.kdb5 */,
+                               F517332403F1B65901120114 /* exports.krb5 */,
+                               F517332503F1B65901120114 /* glue4.c */,
+                               F517332603F1B65901120114 /* gssapi */,
+                               A1AFE5D406D19E7A0073AEA1 /* kadm5 */,
+                               F517342003F1B65A01120114 /* krb4 */,
+                               F517348E03F1B65A01120114 /* krb5 */,
+                               F51735B103F1B65A01120114 /* Makefile.in */,
+                               F517360C03F1B65B01120114 /* win_glue.c */,
+                       );
+                       path = lib;
                        sourceTree = "<group>";
                };
-               A1253727040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               F517322603F1B65901120114 /* crypto */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517322703F1B65901120114 /* .cvsignore */,
+                               F517322803F1B65901120114 /* .Sanitize */,
+                               F517322903F1B65901120114 /* aes */,
+                               F517324A03F1B65901120114 /* arcfour */,
+                               F517325103F1B65901120114 /* block_size.c */,
+                               F517325203F1B65901120114 /* ChangeLog */,
+                               F517325303F1B65901120114 /* checksum_length.c */,
+                               F517325403F1B65901120114 /* cksumtype_to_string.c */,
+                               F517325503F1B65901120114 /* cksumtypes.c */,
+                               F517325603F1B65901120114 /* cksumtypes.h */,
+                               F517325703F1B65901120114 /* coll_proof_cksum.c */,
+                               F517325803F1B65901120114 /* combine_keys.c */,
+                               F517325903F1B65901120114 /* configure.in */,
+                               F517325A03F1B65901120114 /* crc32 */,
+                               F517326503F1B65901120114 /* crypto_libinit.c */,
+                               F517326603F1B65901120114 /* crypto_libinit.h */,
+                               F517326703F1B65901120114 /* decrypt.c */,
+                               F517326803F1B65901120114 /* default_state.c */,
+                               F517326903F1B65901120114 /* des */,
+                               F517328303F1B65901120114 /* dk */,
+                               F517328C03F1B65901120114 /* enc_provider */,
+                               F517329403F1B65901120114 /* encrypt.c */,
+                               F517329503F1B65901120114 /* encrypt_length.c */,
+                               F517329603F1B65901120114 /* enctype_compare.c */,
+                               F517329703F1B65901120114 /* enctype_to_string.c */,
+                               F517329803F1B65901120114 /* etypes.c */,
+                               F517329903F1B65901120114 /* etypes.h */,
+                               F517329A03F1B65901120114 /* hash_provider */,
+                               F51732A203F1B65901120114 /* hmac.c */,
+                               F51732A303F1B65901120114 /* ISSUES */,
+                               F51732A403F1B65901120114 /* keyed_checksum_types.c */,
+                               F51732A503F1B65901120114 /* keyed_cksum.c */,
+                               F51732A603F1B65901120114 /* keyhash_provider */,
+                               F51732B003F1B65901120114 /* make_checksum.c */,
+                               F51732B103F1B65901120114 /* make_random_key.c */,
+                               F51732B203F1B65901120114 /* Makefile.in */,
+                               A125399205CF12A2003BD89B /* mandatory_sumtype.c */,
+                               F51732B303F1B65901120114 /* md4 */,
+                               F51732BB03F1B65901120114 /* md5 */,
+                               F51732C503F1B65901120114 /* nfold.c */,
+                               F51732C603F1B65901120114 /* old */,
+                               F51732CD03F1B65901120114 /* old_api_glue.c */,
+                               F51732CF03F1B65901120114 /* pbkdf2.c */,
+                               F51732D003F1B65901120114 /* prng.c */,
+                               F51732D103F1B65901120114 /* raw */,
+                               F51732D803F1B65901120114 /* sha1 */,
+                               F51732E103F1B65901120114 /* state.c */,
+                               F51732E203F1B65901120114 /* string_to_cksumtype.c */,
+                               F51732E303F1B65901120114 /* string_to_enctype.c */,
+                               F51732E403F1B65901120114 /* string_to_key.c */,
+                               F51732E503F1B65901120114 /* t_cts.c */,
+                               F51732E603F1B65901120114 /* t_encrypt.c */,
+                               F51732E703F1B65901120114 /* t_hmac.c */,
+                               F51732E803F1B65901120114 /* t_nfold.c */,
+                               F51732E903F1B65901120114 /* t_pkcs5.c */,
+                               F51732EA03F1B65901120114 /* t_prng.c */,
+                               F51732EB03F1B65901120114 /* t_prng.comments */,
+                               F51732EC03F1B65901120114 /* t_prng.expected */,
+                               F51732ED03F1B65901120114 /* t_prng.reseedtest */,
+                               F51732EE03F1B65901120114 /* t_prng.reseedtest-comments */,
+                               F51732EF03F1B65901120114 /* t_prng.reseedtest-expected */,
+                               F51732F003F1B65901120114 /* t_prng.seed */,
+                               F51732F103F1B65901120114 /* valid_cksumtype.c */,
+                               F51732F203F1B65901120114 /* valid_enctype.c */,
+                               F51732F303F1B65901120114 /* vectors.c */,
+                               F51732F403F1B65901120114 /* verify_checksum.c */,
+                               F51732F503F1B65901120114 /* yarrow */,
+                       );
+                       path = crypto;
                        sourceTree = "<group>";
                };
-               A1253728040BEC06003D8244 = {
+               F517322903F1B65901120114 /* aes */ = {
+                       isa = PBXGroup;
                        children = (
+                               F517322A03F1B65901120114 /* aes-gen.c */,
+                               A1B21F170417D6BC00120114 /* aes_s2k.c */,
+                               A1B21F180417D6BC00120114 /* aes_s2k.h */,
+                               F517322B03F1B65901120114 /* aes-test.c */,
+                               F517322C03F1B65901120114 /* aes.h */,
+                               F517322D03F1B65901120114 /* aes.txt */,
+                               F517322E03F1B65901120114 /* aescpp.h */,
+                               F517322F03F1B65901120114 /* aescrypp.c */,
+                               F517323003F1B65901120114 /* aescrypt.asm */,
+                               F517323103F1B65901120114 /* aescrypt.c */,
+                               F517323203F1B65901120114 /* aeskey.c */,
+                               F517323303F1B65901120114 /* aeskeypp.c */,
+                               F517323403F1B65901120114 /* aesopt.h */,
+                               F517323503F1B65901120114 /* aessrc.url */,
+                               F517323603F1B65901120114 /* aestab.c */,
+                               F517323703F1B65901120114 /* ChangeLog */,
+                               F517323803F1B65901120114 /* expect-vk.txt */,
+                               F517323903F1B65901120114 /* expect-vt.txt */,
+                               F517323A03F1B65901120114 /* Makefile.in */,
+                               F517323B03F1B65901120114 /* test */,
+                               F517324703F1B65901120114 /* uitypes.h */,
+                               F517324803F1B65901120114 /* vb.txt */,
+                               F517324903F1B65901120114 /* vbaxam.doc */,
                        );
-                       isa = PBXGroup;
-                       path = lib;
-                       refType = 4;
+                       path = aes;
                        sourceTree = "<group>";
                };
-               A1253729040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               F517323B03F1B65901120114 /* test */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517323C03F1B65901120114 /* cbc_d_m.txt */,
+                               F517323D03F1B65901120114 /* cbc_e_m.txt */,
+                               F517323E03F1B65901120114 /* ecb_d_m.txt */,
+                               F517323F03F1B65901120114 /* ecb_e_m.txt */,
+                               F517324003F1B65901120114 /* ecb_iv.readme */,
+                               F517324103F1B65901120114 /* ecb_iv.txt */,
+                               F517324203F1B65901120114 /* ecb_tbl.txt */,
+                               F517324303F1B65901120114 /* ecb_vk.txt */,
+                               F517324403F1B65901120114 /* ecb_vt.txt */,
+                               F517324503F1B65901120114 /* katmct.pdf */,
+                               F517324603F1B65901120114 /* Readme.txt */,
+                       );
+                       path = test;
                        sourceTree = "<group>";
                };
-               A125372A040BEC06003D8244 = {
+               F517324A03F1B65901120114 /* arcfour */ = {
+                       isa = PBXGroup;
                        children = (
-                               A125372B040BEC06003D8244,
-                               A125372C040BEC06003D8244,
-                               A125372D040BEC06003D8244,
-                               A125372E040BEC06003D8244,
+                               F517324B03F1B65901120114 /* arcfour-int.h */,
+                               F517324C03F1B65901120114 /* arcfour.c */,
+                               F517324D03F1B65901120114 /* arcfour.h */,
+                               F517324E03F1B65901120114 /* ChangeLog */,
+                               F517324F03F1B65901120114 /* Makefile.in */,
+                               F517325003F1B65901120114 /* string_to_key.c */,
                        );
-                       isa = PBXGroup;
-                       path = proto;
-                       refType = 4;
+                       path = arcfour;
                        sourceTree = "<group>";
                };
-               A125372B040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               F517325A03F1B65901120114 /* crc32 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517325B03F1B65901120114 /* .cvsignore */,
+                               F517325C03F1B65901120114 /* .Sanitize */,
+                               F517325D03F1B65901120114 /* ChangeLog */,
+                               F517325E03F1B65901120114 /* crc-32.h */,
+                               F517325F03F1B65901120114 /* crc.pl */,
+                               F517326003F1B65901120114 /* CRC.pm */,
+                               F517326103F1B65901120114 /* crc32.c */,
+                               F517326203F1B65901120114 /* Makefile.in */,
+                               F517326303F1B65901120114 /* Poly.pm */,
+                               F517326403F1B65901120114 /* t_crc.c */,
+                       );
+                       path = crc32;
                        sourceTree = "<group>";
                };
-               A125372C040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kdc.conf.proto;
-                       refType = 4;
+               F517326903F1B65901120114 /* des */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517326A03F1B65901120114 /* .cvsignore */,
+                               F517326B03F1B65901120114 /* .Sanitize */,
+                               F517326C03F1B65901120114 /* afsstring2key.c */,
+                               F517326D03F1B65901120114 /* ChangeLog */,
+                               F517326E03F1B65901120114 /* d3_cbc.c */,
+                               F517326F03F1B65901120114 /* d3_kysched.c */,
+                               F517327003F1B65901120114 /* des_int.h */,
+                               F517327103F1B65901120114 /* destest.c */,
+                               F517327203F1B65901120114 /* doc */,
+                               F517327503F1B65901120114 /* f_cbc.c */,
+                               F517327603F1B65901120114 /* f_cksum.c */,
+                               F517327703F1B65901120114 /* f_parity.c */,
+                               F517327803F1B65901120114 /* f_sched.c */,
+                               F517327903F1B65901120114 /* f_tables.c */,
+                               F517327A03F1B65901120114 /* f_tables.h */,
+                               F517327B03F1B65901120114 /* ISSUES */,
+                               F517327C03F1B65901120114 /* key_sched.c */,
+                               F517327D03F1B65901120114 /* keytest.data */,
+                               F517327E03F1B65901120114 /* Makefile.in */,
+                               F517327F03F1B65901120114 /* string2key.c */,
+                               F517328003F1B65901120114 /* t_afss2k.c */,
+                               F517328103F1B65901120114 /* t_verify.c */,
+                               F517328203F1B65901120114 /* weak_key.c */,
+                       );
+                       path = des;
                        sourceTree = "<group>";
                };
-               A125372D040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = krb5.conf.proto;
-                       refType = 4;
+               F517327203F1B65901120114 /* doc */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517327303F1B65901120114 /* .Sanitize */,
+                               F517327403F1B65901120114 /* libdes.doc */,
+                       );
+                       path = doc;
                        sourceTree = "<group>";
                };
-               A125372E040BEC06003D8244 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ovsec_adm.dict;
-                       refType = 4;
+               F517328303F1B65901120114 /* dk */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517328403F1B65901120114 /* ChangeLog */,
+                               F517328503F1B65901120114 /* checksum.c */,
+                               F517328603F1B65901120114 /* derive.c */,
+                               F517328703F1B65901120114 /* dk.h */,
+                               F517328803F1B65901120114 /* dk_decrypt.c */,
+                               F517328903F1B65901120114 /* dk_encrypt.c */,
+                               F517328A03F1B65901120114 /* Makefile.in */,
+                               F517328B03F1B65901120114 /* stringtokey.c */,
+                       );
+                       path = dk;
                        sourceTree = "<group>";
                };
-               A125372F040BEC06003D8244 = {
-                       children = (
-                               A1253730040BEC06003D8244,
-                               A1253731040BEC06003D8244,
-                               A1253732040BEC06003D8244,
-                               A1253733040BEC06003D8244,
-                               A1253734040BEC06003D8244,
-                               A1253735040BEC06003D8244,
-                               A1253736040BEC06003D8244,
-                               A1253737040BEC06003D8244,
-                               A1253738040BEC06003D8244,
-                               A1253739040BEC06003D8244,
-                               A125373A040BEC06003D8244,
-                               A125373B040BEC06003D8244,
-                               A125373C040BEC06003D8244,
-                               A125373D040BEC06003D8244,
-                               A125373E040BEC06003D8244,
-                               A125373F040BEC06003D8244,
-                               A1253740040BEC06003D8244,
-                       );
+               F517328C03F1B65901120114 /* enc_provider */ = {
                        isa = PBXGroup;
-                       path = scripts;
-                       refType = 4;
+                       children = (
+                               F517328D03F1B65901120114 /* aes.c */,
+                               F517328E03F1B65901120114 /* arcfour.c */,
+                               F517328F03F1B65901120114 /* ChangeLog */,
+                               F517329003F1B65901120114 /* des.c */,
+                               F517329103F1B65901120114 /* des3.c */,
+                               F517329203F1B65901120114 /* enc_provider.h */,
+                               F517329303F1B65901120114 /* Makefile.in */,
+                       );
+                       path = enc_provider;
                        sourceTree = "<group>";
                };
-               A1253730040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
+               F517329A03F1B65901120114 /* hash_provider */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517329B03F1B65901120114 /* ChangeLog */,
+                               F517329C03F1B65901120114 /* hash_crc32.c */,
+                               F517329D03F1B65901120114 /* hash_md4.c */,
+                               F517329E03F1B65901120114 /* hash_md5.c */,
+                               F517329F03F1B65901120114 /* hash_provider.h */,
+                               F51732A003F1B65901120114 /* hash_sha1.c */,
+                               F51732A103F1B65901120114 /* Makefile.in */,
+                       );
+                       path = hash_provider;
                        sourceTree = "<group>";
                };
-               A1253731040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+               F51732A603F1B65901120114 /* keyhash_provider */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51732A703F1B65901120114 /* .cvsignore */,
+                               F51732A803F1B65901120114 /* ChangeLog */,
+                               F51732A903F1B65901120114 /* descbc.c */,
+                               F51732AA03F1B65901120114 /* hmac_md5.c */,
+                               F51732AB03F1B65901120114 /* k5_md4des.c */,
+                               F51732AC03F1B65901120114 /* k5_md5des.c */,
+                               F51732AD03F1B65901120114 /* keyhash_provider.h */,
+                               F51732AE03F1B65901120114 /* Makefile.in */,
+                               F51732AF03F1B65901120114 /* t_cksum.c */,
+                       );
+                       path = keyhash_provider;
                        sourceTree = "<group>";
                };
-               A1253732040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = compare_dump.plin;
-                       refType = 4;
+               F51732B303F1B65901120114 /* md4 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51732B403F1B65901120114 /* .cvsignore */,
+                               F51732B503F1B65901120114 /* .Sanitize */,
+                               F51732B603F1B65901120114 /* ChangeLog */,
+                               F51732B703F1B65901120114 /* ISSUES */,
+                               F51732B803F1B65901120114 /* Makefile.in */,
+                               F51732B903F1B65901120114 /* md4.c */,
+                               F51732BA03F1B65901120114 /* rsa-md4.h */,
+                       );
+                       path = md4;
                        sourceTree = "<group>";
                };
-               A1253733040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "env-setup.shin";
-                       refType = 4;
+               F51732BB03F1B65901120114 /* md5 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51732BC03F1B65901120114 /* .cvsignore */,
+                               F51732BD03F1B65901120114 /* .Sanitize */,
+                               F51732BE03F1B65901120114 /* ChangeLog */,
+                               F51732BF03F1B65901120114 /* ISSUES */,
+                               F51732C003F1B65901120114 /* Makefile.in */,
+                               F51732C103F1B65901120114 /* md5.c */,
+                               F51732C203F1B65901120114 /* rsa-md5.h */,
+                               F51732C303F1B65901120114 /* t_cksum.c */,
+                               F51732C403F1B65901120114 /* t_mddriver.c */,
+                       );
+                       path = md5;
                        sourceTree = "<group>";
                };
-               A1253734040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "find-make.sh";
-                       refType = 4;
+               F51732C603F1B65901120114 /* old */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51732C703F1B65901120114 /* ChangeLog */,
+                               F51732C803F1B65901120114 /* des_stringtokey.c */,
+                               F51732C903F1B65901120114 /* Makefile.in */,
+                               F51732CA03F1B65901120114 /* old.h */,
+                               F51732CB03F1B65901120114 /* old_decrypt.c */,
+                               F51732CC03F1B65901120114 /* old_encrypt.c */,
+                       );
+                       path = old;
                        sourceTree = "<group>";
                };
-               A1253735040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = "fixup-conf-files.plin";
-                       refType = 4;
+               F51732D103F1B65901120114 /* raw */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51732D203F1B65901120114 /* ChangeLog */,
+                               F51732D303F1B65901120114 /* Makefile.in */,
+                               F51732D403F1B65901120114 /* raw.h */,
+                               F51732D503F1B65901120114 /* raw_decrypt.c */,
+                               F51732D603F1B65901120114 /* raw_encrypt.c */,
+                       );
+                       path = raw;
                        sourceTree = "<group>";
                };
-               A1253736040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = init_db;
-                       refType = 4;
+               F51732D803F1B65901120114 /* sha1 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51732D903F1B65901120114 /* .cvsignore */,
+                               F51732DA03F1B65901120114 /* ChangeLog */,
+                               F51732DB03F1B65901120114 /* ISSUES */,
+                               F51732DC03F1B65901120114 /* Makefile.in */,
+                               F51732DD03F1B65901120114 /* shs.c */,
+                               F51732DE03F1B65901120114 /* shs.h */,
+                               F51732DF03F1B65901120114 /* t_shs.c */,
+                               F51732E003F1B65901120114 /* t_shs3.c */,
+                       );
+                       path = sha1;
                        sourceTree = "<group>";
                };
-               A1253737040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = "make-host-keytab.plin";
-                       refType = 4;
+               F51732F503F1B65901120114 /* yarrow */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51732F603F1B65901120114 /* ASSUMPTIONS */,
+                               F51732F703F1B65901120114 /* ChangeLog */,
+                               F51732F803F1B65901120114 /* LICENSE */,
+                               F51732F903F1B65901120114 /* Makefile.in */,
+                               F51732FA03F1B65901120114 /* README */,
+                               F51732FB03F1B65901120114 /* TODO */,
+                               F51732FC03F1B65901120114 /* yarrow.c */,
+                               F51732FD03F1B65901120114 /* yarrow.h */,
+                               F51732FE03F1B65901120114 /* yarrow.man */,
+                               F51732FF03F1B65901120114 /* yarrow.pod */,
+                               F517330003F1B65901120114 /* ycipher.c */,
+                               F517330103F1B65901120114 /* ycipher.h */,
+                               F517330203F1B65901120114 /* yexcep.h */,
+                               F517330303F1B65901120114 /* yhash.h */,
+                               F517330403F1B65901120114 /* ylock.h */,
+                               F517330503F1B65901120114 /* ystate.h */,
+                               F517330603F1B65901120114 /* ytest.c */,
+                               F517330703F1B65901120114 /* ytypes.h */,
+                       );
+                       path = yarrow;
                        sourceTree = "<group>";
                };
-               A1253738040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+               F517330803F1B65901120114 /* des425 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517330B03F1B65901120114 /* ChangeLog */,
+                               F517330C03F1B65901120114 /* cksum.c */,
+                               F517330D03F1B65901120114 /* configure.in */,
+                               F517330E03F1B65901120114 /* des.c */,
+                               F517330F03F1B65901120114 /* enc_dec.c */,
+                               F517331003F1B65901120114 /* ISSUES */,
+                               F517331103F1B65901120114 /* key_parity.c */,
+                               F517331203F1B65901120114 /* key_sched.c */,
+                               F517331303F1B65901120114 /* Makefile.in */,
+                               F517331403F1B65901120114 /* new_rnd_key.c */,
+                               F517331503F1B65901120114 /* pcbc_encrypt.c */,
+                               F517331603F1B65901120114 /* quad_cksum.c */,
+                               F517331703F1B65901120114 /* random_key.c */,
+                               F517331803F1B65901120114 /* read_passwd.c */,
+                               F517331903F1B65901120114 /* str_to_key.c */,
+                               F517331A03F1B65901120114 /* string2key.c */,
+                               F517331B03F1B65901120114 /* t_pcbc.c */,
+                               F517331C03F1B65901120114 /* t_quad.c */,
+                               F517331D03F1B65901120114 /* unix_time.c */,
+                               F517331E03F1B65901120114 /* util.c */,
+                               F517331F03F1B65901120114 /* verify.c */,
+                               F517332003F1B65901120114 /* weak_key.c */,
+                               A166BCC3040D36F8004AA618 /* mac_des_glue.c */,
+                       );
+                       path = des425;
                        sourceTree = "<group>";
                };
-               A1253739040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = qualname.plin;
-                       refType = 4;
+               F517332603F1B65901120114 /* gssapi */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517332803F1B65901120114 /* ChangeLog */,
+                               F517332A03F1B65901120114 /* generic */,
+                               F517334203F1B65901120114 /* gss_libinit.c */,
+                               F517334303F1B65901120114 /* gss_libinit.h */,
+                               F517334403F1B65901120114 /* krb5 */,
+                               F517337603F1B65901120114 /* Makefile.in */,
+                               F517337703F1B65A01120114 /* mechglue */,
+                               F517339D03F1B65A01120114 /* README_SAMPLE_APP */,
+                       );
+                       path = gssapi;
                        sourceTree = "<group>";
                };
-               A125373A040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = save_files.sh;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125373B040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = simple_dump.plin;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125373C040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = start_servers;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125373D040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = start_servers_local;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125373E040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = stop_servers;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125373F040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = stop_servers_local;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253740040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = verify_xrunner_report.plin;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253741040BEC06003D8244 = {
+               F517332A03F1B65901120114 /* generic */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253742040BEC06003D8244,
+                               F517332D03F1B65901120114 /* ChangeLog */,
+                               F517332E03F1B65901120114 /* disp_com_err_status.c */,
+                               F517332F03F1B65901120114 /* disp_major_status.c */,
+                               F517333003F1B65901120114 /* gssapi.hin */,
+                               F517333103F1B65901120114 /* gssapi_err_generic.et */,
+                               F517333203F1B65901120114 /* gssapi_generic.c */,
+                               F517333303F1B65901120114 /* gssapi_generic.h */,
+                               F517333403F1B65901120114 /* gssapiP_generic.h */,
+                               F517333503F1B65901120114 /* Makefile.in */,
+                               F517333603F1B65901120114 /* oid_ops.c */,
+                               F517333703F1B65901120114 /* rel_buffer.c */,
+                               F517333803F1B65901120114 /* rel_oid_set.c */,
+                               F517333903F1B65901120114 /* util_buffer.c */,
+                               F517333A03F1B65901120114 /* util_canonhost.c */,
+                               F517333B03F1B65901120114 /* util_localhost.c */,
+                               F517333C03F1B65901120114 /* util_oid.c */,
+                               F517333D03F1B65901120114 /* util_ordering.c */,
+                               F517333E03F1B65901120114 /* util_set.c */,
+                               F517333F03F1B65901120114 /* util_token.c */,
+                               F517334003F1B65901120114 /* util_validate.c */,
+                               F517334103F1B65901120114 /* utl_nohash_validate.c */,
                        );
-                       isa = PBXGroup;
-                       path = tcl;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253742040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = util.t;
-                       refType = 4;
+                       path = generic;
                        sourceTree = "<group>";
                };
-               A1253743040BEC06003D8244 = {
+               F517334403F1B65901120114 /* krb5 */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253744040BEC06003D8244,
-                               A1253745040BEC06003D8244,
-                               A1253746040BEC06003D8244,
-                               A1253747040BEC06003D8244,
-                               A1253748040BEC06003D8244,
-                               A1253749040BEC06003D8244,
-                               A125374A040BEC06003D8244,
-                               A125374B040BEC06003D8244,
-                               A125374C040BEC06003D8244,
-                               A125374D040BEC06003D8244,
+                               F517334703F1B65901120114 /* 3des.txt */,
+                               F517334803F1B65901120114 /* accept_sec_context.c */,
+                               F517334903F1B65901120114 /* acquire_cred.c */,
+                               F517334A03F1B65901120114 /* add_cred.c */,
+                               F517334B03F1B65901120114 /* canon_name.c */,
+                               F517334C03F1B65901120114 /* ChangeLog */,
+                               F517334D03F1B65901120114 /* compare_name.c */,
+                               F517334E03F1B65901120114 /* context_time.c */,
+                               F517334F03F1B65901120114 /* copy_ccache.c */,
+                               F517335003F1B65901120114 /* delete_sec_context.c */,
+                               F517335103F1B65901120114 /* disp_name.c */,
+                               F517335203F1B65901120114 /* disp_status.c */,
+                               F517335303F1B65901120114 /* duplicate_name.c */,
+                               F517335403F1B65901120114 /* export_name.c */,
+                               F517335503F1B65901120114 /* export_sec_context.c */,
+                               F517335603F1B65901120114 /* get_tkt_flags.c */,
+                               F517335703F1B65901120114 /* gssapi_err_krb5.et */,
+                               F517335803F1B65901120114 /* gssapi_krb5.c */,
+                               F517335903F1B65901120114 /* gssapi_krb5.h */,
+                               F517335A03F1B65901120114 /* gssapiP_krb5.h */,
+                               F517335B03F1B65901120114 /* import_name.c */,
+                               F517335C03F1B65901120114 /* import_sec_context.c */,
+                               F517335D03F1B65901120114 /* indicate_mechs.c */,
+                               F517335E03F1B65901120114 /* init_sec_context.c */,
+                               F517335F03F1B65901120114 /* inq_context.c */,
+                               F517336003F1B65901120114 /* inq_cred.c */,
+                               F517336103F1B65901120114 /* inq_names.c */,
+                               F517336203F1B65901120114 /* k5seal.c */,
+                               A125397605CF124D003BD89B /* k5sealv3.c */,
+                               F517336303F1B65901120114 /* k5unseal.c */,
+                               F517336403F1B65901120114 /* krb5_gss_glue.c */,
+                               F517336503F1B65901120114 /* Makefile.in */,
+                               F517336603F1B65901120114 /* process_context_token.c */,
+                               F517336703F1B65901120114 /* rel_cred.c */,
+                               F517336803F1B65901120114 /* rel_name.c */,
+                               F517336903F1B65901120114 /* rel_oid.c */,
+                               F517336A03F1B65901120114 /* seal.c */,
+                               F517336B03F1B65901120114 /* ser_sctx.c */,
+                               F517336C03F1B65901120114 /* set_ccache.c */,
+                               F517336D03F1B65901120114 /* sign.c */,
+                               F517336E03F1B65901120114 /* unseal.c */,
+                               F517336F03F1B65901120114 /* util_cksum.c */,
+                               F517337003F1B65901120114 /* util_crypt.c */,
+                               F517337103F1B65901120114 /* util_seed.c */,
+                               F517337203F1B65901120114 /* util_seqnum.c */,
+                               F517337303F1B65901120114 /* val_cred.c */,
+                               F517337403F1B65901120114 /* verify.c */,
+                               F517337503F1B65901120114 /* wrap_size_limit.c */,
                        );
-                       isa = PBXGroup;
-                       path = util;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253744040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253745040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = bsddb_dump.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253746040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253747040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253748040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tcl_kadm5.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253749040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = tcl_kadm5.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125374A040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tcl_krb5_hash.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125374B040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tcl_ovsec_kadm.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125374C040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = tcl_ovsec_kadm_syntax;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125374D040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = test.c;
-                       refType = 4;
+                       path = krb5;
                        sourceTree = "<group>";
                };
-               A125374E040BEC06003D8244 = {
+               F517337703F1B65A01120114 /* mechglue */ = {
+                       isa = PBXGroup;
                        children = (
-                               A125374F040BEC06003D8244,
-                               A1253750040BEC06003D8244,
-                               A1253751040BEC06003D8244,
-                               A1253752040BEC06003D8244,
-                               A1253753040BEC06003D8244,
-                               A1253754040BEC06003D8244,
-                               A1253755040BEC06003D8244,
-                               A1253756040BEC06003D8244,
-                               A1253757040BEC06003D8244,
-                               A1253758040BEC06003D8244,
-                               A1253759040BEC06003D8244,
-                               A125375A040BEC06003D8244,
-                               A125375B040BEC06003D8244,
-                               A125375C040BEC06003D8244,
+                               F517337803F1B65A01120114 /* .Sanitize */,
+                               F517337903F1B65A01120114 /* ChangeLog */,
+                               F517337A03F1B65A01120114 /* g_accept_sec_context.c */,
+                               F517337B03F1B65A01120114 /* g_acquire_cred.c */,
+                               F517337C03F1B65A01120114 /* g_compare_name.c */,
+                               F517337D03F1B65A01120114 /* g_context_time.c */,
+                               F517337E03F1B65A01120114 /* g_delete_sec_context.c */,
+                               F517337F03F1B65A01120114 /* g_dsp_name.c */,
+                               F517338003F1B65A01120114 /* g_dsp_status.c */,
+                               F517338103F1B65A01120114 /* g_exp_sec_context.c */,
+                               F517338203F1B65A01120114 /* g_glue.c */,
+                               F517338303F1B65A01120114 /* g_imp_name.c */,
+                               F517338403F1B65A01120114 /* g_imp_sec_context.c */,
+                               F517338503F1B65A01120114 /* g_indicate_mechs.c */,
+                               F517338603F1B65A01120114 /* g_init_sec_context.c */,
+                               F517338703F1B65A01120114 /* g_initialize.c */,
+                               F517338803F1B65A01120114 /* g_inq_context.c */,
+                               F517338903F1B65A01120114 /* g_inq_cred.c */,
+                               F517338A03F1B65A01120114 /* g_inq_names.c */,
+                               F517338B03F1B65A01120114 /* g_mechname.c */,
+                               F517338C03F1B65A01120114 /* g_oid_ops.c */,
+                               F517338D03F1B65A01120114 /* g_process_context.c */,
+                               F517338E03F1B65A01120114 /* g_rel_buffer.c */,
+                               F517338F03F1B65A01120114 /* g_rel_cred.c */,
+                               F517339003F1B65A01120114 /* g_rel_name.c */,
+                               F517339103F1B65A01120114 /* g_rel_oid_set.c */,
+                               F517339203F1B65A01120114 /* g_seal.c */,
+                               F517339303F1B65A01120114 /* g_sign.c */,
+                               F517339403F1B65A01120114 /* g_unseal.c */,
+                               F517339503F1B65A01120114 /* g_verify.c */,
+                               F517339603F1B65A01120114 /* gen_oids.c */,
+                               F517339703F1B65A01120114 /* gssd_pname_to_uid.c */,
+                               F517339803F1B65A01120114 /* Makefile.in */,
+                               F517339903F1B65A01120114 /* mech.conf */,
+                               F517339A03F1B65A01120114 /* mechglue.h */,
+                               F517339B03F1B65A01120114 /* mglueP.h */,
+                               F517339C03F1B65A01120114 /* oid_ops.c */,
                        );
-                       isa = PBXGroup;
-                       path = v4server;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125374F040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253750040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = acl_files.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253751040BEC06003D8244 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = acl_files.doc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253752040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = admin_server.c;
-                       refType = 4;
+                       path = mechglue;
                        sourceTree = "<group>";
                };
-               A1253753040BEC06003D8244 = {
+               F517342003F1B65A01120114 /* krb4 */ = {
+                       isa = PBXGroup;
                        children = (
+                               F517342303F1B65A01120114 /* ad_print.c */,
+                               F517342403F1B65A01120114 /* CCache-glue.c */,
+                               F517342503F1B65A01120114 /* change_password.c */,
+                               F517342603F1B65A01120114 /* ChangeLog */,
+                               F517342703F1B65A01120114 /* configure.in */,
+                               F517342803F1B65A01120114 /* cr_auth_repl.c */,
+                               F517342903F1B65A01120114 /* cr_ciph.c */,
+                               F517342A03F1B65A01120114 /* cr_death_pkt.c */,
+                               F517342B03F1B65A01120114 /* cr_err_repl.c */,
+                               F517342C03F1B65A01120114 /* cr_tkt.c */,
+                               F517342D03F1B65A01120114 /* debug.c */,
+                               F517342E03F1B65A01120114 /* decomp_tkt.c */,
+                               F517342F03F1B65A01120114 /* dest_tkt.c */,
+                               F517343003F1B65A01120114 /* err_txt.c */,
+                               F517343103F1B65A01120114 /* fakeenv.c */,
+                               F517343203F1B65A01120114 /* fgetst.c */,
+                               F517343303F1B65A01120114 /* FSp-glue.c */,
+                               F517343403F1B65A01120114 /* g_ad_tkt.c */,
+                               F517343503F1B65A01120114 /* g_cnffile.c */,
+                               F517343603F1B65A01120114 /* g_cred.c */,
+                               F517343703F1B65A01120114 /* g_in_tkt.c */,
+                               F517343803F1B65A01120114 /* g_phost.c */,
+                               F517343903F1B65A01120114 /* g_pw_in_tkt.c */,
+                               F517343A03F1B65A01120114 /* g_pw_tkt.c */,
+                               F517343B03F1B65A01120114 /* g_svc_in_tkt.c */,
+                               F517343C03F1B65A01120114 /* g_tf_fname.c */,
+                               F517343D03F1B65A01120114 /* g_tf_realm.c */,
+                               F517343E03F1B65A01120114 /* g_tkt_svc.c */,
+                               F517343F03F1B65A01120114 /* gethostname.c */,
+                               F517344003F1B65A01120114 /* getst.c */,
+                               F517344103F1B65A01120114 /* in_tkt.c */,
+                               F517344203F1B65A01120114 /* kadm_err.et */,
+                               F517344303F1B65A01120114 /* kadm_net.c */,
+                               F517344403F1B65A01120114 /* kadm_stream.c */,
+                               F517344503F1B65A01120114 /* klog.c */,
+                               F517344603F1B65A01120114 /* kname_parse.c */,
+                               F517344703F1B65A01120114 /* kntoln.c */,
+                               F517344803F1B65A01120114 /* kparse.c */,
+                               F517344903F1B65A01120114 /* krb4int.h */,
+                               F517344A03F1B65A01120114 /* krb_err.et */,
+                               F517344B03F1B65A01120114 /* kuserok.c */,
+                               F517344C03F1B65A01120114 /* lifetime.c */,
+                               F517344D03F1B65A01120114 /* log.c */,
+                               F517344E03F1B65A01120114 /* mac_glue.c */,
+                               F517344F03F1B65A01120114 /* mac_store.c */,
+                               F517345003F1B65A01120114 /* mac_store.h */,
+                               F517345103F1B65A01120114 /* mac_stubs.c */,
+                               F517345203F1B65A01120114 /* mac_time.c */,
+                               F517345303F1B65A01120114 /* macsock.c */,
+                               F517345403F1B65A01120114 /* Makefile.in */,
+                               F517345503F1B65A01120114 /* memcache.c */,
+                               F517345603F1B65A01120114 /* memcache.h */,
+                               F517345703F1B65A01120114 /* mk_auth.c */,
+                               F517345803F1B65A01120114 /* mk_err.c */,
+                               F517345903F1B65A01120114 /* mk_preauth.c */,
+                               F517345A03F1B65A01120114 /* mk_priv.c */,
+                               F517345B03F1B65A01120114 /* mk_req.c */,
+                               F517345C03F1B65A01120114 /* mk_safe.c */,
+                               F517345D03F1B65A01120114 /* month_sname.c */,
+                               F517345E03F1B65A01120114 /* netread.c */,
+                               F517345F03F1B65A01120114 /* netwrite.c */,
+                               F517346003F1B65A01120114 /* Password.c */,
+                               F517346103F1B65A01120114 /* password_to_key.c */,
+                               F517346203F1B65A01120114 /* pkt_cipher.c */,
+                               F517346303F1B65A01120114 /* pkt_clen.c */,
+                               F517346403F1B65A01120114 /* prot_client.c */,
+                               F517346503F1B65A01120114 /* prot_common.c */,
+                               F517346603F1B65A01120114 /* prot_kdc.c */,
+                               F517346703F1B65A01120114 /* put_svc_key.c */,
+                               F517346803F1B65A01120114 /* rd_err.c */,
+                               F517346903F1B65A01120114 /* rd_preauth.c */,
+                               F517346A03F1B65A01120114 /* rd_priv.c */,
+                               F517346B03F1B65A01120114 /* rd_req.c */,
+                               F517346C03F1B65A01120114 /* rd_safe.c */,
+                               F517346D03F1B65A01120114 /* rd_svc_key.c */,
+                               F517346E03F1B65A01120114 /* RealmsConfig-glue.c */,
+                               F517346F03F1B65A01120114 /* recvauth.c */,
+                               F517347003F1B65A01120114 /* ren-cyg.sh */,
+                               F517347103F1B65A01120114 /* ren-pc.bat */,
+                               F517347203F1B65A01120114 /* ren-pc.sh */,
+                               F517347303F1B65A01120114 /* ren-pl10.sh */,
+                               F517347403F1B65A01120114 /* ren.msg */,
+                               F517347503F1B65A01120114 /* ren2dos.sh */,
+                               F517347603F1B65A01120114 /* ren2long.sh */,
+                               F517347703F1B65A01120114 /* save_creds.c */,
+                               F517347803F1B65A01120114 /* sed-cyg.sh */,
+                               F517347903F1B65A01120114 /* sed-pc.sh */,
+                               F517347A03F1B65A01120114 /* sed-pl10.sh */,
+                               F517347B03F1B65A01120114 /* send_to_kdc.c */,
+                               F517347C03F1B65A01120114 /* sendauth.c */,
+                               F517347D03F1B65A01120114 /* setenv.c */,
+                               F517347E03F1B65A01120114 /* stime.c */,
+                               F517347F03F1B65A01120114 /* strcasecmp.c */,
+                               F517348003F1B65A01120114 /* strnlen.c */,
+                               F517348103F1B65A01120114 /* swab.c */,
+                               F517348203F1B65A01120114 /* tf_shm.c */,
+                               F517348303F1B65A01120114 /* tf_util.c */,
+                               F517348403F1B65A01120114 /* tkt_string.c */,
+                               F517348503F1B65A01120114 /* unix_glue.c */,
+                               F517348603F1B65A01120114 /* unix_time.c */,
+                               F517348703F1B65A01120114 /* vmslink.com */,
+                               F517348803F1B65A01120114 /* vmsswab.c */,
+                               F517348903F1B65A01120114 /* win_glue.c */,
+                               F517348A03F1B65A01120114 /* win_store.c */,
+                               F517348B03F1B65A01120114 /* win_time.c */,
                        );
-                       isa = PBXGroup;
-                       path = attic;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253754040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = build_pwfile.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253755040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253756040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_funcs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253757040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_ser_wrap.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253758040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_server.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253759040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kadm_server.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125375A040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_supp.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125375B040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
+                       path = krb4;
                        sourceTree = "<group>";
                };
-               A125375C040BEC06003D8244 = {
+               F517348E03F1B65A01120114 /* krb5 */ = {
+                       isa = PBXGroup;
                        children = (
-                               A125375D040BEC06003D8244,
-                               A125375E040BEC06003D8244,
-                               A1253761040BEC06003D8244,
-                               A1253762040BEC06003D8244,
-                               A1253764040BEC06003D8244,
-                               A1253765040BEC06003D8244,
-                               A1253766040BEC06003D8244,
-                               A1253768040BEC06003D8244,
+                               F517349003F1B65A01120114 /* asn.1 */,
+                               F51734AB03F1B65A01120114 /* ccache */,
+                               F51734CB03F1B65A01120114 /* ChangeLog */,
+                               F51734CC03F1B65A01120114 /* configure.in */,
+                               F51734CD03F1B65A01120114 /* error_tables */,
+                               F51734D903F1B65A01120114 /* keytab */,
+                               F51734E903F1B65A01120114 /* krb */,
+                               F517355203F1B65A01120114 /* krb5_libinit.c */,
+                               F517355303F1B65A01120114 /* krb5_libinit.h */,
+                               F517355403F1B65A01120114 /* Makefile.in */,
+                               F517355503F1B65A01120114 /* os */,
+                               F517358B03F1B65A01120114 /* posix */,
+                               F517359B03F1B65A01120114 /* rcache */,
                        );
-                       isa = PBXGroup;
-                       path = "unit-test";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125375D040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
+                       path = krb5;
                        sourceTree = "<group>";
                };
-               A125375E040BEC06003D8244 = {
+               F517349003F1B65A01120114 /* asn.1 */ = {
+                       isa = PBXGroup;
                        children = (
-                               A125375F040BEC06003D8244,
-                               A1253760040BEC06003D8244,
+                               F517349403F1B65A01120114 /* asn1_decode.c */,
+                               F517349503F1B65A01120114 /* asn1_decode.h */,
+                               F517349603F1B65A01120114 /* asn1_encode.c */,
+                               F517349703F1B65A01120114 /* asn1_encode.h */,
+                               F517349803F1B65A01120114 /* asn1_get.c */,
+                               F517349903F1B65A01120114 /* asn1_get.h */,
+                               F517349A03F1B65A01120114 /* asn1_k_decode.c */,
+                               F517349B03F1B65A01120114 /* asn1_k_decode.h */,
+                               F517349C03F1B65A01120114 /* asn1_k_encode.c */,
+                               F517349D03F1B65A01120114 /* asn1_k_encode.h */,
+                               F517349E03F1B65A01120114 /* asn1_make.c */,
+                               F517349F03F1B65A01120114 /* asn1_make.h */,
+                               F51734A003F1B65A01120114 /* asn1_misc.c */,
+                               F51734A103F1B65A01120114 /* asn1_misc.h */,
+                               F51734A203F1B65A01120114 /* asn1buf.c */,
+                               F51734A303F1B65A01120114 /* asn1buf.h */,
+                               F51734A403F1B65A01120114 /* asn1glue.h */,
+                               F51734A503F1B65A01120114 /* ChangeLog */,
+                               F51734A603F1B65A01120114 /* KRB5-asn.py */,
+                               F51734A703F1B65A01120114 /* krb5_decode.c */,
+                               F51734A803F1B65A01120114 /* krb5_encode.c */,
+                               F51734A903F1B65A01120114 /* krbasn1.h */,
+                               F51734AA03F1B65A01120114 /* Makefile.in */,
                        );
-                       isa = PBXGroup;
-                       path = config;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125375F040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253760040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = unix.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253761040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = getpid.sh;
-                       refType = 4;
+                       path = asn.1;
                        sourceTree = "<group>";
                };
-               A1253762040BEC06003D8244 = {
+               F51734AB03F1B65A01120114 /* ccache */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253763040BEC06003D8244,
+                               F51734AE03F1B65A01120114 /* cc_file.c */,
+                               F51734AF03F1B65A01120114 /* cc_memory.c */,
+                               F51734B003F1B65A01120114 /* cc_retr.c */,
+                               F51734B103F1B65A01120114 /* ccapi */,
+                               F51734BA03F1B65A01120114 /* ccbase.c */,
+                               F51734BB03F1B65A01120114 /* cccopy.c */,
+                               F51734BC03F1B65A01120114 /* ccdefault.c */,
+                               F51734BD03F1B65A01120114 /* ccdefops.c */,
+                               F51734BE03F1B65A01120114 /* ccfns.c */,
+                               F51734BF03F1B65A01120114 /* ChangeLog */,
+                               F51734C003F1B65A01120114 /* fcc.h */,
+                               F51734C103F1B65A01120114 /* file */,
+                               F51734C203F1B65A01120114 /* Makefile.in */,
+                               F51734C303F1B65A01120114 /* memory */,
+                               F51734C403F1B65A01120114 /* scc.h */,
+                               F51734C503F1B65A01120114 /* ser_cc.c */,
+                               F51734C603F1B65A01120114 /* stdio */,
+                               F51734C703F1B65A01120114 /* t_cc.c */,
+                               F51734C803F1B65A01120114 /* t_file.c */,
+                               F51734C903F1B65A01120114 /* t_memory.c */,
+                               F51734CA03F1B65A01120114 /* t_stdio.c */,
                        );
-                       isa = PBXGroup;
-                       path = lib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253763040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = helpers.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253764040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253765040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = remove_changepw_perms.sh;
-                       refType = 4;
+                       path = ccache;
                        sourceTree = "<group>";
                };
-               A1253766040BEC06003D8244 = {
+               F51734B103F1B65A01120114 /* ccapi */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253767040BEC06003D8244,
+                               F51734B203F1B65A01120114 /* ChangeLog */,
+                               F51734B303F1B65A01120114 /* Makefile.in */,
+                               F51734B403F1B65A01120114 /* stdcc.c */,
+                               F51734B503F1B65A01120114 /* stdcc.h */,
+                               F51734B603F1B65A01120114 /* stdcc_util.c */,
+                               F51734B703F1B65A01120114 /* stdcc_util.h */,
+                               F51734B803F1B65A01120114 /* winccld.c */,
+                               F51734B903F1B65A01120114 /* winccld.h */,
                        );
-                       isa = PBXGroup;
-                       path = v4server.0;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253767040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "setup-srvtab.exp";
-                       refType = 4;
+                       path = ccapi;
                        sourceTree = "<group>";
                };
-               A1253768040BEC06003D8244 = {
+               F51734C103F1B65A01120114 /* file */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253769040BEC06003D8244,
-                               A125376A040BEC06003D8244,
-                               A125376B040BEC06003D8244,
                        );
-                       isa = PBXGroup;
-                       path = v4server.1;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253769040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = access.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125376A040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "change-password.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125376B040BEC06003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = usage.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253783040BF7E6003D8244 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = KerberosDES.pbexp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253784040BF80F003D8244 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Kerberos4.pbexp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125378D040BFA0E003D8244 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = KerberosProfile.pbexp;
-                       refType = 4;
+                       path = file;
                        sourceTree = "<group>";
                };
-               A12537EA040C0795003D8244 = {
+               F51734C303F1B65A01120114 /* memory */ = {
+                       isa = PBXGroup;
                        children = (
-                               A12537FA040C080B003D8244,
-                               A12537FE040C080B003D8244,
-                               A1253803040C0D3E003D8244,
-                               A12537EB040C0795003D8244,
-                               A12537EE040C0795003D8244,
                        );
-                       isa = PBXGroup;
-                       path = include;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A12537EB040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb5.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A12537EE040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = profile.h;
-                       refType = 4;
+                       path = memory;
                        sourceTree = "<group>";
                };
-               A12537EF040C0795003D8244 = {
+               F51734C603F1B65A01120114 /* stdio */ = {
+                       isa = PBXGroup;
                        children = (
-                               A12537F0040C0795003D8244,
-                               A12537F1040C0795003D8244,
-                               A12537F2040C0795003D8244,
-                               A12537F3040C0795003D8244,
-                               A12537F4040C0795003D8244,
-                               A12537F5040C0795003D8244,
-                               A12537F8040C0795003D8244,
-                               A12537F9040C0795003D8244,
                        );
-                       isa = PBXGroup;
-                       path = Kerberos;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A12537F0040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = des.h;
-                       refType = 4;
+                       path = stdio;
                        sourceTree = "<group>";
                };
-               A12537F1040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi.h;
-                       refType = 4;
+               F51734CD03F1B65A01120114 /* error_tables */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51734D103F1B65A01120114 /* asn1_err.et */,
+                               F51734D203F1B65A01120114 /* ChangeLog */,
+                               F51734D303F1B65A01120114 /* init_ets.c */,
+                               F51734D403F1B65A01120114 /* kdb5_err.et */,
+                               A16DA36A0485503F00120112 /* krb524_err.et */,
+                               F51734D503F1B65A01120114 /* krb5_err.et */,
+                               F51734D603F1B65A01120114 /* kv5m_err.et */,
+                               F51734D703F1B65A01120114 /* Makefile.in */,
+                       );
+                       path = error_tables;
                        sourceTree = "<group>";
                };
-               A12537F2040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_generic.h;
-                       refType = 4;
+               F51734D903F1B65A01120114 /* keytab */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51734DB03F1B65A01120114 /* ChangeLog */,
+                               F51734DE03F1B65A01120114 /* kt_file.c */,
+                               F51734DF03F1B65A01120114 /* kt_srvtab.c */,
+                               F51734E003F1B65A01120114 /* ktadd.c */,
+                               F51734E103F1B65A01120114 /* ktbase.c */,
+                               F51734E203F1B65A01120114 /* ktdefault.c */,
+                               F51734E303F1B65A01120114 /* ktfns.c */,
+                               F51734E403F1B65A01120114 /* ktfr_entry.c */,
+                               F51734E503F1B65A01120114 /* ktremove.c */,
+                               F51734E603F1B65A01120114 /* Makefile.in */,
+                               F51734E703F1B65A01120114 /* read_servi.c */,
+                       );
+                       path = keytab;
                        sourceTree = "<group>";
                };
-               A12537F3040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_krb5.h;
-                       refType = 4;
+               F51734E903F1B65A01120114 /* krb */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F51734EC03F1B65A01120114 /* addr_comp.c */,
+                               F51734ED03F1B65A01120114 /* addr_order.c */,
+                               F51734EE03F1B65A01120114 /* addr_srch.c */,
+                               F51734EF03F1B65A01120114 /* appdefault.c */,
+                               F51734F003F1B65A01120114 /* auth_con.c */,
+                               F51734F103F1B65A01120114 /* auth_con.h */,
+                               F51734F203F1B65A01120114 /* bld_pr_ext.c */,
+                               F51734F303F1B65A01120114 /* bld_princ.c */,
+                               F51734F403F1B65A01120114 /* brand.c */,
+                               F51734F503F1B65A01120114 /* ChangeLog */,
+                               F51734F603F1B65A01120114 /* chk_trans.c */,
+                               F51734F703F1B65A01120114 /* chpw.c */,
+                               F51734F803F1B65A01120114 /* cleanup.h */,
+                               A16DA36604854EF700120112 /* conv_creds.c */,
+                               F51734F903F1B65A01120114 /* conv_princ.c */,
+                               F51734FA03F1B65A01120114 /* copy_addrs.c */,
+                               F51734FB03F1B65A01120114 /* copy_athctr.c */,
+                               F51734FC03F1B65A01120114 /* copy_auth.c */,
+                               F51734FD03F1B65A01120114 /* copy_cksum.c */,
+                               F51734FE03F1B65A01120114 /* copy_creds.c */,
+                               F51734FF03F1B65A01120114 /* copy_data.c */,
+                               F517350003F1B65A01120114 /* copy_key.c */,
+                               F517350103F1B65A01120114 /* copy_princ.c */,
+                               F517350203F1B65A01120114 /* copy_tick.c */,
+                               F517350303F1B65A01120114 /* cp_key_cnt.c */,
+                               F517350403F1B65A01120114 /* decode_kdc.c */,
+                               F517350503F1B65A01120114 /* decrypt_tk.c */,
+                               F517350603F1B65A01120114 /* deltat.c */,
+                               F517350703F1B65A01120114 /* enc_helper.c */,
+                               F517350803F1B65A01120114 /* encode_kdc.c */,
+                               F517350903F1B65A01120114 /* encrypt_tk.c */,
+                               F517350A03F1B65A01120114 /* free_rtree.c */,
+                               F517350B03F1B65A01120114 /* fwd_tgt.c */,
+                               F517350C03F1B65A01120114 /* gc_frm_kdc.c */,
+                               F517350D03F1B65A01120114 /* gc_via_tkt.c */,
+                               F517350E03F1B65A01120114 /* gen_seqnum.c */,
+                               F517350F03F1B65A01120114 /* gen_subkey.c */,
+                               F517351003F1B65A01120114 /* get_creds.c */,
+                               F517351103F1B65A01120114 /* get_in_tkt.c */,
+                               F517351203F1B65A01120114 /* gic_keytab.c */,
+                               F517351303F1B65A01120114 /* gic_opt.c */,
+                               F517351403F1B65A01120114 /* gic_pwd.c */,
+                               F517351703F1B65A01120114 /* in_tkt_sky.c */,
+                               F517351803F1B65A01120114 /* init_ctx.c */,
+                               F517351903F1B65A01120114 /* init_keyblock.c */,
+                               F517351A03F1B65A01120114 /* int-proto.h */,
+                               F517351B03F1B65A01120114 /* kdc_rep_dc.c */,
+                               F517351C03F1B65A01120114 /* kfree.c */,
+                               F517351D03F1B65A01120114 /* Makefile.in */,
+                               F517351E03F1B65A01120114 /* mk_cred.c */,
+                               F517351F03F1B65A01120114 /* mk_error.c */,
+                               F517352003F1B65A01120114 /* mk_priv.c */,
+                               F517352103F1B65A01120114 /* mk_rep.c */,
+                               F517352203F1B65A01120114 /* mk_req.c */,
+                               F517352303F1B65A01120114 /* mk_req_ext.c */,
+                               F517352403F1B65A01120114 /* mk_safe.c */,
+                               F517352503F1B65A01120114 /* parse.c */,
+                               A1CA43B806E3D0D400F35E9C /* pkinit_apple_asn1.c */,
+                               A1CA43B906E3D0D400F35E9C /* pkinit_apple_cert_store.c */,
+                               A1CA43BA06E3D0D400F35E9C /* pkinit_apple_client.c */,
+                               A1CA43BB06E3D0D400F35E9C /* pkinit_apple_cms.c */,
+                               A1CA43BC06E3D0D400F35E9C /* pkinit_apple_utils.c */,
+                               F517352603F1B65A01120114 /* pr_to_salt.c */,
+                               F517352703F1B65A01120114 /* preauth.c */,
+                               F517352803F1B65A01120114 /* preauth2.c */,
+                               F517352903F1B65A01120114 /* princ_comp.c */,
+                               F517352A03F1B65A01120114 /* rd_cred.c */,
+                               F517352B03F1B65A01120114 /* rd_error.c */,
+                               F517352C03F1B65A01120114 /* rd_priv.c */,
+                               F517352D03F1B65A01120114 /* rd_rep.c */,
+                               F517352E03F1B65A01120114 /* rd_req.c */,
+                               F517352F03F1B65A01120114 /* rd_req_dec.c */,
+                               F517353003F1B65A01120114 /* rd_safe.c */,
+                               F517353103F1B65A01120114 /* recvauth.c */,
+                               F517353203F1B65A01120114 /* send_tgs.c */,
+                               F517353303F1B65A01120114 /* sendauth.c */,
+                               F517353403F1B65A01120114 /* ser_actx.c */,
+                               F517353503F1B65A01120114 /* ser_adata.c */,
+                               F517353603F1B65A01120114 /* ser_addr.c */,
+                               F517353703F1B65A01120114 /* ser_auth.c */,
+                               F517353803F1B65A01120114 /* ser_cksum.c */,
+                               F517353903F1B65A01120114 /* ser_ctx.c */,
+                               F517353A03F1B65A01120114 /* ser_eblk.c */,
+                               F517353B03F1B65A01120114 /* ser_key.c */,
+                               F517353C03F1B65A01120114 /* ser_princ.c */,
+                               F517353D03F1B65A01120114 /* serialize.c */,
+                               F517353E03F1B65A01120114 /* set_realm.c */,
+                               F517353F03F1B65A01120114 /* srv_rcache.c */,
+                               F517354003F1B65A01120114 /* str_conv.c */,
+                               F517354103F1B65A01120114 /* strftime.c */,
+                               F517354203F1B65A01120114 /* strptime.c */,
+                               F517354303F1B65A01120114 /* t_deltat.c */,
+                               F517354403F1B65A01120114 /* t_expand.c */,
+                               F517354503F1B65A01120114 /* t_kerb.c */,
+                               F517354603F1B65A01120114 /* t_krb5.conf */,
+                               F517354703F1B65A01120114 /* t_ref_kerb.out */,
+                               F517354803F1B65A01120114 /* t_ser.c */,
+                               F517354903F1B65A01120114 /* t_walk_rtree.c */,
+                               F517354A03F1B65A01120114 /* tgtname.c */,
+                               F517354B03F1B65A01120114 /* transit-tests */,
+                               F517354C03F1B65A01120114 /* unparse.c */,
+                               A16DA36704854EF700120112 /* v4lifetime.c */,
+                               F517354D03F1B65A01120114 /* valid_times.c */,
+                               F517354E03F1B65A01120114 /* vfy_increds.c */,
+                               F517354F03F1B65A01120114 /* vic_opt.c */,
+                               F517355003F1B65A01120114 /* walk_rtree.c */,
+                               F517355103F1B65A01120114 /* x-deltat.y */,
+                       );
+                       path = krb;
                        sourceTree = "<group>";
                };
-               A12537F4040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb.h;
-                       refType = 4;
+               F517355503F1B65A01120114 /* os */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517355803F1B65A01120114 /* accessor.c */,
+                               F517355903F1B65A01120114 /* an_to_ln.c */,
+                               F517355A03F1B65A01120114 /* c_ustime.c */,
+                               F517355B03F1B65A01120114 /* ccdefname.c */,
+                               F517355C03F1B65A01120114 /* ChangeLog */,
+                               F517355D03F1B65A01120114 /* changepw.c */,
+                               F517355E03F1B65A01120114 /* def_realm.c */,
+                               A1D6298F070C8AD70015C908 /* dnsglue.c */,
+                               A1D62990070C8AD70015C908 /* dnsglue.h */,
+                               A12539AD05CF12D5003BD89B /* dnssrv.c */,
+                               F517355F03F1B65A01120114 /* free_hstrl.c */,
+                               F517356003F1B65A01120114 /* free_krbhs.c */,
+                               F517356103F1B65A01120114 /* full_ipadr.c */,
+                               F517356203F1B65A01120114 /* gen_port.c */,
+                               F517356303F1B65A01120114 /* gen_rname.c */,
+                               F517356403F1B65A01120114 /* genaddrs.c */,
+                               F517356503F1B65A01120114 /* get_krbhst.c */,
+                               F517356603F1B65A01120114 /* gmt_mktime.c */,
+                               F517356703F1B65A01120114 /* hostaddr.c */,
+                               F517356803F1B65A01120114 /* hst_realm.c */,
+                               F517356903F1B65A01120114 /* init_os_ctx.c */,
+                               F517356A03F1B65A01120114 /* krbfileio.c */,
+                               F517356B03F1B65A01120114 /* ktdefname.c */,
+                               F517356C03F1B65A01120114 /* kuserok.c */,
+                               F517356D03F1B65A01120114 /* localaddr.c */,
+                               F517356E03F1B65A01120114 /* locate_kdc.c */,
+                               F517356F03F1B65A01120114 /* lock_file.c */,
+                               F517357003F1B65A01120114 /* Makefile.in */,
+                               F517357103F1B65A01120114 /* mk_faddr.c */,
+                               F517357203F1B65A01120114 /* net_read.c */,
+                               F517357303F1B65A01120114 /* net_write.c */,
+                               F517357403F1B65A01120114 /* os-proto.h */,
+                               F517357503F1B65A01120114 /* osconfig.c */,
+                               F517357603F1B65A01120114 /* port2ip.c */,
+                               F517357703F1B65A01120114 /* prompter.c */,
+                               F517357803F1B65A01120114 /* promptusr.c */,
+                               F517357903F1B65A01120114 /* read_msg.c */,
+                               F517357A03F1B65A01120114 /* read_pwd.c */,
+                               F517357B03F1B65A01120114 /* realm_dom.c */,
+                               F517357C03F1B65A01120114 /* realm_iter.c */,
+                               F517357D03F1B65A01120114 /* ref_std_conf.out */,
+                               F517357E03F1B65A01120114 /* sendto_kdc.c */,
+                               A16DB01304868A7E00120112 /* send524.c */,
+                               F517357F03F1B65A01120114 /* sn2princ.c */,
+                               F517358003F1B65A01120114 /* t_an_to_ln.c */,
+                               F517358103F1B65A01120114 /* t_gifconf.c */,
+                               F517358203F1B65A01120114 /* t_locate_kdc.c */,
+                               F517358303F1B65A01120114 /* t_realm_iter.c */,
+                               F517358403F1B65A01120114 /* t_std_conf.c */,
+                               F517358503F1B65A01120114 /* td_krb5.conf */,
+                               F517358603F1B65A01120114 /* timeofday.c */,
+                               F517358703F1B65A01120114 /* toffset.c */,
+                               F517358803F1B65A01120114 /* unlck_file.c */,
+                               F517358903F1B65A01120114 /* ustime.c */,
+                               F517358A03F1B65A01120114 /* write_msg.c */,
+                       );
+                       path = os;
                        sourceTree = "<group>";
                };
-               A12537F5040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb5.h;
-                       refType = 4;
+               F517358B03F1B65A01120114 /* posix */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517358D03F1B65A01120114 /* ChangeLog */,
+                               F517358F03F1B65A01120114 /* getuid.c */,
+                               F517359003F1B65A01120114 /* Makefile.in */,
+                               F517359103F1B65A01120114 /* memmove.c */,
+                               F517359403F1B65A01120114 /* sscanf.c */,
+                               F517359503F1B65A01120114 /* strcasecmp.c */,
+                               F517359603F1B65A01120114 /* strdup.c */,
+                               F517359703F1B65A01120114 /* strerror.c */,
+                               F517359803F1B65A01120114 /* syslog.c */,
+                               F517359903F1B65A01120114 /* vfprintf.c */,
+                               F517359A03F1B65A01120114 /* vsprintf.c */,
+                       );
+                       path = posix;
                        sourceTree = "<group>";
                };
-               A12537F8040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb_err.h;
-                       refType = 4;
+               F517359B03F1B65A01120114 /* rcache */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F517359E03F1B65A01120114 /* ChangeLog */,
+                               F517359F03F1B65A01120114 /* Makefile.in */,
+                               F51735A003F1B65A01120114 /* rc_base.c */,
+                               F51735A103F1B65A01120114 /* rc_base.h */,
+                               F51735A203F1B65A01120114 /* rc_conv.c */,
+                               F51735A303F1B65A01120114 /* rc_dfl.c */,
+                               F51735A403F1B65A01120114 /* rc_dfl.h */,
+                               F51735A503F1B65A01120114 /* rc_io.c */,
+                               F51735A603F1B65A01120114 /* rc_io.h */,
+                               A1A6784206C3D82500EC826E /* rc_none.c */,
+                               A1A6784306C3D82500EC826E /* rc-int.h */,
+                               F51735A703F1B65A01120114 /* rcdef.c */,
+                               F51735A803F1B65A01120114 /* rcfns.c */,
+                               F51735A903F1B65A01120114 /* README */,
+                               F51735AA03F1B65A01120114 /* RELEASE */,
+                               F51735AB03F1B65A01120114 /* ser_rc.c */,
+                       );
+                       path = rcache;
                        sourceTree = "<group>";
                };
-               A12537F9040C0795003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = profile.h;
-                       refType = 4;
+               F51736C803F1B65B01120114 /* util */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1D256EA06A7139700A9EC13 /* ChangeLog */,
+                               F51737AF03F1B65B01120114 /* profile */,
+                               A1D256ED06A713A600A9EC13 /* support */,
+                       );
+                       path = util;
                        sourceTree = "<group>";
                };
-               A12537FA040C080B003D8244 = {
+               F51737AF03F1B65B01120114 /* profile */ = {
+                       isa = PBXGroup;
                        children = (
-                               A12537FB040C080B003D8244,
-                               A12537FC040C080B003D8244,
-                               A12537FD040C080B003D8244,
+                               F51737B203F1B65B01120114 /* argv_parse.c */,
+                               F51737B303F1B65B01120114 /* argv_parse.h */,
+                               F51737B403F1B65B01120114 /* ChangeLog */,
+                               F51737B603F1B65B01120114 /* dosshell.ini */,
+                               F51737B703F1B65B01120114 /* krb5.conf */,
+                               F51737B803F1B65B01120114 /* Makefile.in */,
+                               F51737B903F1B65B01120114 /* prof_err.et */,
+                               F51737BA03F1B65B01120114 /* prof_file.c */,
+                               F51737BB03F1B65B01120114 /* prof_get.c */,
+                               F51737BC03F1B65B01120114 /* prof_init.c */,
+                               F51737BD03F1B65B01120114 /* prof_int.h */,
+                               A198BC2A0406DA8F00120114 /* prof_FSp_glue.c */,
+                               F51737BE03F1B65B01120114 /* prof_parse.c */,
+                               F51737BF03F1B65B01120114 /* prof_set.c */,
+                               F51737C003F1B65B01120114 /* prof_tree.c */,
+                               F51737C103F1B65B01120114 /* profile.5 */,
+                               F51737C203F1B65B01120114 /* profile.exp */,
+                               F51737C303F1B65B01120114 /* profile.hin */,
+                               F51737C403F1B65B01120114 /* profile.pbexp */,
+                               F51737C503F1B65B01120114 /* prtest.in */,
+                               F51737C603F1B65B01120114 /* prtest.script */,
+                               F51737C703F1B65B01120114 /* test.ini */,
+                               F51737C803F1B65B01120114 /* test_parse.c */,
+                               F51737C903F1B65B01120114 /* test_profile.c */,
                        );
-                       isa = PBXGroup;
-                       path = gssapi;
-                       refType = 4;
+                       path = profile;
                        sourceTree = "<group>";
                };
-               A12537FB040C080B003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi.h;
-                       refType = 4;
+               F5C2DF100240F9F601650119 /* ErrorTables */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F5C2DF140240F9F601650119 /* asn1_err.c */,
+                               F5C2DF150240F9F601650119 /* asn1_err.h */,
+                               F5C2DF160240F9F601650119 /* asn1_err.strings */,
+                               F5C2DF170240F9F601650119 /* gssapi_err_generic.c */,
+                               F5C2DF180240F9F601650119 /* gssapi_err_generic.h */,
+                               F5C2DF190240F9F601650119 /* gssapi_err_generic.strings */,
+                               F5C2DF1A0240F9F601650119 /* gssapi_err_krb5.c */,
+                               F5C2DF1B0240F9F601650119 /* gssapi_err_krb5.h */,
+                               F5C2DF1C0240F9F601650119 /* gssapi_err_krb5.strings */,
+                               F5E2671F03F8200601120114 /* kadm_err.c */,
+                               F5E2672003F8200601120114 /* kadm_err.h */,
+                               F5E2672103F8200601120114 /* kadm_err.strings */,
+                               F5E2672203F8200601120114 /* krb_err.c */,
+                               F5E2672303F8200601120114 /* krb_err.h */,
+                               F5E2672403F8200601120114 /* krb_err.strings */,
+                               F5C2DF1D0240F9F601650119 /* kdb5_err.c */,
+                               F5C2DF1E0240F9F601650119 /* kdb5_err.h */,
+                               F5C2DF1F0240F9F601650119 /* kdb5_err.strings */,
+                               F5C2DF200240F9F601650119 /* krb524_err.c */,
+                               F5C2DF210240F9F601650119 /* krb524_err.h */,
+                               F5C2DF220240F9F601650119 /* krb524_err.strings */,
+                               F5C2DF230240F9F601650119 /* krb5_err.c */,
+                               F5C2DF240240F9F601650119 /* krb5_err.h */,
+                               F5C2DF250240F9F601650119 /* krb5_err.strings */,
+                               F5C2DF260240F9F601650119 /* kv5m_err.c */,
+                               F5C2DF270240F9F601650119 /* kv5m_err.h */,
+                               F5C2DF280240F9F601650119 /* kv5m_err.strings */,
+                               F5C2DF290240F9F601650119 /* prof_err.c */,
+                               F5C2DF2A0240F9F601650119 /* prof_err.h */,
+                               F5C2DF2B0240F9F601650119 /* prof_err.strings */,
+                       );
+                       path = ErrorTables;
                        sourceTree = "<group>";
                };
-               A12537FC040C080B003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_generic.h;
-                       refType = 4;
+               F5CFD36F022D854401120112 = {
+                       isa = PBXGroup;
+                       children = (
+                               A1253783040BF7E6003D8244 /* KerberosDES.pbexp */,
+                               A125378D040BFA0E003D8244 /* KerberosProfile.pbexp */,
+                               A1253784040BF80F003D8244 /* Kerberos4.pbexp */,
+                               F5CFD5ED022D8B6001120112 /* Kerberos5.pbexp */,
+                               F5CFD5EC022D8B6001120112 /* GSS.pbexp */,
+                               F5CFD5EE022D8B6001120112 /* Kerberos5.intermediates */,
+                               F5172F7B03F1B65801120114 /* Sources */,
+                               F5CFD5E4022D891701120112 /* Scripts */,
+                               F5CFD5CB022D86AD01120112 /* Products */,
+                       );
                        sourceTree = "<group>";
                };
-               A12537FD040C080B003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_krb5.h;
-                       refType = 4;
+               F5CFD5CB022D86AD01120112 /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A1AB1E0205DDC40100526345 /* libKerberosDES.a */,
+                               A1AB1E2205DDC43000526345 /* libKerberosProfile.a */,
+                               A1AB1E6F05DDC45F00526345 /* libKerberos4.a */,
+                               A1AB1FB105DDC47800526345 /* libKerberos5.a */,
+                               A1AB200305DDC48A00526345 /* libGSS.a */,
+                       );
+                       name = Products;
                        sourceTree = "<group>";
                };
-               A12537FE040C080B003D8244 = {
+               F5CFD5E4022D891701120112 /* Scripts */ = {
+                       isa = PBXGroup;
                        children = (
-                               A12537FF040C080B003D8244,
-                               A1253800040C080B003D8244,
-                               A1253801040C080B003D8244,
+                               F5E59BD403FD7D5301120114 /* Kerberos5ServerBuild.jam */,
+                               F5CFD5E5022D891701120112 /* Kerberos5Errors.jam */,
+                               F5CFD60D022D8BD601120112 /* Kerberos5Headers.jam */,
+                               A1474D05066D13E700CA2AA8 /* Kerberos5BuildSystem.jam */,
                        );
-                       isa = PBXGroup;
-                       path = kerberosIV;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       name = Scripts;
+                       path = ../Scripts;
+                       sourceTree = SOURCE_ROOT;
                };
-               A12537FF040C080B003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = des.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               F5CFD5EE022D8B6001120112 /* Kerberos5.intermediates */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F5E265DF03F443E901120114 /* build */,
+                               A1B707E00873577700F0C55D /* servers */,
+                               F5E266F503F443EA01120114 /* configure.stamp */,
+                               F5C2DF100240F9F601650119 /* ErrorTables */,
+                               A12537EA040C0795003D8244 /* include */,
+                               A12537EF040C0795003D8244 /* Kerberos */,
+                       );
+                       path = Kerberos5.intermediates;
+                       sourceTree = BUILT_PRODUCTS_DIR;
                };
-               A1253800040C080B003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb.h;
-                       refType = 4;
+               F5E265DF03F443E901120114 /* build */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F5E2662703F443E901120114 /* include */,
+                       );
+                       path = build;
                        sourceTree = "<group>";
                };
-               A1253801040C080B003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb_err.h;
-                       refType = 4;
+               F5E2662703F443E901120114 /* include */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F5E2662C03F443E901120114 /* krb5 */,
+                       );
+                       path = include;
                        sourceTree = "<group>";
                };
-               A1253803040C0D3E003D8244 = {
+               F5E2662C03F443E901120114 /* krb5 */ = {
+                       isa = PBXGroup;
                        children = (
-                               A1253804040C0D3E003D8244,
-                               A1253805040C0D3E003D8244,
+                               F5E2662D03F443E901120114 /* autoconf.h */,
+                               F5E2662F03F443E901120114 /* osconf.h */,
                        );
-                       isa = PBXGroup;
                        path = krb5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253804040C0D3E003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = autoconf.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1253805040C0D3E003D8244 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = osconf.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125397605CF124D003BD89B = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = k5sealv3.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A125399205CF12A2003BD89B = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mandatory_sumtype.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A12539AD05CF12D5003BD89B = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = dnssrv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1474D05066D13E700CA2AA8 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.jam;
-                       path = Kerberos5BuildSystem.jam;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A166BCC3040D36F8004AA618 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mac_des_glue.c;
-                       refType = 4;
                        sourceTree = "<group>";
                };
-               A16DA36604854EF700120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = conv_creds.c;
-                       refType = 4;
+               F5E59C0F03FD95CF01120114 /* config */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F5E59C1103FD95D001120114 /* ChangeLog */,
+                               F5E59C1203FD95D001120114 /* config.guess */,
+                               F5E59C1303FD95D001120114 /* config.sub */,
+                               F5E59C1503FD95D001120114 /* install-sh */,
+                               F5E59C1603FD95D001120114 /* lib.in */,
+                               F5E59C1703FD95D001120114 /* libobj.in */,
+                               F5E59C1803FD95D001120114 /* mac-config.cache */,
+                               F5E59C1903FD95D001120114 /* mac-config.README */,
+                               F5E59C1A03FD95D001120114 /* mac-mf.sed */,
+                               F5E59C1B03FD95D001120114 /* mac-post.in */,
+                               F5E59C1C03FD95D001120114 /* mac-pre.in */,
+                               F5E59C1D03FD95D001120114 /* mkinstalldirs */,
+                               F5E59C1E03FD95D001120114 /* move-if-changed */,
+                               F5E59C1F03FD95D001120114 /* post.in */,
+                               F5E59C2003FD95D001120114 /* pre.in */,
+                               F5E59C2103FD95D001120114 /* ren2long */,
+                               F5E59C2203FD95D001120114 /* ren2long.awk */,
+                               F5E59C2303FD95D001120114 /* rm.bat */,
+                               F5E59C2403FD95D001120114 /* shlib.conf */,
+                               F5E59C2503FD95D001120114 /* win-post.in */,
+                               F5E59C2603FD95D001120114 /* win-pre.in */,
+                               F5E59C2703FD95D001120114 /* winexclude.sed */,
+                       );
+                       path = config;
                        sourceTree = "<group>";
                };
-               A16DA36704854EF700120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = v4lifetime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+               A1AB1DEE05DDC40100526345 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1DEF05DDC40100526345 /* Kerberos5Prefix.h in Headers */,
+                               A14E78E90725B12A00A025E3 /* des_int.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A16DA36A0485503F00120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = krb524_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E1305DDC43000526345 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1E1405DDC43000526345 /* prof_int.h in Headers */,
+                               A1AB1E1505DDC43000526345 /* autoconf.h in Headers */,
+                               A1AB1E1605DDC43000526345 /* osconf.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A16DB01304868A7E00120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = send524.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E3405DDC45F00526345 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A181DA3F05CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD5E6022D8A9901120112;
-                       remoteInfo = "Error Table Generation";
+               A1AB1E8505DDC47700526345 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1E8605DDC47700526345 /* krb5_libinit.h in Headers */,
+                               A1AB1E8705DDC47700526345 /* os-proto.h in Headers */,
+                               A1AB1E8805DDC47700526345 /* asn1_decode.h in Headers */,
+                               A1AB1E8905DDC47700526345 /* asn1_encode.h in Headers */,
+                               A1AB1E8A05DDC47700526345 /* asn1_get.h in Headers */,
+                               A1AB1E8B05DDC47700526345 /* asn1_make.h in Headers */,
+                               A1AB1E8C05DDC47700526345 /* asn1buf.h in Headers */,
+                               A1AB1E8D05DDC47700526345 /* krbasn1.h in Headers */,
+                               A1AB1E8E05DDC47700526345 /* asn1_misc.h in Headers */,
+                               A1AB1E8F05DDC47700526345 /* asn1_k_decode.h in Headers */,
+                               A1AB1E9005DDC47700526345 /* asn1_k_encode.h in Headers */,
+                               A1AB1E9105DDC47700526345 /* asn1glue.h in Headers */,
+                               A1AB1E9205DDC47700526345 /* fcc.h in Headers */,
+                               A1AB1E9305DDC47700526345 /* scc.h in Headers */,
+                               A1AB1E9405DDC47700526345 /* stdcc.h in Headers */,
+                               A1AB1E9505DDC47700526345 /* stdcc_util.h in Headers */,
+                               A1AB1E9605DDC47700526345 /* k5-int.h in Headers */,
+                               A1AB1E9705DDC47700526345 /* auth_con.h in Headers */,
+                               A1AB1E9805DDC47700526345 /* cleanup.h in Headers */,
+                               A1AB1E9905DDC47700526345 /* int-proto.h in Headers */,
+                               A1AB1E9A05DDC47700526345 /* rc_base.h in Headers */,
+                               A1AB1E9B05DDC47700526345 /* rc_dfl.h in Headers */,
+                               A1AB1E9C05DDC47700526345 /* rc_io.h in Headers */,
+                               A1AB1E9D05DDC47700526345 /* autoconf.h in Headers */,
+                               A1AB1E9E05DDC47700526345 /* osconf.h in Headers */,
+                               A1AB1E9F05DDC47700526345 /* cksumtypes.h in Headers */,
+                               A1AB1EA005DDC47700526345 /* crypto_libinit.h in Headers */,
+                               A1AB1EA105DDC47700526345 /* etypes.h in Headers */,
+                               A1AB1EA205DDC47700526345 /* arcfour.h in Headers */,
+                               A1AB1EA305DDC47700526345 /* arcfour-int.h in Headers */,
+                               A1AB1EA405DDC47700526345 /* crc-32.h in Headers */,
+                               A1AB1EA505DDC47700526345 /* f_tables.h in Headers */,
+                               A1AB1EA605DDC47700526345 /* des_int.h in Headers */,
+                               A1AB1EA705DDC47700526345 /* dk.h in Headers */,
+                               A1AB1EA805DDC47700526345 /* enc_provider.h in Headers */,
+                               A1AB1EA905DDC47700526345 /* hash_provider.h in Headers */,
+                               A1AB1EAA05DDC47700526345 /* keyhash_provider.h in Headers */,
+                               A1AB1EAB05DDC47700526345 /* rsa-md4.h in Headers */,
+                               A1AB1EAC05DDC47700526345 /* rsa-md5.h in Headers */,
+                               A1AB1EAD05DDC47700526345 /* old.h in Headers */,
+                               A1AB1EAE05DDC47700526345 /* raw.h in Headers */,
+                               A1AB1EAF05DDC47800526345 /* shs.h in Headers */,
+                               A1AB1EB005DDC47800526345 /* yarrow.h in Headers */,
+                               A1AB1EB105DDC47800526345 /* ycipher.h in Headers */,
+                               A1AB1EB205DDC47800526345 /* yexcep.h in Headers */,
+                               A1AB1EB305DDC47800526345 /* yhash.h in Headers */,
+                               A1AB1EB405DDC47800526345 /* ylock.h in Headers */,
+                               A1AB1EB505DDC47800526345 /* ystate.h in Headers */,
+                               A1AB1EB605DDC47800526345 /* ytypes.h in Headers */,
+                               A1AB1EB705DDC47800526345 /* aes_s2k.h in Headers */,
+                               A1AB1EB805DDC47800526345 /* k5-platform.h in Headers */,
+                               A1A6784506C3D82500EC826E /* rc-int.h in Headers */,
+                               A1D62985070C878B0015C908 /* patchlevel.h in Headers */,
+                               A1D62992070C8AD70015C908 /* dnsglue.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A181DA4005CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD629022D922C01120112;
-                       remoteInfo = "Header Generation";
+               A1AB1FC205DDC48A00526345 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1FC305DDC48A00526345 /* gss_libinit.h in Headers */,
+                               A1AB1FC405DDC48A00526345 /* gssapiP_generic.h in Headers */,
+                               A1AB1FC505DDC48A00526345 /* gssapiP_krb5.h in Headers */,
+                               A1AB1FC605DDC48A00526345 /* autoconf.h in Headers */,
+                               A1AB1FC705DDC48A00526345 /* osconf.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               A181DA4105CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD5E6022D8A9901120112;
-                       remoteInfo = "Error Table Generation";
-               };
-               A181DA4205CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD629022D922C01120112;
-                       remoteInfo = "Header Generation";
-               };
-               A181DA4305CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD629022D922C01120112;
-                       remoteInfo = "Header Generation";
-               };
-               A181DA4405CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD5CD022D86AD01120112;
-                       remoteInfo = KerberosProfile;
-               };
-               A181DA4505CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5E2686C03F8336601120114;
-                       remoteInfo = KerberosDES;
-               };
-               A181DA4605CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD5E6022D8A9901120112;
-                       remoteInfo = "Error Table Generation";
-               };
-               A181DA4805CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD5E6022D8A9901120112;
-                       remoteInfo = "Error Table Generation";
-               };
-               A181DA4905CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5E2686C03F8336601120114;
-                       remoteInfo = KerberosDES;
-               };
-               A181DA4A05CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD629022D922C01120112;
-                       remoteInfo = "Header Generation";
-               };
-               A181DA4B05CEFC0400E4C246 = {
-                       containerPortal = F5CFD36E022D854401120112;
-                       isa = PBXContainerItemProxy;
-                       proxyType = 1;
-                       remoteGlobalIDString = F5CFD5E6022D8A9901120112;
-                       remoteInfo = "Error Table Generation";
-               };
-               A181DA5405CF0BD800E4C246 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "k5-platform.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D5906878C780039CAD8 = {
-                       children = (
-                               A1908D5A06878C780039CAD8,
-                               A1908D5B06878C780039CAD8,
-                               A1908D5C06878C780039CAD8,
-                               A1908D8506878C790039CAD8,
-                               A1908D8B06878C790039CAD8,
-                               A1908D9906878C790039CAD8,
-                               A1908DA606878C790039CAD8,
-                               A1908DB006878C790039CAD8,
-                               A1908DB106878C790039CAD8,
-                               A1908DB506878C790039CAD8,
-                               A1908DB606878C790039CAD8,
-                               A1908DB706878C790039CAD8,
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+               A1AB1DEC05DDC40100526345 /* KerberosDES */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = A1518EBA086C85C40042CBBC /* Build configuration list for PBXNativeTarget "KerberosDES" */;
+                       buildPhases = (
+                               A1AB1DEE05DDC40100526345 /* Headers */,
+                               A1AB1DF005DDC40100526345 /* Sources */,
+                               A1AB1DFF05DDC40100526345 /* Frameworks */,
+                               A1AB1E0005DDC40100526345 /* Rez */,
                        );
-                       isa = PBXGroup;
-                       path = windows;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D5A06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D5B06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D5C06878C780039CAD8 = {
-                       children = (
-                               A1908D5D06878C780039CAD8,
-                               A1908D5E06878C780039CAD8,
-                               A1908D5F06878C780039CAD8,
-                               A1908D6006878C780039CAD8,
-                               A1908D6106878C780039CAD8,
-                               A1908D6206878C780039CAD8,
-                               A1908D6306878C780039CAD8,
-                               A1908D6406878C780039CAD8,
-                               A1908D6506878C780039CAD8,
-                               A1908D6606878C780039CAD8,
-                               A1908D6706878C780039CAD8,
-                               A1908D6806878C780039CAD8,
-                               A1908D6906878C780039CAD8,
-                               A1908D6A06878C780039CAD8,
-                               A1908D6B06878C780039CAD8,
-                               A1908D6C06878C780039CAD8,
-                               A1908D6D06878C780039CAD8,
-                               A1908D6E06878C780039CAD8,
-                               A1908D6F06878C780039CAD8,
-                               A1908D7006878C780039CAD8,
-                               A1908D7106878C780039CAD8,
-                               A1908D7206878C780039CAD8,
-                               A1908D7306878C780039CAD8,
-                               A1908D7406878C780039CAD8,
-                               A1908D7506878C780039CAD8,
-                               A1908D7606878C780039CAD8,
-                               A1908D7706878C780039CAD8,
-                               A1908D7806878C780039CAD8,
-                               A1908D7906878C780039CAD8,
-                               A1908D7A06878C780039CAD8,
-                               A1908D7B06878C780039CAD8,
-                               A1908D7C06878C780039CAD8,
-                               A1908D7D06878C780039CAD8,
-                               A1908D7E06878C780039CAD8,
-                               A1908D7F06878C780039CAD8,
-                               A1908D8006878C790039CAD8,
-                               A1908D8106878C790039CAD8,
-                               A1908D8206878C790039CAD8,
-                               A1908D8306878C790039CAD8,
-                               A1908D8406878C790039CAD8,
+                       buildRules = (
                        );
-                       isa = PBXGroup;
-                       path = cns;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D5D06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D5E06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D5F06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock00.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6006878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock05.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6106878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock10.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6206878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock15.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6306878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock20.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6406878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock25.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6506878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock30.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6606878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock35.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6706878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock40.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6806878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock45.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6906878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock50.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6A06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock55.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6B06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clock60.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6C06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clockexp.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6D06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = clocktkt.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6E06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = "cns-help.doc";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D6F06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = "cns-help.hlp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7006878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "cns-help.hpj";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7106878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cns.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7206878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = cns.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7306878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = cns.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7406878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cns_reg.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7506878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = cns_reg.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7606878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = cnsres4.rc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7706878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = cnsres5.rc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7806878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = debug.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7906878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = heap.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7A06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = kerbnet.doc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7B06878C780039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = kerbnet.hlp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7C06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kerbnet.hpj;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7D06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kpasswd.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7E06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = krb5.def;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D7F06878C780039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krbini.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8006878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8106878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = options.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8206878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = password.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8306878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tktlist.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8406878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = tktlist.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8506878C790039CAD8 = {
-                       children = (
-                               A1908D8606878C790039CAD8,
-                               A1908D8706878C790039CAD8,
-                               A1908D8806878C790039CAD8,
-                               A1908D8906878C790039CAD8,
-                               A1908D8A06878C790039CAD8,
+                       buildSettings = {
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosDES;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
                        );
-                       isa = PBXGroup;
-                       path = gina;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8606878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8706878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = gina.def;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8806878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ginastub.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8906878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ginastub.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8A06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       name = KerberosDES;
+                       productInstallPath = /usr/local/lib;
+                       productName = KerberosDES;
+                       productReference = A1AB1E0205DDC40100526345 /* libKerberosDES.a */;
+                       productType = "com.apple.product-type.library.static";
                };
-               A1908D8B06878C790039CAD8 = {
-                       children = (
-                               A1908D8C06878C790039CAD8,
-                               A1908D8D06878C790039CAD8,
-                               A1908D8E06878C790039CAD8,
-                               A1908D8F06878C790039CAD8,
-                               A1908D9006878C790039CAD8,
-                               A1908D9106878C790039CAD8,
-                               A1908D9206878C790039CAD8,
-                               A1908D9306878C790039CAD8,
-                               A1908D9406878C790039CAD8,
-                               A1908D9506878C790039CAD8,
-                               A1908D9606878C790039CAD8,
-                               A1908D9706878C790039CAD8,
-                               A1908D9806878C790039CAD8,
+               A1AB1E1005DDC43000526345 /* KerberosProfile */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = A1518EBE086C85C40042CBBC /* Build configuration list for PBXNativeTarget "KerberosProfile" */;
+                       buildPhases = (
+                               A1AB1E1305DDC43000526345 /* Headers */,
+                               A1AB1E1705DDC43000526345 /* Sources */,
+                               A1AB1E1F05DDC43000526345 /* Frameworks */,
+                               A1AB1E2005DDC43000526345 /* Rez */,
                        );
-                       isa = PBXGroup;
-                       path = gss;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8C06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8D06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8E06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "gss-client.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D8F06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "gss-misc.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9006878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "gss-misc.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9106878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gss.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9206878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = gss.def;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9306878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gss.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9406878C790039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = gss.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9506878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = gss.rc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9606878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9706878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = resource.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9806878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ver_serv.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9906878C790039CAD8 = {
-                       children = (
-                               A1908D9A06878C790039CAD8,
+                       buildRules = (
                        );
-                       isa = PBXGroup;
-                       path = installer;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9A06878C790039CAD8 = {
-                       children = (
-                               A1908D9B06878C790039CAD8,
-                               A1908D9C06878C790039CAD8,
-                               A1908D9D06878C790039CAD8,
-                               A1908D9E06878C790039CAD8,
-                               A1908D9F06878C790039CAD8,
-                               A1908DA006878C790039CAD8,
-                               A1908DA106878C790039CAD8,
-                               A1908DA206878C790039CAD8,
-                               A1908DA306878C790039CAD8,
-                               A1908DA406878C790039CAD8,
-                               A1908DA506878C790039CAD8,
+                       buildSettings = {
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosProfile;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
+                               A159A2D4088C5F5A004325D0 /* PBXTargetDependency */,
                        );
-                       isa = PBXGroup;
-                       path = nsis;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9B06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9C06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "kfw-fixed.nsi";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9D06878C790039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = kfw.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9E06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kfw.nsi;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908D9F06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = KfWConfigPage.ini;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA006878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = KfWConfigPage2.ini;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA106878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.cpp.cpp;
-                       path = killer.cpp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA206878C790039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.rtf;
-                       path = licenses.rtf;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA306878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "nsi-includes.nsi";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA406878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "site-local.nsi";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA506878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = utils.nsi;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       name = KerberosProfile;
+                       productInstallPath = /usr/local/lib;
+                       productName = KerberosProfile;
+                       productReference = A1AB1E2205DDC43000526345 /* libKerberosProfile.a */;
+                       productType = "com.apple.product-type.library.static";
                };
-               A1908DA606878C790039CAD8 = {
-                       children = (
-                               A1908DA706878C790039CAD8,
-                               A1908DA806878C790039CAD8,
-                               A1908DA906878C790039CAD8,
-                               A1908DAA06878C790039CAD8,
-                               A1908DAB06878C790039CAD8,
-                               A1908DAC06878C790039CAD8,
-                               A1908DAD06878C790039CAD8,
-                               A1908DAE06878C790039CAD8,
-                               A1908DAF06878C790039CAD8,
-                       );
-                       isa = PBXGroup;
-                       path = lib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA706878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = cacheapi.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA806878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DA906878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gic.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DAA06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gic.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DAB06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DAC06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = registry.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DAD06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = registry.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DAE06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = vardlg.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DAF06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = vardlg.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB006878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB106878C790039CAD8 = {
-                       children = (
-                               A1908DB206878C790039CAD8,
-                               A1908DB306878C790039CAD8,
-                               A1908DB406878C790039CAD8,
-                       );
-                       isa = PBXGroup;
-                       path = ms2mit;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB206878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB306878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB406878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ms2mit.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB506878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = README;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB606878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = version.rc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB706878C790039CAD8 = {
-                       children = (
-                               A1908DB806878C790039CAD8,
-                               A1908DB906878C790039CAD8,
-                               A1908DBA06878C790039CAD8,
-                               A1908DBB06878C790039CAD8,
-                               A1908DBC06878C790039CAD8,
-                               A1908DBD06878C790039CAD8,
-                               A1908DBE06878C790039CAD8,
-                               A1908DBF06878C790039CAD8,
-                               A1908DC006878C790039CAD8,
-                               A1908DC106878C790039CAD8,
-                               A1908DC206878C790039CAD8,
-                               A1908DC306878C790039CAD8,
-                               A1908DC406878C790039CAD8,
-                               A1908DC506878C790039CAD8,
-                               A1908DC606878C790039CAD8,
-                               A1908DC706878C790039CAD8,
-                               A1908DC806878C790039CAD8,
-                               A1908DC906878C790039CAD8,
-                               A1908DCA06878C790039CAD8,
-                               A1908DCB06878C790039CAD8,
-                               A1908DCC06878C790039CAD8,
-                               A1908DCD06878C790039CAD8,
-                               A1908DCE06878C790039CAD8,
-                               A1908DCF06878C790039CAD8,
-                               A1908DD006878C790039CAD8,
-                               A1908DD106878C790039CAD8,
-                               A1908DD206878C790039CAD8,
-                               A1908DD306878C790039CAD8,
-                               A1908DD406878C790039CAD8,
-                               A1908DD506878C790039CAD8,
-                               A1908DD606878C790039CAD8,
-                               A1908DD706878C790039CAD8,
-                               A1908DD806878C790039CAD8,
-                               A1908DD906878C790039CAD8,
-                               A1908DDA06878C790039CAD8,
-                       );
-                       isa = PBXGroup;
-                       path = wintel;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB806878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DB906878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = auth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DBA06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = auth.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DBB06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DBC06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = dialog.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DBD06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = edit.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DBE06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = emul.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DBF06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = enc_des.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC006878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = enc_des.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC106878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = encrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC206878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = encrypt.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC306878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = font.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC406878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = genget.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC506878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ini.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC606878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = intern.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC706878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = k5stream.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC806878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = k5stream.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DC906878C790039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = ktelnet.doc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DCA06878C790039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = ktelnet.hlp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DCB06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ktelnet.hpj;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DCC06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DCD06878C790039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = ncsa.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DCE06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = negotiat.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DCF06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = resource.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD006878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = screen.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD106878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = screen.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD206878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = struct.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD306878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = telnet.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD406878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = telnet.def;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD506878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = telnet.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD606878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = telnet.rc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD706878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = telnet_arpa.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD806878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = telopts.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DD906878C790039CAD8 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.ico;
-                       path = terminal.ico;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1908DDA06878C790039CAD8 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "wt-proto.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BBE10406D04A00120114 = {
-                       children = (
-                               A198BBE60406D04A00120114,
-                               A198BC050406D04A00120114,
-                               A198BC180406D04A00120114,
-                               A198BC200406D04A00120114,
-                               A198BC210406D04A00120114,
-                       );
-                       isa = PBXGroup;
-                       path = mac;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BBE60406D04A00120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC050406D04A00120114 = {
-                       children = (
-                               A198BC0A0406D04A00120114,
-                       );
-                       isa = PBXGroup;
-                       path = libraries;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC0A0406D04A00120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC180406D04A00120114 = {
-                       children = (
-                               A198BC190406D04A00120114,
-                               A198BC1A0406D04A00120114,
-                               A198BC1C0406D04A00120114,
-                               A198BC1D0406D04A00120114,
-                       );
-                       isa = PBXGroup;
-                       path = MacOSX;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC190406D04A00120114 = {
-                       children = (
-                               A1CA623604168DFE0013F915,
-                       );
-                       isa = PBXGroup;
-                       path = Headers;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC1A0406D04A00120114 = {
-                       children = (
-                               A198BC1B0406D04A00120114,
-                       );
-                       isa = PBXGroup;
-                       path = Projects;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC1B0406D04A00120114 = {
-                       children = (
-                       );
-                       isa = PBXGroup;
-                       path = Kerberos5.pbproj;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC1C0406D04A00120114 = {
-                       children = (
-                       );
-                       isa = PBXGroup;
-                       path = Scripts;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC1D0406D04A00120114 = {
-                       children = (
-                       );
-                       isa = PBXGroup;
-                       path = Sources;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC200406D04A00120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ReadMe;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC210406D04A00120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "Release notes";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A198BC2A0406DA8F00120114 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_FSp_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1A6783106C3D47F00EC826E = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "fake-addrinfo.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1A6783206C3D47F00EC826E = {
-                       fileRef = A1A6783106C3D47F00EC826E;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1A6784206C3D82500EC826E = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rc_none.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1A6784306C3D82500EC826E = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "rc-int.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1A6784406C3D82500EC826E = {
-                       fileRef = A1A6784206C3D82500EC826E;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1A6784506C3D82500EC826E = {
-                       fileRef = A1A6784306C3D82500EC826E;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DEC05DDC40100526345 = {
-                       buildPhases = (
-                               A1AB1DEE05DDC40100526345,
-                               A1AB1DF005DDC40100526345,
-                               A1AB1DFF05DDC40100526345,
-                               A1AB1E0005DDC40100526345,
+               A1AB1E3005DDC45F00526345 /* Kerberos4 */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = A1518EC2086C85C40042CBBC /* Build configuration list for PBXNativeTarget "Kerberos4" */;
+                       buildPhases = (
+                               A1AB1E3405DDC45F00526345 /* Headers */,
+                               A1AB1E3505DDC45F00526345 /* Sources */,
+                               A1AB1E6C05DDC45F00526345 /* Frameworks */,
+                               A1AB1E6D05DDC45F00526345 /* Rez */,
                        );
                        buildRules = (
                        );
                                DYLIB_CURRENT_VERSION = 1;
                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                                GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
-                               HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include";
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/include/kerberosIV",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosDebug/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
                                LIBRARY_STYLE = STATIC;
-                               PRODUCT_NAME = KerberosDES;
+                               PRODUCT_NAME = Kerberos4;
                                REZ_EXECUTABLE = YES;
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
                        };
                        dependencies = (
-                               A1AB1DED05DDC40100526345,
+                               A1AB1E3205DDC45F00526345 /* PBXTargetDependency */,
+                               A1AB1E3305DDC45F00526345 /* PBXTargetDependency */,
                        );
-                       isa = PBXNativeTarget;
-                       name = KerberosDES;
+                       name = Kerberos4;
                        productInstallPath = /usr/local/lib;
-                       productName = KerberosDES;
-                       productReference = A1AB1E0205DDC40100526345;
+                       productName = Kerberos4;
+                       productReference = A1AB1E6F05DDC45F00526345 /* libKerberos4.a */;
                        productType = "com.apple.product-type.library.static";
                };
-               A1AB1DED05DDC40100526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD629022D922C01120112;
-                       targetProxy = A181DA4205CEFC0400E4C246;
-               };
-               A1AB1DEE05DDC40100526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1DEF05DDC40100526345,
-                       );
-                       isa = PBXHeadersBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1DEF05DDC40100526345 = {
-                       fileRef = A1CA623604168DFE0013F915;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF005DDC40100526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1DF105DDC40100526345,
-                               A1AB1DF205DDC40100526345,
-                               A1AB1DF305DDC40100526345,
-                               A1AB1DF405DDC40100526345,
-                               A1AB1DF505DDC40100526345,
-                               A1AB1DF605DDC40100526345,
-                               A1AB1DF705DDC40100526345,
-                               A1AB1DF805DDC40100526345,
-                               A1AB1DF905DDC40100526345,
-                               A1AB1DFA05DDC40100526345,
-                               A1AB1DFB05DDC40100526345,
-                               A1AB1DFC05DDC40100526345,
-                               A1AB1DFD05DDC40100526345,
-                               A1AB1DFE05DDC40100526345,
-                       );
-                       isa = PBXSourcesBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1DF105DDC40100526345 = {
-                       fileRef = F517332003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF205DDC40100526345 = {
-                       fileRef = F517331E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF305DDC40100526345 = {
-                       fileRef = F517330C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF405DDC40100526345 = {
-                       fileRef = F517330E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF505DDC40100526345 = {
-                       fileRef = F517330F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF605DDC40100526345 = {
-                       fileRef = F517331103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF705DDC40100526345 = {
-                       fileRef = F517331203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF805DDC40100526345 = {
-                       fileRef = F517331403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DF905DDC40100526345 = {
-                       fileRef = F517331503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DFA05DDC40100526345 = {
-                       fileRef = F517331603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DFB05DDC40100526345 = {
-                       fileRef = F517331703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DFC05DDC40100526345 = {
-                       fileRef = F517331803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DFD05DDC40100526345 = {
-                       fileRef = F517331903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DFE05DDC40100526345 = {
-                       fileRef = A166BCC3040D36F8004AA618;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1DFF05DDC40100526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXFrameworksBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E0005DDC40100526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXRezBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E0205DDC40100526345 = {
-                       explicitFileType = archive.ar;
-                       includeInIndex = 0;
-                       isa = PBXFileReference;
-                       path = libKerberosDES.a;
-                       refType = 3;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               A1AB1E1005DDC43000526345 = {
+               A1AB1E8105DDC47700526345 /* Kerberos5 */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = A1518EC6086C85C40042CBBC /* Build configuration list for PBXNativeTarget "Kerberos5" */;
                        buildPhases = (
-                               A1AB1E1305DDC43000526345,
-                               A1AB1E1705DDC43000526345,
-                               A1AB1E1F05DDC43000526345,
-                               A1AB1E2005DDC43000526345,
+                               A1AB1E8505DDC47700526345 /* Headers */,
+                               A1AB1EB905DDC47800526345 /* Sources */,
+                               A1AB1FAE05DDC47800526345 /* Frameworks */,
+                               A1AB1FAF05DDC47800526345 /* Rez */,
                        );
                        buildRules = (
                        );
                        buildSettings = {
                                DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
-                               HEADER_SEARCH_PATHS = "$(SRCROOT)/../../Common/Headers $(SRCROOT)/../../KerberosErrors/Headers/Kerberos $(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include";
-                               LIBRARY_STYLE = STATIC;
-                               PRODUCT_NAME = KerberosProfile;
-                               REZ_EXECUTABLE = YES;
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
-                       };
-                       dependencies = (
-                               A1AB1E1105DDC43000526345,
-                               A1AB1E1205DDC43000526345,
-                       );
-                       isa = PBXNativeTarget;
-                       name = KerberosProfile;
-                       productInstallPath = /usr/local/lib;
-                       productName = KerberosProfile;
-                       productReference = A1AB1E2205DDC43000526345;
-                       productType = "com.apple.product-type.library.static";
-               };
-               A1AB1E1105DDC43000526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD5E6022D8A9901120112;
-                       targetProxy = A181DA4B05CEFC0400E4C246;
-               };
-               A1AB1E1205DDC43000526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD629022D922C01120112;
-                       targetProxy = A181DA4A05CEFC0400E4C246;
-               };
-               A1AB1E1305DDC43000526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1E1405DDC43000526345,
-                               A1AB1E1505DDC43000526345,
-                               A1AB1E1605DDC43000526345,
-                       );
-                       isa = PBXHeadersBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E1405DDC43000526345 = {
-                       fileRef = F51737BD03F1B65B01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1505DDC43000526345 = {
-                       fileRef = F5E2662D03F443E901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1605DDC43000526345 = {
-                       fileRef = F5E2662F03F443E901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1705DDC43000526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1E1805DDC43000526345,
-                               A1AB1E1905DDC43000526345,
-                               A1AB1E1A05DDC43000526345,
-                               A1AB1E1B05DDC43000526345,
-                               A1AB1E1C05DDC43000526345,
-                               A1AB1E1D05DDC43000526345,
-                               A1AB1E1E05DDC43000526345,
-                       );
-                       isa = PBXSourcesBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E1805DDC43000526345 = {
-                       fileRef = F51737BA03F1B65B01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1905DDC43000526345 = {
-                       fileRef = F51737BB03F1B65B01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1A05DDC43000526345 = {
-                       fileRef = F51737BC03F1B65B01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1B05DDC43000526345 = {
-                       fileRef = F51737BE03F1B65B01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1C05DDC43000526345 = {
-                       fileRef = F51737BF03F1B65B01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1D05DDC43000526345 = {
-                       fileRef = F51737C003F1B65B01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1E05DDC43000526345 = {
-                       fileRef = A198BC2A0406DA8F00120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E1F05DDC43000526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXFrameworksBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E2005DDC43000526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXRezBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E2205DDC43000526345 = {
-                       explicitFileType = archive.ar;
-                       includeInIndex = 0;
-                       isa = PBXFileReference;
-                       path = libKerberosProfile.a;
-                       refType = 3;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               A1AB1E3005DDC45F00526345 = {
-                       buildPhases = (
-                               A1AB1E3405DDC45F00526345,
-                               A1AB1E3505DDC45F00526345,
-                               A1AB1E6C05DDC45F00526345,
-                               A1AB1E6D05DDC45F00526345,
-                       );
-                       buildRules = (
-                       );
-                       buildSettings = {
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
-                               HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates $(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include $(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables $(SRCROOT)/../../Common/Headers $(SRCROOT)/../../KerberosErrors/Headers $(SRCROOT)/../../KerberosDebug/Headers $(SRCROOT)/../../KerberosErrors/Headers/Kerberos $(SRCROOT)/../../CredentialsCache/Headers $(SRCROOT)/../../CredentialsCache/Headers/Kerberos $(SRCROOT)/../../KerberosLogin/Headers $(SRCROOT)/../../KerberosLogin/Headers/Kerberos";
-                               LIBRARY_STYLE = STATIC;
-                               PRODUCT_NAME = Kerberos4;
-                               REZ_EXECUTABLE = YES;
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
-                       };
-                       dependencies = (
-                               A1AB1E3105DDC45F00526345,
-                               A1AB1E3205DDC45F00526345,
-                               A1AB1E3305DDC45F00526345,
-                       );
-                       isa = PBXNativeTarget;
-                       name = Kerberos4;
-                       productInstallPath = /usr/local/lib;
-                       productName = Kerberos4;
-                       productReference = A1AB1E6F05DDC45F00526345;
-                       productType = "com.apple.product-type.library.static";
-               };
-               A1AB1E3105DDC45F00526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD5E6022D8A9901120112;
-                       targetProxy = A181DA4605CEFC0400E4C246;
-               };
-               A1AB1E3205DDC45F00526345 = {
-                       isa = PBXTargetDependency;
-                       target = A1AB1DEC05DDC40100526345;
-                       targetProxy = A181DA4505CEFC0400E4C246;
-               };
-               A1AB1E3305DDC45F00526345 = {
-                       isa = PBXTargetDependency;
-                       target = A1AB1E1005DDC43000526345;
-                       targetProxy = A181DA4405CEFC0400E4C246;
-               };
-               A1AB1E3405DDC45F00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXHeadersBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E3505DDC45F00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1E3605DDC45F00526345,
-                               A1AB1E3705DDC45F00526345,
-                               A1AB1E3805DDC45F00526345,
-                               A1AB1E3905DDC45F00526345,
-                               A1AB1E3A05DDC45F00526345,
-                               A1AB1E3B05DDC45F00526345,
-                               A1AB1E3C05DDC45F00526345,
-                               A1AB1E3D05DDC45F00526345,
-                               A1AB1E3E05DDC45F00526345,
-                               A1AB1E3F05DDC45F00526345,
-                               A1AB1E4005DDC45F00526345,
-                               A1AB1E4105DDC45F00526345,
-                               A1AB1E4205DDC45F00526345,
-                               A1AB1E4305DDC45F00526345,
-                               A1AB1E4405DDC45F00526345,
-                               A1AB1E4505DDC45F00526345,
-                               A1AB1E4605DDC45F00526345,
-                               A1AB1E4705DDC45F00526345,
-                               A1AB1E4805DDC45F00526345,
-                               A1AB1E4905DDC45F00526345,
-                               A1AB1E4A05DDC45F00526345,
-                               A1AB1E4B05DDC45F00526345,
-                               A1AB1E4C05DDC45F00526345,
-                               A1AB1E4D05DDC45F00526345,
-                               A1AB1E4E05DDC45F00526345,
-                               A1AB1E4F05DDC45F00526345,
-                               A1AB1E5005DDC45F00526345,
-                               A1AB1E5105DDC45F00526345,
-                               A1AB1E5205DDC45F00526345,
-                               A1AB1E5305DDC45F00526345,
-                               A1AB1E5405DDC45F00526345,
-                               A1AB1E5505DDC45F00526345,
-                               A1AB1E5605DDC45F00526345,
-                               A1AB1E5705DDC45F00526345,
-                               A1AB1E5805DDC45F00526345,
-                               A1AB1E5905DDC45F00526345,
-                               A1AB1E5A05DDC45F00526345,
-                               A1AB1E5B05DDC45F00526345,
-                               A1AB1E5C05DDC45F00526345,
-                               A1AB1E5D05DDC45F00526345,
-                               A1AB1E5E05DDC45F00526345,
-                               A1AB1E5F05DDC45F00526345,
-                               A1AB1E6005DDC45F00526345,
-                               A1AB1E6105DDC45F00526345,
-                               A1AB1E6205DDC45F00526345,
-                               A1AB1E6305DDC45F00526345,
-                               A1AB1E6405DDC45F00526345,
-                               A1AB1E6505DDC45F00526345,
-                               A1AB1E6605DDC45F00526345,
-                               A1AB1E6705DDC45F00526345,
-                               A1AB1E6805DDC45F00526345,
-                               A1AB1E6905DDC45F00526345,
-                               A1AB1E6A05DDC45F00526345,
-                               A1AB1E6B05DDC45F00526345,
-                       );
-                       isa = PBXSourcesBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E3605DDC45F00526345 = {
-                       fileRef = F517345A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3705DDC45F00526345 = {
-                       fileRef = F517345B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3805DDC45F00526345 = {
-                       fileRef = F517345C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3905DDC45F00526345 = {
-                       fileRef = F517345D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3A05DDC45F00526345 = {
-                       fileRef = F517346203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3B05DDC45F00526345 = {
-                       fileRef = F517346303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3C05DDC45F00526345 = {
-                       fileRef = F517346403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3D05DDC45F00526345 = {
-                       fileRef = F517346503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3E05DDC45F00526345 = {
-                       fileRef = F517346603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E3F05DDC45F00526345 = {
-                       fileRef = F517346803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4005DDC45F00526345 = {
-                       fileRef = F517346A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4105DDC45F00526345 = {
-                       fileRef = F517346C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4205DDC45F00526345 = {
-                       fileRef = F517346E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4305DDC45F00526345 = {
-                       fileRef = F517347B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4405DDC45F00526345 = {
-                       fileRef = F517347E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4505DDC45F00526345 = {
-                       fileRef = F517348003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4605DDC45F00526345 = {
-                       fileRef = F517346903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4705DDC45F00526345 = {
-                       fileRef = F517345903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4805DDC45F00526345 = {
-                       fileRef = F517342403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4905DDC45F00526345 = {
-                       fileRef = F517342503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4A05DDC45F00526345 = {
-                       fileRef = F517342803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4B05DDC45F00526345 = {
-                       fileRef = F517342903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4C05DDC45F00526345 = {
-                       fileRef = F517342C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4D05DDC45F00526345 = {
-                       fileRef = F517342D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4E05DDC45F00526345 = {
-                       fileRef = F517342E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E4F05DDC45F00526345 = {
-                       fileRef = F517343403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5005DDC45F00526345 = {
-                       fileRef = F517343703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5105DDC45F00526345 = {
-                       fileRef = F517343803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5205DDC45F00526345 = {
-                       fileRef = F517343903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5305DDC45F00526345 = {
-                       fileRef = F517343A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5405DDC45F00526345 = {
-                       fileRef = F517343F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5505DDC45F00526345 = {
-                       fileRef = F517344003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5605DDC45F00526345 = {
-                       fileRef = F517344303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5705DDC45F00526345 = {
-                       fileRef = F517344403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5805DDC45F00526345 = {
-                       fileRef = F517344603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5905DDC45F00526345 = {
-                       fileRef = F517344C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5A05DDC45F00526345 = {
-                       fileRef = F517345703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5B05DDC45F00526345 = {
-                       fileRef = F517345803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5C05DDC45F00526345 = {
-                       fileRef = F517346103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5D05DDC45F00526345 = {
-                       fileRef = F517345E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5E05DDC45F00526345 = {
-                       fileRef = F517345F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E5F05DDC45F00526345 = {
-                       fileRef = F517343003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6005DDC45F00526345 = {
-                       fileRef = F517348603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6105DDC45F00526345 = {
-                       fileRef = F517343303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6205DDC45F00526345 = {
-                       fileRef = F517343503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6305DDC45F00526345 = {
-                       fileRef = F517343B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6405DDC45F00526345 = {
-                       fileRef = F517344703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6505DDC45F00526345 = {
-                       fileRef = F517346703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6605DDC45F00526345 = {
-                       fileRef = F517346B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6705DDC45F00526345 = {
-                       fileRef = F517346D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6805DDC45F00526345 = {
-                       fileRef = F517346F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6905DDC45F00526345 = {
-                       fileRef = F517347C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6A05DDC45F00526345 = {
-                       fileRef = F517344B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6B05DDC45F00526345 = {
-                       fileRef = F517343E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E6C05DDC45F00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXFrameworksBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E6D05DDC45F00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXRezBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E6F05DDC45F00526345 = {
-                       explicitFileType = archive.ar;
-                       includeInIndex = 0;
-                       isa = PBXFileReference;
-                       path = libKerberos4.a;
-                       refType = 3;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               A1AB1E8105DDC47700526345 = {
-                       buildPhases = (
-                               A1AB1E8505DDC47700526345,
-                               A1AB1EB905DDC47800526345,
-                               A1AB1FAE05DDC47800526345,
-                               A1AB1FAF05DDC47800526345,
-                       );
-                       buildRules = (
-                       );
-                       buildSettings = {
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
-                               HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates $(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include $(SRCROOT)/../Sources/include $(SRCROOT)/../../KerberosErrors/Headers $(SRCROOT)/../../KerberosErrors/Headers/Kerberos $(SRCROOT)/../../CredentialsCache/Headers $(SRCROOT)/../../CredentialsCache/Headers/Kerberos $(SRCROOT)/../../KerberosLogin/Headers $(SRCROOT)/../../KerberosLogin/Headers/Kerberos";
-                               LIBRARY_STYLE = STATIC;
-                               PRODUCT_NAME = Kerberos5;
-                               REZ_EXECUTABLE = YES;
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
-                       };
-                       dependencies = (
-                               A1AB1E8205DDC47700526345,
-                               A1AB1E8305DDC47700526345,
-                               A1AB1E8405DDC47700526345,
-                       );
-                       isa = PBXNativeTarget;
-                       name = Kerberos5;
-                       productInstallPath = /usr/local/lib;
-                       productName = Kerberos5;
-                       productReference = A1AB1FB105DDC47800526345;
-                       productType = "com.apple.product-type.library.static";
-               };
-               A1AB1E8205DDC47700526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD5E6022D8A9901120112;
-                       targetProxy = A181DA4805CEFC0400E4C246;
-               };
-               A1AB1E8305DDC47700526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD629022D922C01120112;
-                       targetProxy = A181DA4305CEFC0400E4C246;
-               };
-               A1AB1E8405DDC47700526345 = {
-                       isa = PBXTargetDependency;
-                       target = A1AB1DEC05DDC40100526345;
-                       targetProxy = A181DA4905CEFC0400E4C246;
-               };
-               A1AB1E8505DDC47700526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1E8605DDC47700526345,
-                               A1AB1E8705DDC47700526345,
-                               A1AB1E8805DDC47700526345,
-                               A1AB1E8905DDC47700526345,
-                               A1AB1E8A05DDC47700526345,
-                               A1AB1E8B05DDC47700526345,
-                               A1AB1E8C05DDC47700526345,
-                               A1AB1E8D05DDC47700526345,
-                               A1AB1E8E05DDC47700526345,
-                               A1AB1E8F05DDC47700526345,
-                               A1AB1E9005DDC47700526345,
-                               A1AB1E9105DDC47700526345,
-                               A1AB1E9205DDC47700526345,
-                               A1AB1E9305DDC47700526345,
-                               A1AB1E9405DDC47700526345,
-                               A1AB1E9505DDC47700526345,
-                               A1AB1E9605DDC47700526345,
-                               A1AB1E9705DDC47700526345,
-                               A1AB1E9805DDC47700526345,
-                               A1AB1E9905DDC47700526345,
-                               A1AB1E9A05DDC47700526345,
-                               A1AB1E9B05DDC47700526345,
-                               A1AB1E9C05DDC47700526345,
-                               A1AB1E9D05DDC47700526345,
-                               A1AB1E9E05DDC47700526345,
-                               A1AB1E9F05DDC47700526345,
-                               A1AB1EA005DDC47700526345,
-                               A1AB1EA105DDC47700526345,
-                               A1AB1EA205DDC47700526345,
-                               A1AB1EA305DDC47700526345,
-                               A1AB1EA405DDC47700526345,
-                               A1AB1EA505DDC47700526345,
-                               A1AB1EA605DDC47700526345,
-                               A1AB1EA705DDC47700526345,
-                               A1AB1EA805DDC47700526345,
-                               A1AB1EA905DDC47700526345,
-                               A1AB1EAA05DDC47700526345,
-                               A1AB1EAB05DDC47700526345,
-                               A1AB1EAC05DDC47700526345,
-                               A1AB1EAD05DDC47700526345,
-                               A1AB1EAE05DDC47700526345,
-                               A1AB1EAF05DDC47800526345,
-                               A1AB1EB005DDC47800526345,
-                               A1AB1EB105DDC47800526345,
-                               A1AB1EB205DDC47800526345,
-                               A1AB1EB305DDC47800526345,
-                               A1AB1EB405DDC47800526345,
-                               A1AB1EB505DDC47800526345,
-                               A1AB1EB605DDC47800526345,
-                               A1AB1EB705DDC47800526345,
-                               A1AB1EB805DDC47800526345,
-                               A1A6784506C3D82500EC826E,
-                               A1D62985070C878B0015C908,
-                               A1D62992070C8AD70015C908,
-                       );
-                       isa = PBXHeadersBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1E8605DDC47700526345 = {
-                       fileRef = F517355303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8705DDC47700526345 = {
-                       fileRef = F517357403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8805DDC47700526345 = {
-                       fileRef = F517349503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8905DDC47700526345 = {
-                       fileRef = F517349703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8A05DDC47700526345 = {
-                       fileRef = F517349903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8B05DDC47700526345 = {
-                       fileRef = F517349F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8C05DDC47700526345 = {
-                       fileRef = F51734A303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8D05DDC47700526345 = {
-                       fileRef = F51734A903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8E05DDC47700526345 = {
-                       fileRef = F51734A103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E8F05DDC47700526345 = {
-                       fileRef = F517349B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9005DDC47700526345 = {
-                       fileRef = F517349D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9105DDC47700526345 = {
-                       fileRef = F51734A403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9205DDC47700526345 = {
-                       fileRef = F51734C003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9305DDC47700526345 = {
-                       fileRef = F51734C403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9405DDC47700526345 = {
-                       fileRef = F51734B503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9505DDC47700526345 = {
-                       fileRef = F51734B703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9605DDC47700526345 = {
-                       fileRef = F51730E703F1B65801120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9705DDC47700526345 = {
-                       fileRef = F51734F103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9805DDC47700526345 = {
-                       fileRef = F51734F803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9905DDC47700526345 = {
-                       fileRef = F517351A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9A05DDC47700526345 = {
-                       fileRef = F51735A103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9B05DDC47700526345 = {
-                       fileRef = F51735A403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9C05DDC47700526345 = {
-                       fileRef = F51735A603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9D05DDC47700526345 = {
-                       fileRef = F5E2662D03F443E901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9E05DDC47700526345 = {
-                       fileRef = F5E2662F03F443E901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1E9F05DDC47700526345 = {
-                       fileRef = F517325603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA005DDC47700526345 = {
-                       fileRef = F517326603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA105DDC47700526345 = {
-                       fileRef = F517329903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA205DDC47700526345 = {
-                       fileRef = F517324D03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA305DDC47700526345 = {
-                       fileRef = F517324B03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA405DDC47700526345 = {
-                       fileRef = F517325E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA505DDC47700526345 = {
-                       fileRef = F517327A03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA605DDC47700526345 = {
-                       fileRef = F517327003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA705DDC47700526345 = {
-                       fileRef = F517328703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA805DDC47700526345 = {
-                       fileRef = F517329203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EA905DDC47700526345 = {
-                       fileRef = F517329F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EAA05DDC47700526345 = {
-                       fileRef = F51732AD03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EAB05DDC47700526345 = {
-                       fileRef = F51732BA03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EAC05DDC47700526345 = {
-                       fileRef = F51732C203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EAD05DDC47700526345 = {
-                       fileRef = F51732CA03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EAE05DDC47700526345 = {
-                       fileRef = F51732D403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EAF05DDC47800526345 = {
-                       fileRef = F51732DE03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB005DDC47800526345 = {
-                       fileRef = F51732FD03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB105DDC47800526345 = {
-                       fileRef = F517330103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB205DDC47800526345 = {
-                       fileRef = F517330203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB305DDC47800526345 = {
-                       fileRef = F517330303F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB405DDC47800526345 = {
-                       fileRef = F517330403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB505DDC47800526345 = {
-                       fileRef = F517330503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB605DDC47800526345 = {
-                       fileRef = F517330703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB705DDC47800526345 = {
-                       fileRef = A1B21F180417D6BC00120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB805DDC47800526345 = {
-                       fileRef = A181DA5405CF0BD800E4C246;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EB905DDC47800526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1EBA05DDC47800526345,
-                               A1AB1EBB05DDC47800526345,
-                               A1AB1EBC05DDC47800526345,
-                               A1AB1EBD05DDC47800526345,
-                               A1AB1EBE05DDC47800526345,
-                               A1AB1EBF05DDC47800526345,
-                               A1AB1EC005DDC47800526345,
-                               A1AB1EC105DDC47800526345,
-                               A1AB1EC205DDC47800526345,
-                               A1AB1EC305DDC47800526345,
-                               A1AB1EC405DDC47800526345,
-                               A1AB1EC505DDC47800526345,
-                               A1AB1EC605DDC47800526345,
-                               A1AB1EC705DDC47800526345,
-                               A1AB1EC805DDC47800526345,
-                               A1AB1EC905DDC47800526345,
-                               A1AB1ECA05DDC47800526345,
-                               A1AB1ECB05DDC47800526345,
-                               A1AB1ECC05DDC47800526345,
-                               A1AB1ECD05DDC47800526345,
-                               A1AB1ECE05DDC47800526345,
-                               A1AB1ECF05DDC47800526345,
-                               A1AB1ED005DDC47800526345,
-                               A1AB1ED105DDC47800526345,
-                               A1AB1ED205DDC47800526345,
-                               A1AB1ED305DDC47800526345,
-                               A1AB1ED405DDC47800526345,
-                               A1AB1ED505DDC47800526345,
-                               A1AB1ED605DDC47800526345,
-                               A1AB1ED705DDC47800526345,
-                               A1AB1ED805DDC47800526345,
-                               A1AB1ED905DDC47800526345,
-                               A1AB1EDA05DDC47800526345,
-                               A1AB1EDB05DDC47800526345,
-                               A1AB1EDC05DDC47800526345,
-                               A1AB1EDD05DDC47800526345,
-                               A1AB1EDE05DDC47800526345,
-                               A1AB1EDF05DDC47800526345,
-                               A1AB1EE005DDC47800526345,
-                               A1AB1EE105DDC47800526345,
-                               A1AB1EE205DDC47800526345,
-                               A1AB1EE305DDC47800526345,
-                               A1AB1EE405DDC47800526345,
-                               A1AB1EE505DDC47800526345,
-                               A1AB1EE605DDC47800526345,
-                               A1AB1EE705DDC47800526345,
-                               A1AB1EE805DDC47800526345,
-                               A1AB1EE905DDC47800526345,
-                               A1AB1EEA05DDC47800526345,
-                               A1AB1EEB05DDC47800526345,
-                               A1AB1EEC05DDC47800526345,
-                               A1AB1EED05DDC47800526345,
-                               A1AB1EEE05DDC47800526345,
-                               A1AB1EEF05DDC47800526345,
-                               A1AB1EF005DDC47800526345,
-                               A1AB1EF105DDC47800526345,
-                               A1AB1EF205DDC47800526345,
-                               A1AB1EF305DDC47800526345,
-                               A1AB1EF405DDC47800526345,
-                               A1AB1EF505DDC47800526345,
-                               A1AB1EF605DDC47800526345,
-                               A1AB1EF705DDC47800526345,
-                               A1AB1EF805DDC47800526345,
-                               A1AB1EF905DDC47800526345,
-                               A1AB1EFA05DDC47800526345,
-                               A1AB1EFB05DDC47800526345,
-                               A1AB1EFC05DDC47800526345,
-                               A1AB1EFD05DDC47800526345,
-                               A1AB1EFE05DDC47800526345,
-                               A1AB1EFF05DDC47800526345,
-                               A1AB1F0005DDC47800526345,
-                               A1AB1F0105DDC47800526345,
-                               A1AB1F0205DDC47800526345,
-                               A1AB1F0305DDC47800526345,
-                               A1AB1F0405DDC47800526345,
-                               A1AB1F0505DDC47800526345,
-                               A1AB1F0605DDC47800526345,
-                               A1AB1F0705DDC47800526345,
-                               A1AB1F0805DDC47800526345,
-                               A1AB1F0905DDC47800526345,
-                               A1AB1F0A05DDC47800526345,
-                               A1AB1F0B05DDC47800526345,
-                               A1AB1F0C05DDC47800526345,
-                               A1AB1F0D05DDC47800526345,
-                               A1AB1F0E05DDC47800526345,
-                               A1AB1F0F05DDC47800526345,
-                               A1AB1F1005DDC47800526345,
-                               A1AB1F1105DDC47800526345,
-                               A1AB1F1205DDC47800526345,
-                               A1AB1F1305DDC47800526345,
-                               A1AB1F1405DDC47800526345,
-                               A1AB1F1505DDC47800526345,
-                               A1AB1F1605DDC47800526345,
-                               A1AB1F1705DDC47800526345,
-                               A1AB1F1805DDC47800526345,
-                               A1AB1F1905DDC47800526345,
-                               A1AB1F1A05DDC47800526345,
-                               A1AB1F1B05DDC47800526345,
-                               A1AB1F1C05DDC47800526345,
-                               A1AB1F1D05DDC47800526345,
-                               A1AB1F1E05DDC47800526345,
-                               A1AB1F1F05DDC47800526345,
-                               A1AB1F2005DDC47800526345,
-                               A1AB1F2105DDC47800526345,
-                               A1AB1F2205DDC47800526345,
-                               A1AB1F2305DDC47800526345,
-                               A1AB1F2405DDC47800526345,
-                               A1AB1F2505DDC47800526345,
-                               A1AB1F2605DDC47800526345,
-                               A1AB1F2705DDC47800526345,
-                               A1AB1F2805DDC47800526345,
-                               A1AB1F2905DDC47800526345,
-                               A1AB1F2A05DDC47800526345,
-                               A1AB1F2B05DDC47800526345,
-                               A1AB1F2C05DDC47800526345,
-                               A1AB1F2D05DDC47800526345,
-                               A1AB1F2E05DDC47800526345,
-                               A1AB1F2F05DDC47800526345,
-                               A1AB1F3005DDC47800526345,
-                               A1AB1F3105DDC47800526345,
-                               A1AB1F3205DDC47800526345,
-                               A1AB1F3305DDC47800526345,
-                               A1AB1F3405DDC47800526345,
-                               A1AB1F3505DDC47800526345,
-                               A1AB1F3605DDC47800526345,
-                               A1AB1F3705DDC47800526345,
-                               A1AB1F3805DDC47800526345,
-                               A1AB1F3905DDC47800526345,
-                               A1AB1F3A05DDC47800526345,
-                               A1AB1F3B05DDC47800526345,
-                               A1AB1F3C05DDC47800526345,
-                               A1AB1F3D05DDC47800526345,
-                               A1AB1F3E05DDC47800526345,
-                               A1AB1F3F05DDC47800526345,
-                               A1AB1F4005DDC47800526345,
-                               A1AB1F4105DDC47800526345,
-                               A1AB1F4205DDC47800526345,
-                               A1AB1F4305DDC47800526345,
-                               A1AB1F4405DDC47800526345,
-                               A1AB1F4505DDC47800526345,
-                               A1AB1F4605DDC47800526345,
-                               A1AB1F4705DDC47800526345,
-                               A1AB1F4805DDC47800526345,
-                               A1AB1F4905DDC47800526345,
-                               A1AB1F4A05DDC47800526345,
-                               A1AB1F4B05DDC47800526345,
-                               A1AB1F4C05DDC47800526345,
-                               A1AB1F4D05DDC47800526345,
-                               A1AB1F4E05DDC47800526345,
-                               A1AB1F4F05DDC47800526345,
-                               A1AB1F5005DDC47800526345,
-                               A1AB1F5105DDC47800526345,
-                               A1AB1F5205DDC47800526345,
-                               A1AB1F5305DDC47800526345,
-                               A1AB1F5405DDC47800526345,
-                               A1AB1F5505DDC47800526345,
-                               A1AB1F5705DDC47800526345,
-                               A1AB1F5805DDC47800526345,
-                               A1AB1F5905DDC47800526345,
-                               A1AB1F5A05DDC47800526345,
-                               A1AB1F5B05DDC47800526345,
-                               A1AB1F5C05DDC47800526345,
-                               A1AB1F5D05DDC47800526345,
-                               A1AB1F5E05DDC47800526345,
-                               A1AB1F5F05DDC47800526345,
-                               A1AB1F6005DDC47800526345,
-                               A1AB1F6105DDC47800526345,
-                               A1AB1F6205DDC47800526345,
-                               A1AB1F6305DDC47800526345,
-                               A1AB1F6405DDC47800526345,
-                               A1AB1F6505DDC47800526345,
-                               A1AB1F6605DDC47800526345,
-                               A1AB1F6705DDC47800526345,
-                               A1AB1F6805DDC47800526345,
-                               A1AB1F6905DDC47800526345,
-                               A1AB1F6A05DDC47800526345,
-                               A1AB1F6B05DDC47800526345,
-                               A1AB1F6C05DDC47800526345,
-                               A1AB1F6D05DDC47800526345,
-                               A1AB1F6E05DDC47800526345,
-                               A1AB1F6F05DDC47800526345,
-                               A1AB1F7005DDC47800526345,
-                               A1AB1F7105DDC47800526345,
-                               A1AB1F7205DDC47800526345,
-                               A1AB1F7305DDC47800526345,
-                               A1AB1F7405DDC47800526345,
-                               A1AB1F7505DDC47800526345,
-                               A1AB1F7605DDC47800526345,
-                               A1AB1F7705DDC47800526345,
-                               A1AB1F7805DDC47800526345,
-                               A1AB1F7905DDC47800526345,
-                               A1AB1F7A05DDC47800526345,
-                               A1AB1F7B05DDC47800526345,
-                               A1AB1F7C05DDC47800526345,
-                               A1AB1F7D05DDC47800526345,
-                               A1AB1F7E05DDC47800526345,
-                               A1AB1F7F05DDC47800526345,
-                               A1AB1F8005DDC47800526345,
-                               A1AB1F8105DDC47800526345,
-                               A1AB1F8205DDC47800526345,
-                               A1AB1F8305DDC47800526345,
-                               A1AB1F8405DDC47800526345,
-                               A1AB1F8505DDC47800526345,
-                               A1AB1F8605DDC47800526345,
-                               A1AB1F8705DDC47800526345,
-                               A1AB1F8805DDC47800526345,
-                               A1AB1F8905DDC47800526345,
-                               A1AB1F8A05DDC47800526345,
-                               A1AB1F8B05DDC47800526345,
-                               A1AB1F8C05DDC47800526345,
-                               A1AB1F8D05DDC47800526345,
-                               A1AB1F8E05DDC47800526345,
-                               A1AB1F8F05DDC47800526345,
-                               A1AB1F9005DDC47800526345,
-                               A1AB1F9105DDC47800526345,
-                               A1AB1F9205DDC47800526345,
-                               A1AB1F9305DDC47800526345,
-                               A1AB1F9405DDC47800526345,
-                               A1AB1F9505DDC47800526345,
-                               A1AB1F9605DDC47800526345,
-                               A1AB1F9705DDC47800526345,
-                               A1AB1F9805DDC47800526345,
-                               A1AB1F9905DDC47800526345,
-                               A1AB1F9A05DDC47800526345,
-                               A1AB1F9B05DDC47800526345,
-                               A1AB1F9C05DDC47800526345,
-                               A1AB1F9D05DDC47800526345,
-                               A1AB1F9E05DDC47800526345,
-                               A1AB1F9F05DDC47800526345,
-                               A1AB1FA005DDC47800526345,
-                               A1AB1FA105DDC47800526345,
-                               A1AB1FA205DDC47800526345,
-                               A1AB1FA305DDC47800526345,
-                               A1AB1FA405DDC47800526345,
-                               A1AB1FA505DDC47800526345,
-                               A1AB1FA605DDC47800526345,
-                               A1AB1FA705DDC47800526345,
-                               A1AB1FA805DDC47800526345,
-                               A1AB1FA905DDC47800526345,
-                               A1AB1FAA05DDC47800526345,
-                               A1AB1FAB05DDC47800526345,
-                               A1AB1FAC05DDC47800526345,
-                               A1AB1FAD05DDC47800526345,
-                               A1D256F206A713A600A9EC13,
-                               A1A6783206C3D47F00EC826E,
-                               A1A6784406C3D82500EC826E,
-                               A1CA43BD06E3D0D400F35E9C,
-                               A1CA43BE06E3D0D400F35E9C,
-                               A1CA43BF06E3D0D400F35E9C,
-                               A1CA43C006E3D0D400F35E9C,
-                               A1CA43C106E3D0D400F35E9C,
-                               A1D62991070C8AD70015C908,
-                       );
-                       isa = PBXSourcesBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1EBA05DDC47800526345 = {
-                       fileRef = F517355203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EBB05DDC47800526345 = {
-                       fileRef = F517355803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EBC05DDC47800526345 = {
-                       fileRef = F517355903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EBD05DDC47800526345 = {
-                       fileRef = F517355A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EBE05DDC47800526345 = {
-                       fileRef = F517355B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EBF05DDC47800526345 = {
-                       fileRef = F517355D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC005DDC47800526345 = {
-                       fileRef = F517355E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC105DDC47800526345 = {
-                       fileRef = F517355F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC205DDC47800526345 = {
-                       fileRef = F517356003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC305DDC47800526345 = {
-                       fileRef = F517356103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC405DDC47800526345 = {
-                       fileRef = F517356203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC505DDC47800526345 = {
-                       fileRef = F517356303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC605DDC47800526345 = {
-                       fileRef = F517356403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC705DDC47800526345 = {
-                       fileRef = F517356503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC805DDC47800526345 = {
-                       fileRef = F517356603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EC905DDC47800526345 = {
-                       fileRef = F517356703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ECA05DDC47800526345 = {
-                       fileRef = F517356803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ECB05DDC47800526345 = {
-                       fileRef = F517356A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ECC05DDC47800526345 = {
-                       fileRef = F517356903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ECD05DDC47800526345 = {
-                       fileRef = F517356B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ECE05DDC47800526345 = {
-                       fileRef = F517356C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ECF05DDC47800526345 = {
-                       fileRef = F517356D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED005DDC47800526345 = {
-                       fileRef = F517356E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED105DDC47800526345 = {
-                       fileRef = F517356F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED205DDC47800526345 = {
-                       fileRef = F517357103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED305DDC47800526345 = {
-                       fileRef = F517357203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED405DDC47800526345 = {
-                       fileRef = F517357303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED505DDC47800526345 = {
-                       fileRef = F517357503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED605DDC47800526345 = {
-                       fileRef = F517357603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED705DDC47800526345 = {
-                       fileRef = F517357703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED805DDC47800526345 = {
-                       fileRef = F517357803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1ED905DDC47800526345 = {
-                       fileRef = F517357903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EDA05DDC47800526345 = {
-                       fileRef = F517357A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EDB05DDC47800526345 = {
-                       fileRef = F517357B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EDC05DDC47800526345 = {
-                       fileRef = F517357C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EDD05DDC47800526345 = {
-                       fileRef = F517357E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EDE05DDC47800526345 = {
-                       fileRef = F517357F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EDF05DDC47800526345 = {
-                       fileRef = F517358603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE005DDC47800526345 = {
-                       fileRef = F517358703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE105DDC47800526345 = {
-                       fileRef = F517358803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE205DDC47800526345 = {
-                       fileRef = F517358903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE305DDC47800526345 = {
-                       fileRef = F517358A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE405DDC47800526345 = {
-                       fileRef = F517349403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE505DDC47800526345 = {
-                       fileRef = F517349603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE605DDC47800526345 = {
-                       fileRef = F517349803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE705DDC47800526345 = {
-                       fileRef = F517349E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE805DDC47800526345 = {
-                       fileRef = F51734A203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EE905DDC47800526345 = {
-                       fileRef = F51734A703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EEA05DDC47800526345 = {
-                       fileRef = F51734A803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EEB05DDC47800526345 = {
-                       fileRef = F51734A003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EEC05DDC47800526345 = {
-                       fileRef = F517349A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EED05DDC47800526345 = {
-                       fileRef = F517349C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EEE05DDC47800526345 = {
-                       fileRef = F51734AE03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EEF05DDC47800526345 = {
-                       fileRef = F51734AF03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF005DDC47800526345 = {
-                       fileRef = F51734B003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF105DDC47800526345 = {
-                       fileRef = F51734BA03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF205DDC47800526345 = {
-                       fileRef = F51734BB03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF305DDC47800526345 = {
-                       fileRef = F51734BC03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF405DDC47800526345 = {
-                       fileRef = F51734BD03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF505DDC47800526345 = {
-                       fileRef = F51734BE03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF605DDC47800526345 = {
-                       fileRef = F51734C503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF705DDC47800526345 = {
-                       fileRef = F51734B403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF805DDC47800526345 = {
-                       fileRef = F51734B603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EF905DDC47800526345 = {
-                       fileRef = F51734D303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EFA05DDC47800526345 = {
-                       fileRef = F51734DE03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EFB05DDC47800526345 = {
-                       fileRef = F51734DF03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EFC05DDC47800526345 = {
-                       fileRef = F51734E003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EFD05DDC47800526345 = {
-                       fileRef = F51734E103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EFE05DDC47800526345 = {
-                       fileRef = F51734E203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1EFF05DDC47800526345 = {
-                       fileRef = F51734E303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0005DDC47800526345 = {
-                       fileRef = F51734E403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0105DDC47800526345 = {
-                       fileRef = F51734E503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0205DDC47800526345 = {
-                       fileRef = F51734E703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0305DDC47800526345 = {
-                       fileRef = F51734EC03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0405DDC47800526345 = {
-                       fileRef = F51734ED03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0505DDC47800526345 = {
-                       fileRef = F51734EE03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0605DDC47800526345 = {
-                       fileRef = F51734EF03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0705DDC47800526345 = {
-                       fileRef = F51734F003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0805DDC47800526345 = {
-                       fileRef = F51734F203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0905DDC47800526345 = {
-                       fileRef = F51734F303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0A05DDC47800526345 = {
-                       fileRef = F51734F603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0B05DDC47800526345 = {
-                       fileRef = F51734F703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0C05DDC47800526345 = {
-                       fileRef = F51734F903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0D05DDC47800526345 = {
-                       fileRef = F51734FA03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0E05DDC47800526345 = {
-                       fileRef = F51734FB03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F0F05DDC47800526345 = {
-                       fileRef = F51734FC03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1005DDC47800526345 = {
-                       fileRef = F51734FD03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1105DDC47800526345 = {
-                       fileRef = F51734FE03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1205DDC47800526345 = {
-                       fileRef = F51734FF03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1305DDC47800526345 = {
-                       fileRef = F517350003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1405DDC47800526345 = {
-                       fileRef = F517350103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1505DDC47800526345 = {
-                       fileRef = F517350203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1605DDC47800526345 = {
-                       fileRef = F517350303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1705DDC47800526345 = {
-                       fileRef = F517350403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1805DDC47800526345 = {
-                       fileRef = F517350503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1905DDC47800526345 = {
-                       fileRef = F517350603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1A05DDC47800526345 = {
-                       fileRef = F517350703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1B05DDC47800526345 = {
-                       fileRef = F517350803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1C05DDC47800526345 = {
-                       fileRef = F517350903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1D05DDC47800526345 = {
-                       fileRef = F517350A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1E05DDC47800526345 = {
-                       fileRef = F517350C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F1F05DDC47800526345 = {
-                       fileRef = F517350B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2005DDC47800526345 = {
-                       fileRef = F517350D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2105DDC47800526345 = {
-                       fileRef = F517350E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2205DDC47800526345 = {
-                       fileRef = F517350F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2305DDC47800526345 = {
-                       fileRef = F517351003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2405DDC47800526345 = {
-                       fileRef = F517351103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2505DDC47800526345 = {
-                       fileRef = F517351203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2605DDC47800526345 = {
-                       fileRef = F517351303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2705DDC47800526345 = {
-                       fileRef = F517351403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2805DDC47800526345 = {
-                       fileRef = F517351703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2905DDC47800526345 = {
-                       fileRef = F517351803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2A05DDC47800526345 = {
-                       fileRef = F517351903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2B05DDC47800526345 = {
-                       fileRef = F517351B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2C05DDC47800526345 = {
-                       fileRef = F517351C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2D05DDC47800526345 = {
-                       fileRef = F517351E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2E05DDC47800526345 = {
-                       fileRef = F517351F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F2F05DDC47800526345 = {
-                       fileRef = F517352003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3005DDC47800526345 = {
-                       fileRef = F517352103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3105DDC47800526345 = {
-                       fileRef = F517352203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3205DDC47800526345 = {
-                       fileRef = F517352303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3305DDC47800526345 = {
-                       fileRef = F517352403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3405DDC47800526345 = {
-                       fileRef = F517352503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3505DDC47800526345 = {
-                       fileRef = F517352603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3605DDC47800526345 = {
-                       fileRef = F517352703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3705DDC47800526345 = {
-                       fileRef = F517352803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3805DDC47800526345 = {
-                       fileRef = F517352903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3905DDC47800526345 = {
-                       fileRef = F517352A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3A05DDC47800526345 = {
-                       fileRef = F517352B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3B05DDC47800526345 = {
-                       fileRef = F517352C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3C05DDC47800526345 = {
-                       fileRef = F517352D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3D05DDC47800526345 = {
-                       fileRef = F517352E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3E05DDC47800526345 = {
-                       fileRef = F517352F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F3F05DDC47800526345 = {
-                       fileRef = F517353003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4005DDC47800526345 = {
-                       fileRef = F517353103F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4105DDC47800526345 = {
-                       fileRef = F517353203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4205DDC47800526345 = {
-                       fileRef = F517353303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4305DDC47800526345 = {
-                       fileRef = F517353403F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4405DDC47800526345 = {
-                       fileRef = F517353503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4505DDC47800526345 = {
-                       fileRef = F517353603F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4605DDC47800526345 = {
-                       fileRef = F517353703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4705DDC47800526345 = {
-                       fileRef = F517353803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4805DDC47800526345 = {
-                       fileRef = F517353903F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4905DDC47800526345 = {
-                       fileRef = F517353A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4A05DDC47800526345 = {
-                       fileRef = F517353B03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4B05DDC47800526345 = {
-                       fileRef = F517353C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4C05DDC47800526345 = {
-                       fileRef = F517353D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4D05DDC47800526345 = {
-                       fileRef = F517353E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4E05DDC47800526345 = {
-                       fileRef = F517353F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F4F05DDC47800526345 = {
-                       fileRef = F517354003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5005DDC47800526345 = {
-                       fileRef = F517354A03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5105DDC47800526345 = {
-                       fileRef = F517354C03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5205DDC47800526345 = {
-                       fileRef = F517354D03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5305DDC47800526345 = {
-                       fileRef = F517354E03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5405DDC47800526345 = {
-                       fileRef = F517354F03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5505DDC47800526345 = {
-                       fileRef = F517355003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5705DDC47800526345 = {
-                       fileRef = F51735A003F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5805DDC47800526345 = {
-                       fileRef = F51735A203F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5905DDC47800526345 = {
-                       fileRef = F51735A303F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5A05DDC47800526345 = {
-                       fileRef = F51735A503F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5B05DDC47800526345 = {
-                       fileRef = F51735A703F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5C05DDC47800526345 = {
-                       fileRef = F51735A803F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5D05DDC47800526345 = {
-                       fileRef = F51735AB03F1B65A01120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5E05DDC47800526345 = {
-                       fileRef = F517325103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F5F05DDC47800526345 = {
-                       fileRef = F517325303F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6005DDC47800526345 = {
-                       fileRef = F517325403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6105DDC47800526345 = {
-                       fileRef = F517325503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6205DDC47800526345 = {
-                       fileRef = F517325703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6305DDC47800526345 = {
-                       fileRef = F517325803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6405DDC47800526345 = {
-                       fileRef = F517326503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6505DDC47800526345 = {
-                       fileRef = F517326703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6605DDC47800526345 = {
-                       fileRef = F517326803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6705DDC47800526345 = {
-                       fileRef = F517329403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6805DDC47800526345 = {
-                       fileRef = F517329503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6905DDC47800526345 = {
-                       fileRef = F517329603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6A05DDC47800526345 = {
-                       fileRef = F517329703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6B05DDC47800526345 = {
-                       fileRef = F517329803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6C05DDC47800526345 = {
-                       fileRef = F51732A203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6D05DDC47800526345 = {
-                       fileRef = F51732A403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6E05DDC47800526345 = {
-                       fileRef = F51732A503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F6F05DDC47800526345 = {
-                       fileRef = F51732B003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7005DDC47800526345 = {
-                       fileRef = F51732B103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7105DDC47800526345 = {
-                       fileRef = F51732C503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7205DDC47800526345 = {
-                       fileRef = F51732CD03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7305DDC47800526345 = {
-                       fileRef = F51732CF03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7405DDC47800526345 = {
-                       fileRef = F51732D003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7505DDC47800526345 = {
-                       fileRef = F51732E103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7605DDC47800526345 = {
-                       fileRef = F51732E203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7705DDC47800526345 = {
-                       fileRef = F51732E303F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7805DDC47800526345 = {
-                       fileRef = F51732E403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7905DDC47800526345 = {
-                       fileRef = F51732F103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7A05DDC47800526345 = {
-                       fileRef = F51732F203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7B05DDC47800526345 = {
-                       fileRef = F51732F403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7C05DDC47800526345 = {
-                       fileRef = F517323103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7D05DDC47800526345 = {
-                       fileRef = F517323203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7E05DDC47800526345 = {
-                       fileRef = F517323603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F7F05DDC47800526345 = {
-                       fileRef = F517324C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8005DDC47800526345 = {
-                       fileRef = F517325003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8105DDC47800526345 = {
-                       fileRef = F517326103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8205DDC47800526345 = {
-                       fileRef = F517326C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8305DDC47800526345 = {
-                       fileRef = F517326E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8405DDC47800526345 = {
-                       fileRef = F517326F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8505DDC47800526345 = {
-                       fileRef = F517327503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8605DDC47800526345 = {
-                       fileRef = F517327603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8705DDC47800526345 = {
-                       fileRef = F517327703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8805DDC47800526345 = {
-                       fileRef = F517327803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8905DDC47800526345 = {
-                       fileRef = F517327903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8A05DDC47800526345 = {
-                       fileRef = F517327C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8B05DDC47800526345 = {
-                       fileRef = F517327F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8C05DDC47800526345 = {
-                       fileRef = F517328203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8D05DDC47800526345 = {
-                       fileRef = F517328503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8E05DDC47800526345 = {
-                       fileRef = F517328603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F8F05DDC47800526345 = {
-                       fileRef = F517328803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9005DDC47800526345 = {
-                       fileRef = F517328903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9105DDC47800526345 = {
-                       fileRef = F517328B03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9205DDC47800526345 = {
-                       fileRef = F517329003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9305DDC47800526345 = {
-                       fileRef = F517329103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9405DDC47800526345 = {
-                       fileRef = F517328E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9505DDC47800526345 = {
-                       fileRef = F517328D03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9605DDC47800526345 = {
-                       fileRef = F517329C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9705DDC47800526345 = {
-                       fileRef = F517329D03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9805DDC47800526345 = {
-                       fileRef = F517329E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9905DDC47800526345 = {
-                       fileRef = F51732A003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9A05DDC47800526345 = {
-                       fileRef = F51732A903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9B05DDC47800526345 = {
-                       fileRef = F51732AA03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9C05DDC47800526345 = {
-                       fileRef = F51732AB03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9D05DDC47800526345 = {
-                       fileRef = F51732AC03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9E05DDC47800526345 = {
-                       fileRef = F51732B903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1F9F05DDC47800526345 = {
-                       fileRef = F51732C103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA005DDC47800526345 = {
-                       fileRef = F51732CB03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA105DDC47800526345 = {
-                       fileRef = F51732CC03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA205DDC47800526345 = {
-                       fileRef = F51732C803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA305DDC47800526345 = {
-                       fileRef = F51732D503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA405DDC47800526345 = {
-                       fileRef = F51732D603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA505DDC47800526345 = {
-                       fileRef = F51732DD03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA605DDC47800526345 = {
-                       fileRef = F51732FC03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA705DDC47800526345 = {
-                       fileRef = F517330003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA805DDC47800526345 = {
-                       fileRef = A1B21F170417D6BC00120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FA905DDC47800526345 = {
-                       fileRef = A16DA36604854EF700120112;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FAA05DDC47800526345 = {
-                       fileRef = A16DA36704854EF700120112;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FAB05DDC47800526345 = {
-                       fileRef = A16DB01304868A7E00120112;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FAC05DDC47800526345 = {
-                       fileRef = A125399205CF12A2003BD89B;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FAD05DDC47800526345 = {
-                       fileRef = A12539AD05CF12D5003BD89B;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FAE05DDC47800526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXFrameworksBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1FAF05DDC47800526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXRezBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1FB105DDC47800526345 = {
-                       explicitFileType = archive.ar;
-                       includeInIndex = 0;
-                       isa = PBXFileReference;
-                       path = libKerberos5.a;
-                       refType = 3;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               A1AB1FBF05DDC48A00526345 = {
-                       buildPhases = (
-                               A1AB1FC205DDC48A00526345,
-                               A1AB1FC805DDC48A00526345,
-                               A1AB200005DDC48A00526345,
-                               A1AB200105DDC48A00526345,
-                       );
-                       buildRules = (
-                       );
-                       buildSettings = {
-                               DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 1;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
-                               HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include $(SRCROOT)/../../KerberosErrors/Headers $(SRCROOT)/../../KerberosErrors/Headers/Kerberos";
-                               LIBRARY_STYLE = STATIC;
-                               PRODUCT_NAME = GSS;
-                               REZ_EXECUTABLE = YES;
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
-                       };
-                       dependencies = (
-                               A1AB1FC005DDC48A00526345,
-                               A1AB1FC105DDC48A00526345,
-                       );
-                       isa = PBXNativeTarget;
-                       name = GSS;
-                       productInstallPath = /usr/local/lib;
-                       productName = GSS;
-                       productReference = A1AB200305DDC48A00526345;
-                       productType = "com.apple.product-type.library.static";
-               };
-               A1AB1FC005DDC48A00526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD5E6022D8A9901120112;
-                       targetProxy = A181DA4105CEFC0400E4C246;
-               };
-               A1AB1FC105DDC48A00526345 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD629022D922C01120112;
-                       targetProxy = A181DA4005CEFC0400E4C246;
-               };
-               A1AB1FC205DDC48A00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1FC305DDC48A00526345,
-                               A1AB1FC405DDC48A00526345,
-                               A1AB1FC505DDC48A00526345,
-                               A1AB1FC605DDC48A00526345,
-                               A1AB1FC705DDC48A00526345,
-                       );
-                       isa = PBXHeadersBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1FC305DDC48A00526345 = {
-                       fileRef = F517334303F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FC405DDC48A00526345 = {
-                       fileRef = F517333403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FC505DDC48A00526345 = {
-                       fileRef = F517335A03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FC605DDC48A00526345 = {
-                       fileRef = F5E2662D03F443E901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FC705DDC48A00526345 = {
-                       fileRef = F5E2662F03F443E901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FC805DDC48A00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               A1AB1FC905DDC48A00526345,
-                               A1AB1FCA05DDC48A00526345,
-                               A1AB1FCB05DDC48A00526345,
-                               A1AB1FCC05DDC48A00526345,
-                               A1AB1FCD05DDC48A00526345,
-                               A1AB1FCE05DDC48A00526345,
-                               A1AB1FCF05DDC48A00526345,
-                               A1AB1FD005DDC48A00526345,
-                               A1AB1FD105DDC48A00526345,
-                               A1AB1FD205DDC48A00526345,
-                               A1AB1FD305DDC48A00526345,
-                               A1AB1FD405DDC48A00526345,
-                               A1AB1FD505DDC48A00526345,
-                               A1AB1FD605DDC48A00526345,
-                               A1AB1FD705DDC48A00526345,
-                               A1AB1FD805DDC48A00526345,
-                               A1AB1FD905DDC48A00526345,
-                               A1AB1FDA05DDC48A00526345,
-                               A1AB1FDB05DDC48A00526345,
-                               A1AB1FDC05DDC48A00526345,
-                               A1AB1FDD05DDC48A00526345,
-                               A1AB1FDE05DDC48A00526345,
-                               A1AB1FDF05DDC48A00526345,
-                               A1AB1FE005DDC48A00526345,
-                               A1AB1FE105DDC48A00526345,
-                               A1AB1FE205DDC48A00526345,
-                               A1AB1FE305DDC48A00526345,
-                               A1AB1FE405DDC48A00526345,
-                               A1AB1FE505DDC48A00526345,
-                               A1AB1FE605DDC48A00526345,
-                               A1AB1FE705DDC48A00526345,
-                               A1AB1FE805DDC48A00526345,
-                               A1AB1FE905DDC48A00526345,
-                               A1AB1FEA05DDC48A00526345,
-                               A1AB1FEB05DDC48A00526345,
-                               A1AB1FEC05DDC48A00526345,
-                               A1AB1FED05DDC48A00526345,
-                               A1AB1FEE05DDC48A00526345,
-                               A1AB1FEF05DDC48A00526345,
-                               A1AB1FF005DDC48A00526345,
-                               A1AB1FF105DDC48A00526345,
-                               A1AB1FF205DDC48A00526345,
-                               A1AB1FF305DDC48A00526345,
-                               A1AB1FF405DDC48A00526345,
-                               A1AB1FF505DDC48A00526345,
-                               A1AB1FF605DDC48A00526345,
-                               A1AB1FF705DDC48A00526345,
-                               A1AB1FF805DDC48A00526345,
-                               A1AB1FF905DDC48A00526345,
-                               A1AB1FFA05DDC48A00526345,
-                               A1AB1FFB05DDC48A00526345,
-                               A1AB1FFC05DDC48A00526345,
-                               A1AB1FFD05DDC48A00526345,
-                               A1AB1FFE05DDC48A00526345,
-                               A1AB1FFF05DDC48A00526345,
-                       );
-                       isa = PBXSourcesBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB1FC905DDC48A00526345 = {
-                       fileRef = F517334203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FCA05DDC48A00526345 = {
-                       fileRef = F517332E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FCB05DDC48A00526345 = {
-                       fileRef = F517332F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FCC05DDC48A00526345 = {
-                       fileRef = F517333203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FCD05DDC48A00526345 = {
-                       fileRef = F517333603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FCE05DDC48A00526345 = {
-                       fileRef = F517333703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FCF05DDC48A00526345 = {
-                       fileRef = F517333803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD005DDC48A00526345 = {
-                       fileRef = F517333903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD105DDC48A00526345 = {
-                       fileRef = F517333C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD205DDC48A00526345 = {
-                       fileRef = F517333D03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD305DDC48A00526345 = {
-                       fileRef = F517333E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD405DDC48A00526345 = {
-                       fileRef = F517333F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD505DDC48A00526345 = {
-                       fileRef = F517334003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD605DDC48A00526345 = {
-                       fileRef = F517334803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD705DDC48A00526345 = {
-                       fileRef = F517334903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD805DDC48A00526345 = {
-                       fileRef = F517334A03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FD905DDC48A00526345 = {
-                       fileRef = F517334B03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FDA05DDC48A00526345 = {
-                       fileRef = F517334D03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FDB05DDC48A00526345 = {
-                       fileRef = F517334E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FDC05DDC48A00526345 = {
-                       fileRef = F517334F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FDD05DDC48A00526345 = {
-                       fileRef = F517335003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FDE05DDC48A00526345 = {
-                       fileRef = F517335103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FDF05DDC48A00526345 = {
-                       fileRef = F517335203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE005DDC48A00526345 = {
-                       fileRef = F517335303F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE105DDC48A00526345 = {
-                       fileRef = F517335403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE205DDC48A00526345 = {
-                       fileRef = F517335503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE305DDC48A00526345 = {
-                       fileRef = F517335603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE405DDC48A00526345 = {
-                       fileRef = F517335803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE505DDC48A00526345 = {
-                       fileRef = F517335B03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE605DDC48A00526345 = {
-                       fileRef = F517335D03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE705DDC48A00526345 = {
-                       fileRef = F517335C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE805DDC48A00526345 = {
-                       fileRef = F517335E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FE905DDC48A00526345 = {
-                       fileRef = F517335F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FEA05DDC48A00526345 = {
-                       fileRef = F517336003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FEB05DDC48A00526345 = {
-                       fileRef = F517336103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FEC05DDC48A00526345 = {
-                       fileRef = F517336203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FED05DDC48A00526345 = {
-                       fileRef = F517336303F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FEE05DDC48A00526345 = {
-                       fileRef = F517336403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FEF05DDC48A00526345 = {
-                       fileRef = F517336603F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF005DDC48A00526345 = {
-                       fileRef = F517336703F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF105DDC48A00526345 = {
-                       fileRef = F517336903F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF205DDC48A00526345 = {
-                       fileRef = F517336A03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF305DDC48A00526345 = {
-                       fileRef = F517336B03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF405DDC48A00526345 = {
-                       fileRef = F517336C03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF505DDC48A00526345 = {
-                       fileRef = F517336D03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF605DDC48A00526345 = {
-                       fileRef = F517336E03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF705DDC48A00526345 = {
-                       fileRef = F517336F03F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF805DDC48A00526345 = {
-                       fileRef = F517336803F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FF905DDC48A00526345 = {
-                       fileRef = F517337003F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FFA05DDC48A00526345 = {
-                       fileRef = F517337103F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FFB05DDC48A00526345 = {
-                       fileRef = F517337303F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FFC05DDC48A00526345 = {
-                       fileRef = F517337203F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FFD05DDC48A00526345 = {
-                       fileRef = F517337403F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FFE05DDC48A00526345 = {
-                       fileRef = F517337503F1B65901120114;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB1FFF05DDC48A00526345 = {
-                       fileRef = A125397605CF124D003BD89B;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1AB200005DDC48A00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXFrameworksBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB200105DDC48A00526345 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXRezBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               A1AB200305DDC48A00526345 = {
-                       explicitFileType = archive.ar;
-                       includeInIndex = 0;
-                       isa = PBXFileReference;
-                       path = libGSS.a;
-                       refType = 3;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               A1AFE5D406D19E7A0073AEA1 = {
-                       children = (
-                               A1AFE5D506D19E7A0073AEA1,
-                               A1AFE5D606D19E7A0073AEA1,
-                               A1AFE5D706D19E7A0073AEA1,
-                               A1AFE5D806D19E7A0073AEA1,
-                               A1AFE5D906D19E7A0073AEA1,
-                               A1AFE5DA06D19E7A0073AEA1,
-                               A1AFE5DB06D19E7A0073AEA1,
-                               A1AFE5DC06D19E7A0073AEA1,
-                               A1AFE5DD06D19E7A0073AEA1,
-                               A1AFE5DE06D19E7A0073AEA1,
-                               A1AFE5DF06D19E7A0073AEA1,
-                               A1AFE5EC06D19E7A0073AEA1,
-                               A1AFE5ED06D19E7A0073AEA1,
-                               A1AFE5EE06D19E7A0073AEA1,
-                               A1AFE5EF06D19E7A0073AEA1,
-                               A1AFE5F006D19E7A0073AEA1,
-                               A1AFE5F106D19E7A0073AEA1,
-                               A1AFE5F206D19E7A0073AEA1,
-                               A1AFE5F306D19E7A0073AEA1,
-                               A1AFE5F406D19E7A0073AEA1,
-                               A1AFE5F506D19E7A0073AEA1,
-                               A1AFE5F606D19E7A0073AEA1,
-                               A1AFE60B06D19E7B0073AEA1,
-                               A1AFE60C06D19E7B0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = kadm5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5D506D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5D606D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = adb.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5D706D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = adb_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5D806D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = admin.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5D906D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = admin_internal.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5DA06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = admin_xdr.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5DB06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = alt_prof.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5DC06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5DD06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = chpass_util.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5DE06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = chpass_util_strings.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5DF06D19E7A0073AEA1 = {
-                       children = (
-                               A1AFE5E006D19E7A0073AEA1,
-                               A1AFE5E106D19E7A0073AEA1,
-                               A1AFE5E206D19E7A0073AEA1,
-                               A1AFE5E306D19E7A0073AEA1,
-                               A1AFE5E406D19E7A0073AEA1,
-                               A1AFE5E506D19E7A0073AEA1,
-                               A1AFE5E606D19E7A0073AEA1,
-                               A1AFE5E706D19E7A0073AEA1,
-                               A1AFE5E806D19E7A0073AEA1,
-                               A1AFE5E906D19E7A0073AEA1,
-                               A1AFE5EA06D19E7A0073AEA1,
-                               A1AFE5EB06D19E7A0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = clnt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E006D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E106D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E206D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = client_handle.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E306D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = client_init.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E406D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = client_internal.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E506D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = client_principal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E606D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = client_rpc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E706D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = clnt_chpass_util.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E806D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = clnt_policy.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5E906D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = clnt_privs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5EA06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = libkadm5clnt.exports;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5EB06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5EC06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = configure;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5ED06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5EE06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kadm_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5EF06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kadm_rpc.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F006D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_rpc_xdr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F106D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = logger.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F206D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F306D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = misc_free.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F406D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ovsec_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F506D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = server_internal.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F606D19E7A0073AEA1 = {
-                       children = (
-                               A1AFE5F706D19E7A0073AEA1,
-                               A1AFE5F806D19E7A0073AEA1,
-                               A1AFE5F906D19E7A0073AEA1,
-                               A1AFE5FA06D19E7A0073AEA1,
-                               A1AFE5FB06D19E7A0073AEA1,
-                               A1AFE5FC06D19E7A0073AEA1,
-                               A1AFE5FD06D19E7A0073AEA1,
-                               A1AFE5FE06D19E7A0073AEA1,
-                               A1AFE5FF06D19E7A0073AEA1,
-                               A1AFE60006D19E7A0073AEA1,
-                               A1AFE60106D19E7A0073AEA1,
-                               A1AFE60206D19E7A0073AEA1,
-                               A1AFE60306D19E7A0073AEA1,
-                               A1AFE60406D19E7A0073AEA1,
-                               A1AFE60506D19E7A0073AEA1,
-                               A1AFE60606D19E7A0073AEA1,
-                               A1AFE60706D19E7A0073AEA1,
-                               A1AFE60806D19E7A0073AEA1,
-                               A1AFE60906D19E7A0073AEA1,
-                               A1AFE60A06D19E7A0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = srv;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F706D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F806D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = adb_free.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5F906D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = adb_openclose.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5FA06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = adb_policy.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5FB06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = adb_xdr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5FC06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5FD06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = libkadm5srv.exports;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5FE06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE5FF06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_acl.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60006D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = server_acl.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60106D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_dict.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60206D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_handle.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60306D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_init.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60406D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_kdb.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60506D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = server_misc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60606D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = svr_chpass_util.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60706D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = svr_iters.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60806D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = svr_misc_free.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60906D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = svr_policy.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60A06D19E7A0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = svr_principal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60B06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = str_conv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60C06D19E7B0073AEA1 = {
-                       children = (
-                               A1AFE60D06D19E7B0073AEA1,
-                               A1AFE60E06D19E7B0073AEA1,
-                               A1AFE61C06D19E7B0073AEA1,
-                               A1AFE61D06D19E7B0073AEA1,
-                               A1AFE62F06D19E7B0073AEA1,
-                               A1AFE63006D19E7B0073AEA1,
-                               A1AFE63206D19E7B0073AEA1,
-                               A1AFE63306D19E7B0073AEA1,
-                               A1AFE63606D19E7B0073AEA1,
-                               A1AFE63706D19E7B0073AEA1,
-                               A1AFE63806D19E7B0073AEA1,
-                               A1AFE63906D19E7B0073AEA1,
-                               A1AFE63B06D19E7B0073AEA1,
-                               A1AFE63C06D19E7B0073AEA1,
-                               A1AFE63D06D19E7B0073AEA1,
-                               A1AFE63E06D19E7B0073AEA1,
-                               A1AFE63F06D19E7B0073AEA1,
-                               A1AFE64006D19E7B0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = "unit-test";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60D06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60E06D19E7B0073AEA1 = {
-                       children = (
-                               A1AFE60F06D19E7B0073AEA1,
-                               A1AFE61006D19E7B0073AEA1,
-                               A1AFE61106D19E7B0073AEA1,
-                               A1AFE61206D19E7B0073AEA1,
-                               A1AFE61306D19E7B0073AEA1,
-                               A1AFE61406D19E7B0073AEA1,
-                               A1AFE61506D19E7B0073AEA1,
-                               A1AFE61606D19E7B0073AEA1,
-                               A1AFE61706D19E7B0073AEA1,
-                               A1AFE61806D19E7B0073AEA1,
-                               A1AFE61906D19E7B0073AEA1,
-                               A1AFE61A06D19E7B0073AEA1,
-                               A1AFE61B06D19E7B0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = api.0;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE60F06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "chpass-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61006D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "crte-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61106D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "crte-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61206D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = destroy.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61306D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "dlte-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61406D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "dlte-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61506D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "get-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61606D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "get-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61706D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = init.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61806D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "mod-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61906D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "mod-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61A06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "randkey-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61B06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "rename-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61C06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.man;
-                       path = api.1;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61D06D19E7B0073AEA1 = {
-                       children = (
-                               A1AFE61E06D19E7B0073AEA1,
-                               A1AFE61F06D19E7B0073AEA1,
-                               A1AFE62006D19E7B0073AEA1,
-                               A1AFE62106D19E7B0073AEA1,
-                               A1AFE62206D19E7B0073AEA1,
-                               A1AFE62306D19E7B0073AEA1,
-                               A1AFE62406D19E7B0073AEA1,
-                               A1AFE62506D19E7B0073AEA1,
-                               A1AFE62606D19E7B0073AEA1,
-                               A1AFE62706D19E7B0073AEA1,
-                               A1AFE62806D19E7B0073AEA1,
-                               A1AFE62906D19E7B0073AEA1,
-                               A1AFE62A06D19E7B0073AEA1,
-                               A1AFE62B06D19E7B0073AEA1,
-                               A1AFE62C06D19E7B0073AEA1,
-                               A1AFE62D06D19E7B0073AEA1,
-                               A1AFE62E06D19E7B0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = api.2;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61E06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "chpass-principal-v2.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE61F06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "chpass-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62006D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "crte-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62106D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "crte-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62206D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = destroy.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62306D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "dlte-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62406D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "dlte-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62506D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "get-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62606D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "get-principal-v2.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62706D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "get-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62806D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "init-v2.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62906D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = init.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62A06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "mod-policy.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62B06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "mod-principal-v2.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62C06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "mod-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62D06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "randkey-principal-v2.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62E06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = "randkey-principal.exp";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE62F06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63006D19E7B0073AEA1 = {
-                       children = (
-                               A1AFE63106D19E7B0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = config;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63106D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = unix.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63206D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "destroy-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63306D19E7B0073AEA1 = {
-                       children = (
-                               A1AFE63406D19E7B0073AEA1,
-                               A1AFE63506D19E7B0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = "diff-files";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63406D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "destroy-1";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63506D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "no-diffs";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63606D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "handle-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63706D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "init-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63806D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "iter-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63906D19E7B0073AEA1 = {
-                       children = (
-                               A1AFE63A06D19E7B0073AEA1,
-                       );
-                       isa = PBXGroup;
-                       path = lib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63A06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = lib.t;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63B06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "lock-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63C06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63D06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "randkey-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63E06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "README.new-tests";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE63F06D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "setkey-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1AFE64006D19E7B0073AEA1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = site.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1B21F170417D6BC00120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = aes_s2k.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1B21F180417D6BC00120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = aes_s2k.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1BBFF1604226DBD00120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA438506E3D01200F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = pkinit_apple_utils.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA438606E3D01200F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = pkinit_asn1.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA438706E3D01200F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = pkinit_cert_store.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA438806E3D01200F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = pkinit_client.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA438906E3D01200F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = pkinit_cms.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA43B806E3D0D400F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pkinit_apple_asn1.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA43B906E3D0D400F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pkinit_apple_cert_store.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA43BA06E3D0D400F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pkinit_apple_client.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA43BB06E3D0D400F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pkinit_apple_cms.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA43BC06E3D0D400F35E9C = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pkinit_apple_utils.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1CA43BD06E3D0D400F35E9C = {
-                       fileRef = A1CA43B806E3D0D400F35E9C;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1CA43BE06E3D0D400F35E9C = {
-                       fileRef = A1CA43B906E3D0D400F35E9C;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1CA43BF06E3D0D400F35E9C = {
-                       fileRef = A1CA43BA06E3D0D400F35E9C;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1CA43C006E3D0D400F35E9C = {
-                       fileRef = A1CA43BB06E3D0D400F35E9C;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1CA43C106E3D0D400F35E9C = {
-                       fileRef = A1CA43BC06E3D0D400F35E9C;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1CA623604168DFE0013F915 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = Kerberos5Prefix.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D256EA06A7139700A9EC13 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D256ED06A713A600A9EC13 = {
-                       children = (
-                               A1A6783106C3D47F00EC826E,
-                               A1D256EE06A713A600A9EC13,
-                               A1D256F106A713A600A9EC13,
-                       );
-                       isa = PBXGroup;
-                       path = support;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D256EE06A713A600A9EC13 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D256F106A713A600A9EC13 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = threads.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D256F206A713A600A9EC13 = {
-                       fileRef = A1D256F106A713A600A9EC13;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1D62984070C878B0015C908 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = patchlevel.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D62985070C878B0015C908 = {
-                       fileRef = A1D62984070C878B0015C908;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1D6298F070C8AD70015C908 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = dnsglue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D62990070C8AD70015C908 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = dnsglue.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1D62991070C8AD70015C908 = {
-                       fileRef = A1D6298F070C8AD70015C908;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1D62992070C8AD70015C908 = {
-                       fileRef = A1D62990070C8AD70015C908;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               A1F1429E067E5BD500A82808 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = foreachaddr.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               A1F1429F067E5BD500A82808 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "k5-thread.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-//A10
-//A11
-//A12
-//A13
-//A14
-//F50
-//F51
-//F52
-//F53
-//F54
-               F5172F7B03F1B65801120114 = {
-                       children = (
-                               F5E59C0D03FD95A101120114,
-                               F517307F03F1B65801120114,
-                               F5E59C0E03FD95A101120114,
-                               F5E59C0F03FD95CF01120114,
-                               F51730DE03F1B65801120114,
-                               A12536B3040BEC05003D8244,
-                               F517322103F1B65901120114,
-                               A198BBE10406D04A00120114,
-                               A1D62984070C878B0015C908,
-                               F51736C803F1B65B01120114,
-                               A1908D5906878C780039CAD8,
-                       );
-                       isa = PBXGroup;
-                       name = Sources;
-                       path = ../Sources;
-                       refType = 2;
-                       sourceTree = SOURCE_ROOT;
-               };
-               F517307F03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730DE03F1B65801120114 = {
-                       children = (
-                               F51730E203F1B65801120114,
-                               F51730E303F1B65801120114,
-                               A1BBFF1604226DBD00120114,
-                               F51730E503F1B65801120114,
-                               A1F1429E067E5BD500A82808,
-                               F51730E703F1B65801120114,
-                               A181DA5405CF0BD800E4C246,
-                               A1F1429F067E5BD500A82808,
-                               F51730E803F1B65801120114,
-                               F51730E903F1B65801120114,
-                               F51730FB03F1B65801120114,
-                               F517310E03F1B65801120114,
-                               F517310F03F1B65801120114,
-                               F517311003F1B65801120114,
-                               A1CA438506E3D01200F35E9C,
-                               A1CA438606E3D01200F35E9C,
-                               A1CA438706E3D01200F35E9C,
-                               A1CA438806E3D01200F35E9C,
-                               A1CA438906E3D01200F35E9C,
-                               F517311103F1B65801120114,
-                               F517311203F1B65801120114,
-                               F517311303F1B65901120114,
-                               F517311503F1B65901120114,
-                               F517311603F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = include;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730E203F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730E303F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = cm.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730E503F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "fake-addrinfo.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730E703F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "k5-int.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730E803F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "k5-util.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730E903F1B65801120114 = {
-                       children = (
-                               F51730EA03F1B65801120114,
-                               F51730EB03F1B65801120114,
-                               F51730EC03F1B65801120114,
-                               F51730ED03F1B65801120114,
-                               F51730EE03F1B65801120114,
-                               F51730EF03F1B65801120114,
-                               F51730F003F1B65801120114,
-                               F51730F103F1B65801120114,
-                               F51730F203F1B65801120114,
-                               F51730F303F1B65801120114,
-                               F51730F403F1B65801120114,
-                               F51730F503F1B65801120114,
-                               F51730F603F1B65801120114,
-                               F51730F703F1B65801120114,
-                               F51730F803F1B65801120114,
-                               F51730F903F1B65801120114,
-                               F51730FA03F1B65801120114,
-                       );
-                       isa = PBXGroup;
-                       path = kerberosIV;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730EA03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730EB03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730EC03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = addr_comp.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730ED03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = admin_server.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730EE03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730EF03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = des.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F003F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kadm.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F103F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kdc.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F203F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = klog.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F303F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kparse.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F403F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F503F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb_db.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F603F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krbports.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F703F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = lsb_addr_cmp.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F803F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730F903F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "mit-copyright.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730FA03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = prot.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730FB03F1B65801120114 = {
-                       children = (
-                               F51730FF03F1B65801120114,
-                               F517310003F1B65801120114,
-                               F517310103F1B65801120114,
-                               F517310303F1B65801120114,
-                               F517310403F1B65801120114,
-                               F517310503F1B65801120114,
-                               F517310603F1B65801120114,
-                               F517310803F1B65801120114,
-                               F517310903F1B65801120114,
-                               F517310A03F1B65801120114,
-                       );
-                       isa = PBXGroup;
-                       path = krb5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51730FF03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = adm.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310003F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = adm_defs.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310103F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = adm_proto.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310303F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310403F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = copyright.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310503F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kdb.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310603F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kdb_dbc.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310803F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kdb_kt.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310903F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310A03F1B65801120114 = {
-                       children = (
-                               F517310B03F1B65801120114,
-                               F517310C03F1B65801120114,
-                               F517310D03F1B65801120114,
-                       );
-                       isa = PBXGroup;
-                       path = stock;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310B03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310C03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310D03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = osconf.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310E03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = krb5.hin;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517310F03F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb54proto.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517311003F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517311103F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "port-sockets.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517311203F1B65801120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "socket-utils.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517311303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "spnego-asn1.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517311503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = syslog.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517311603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "win-mac.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322103F1B65901120114 = {
-                       children = (
-                               F517322403F1B65901120114,
-                               F517322603F1B65901120114,
-                               F517330803F1B65901120114,
-                               F517332103F1B65901120114,
-                               F517332203F1B65901120114,
-                               F517332303F1B65901120114,
-                               F517332403F1B65901120114,
-                               F517332503F1B65901120114,
-                               F517332603F1B65901120114,
-                               A1AFE5D406D19E7A0073AEA1,
-                               F517342003F1B65A01120114,
-                               F517348E03F1B65A01120114,
-                               F51735B103F1B65A01120114,
-                               F517360C03F1B65B01120114,
-                       );
-                       isa = PBXGroup;
-                       path = lib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322603F1B65901120114 = {
-                       children = (
-                               F517322703F1B65901120114,
-                               F517322803F1B65901120114,
-                               F517322903F1B65901120114,
-                               F517324A03F1B65901120114,
-                               F517325103F1B65901120114,
-                               F517325203F1B65901120114,
-                               F517325303F1B65901120114,
-                               F517325403F1B65901120114,
-                               F517325503F1B65901120114,
-                               F517325603F1B65901120114,
-                               F517325703F1B65901120114,
-                               F517325803F1B65901120114,
-                               F517325903F1B65901120114,
-                               F517325A03F1B65901120114,
-                               F517326503F1B65901120114,
-                               F517326603F1B65901120114,
-                               F517326703F1B65901120114,
-                               F517326803F1B65901120114,
-                               F517326903F1B65901120114,
-                               F517328303F1B65901120114,
-                               F517328C03F1B65901120114,
-                               F517329403F1B65901120114,
-                               F517329503F1B65901120114,
-                               F517329603F1B65901120114,
-                               F517329703F1B65901120114,
-                               F517329803F1B65901120114,
-                               F517329903F1B65901120114,
-                               F517329A03F1B65901120114,
-                               F51732A203F1B65901120114,
-                               F51732A303F1B65901120114,
-                               F51732A403F1B65901120114,
-                               F51732A503F1B65901120114,
-                               F51732A603F1B65901120114,
-                               F51732B003F1B65901120114,
-                               F51732B103F1B65901120114,
-                               F51732B203F1B65901120114,
-                               A125399205CF12A2003BD89B,
-                               F51732B303F1B65901120114,
-                               F51732BB03F1B65901120114,
-                               F51732C503F1B65901120114,
-                               F51732C603F1B65901120114,
-                               F51732CD03F1B65901120114,
-                               F51732CF03F1B65901120114,
-                               F51732D003F1B65901120114,
-                               F51732D103F1B65901120114,
-                               F51732D803F1B65901120114,
-                               F51732E103F1B65901120114,
-                               F51732E203F1B65901120114,
-                               F51732E303F1B65901120114,
-                               F51732E403F1B65901120114,
-                               F51732E503F1B65901120114,
-                               F51732E603F1B65901120114,
-                               F51732E703F1B65901120114,
-                               F51732E803F1B65901120114,
-                               F51732E903F1B65901120114,
-                               F51732EA03F1B65901120114,
-                               F51732EB03F1B65901120114,
-                               F51732EC03F1B65901120114,
-                               F51732ED03F1B65901120114,
-                               F51732EE03F1B65901120114,
-                               F51732EF03F1B65901120114,
-                               F51732F003F1B65901120114,
-                               F51732F103F1B65901120114,
-                               F51732F203F1B65901120114,
-                               F51732F303F1B65901120114,
-                               F51732F403F1B65901120114,
-                               F51732F503F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = crypto;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322903F1B65901120114 = {
-                       children = (
-                               F517322A03F1B65901120114,
-                               A1B21F170417D6BC00120114,
-                               A1B21F180417D6BC00120114,
-                               F517322B03F1B65901120114,
-                               F517322C03F1B65901120114,
-                               F517322D03F1B65901120114,
-                               F517322E03F1B65901120114,
-                               F517322F03F1B65901120114,
-                               F517323003F1B65901120114,
-                               F517323103F1B65901120114,
-                               F517323203F1B65901120114,
-                               F517323303F1B65901120114,
-                               F517323403F1B65901120114,
-                               F517323503F1B65901120114,
-                               F517323603F1B65901120114,
-                               F517323703F1B65901120114,
-                               F517323803F1B65901120114,
-                               F517323903F1B65901120114,
-                               F517323A03F1B65901120114,
-                               F517323B03F1B65901120114,
-                               F517324703F1B65901120114,
-                               F517324803F1B65901120114,
-                               F517324903F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = aes;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "aes-gen.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "aes-test.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = aes.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = aes.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = aescpp.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517322F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = aescrypp.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.asm;
-                       path = aescrypt.asm;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = aescrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = aeskey.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = aeskeypp.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = aesopt.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323503F1B65901120114 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = aessrc.url;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = aestab.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "expect-vk.txt";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "expect-vt.txt";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323B03F1B65901120114 = {
-                       children = (
-                               F517323C03F1B65901120114,
-                               F517323D03F1B65901120114,
-                               F517323E03F1B65901120114,
-                               F517323F03F1B65901120114,
-                               F517324003F1B65901120114,
-                               F517324103F1B65901120114,
-                               F517324203F1B65901120114,
-                               F517324303F1B65901120114,
-                               F517324403F1B65901120114,
-                               F517324503F1B65901120114,
-                               F517324603F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = test;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = cbc_d_m.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = cbc_e_m.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ecb_d_m.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517323F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ecb_e_m.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ecb_iv.readme;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ecb_iv.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ecb_tbl.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ecb_vk.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ecb_vt.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324503F1B65901120114 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.pdf;
-                       path = katmct.pdf;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Readme.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = uitypes.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = vb.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324903F1B65901120114 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = vbaxam.doc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324A03F1B65901120114 = {
-                       children = (
-                               F517324B03F1B65901120114,
-                               F517324C03F1B65901120114,
-                               F517324D03F1B65901120114,
-                               F517324E03F1B65901120114,
-                               F517324F03F1B65901120114,
-                               F517325003F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = arcfour;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "arcfour-int.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = arcfour.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = arcfour.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517324F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = string_to_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = block_size.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = checksum_length.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cksumtype_to_string.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cksumtypes.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = cksumtypes.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = coll_proof_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = combine_keys.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325A03F1B65901120114 = {
-                       children = (
-                               F517325B03F1B65901120114,
-                               F517325C03F1B65901120114,
-                               F517325D03F1B65901120114,
-                               F517325E03F1B65901120114,
-                               F517325F03F1B65901120114,
-                               F517326003F1B65901120114,
-                               F517326103F1B65901120114,
-                               F517326203F1B65901120114,
-                               F517326303F1B65901120114,
-                               F517326403F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = crc32;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "crc-32.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517325F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = crc.pl;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = CRC.pm;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = crc32.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.perl;
-                       path = Poly.pm;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_crc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = crypto_libinit.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = crypto_libinit.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = decrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = default_state.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326903F1B65901120114 = {
-                       children = (
-                               F517326A03F1B65901120114,
-                               F517326B03F1B65901120114,
-                               F517326C03F1B65901120114,
-                               F517326D03F1B65901120114,
-                               F517326E03F1B65901120114,
-                               F517326F03F1B65901120114,
-                               F517327003F1B65901120114,
-                               F517327103F1B65901120114,
-                               F517327203F1B65901120114,
-                               F517327503F1B65901120114,
-                               F517327603F1B65901120114,
-                               F517327703F1B65901120114,
-                               F517327803F1B65901120114,
-                               F517327903F1B65901120114,
-                               F517327A03F1B65901120114,
-                               F517327B03F1B65901120114,
-                               F517327C03F1B65901120114,
-                               F517327D03F1B65901120114,
-                               F517327E03F1B65901120114,
-                               F517327F03F1B65901120114,
-                               F517328003F1B65901120114,
-                               F517328103F1B65901120114,
-                               F517328203F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = des;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = afsstring2key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = d3_cbc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517326F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = d3_kysched.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = des_int.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = destest.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327203F1B65901120114 = {
-                       children = (
-                               F517327303F1B65901120114,
-                               F517327403F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = doc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327403F1B65901120114 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = libdes.doc;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = f_cbc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = f_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = f_parity.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = f_sched.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = f_tables.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = f_tables.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ISSUES;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = key_sched.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = keytest.data;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517327F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = string2key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_afss2k.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_verify.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = weak_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328303F1B65901120114 = {
-                       children = (
-                               F517328403F1B65901120114,
-                               F517328503F1B65901120114,
-                               F517328603F1B65901120114,
-                               F517328703F1B65901120114,
-                               F517328803F1B65901120114,
-                               F517328903F1B65901120114,
-                               F517328A03F1B65901120114,
-                               F517328B03F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = dk;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = checksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = derive.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = dk.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = dk_decrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = dk_encrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = stringtokey.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328C03F1B65901120114 = {
-                       children = (
-                               F517328D03F1B65901120114,
-                               F517328E03F1B65901120114,
-                               F517328F03F1B65901120114,
-                               F517329003F1B65901120114,
-                               F517329103F1B65901120114,
-                               F517329203F1B65901120114,
-                               F517329303F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = enc_provider;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = aes.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = arcfour.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517328F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = des.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = des3.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = enc_provider.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = encrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = encrypt_length.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = enctype_compare.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = enctype_to_string.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = etypes.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = etypes.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329A03F1B65901120114 = {
-                       children = (
-                               F517329B03F1B65901120114,
-                               F517329C03F1B65901120114,
-                               F517329D03F1B65901120114,
-                               F517329E03F1B65901120114,
-                               F517329F03F1B65901120114,
-                               F51732A003F1B65901120114,
-                               F51732A103F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = hash_provider;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hash_crc32.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hash_md4.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hash_md5.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517329F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = hash_provider.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hash_sha1.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hmac.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ISSUES;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = keyed_checksum_types.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = keyed_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A603F1B65901120114 = {
-                       children = (
-                               F51732A703F1B65901120114,
-                               F51732A803F1B65901120114,
-                               F51732A903F1B65901120114,
-                               F51732AA03F1B65901120114,
-                               F51732AB03F1B65901120114,
-                               F51732AC03F1B65901120114,
-                               F51732AD03F1B65901120114,
-                               F51732AE03F1B65901120114,
-                               F51732AF03F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = keyhash_provider;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732A903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = descbc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732AA03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hmac_md5.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732AB03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = k5_md4des.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732AC03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = k5_md5des.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732AD03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = keyhash_provider.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732AE03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732AF03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = make_checksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = make_random_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B303F1B65901120114 = {
-                       children = (
-                               F51732B403F1B65901120114,
-                               F51732B503F1B65901120114,
-                               F51732B603F1B65901120114,
-                               F51732B703F1B65901120114,
-                               F51732B803F1B65901120114,
-                               F51732B903F1B65901120114,
-                               F51732BA03F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = md4;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ISSUES;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732B903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = md4.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732BA03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "rsa-md4.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732BB03F1B65901120114 = {
-                       children = (
-                               F51732BC03F1B65901120114,
-                               F51732BD03F1B65901120114,
-                               F51732BE03F1B65901120114,
-                               F51732BF03F1B65901120114,
-                               F51732C003F1B65901120114,
-                               F51732C103F1B65901120114,
-                               F51732C203F1B65901120114,
-                               F51732C303F1B65901120114,
-                               F51732C403F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = md5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732BC03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732BD03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732BE03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732BF03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ISSUES;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = md5.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "rsa-md5.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_mddriver.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = nfold.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C603F1B65901120114 = {
-                       children = (
-                               F51732C703F1B65901120114,
-                               F51732C803F1B65901120114,
-                               F51732C903F1B65901120114,
-                               F51732CA03F1B65901120114,
-                               F51732CB03F1B65901120114,
-                               F51732CC03F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = old;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = des_stringtokey.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732C903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732CA03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = old.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732CB03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = old_decrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732CC03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = old_encrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732CD03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = old_api_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732CF03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pbkdf2.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prng.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D103F1B65901120114 = {
-                       children = (
-                               F51732D203F1B65901120114,
-                               F51732D303F1B65901120114,
-                               F51732D403F1B65901120114,
-                               F51732D503F1B65901120114,
-                               F51732D603F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = raw;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = raw.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = raw_decrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = raw_encrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D803F1B65901120114 = {
-                       children = (
-                               F51732D903F1B65901120114,
-                               F51732DA03F1B65901120114,
-                               F51732DB03F1B65901120114,
-                               F51732DC03F1B65901120114,
-                               F51732DD03F1B65901120114,
-                               F51732DE03F1B65901120114,
-                               F51732DF03F1B65901120114,
-                               F51732E003F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = sha1;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732D903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .cvsignore;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732DA03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732DB03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ISSUES;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732DC03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732DD03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = shs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732DE03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = shs.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732DF03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_shs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_shs3.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = state.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = string_to_cksumtype.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = string_to_enctype.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = string_to_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_cts.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_encrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_hmac.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_nfold.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732E903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_pkcs5.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732EA03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_prng.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732EB03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = t_prng.comments;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732EC03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = t_prng.expected;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732ED03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = t_prng.reseedtest;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732EE03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "t_prng.reseedtest-comments";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732EF03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "t_prng.reseedtest-expected";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = t_prng.seed;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = valid_cksumtype.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = valid_enctype.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = vectors.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = verify_checksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F503F1B65901120114 = {
-                       children = (
-                               F51732F603F1B65901120114,
-                               F51732F703F1B65901120114,
-                               F51732F803F1B65901120114,
-                               F51732F903F1B65901120114,
-                               F51732FA03F1B65901120114,
-                               F51732FB03F1B65901120114,
-                               F51732FC03F1B65901120114,
-                               F51732FD03F1B65901120114,
-                               F51732FE03F1B65901120114,
-                               F51732FF03F1B65901120114,
-                               F517330003F1B65901120114,
-                               F517330103F1B65901120114,
-                               F517330203F1B65901120114,
-                               F517330303F1B65901120114,
-                               F517330403F1B65901120114,
-                               F517330503F1B65901120114,
-                               F517330603F1B65901120114,
-                               F517330703F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = yarrow;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ASSUMPTIONS;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = LICENSE;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732F903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732FA03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = README;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732FB03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = TODO;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732FC03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = yarrow.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732FD03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = yarrow.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732FE03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = yarrow.man;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51732FF03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = yarrow.pod;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ycipher.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ycipher.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = yexcep.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = yhash.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ylock.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ystate.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ytest.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ytypes.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330803F1B65901120114 = {
-                       children = (
-                               F517330B03F1B65901120114,
-                               F517330C03F1B65901120114,
-                               F517330D03F1B65901120114,
-                               F517330E03F1B65901120114,
-                               F517330F03F1B65901120114,
-                               F517331003F1B65901120114,
-                               F517331103F1B65901120114,
-                               F517331203F1B65901120114,
-                               F517331303F1B65901120114,
-                               F517331403F1B65901120114,
-                               F517331503F1B65901120114,
-                               F517331603F1B65901120114,
-                               F517331703F1B65901120114,
-                               F517331803F1B65901120114,
-                               F517331903F1B65901120114,
-                               F517331A03F1B65901120114,
-                               F517331B03F1B65901120114,
-                               F517331C03F1B65901120114,
-                               F517331D03F1B65901120114,
-                               F517331E03F1B65901120114,
-                               F517331F03F1B65901120114,
-                               F517332003F1B65901120114,
-                               A166BCC3040D36F8004AA618,
-                       );
-                       isa = PBXGroup;
-                       path = des425;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = des.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517330F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = enc_dec.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ISSUES;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = key_parity.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = key_sched.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = new_rnd_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pcbc_encrypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = quad_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = random_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = read_passwd.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = str_to_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = string2key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_pcbc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_quad.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = unix_time.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517331F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = verify.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = weak_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = exports.crypto;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = exports.des425;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = exports.kdb5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = exports.krb5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = glue4.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332603F1B65901120114 = {
-                       children = (
-                               F517332803F1B65901120114,
-                               F517332A03F1B65901120114,
-                               F517334203F1B65901120114,
-                               F517334303F1B65901120114,
-                               F517334403F1B65901120114,
-                               F517337603F1B65901120114,
-                               F517337703F1B65A01120114,
-                               F517339D03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = gssapi;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332A03F1B65901120114 = {
-                       children = (
-                               F517332D03F1B65901120114,
-                               F517332E03F1B65901120114,
-                               F517332F03F1B65901120114,
-                               F517333003F1B65901120114,
-                               F517333103F1B65901120114,
-                               F517333203F1B65901120114,
-                               F517333303F1B65901120114,
-                               F517333403F1B65901120114,
-                               F517333503F1B65901120114,
-                               F517333603F1B65901120114,
-                               F517333703F1B65901120114,
-                               F517333803F1B65901120114,
-                               F517333903F1B65901120114,
-                               F517333A03F1B65901120114,
-                               F517333B03F1B65901120114,
-                               F517333C03F1B65901120114,
-                               F517333D03F1B65901120114,
-                               F517333E03F1B65901120114,
-                               F517333F03F1B65901120114,
-                               F517334003F1B65901120114,
-                               F517334103F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = generic;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = disp_com_err_status.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517332F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = disp_major_status.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = gssapi.hin;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = gssapi_err_generic.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gssapi_generic.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_generic.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapiP_generic.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = oid_ops.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rel_buffer.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rel_oid_set.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_buffer.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_canonhost.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_localhost.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_oid.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_ordering.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_set.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517333F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_token.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_validate.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = utl_nohash_validate.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gss_libinit.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gss_libinit.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334403F1B65901120114 = {
-                       children = (
-                               F517334703F1B65901120114,
-                               F517334803F1B65901120114,
-                               F517334903F1B65901120114,
-                               F517334A03F1B65901120114,
-                               F517334B03F1B65901120114,
-                               F517334C03F1B65901120114,
-                               F517334D03F1B65901120114,
-                               F517334E03F1B65901120114,
-                               F517334F03F1B65901120114,
-                               F517335003F1B65901120114,
-                               F517335103F1B65901120114,
-                               F517335203F1B65901120114,
-                               F517335303F1B65901120114,
-                               F517335403F1B65901120114,
-                               F517335503F1B65901120114,
-                               F517335603F1B65901120114,
-                               F517335703F1B65901120114,
-                               F517335803F1B65901120114,
-                               F517335903F1B65901120114,
-                               F517335A03F1B65901120114,
-                               F517335B03F1B65901120114,
-                               F517335C03F1B65901120114,
-                               F517335D03F1B65901120114,
-                               F517335E03F1B65901120114,
-                               F517335F03F1B65901120114,
-                               F517336003F1B65901120114,
-                               F517336103F1B65901120114,
-                               F517336203F1B65901120114,
-                               A125397605CF124D003BD89B,
-                               F517336303F1B65901120114,
-                               F517336403F1B65901120114,
-                               F517336503F1B65901120114,
-                               F517336603F1B65901120114,
-                               F517336703F1B65901120114,
-                               F517336803F1B65901120114,
-                               F517336903F1B65901120114,
-                               F517336A03F1B65901120114,
-                               F517336B03F1B65901120114,
-                               F517336C03F1B65901120114,
-                               F517336D03F1B65901120114,
-                               F517336E03F1B65901120114,
-                               F517336F03F1B65901120114,
-                               F517337003F1B65901120114,
-                               F517337103F1B65901120114,
-                               F517337203F1B65901120114,
-                               F517337303F1B65901120114,
-                               F517337403F1B65901120114,
-                               F517337503F1B65901120114,
-                       );
-                       isa = PBXGroup;
-                       path = krb5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = 3des.txt;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = accept_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = acquire_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = add_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = canon_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = compare_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = context_time.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517334F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_ccache.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = delete_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = disp_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = disp_status.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = duplicate_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = export_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = export_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = get_tkt_flags.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = gssapi_err_krb5.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gssapi_krb5.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_krb5.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapiP_krb5.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = import_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = import_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = indicate_mechs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = init_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517335F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = inq_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = inq_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = inq_names.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = k5seal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = k5unseal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krb5_gss_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = process_context_token.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336703F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rel_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336803F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rel_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336903F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rel_oid.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336A03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = seal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336B03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_sctx.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336C03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = set_ccache.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336D03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = sign.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336E03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = unseal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517336F03F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337003F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_crypt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337103F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_seed.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337203F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = util_seqnum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337303F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = val_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337403F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = verify.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337503F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = wrap_size_limit.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337603F1B65901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337703F1B65A01120114 = {
-                       children = (
-                               F517337803F1B65A01120114,
-                               F517337903F1B65A01120114,
-                               F517337A03F1B65A01120114,
-                               F517337B03F1B65A01120114,
-                               F517337C03F1B65A01120114,
-                               F517337D03F1B65A01120114,
-                               F517337E03F1B65A01120114,
-                               F517337F03F1B65A01120114,
-                               F517338003F1B65A01120114,
-                               F517338103F1B65A01120114,
-                               F517338203F1B65A01120114,
-                               F517338303F1B65A01120114,
-                               F517338403F1B65A01120114,
-                               F517338503F1B65A01120114,
-                               F517338603F1B65A01120114,
-                               F517338703F1B65A01120114,
-                               F517338803F1B65A01120114,
-                               F517338903F1B65A01120114,
-                               F517338A03F1B65A01120114,
-                               F517338B03F1B65A01120114,
-                               F517338C03F1B65A01120114,
-                               F517338D03F1B65A01120114,
-                               F517338E03F1B65A01120114,
-                               F517338F03F1B65A01120114,
-                               F517339003F1B65A01120114,
-                               F517339103F1B65A01120114,
-                               F517339203F1B65A01120114,
-                               F517339303F1B65A01120114,
-                               F517339403F1B65A01120114,
-                               F517339503F1B65A01120114,
-                               F517339603F1B65A01120114,
-                               F517339703F1B65A01120114,
-                               F517339803F1B65A01120114,
-                               F517339903F1B65A01120114,
-                               F517339A03F1B65A01120114,
-                               F517339B03F1B65A01120114,
-                               F517339C03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = mechglue;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = .Sanitize;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_accept_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_acquire_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_compare_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_context_time.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_delete_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517337F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_dsp_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_dsp_status.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_exp_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_imp_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_imp_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_indicate_mechs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_init_sec_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_initialize.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_inq_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_inq_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_inq_names.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_mechname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_oid_ops.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_process_context.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_rel_buffer.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517338F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_rel_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_rel_name.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_rel_oid_set.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_seal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_sign.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_unseal.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_verify.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gen_oids.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gssd_pname_to_uid.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = mech.conf;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = mechglue.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = mglueP.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = oid_ops.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517339D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = README_SAMPLE_APP;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342003F1B65A01120114 = {
-                       children = (
-                               F517342303F1B65A01120114,
-                               F517342403F1B65A01120114,
-                               F517342503F1B65A01120114,
-                               F517342603F1B65A01120114,
-                               F517342703F1B65A01120114,
-                               F517342803F1B65A01120114,
-                               F517342903F1B65A01120114,
-                               F517342A03F1B65A01120114,
-                               F517342B03F1B65A01120114,
-                               F517342C03F1B65A01120114,
-                               F517342D03F1B65A01120114,
-                               F517342E03F1B65A01120114,
-                               F517342F03F1B65A01120114,
-                               F517343003F1B65A01120114,
-                               F517343103F1B65A01120114,
-                               F517343203F1B65A01120114,
-                               F517343303F1B65A01120114,
-                               F517343403F1B65A01120114,
-                               F517343503F1B65A01120114,
-                               F517343603F1B65A01120114,
-                               F517343703F1B65A01120114,
-                               F517343803F1B65A01120114,
-                               F517343903F1B65A01120114,
-                               F517343A03F1B65A01120114,
-                               F517343B03F1B65A01120114,
-                               F517343C03F1B65A01120114,
-                               F517343D03F1B65A01120114,
-                               F517343E03F1B65A01120114,
-                               F517343F03F1B65A01120114,
-                               F517344003F1B65A01120114,
-                               F517344103F1B65A01120114,
-                               F517344203F1B65A01120114,
-                               F517344303F1B65A01120114,
-                               F517344403F1B65A01120114,
-                               F517344503F1B65A01120114,
-                               F517344603F1B65A01120114,
-                               F517344703F1B65A01120114,
-                               F517344803F1B65A01120114,
-                               F517344903F1B65A01120114,
-                               F517344A03F1B65A01120114,
-                               F517344B03F1B65A01120114,
-                               F517344C03F1B65A01120114,
-                               F517344D03F1B65A01120114,
-                               F517344E03F1B65A01120114,
-                               F517344F03F1B65A01120114,
-                               F517345003F1B65A01120114,
-                               F517345103F1B65A01120114,
-                               F517345203F1B65A01120114,
-                               F517345303F1B65A01120114,
-                               F517345403F1B65A01120114,
-                               F517345503F1B65A01120114,
-                               F517345603F1B65A01120114,
-                               F517345703F1B65A01120114,
-                               F517345803F1B65A01120114,
-                               F517345903F1B65A01120114,
-                               F517345A03F1B65A01120114,
-                               F517345B03F1B65A01120114,
-                               F517345C03F1B65A01120114,
-                               F517345D03F1B65A01120114,
-                               F517345E03F1B65A01120114,
-                               F517345F03F1B65A01120114,
-                               F517346003F1B65A01120114,
-                               F517346103F1B65A01120114,
-                               F517346203F1B65A01120114,
-                               F517346303F1B65A01120114,
-                               F517346403F1B65A01120114,
-                               F517346503F1B65A01120114,
-                               F517346603F1B65A01120114,
-                               F517346703F1B65A01120114,
-                               F517346803F1B65A01120114,
-                               F517346903F1B65A01120114,
-                               F517346A03F1B65A01120114,
-                               F517346B03F1B65A01120114,
-                               F517346C03F1B65A01120114,
-                               F517346D03F1B65A01120114,
-                               F517346E03F1B65A01120114,
-                               F517346F03F1B65A01120114,
-                               F517347003F1B65A01120114,
-                               F517347103F1B65A01120114,
-                               F517347203F1B65A01120114,
-                               F517347303F1B65A01120114,
-                               F517347403F1B65A01120114,
-                               F517347503F1B65A01120114,
-                               F517347603F1B65A01120114,
-                               F517347703F1B65A01120114,
-                               F517347803F1B65A01120114,
-                               F517347903F1B65A01120114,
-                               F517347A03F1B65A01120114,
-                               F517347B03F1B65A01120114,
-                               F517347C03F1B65A01120114,
-                               F517347D03F1B65A01120114,
-                               F517347E03F1B65A01120114,
-                               F517347F03F1B65A01120114,
-                               F517348003F1B65A01120114,
-                               F517348103F1B65A01120114,
-                               F517348203F1B65A01120114,
-                               F517348303F1B65A01120114,
-                               F517348403F1B65A01120114,
-                               F517348503F1B65A01120114,
-                               F517348603F1B65A01120114,
-                               F517348703F1B65A01120114,
-                               F517348803F1B65A01120114,
-                               F517348903F1B65A01120114,
-                               F517348A03F1B65A01120114,
-                               F517348B03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = krb4;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ad_print.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "CCache-glue.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = change_password.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cr_auth_repl.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cr_ciph.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cr_death_pkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cr_err_repl.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cr_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = debug.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = decomp_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517342F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = dest_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = err_txt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = fakeenv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = fgetst.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "FSp-glue.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_ad_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_cnffile.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_in_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_phost.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_pw_in_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_pw_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_svc_in_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_tf_fname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_tf_realm.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = g_tkt_svc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517343F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gethostname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = getst.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = in_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kadm_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_net.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_stream.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = klog.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kname_parse.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kntoln.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kparse.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb4int.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = krb_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kuserok.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = lifetime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = log.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mac_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517344F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mac_store.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = mac_store.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mac_stubs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mac_time.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = macsock.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = memcache.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = memcache.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_auth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_preauth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_priv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_req.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_safe.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = month_sname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = netread.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517345F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = netwrite.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = Password.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = password_to_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pkt_cipher.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pkt_clen.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prot_client.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prot_common.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prot_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = put_svc_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_preauth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_priv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_req.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_safe.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_svc_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = "RealmsConfig-glue.c";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517346F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = recvauth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "ren-cyg.sh";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "ren-pc.bat";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "ren-pc.sh";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "ren-pl10.sh";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ren.msg;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = ren2dos.sh;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = ren2long.sh;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = save_creds.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "sed-cyg.sh";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "sed-pc.sh";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "sed-pl10.sh";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = send_to_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = sendauth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = setenv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = stime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517347F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strcasecmp.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strnlen.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = swab.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tf_shm.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tf_util.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tkt_string.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = unix_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = unix_time.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348703F1B65A01120114 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = vmslink.com;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = vmsswab.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = win_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = win_store.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = win_time.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517348E03F1B65A01120114 = {
-                       children = (
-                               F517349003F1B65A01120114,
-                               F51734AB03F1B65A01120114,
-                               F51734CB03F1B65A01120114,
-                               F51734CC03F1B65A01120114,
-                               F51734CD03F1B65A01120114,
-                               F51734D903F1B65A01120114,
-                               F51734E903F1B65A01120114,
-                               F517355203F1B65A01120114,
-                               F517355303F1B65A01120114,
-                               F517355403F1B65A01120114,
-                               F517355503F1B65A01120114,
-                               F517358B03F1B65A01120114,
-                               F517359B03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = krb5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349003F1B65A01120114 = {
-                       children = (
-                               F517349403F1B65A01120114,
-                               F517349503F1B65A01120114,
-                               F517349603F1B65A01120114,
-                               F517349703F1B65A01120114,
-                               F517349803F1B65A01120114,
-                               F517349903F1B65A01120114,
-                               F517349A03F1B65A01120114,
-                               F517349B03F1B65A01120114,
-                               F517349C03F1B65A01120114,
-                               F517349D03F1B65A01120114,
-                               F517349E03F1B65A01120114,
-                               F517349F03F1B65A01120114,
-                               F51734A003F1B65A01120114,
-                               F51734A103F1B65A01120114,
-                               F51734A203F1B65A01120114,
-                               F51734A303F1B65A01120114,
-                               F51734A403F1B65A01120114,
-                               F51734A503F1B65A01120114,
-                               F51734A603F1B65A01120114,
-                               F51734A703F1B65A01120114,
-                               F51734A803F1B65A01120114,
-                               F51734A903F1B65A01120114,
-                               F51734AA03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = asn.1;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_decode.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_decode.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_encode.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_encode.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_get.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_get.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_k_decode.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_k_decode.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_k_encode.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_k_encode.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_make.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517349F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_make.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_misc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_misc.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1buf.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1buf.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1glue.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.python;
-                       path = "KRB5-asn.py";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krb5_decode.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krb5_encode.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734A903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krbasn1.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734AA03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734AB03F1B65A01120114 = {
-                       children = (
-                               F51734AE03F1B65A01120114,
-                               F51734AF03F1B65A01120114,
-                               F51734B003F1B65A01120114,
-                               F51734B103F1B65A01120114,
-                               F51734BA03F1B65A01120114,
-                               F51734BB03F1B65A01120114,
-                               F51734BC03F1B65A01120114,
-                               F51734BD03F1B65A01120114,
-                               F51734BE03F1B65A01120114,
-                               F51734BF03F1B65A01120114,
-                               F51734C003F1B65A01120114,
-                               F51734C103F1B65A01120114,
-                               F51734C203F1B65A01120114,
-                               F51734C303F1B65A01120114,
-                               F51734C403F1B65A01120114,
-                               F51734C503F1B65A01120114,
-                               F51734C603F1B65A01120114,
-                               F51734C703F1B65A01120114,
-                               F51734C803F1B65A01120114,
-                               F51734C903F1B65A01120114,
-                               F51734CA03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = ccache;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734AE03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cc_file.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734AF03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cc_memory.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cc_retr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B103F1B65A01120114 = {
-                       children = (
-                               F51734B203F1B65A01120114,
-                               F51734B303F1B65A01120114,
-                               F51734B403F1B65A01120114,
-                               F51734B503F1B65A01120114,
-                               F51734B603F1B65A01120114,
-                               F51734B703F1B65A01120114,
-                               F51734B803F1B65A01120114,
-                               F51734B903F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = ccapi;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = stdcc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = stdcc.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = stdcc_util.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = stdcc_util.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = winccld.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734B903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = winccld.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734BA03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ccbase.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734BB03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cccopy.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734BC03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ccdefault.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734BD03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ccdefops.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734BE03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ccfns.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734BF03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = fcc.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C103F1B65A01120114 = {
-                       children = (
-                       );
-                       isa = PBXGroup;
-                       path = file;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C303F1B65A01120114 = {
-                       children = (
-                       );
-                       isa = PBXGroup;
-                       path = memory;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = scc.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_cc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C603F1B65A01120114 = {
-                       children = (
-                       );
-                       isa = PBXGroup;
-                       path = stdio;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_cc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_file.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734C903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_memory.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734CA03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_stdio.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734CB03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734CC03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734CD03F1B65A01120114 = {
-                       children = (
-                               F51734D103F1B65A01120114,
-                               F51734D203F1B65A01120114,
-                               F51734D303F1B65A01120114,
-                               F51734D403F1B65A01120114,
-                               A16DA36A0485503F00120112,
-                               F51734D503F1B65A01120114,
-                               F51734D603F1B65A01120114,
-                               F51734D703F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = error_tables;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = asn1_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = init_ets.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kdb5_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = krb5_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = kv5m_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734D903F1B65A01120114 = {
-                       children = (
-                               F51734DB03F1B65A01120114,
-                               F51734DE03F1B65A01120114,
-                               F51734DF03F1B65A01120114,
-                               F51734E003F1B65A01120114,
-                               F51734E103F1B65A01120114,
-                               F51734E203F1B65A01120114,
-                               F51734E303F1B65A01120114,
-                               F51734E403F1B65A01120114,
-                               F51734E503F1B65A01120114,
-                               F51734E603F1B65A01120114,
-                               F51734E703F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = keytab;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734DB03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734DE03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kt_file.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734DF03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kt_srvtab.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktadd.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktbase.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktdefault.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktfns.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktfr_entry.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktremove.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = read_servi.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734E903F1B65A01120114 = {
-                       children = (
-                               F51734EC03F1B65A01120114,
-                               F51734ED03F1B65A01120114,
-                               F51734EE03F1B65A01120114,
-                               F51734EF03F1B65A01120114,
-                               F51734F003F1B65A01120114,
-                               F51734F103F1B65A01120114,
-                               F51734F203F1B65A01120114,
-                               F51734F303F1B65A01120114,
-                               F51734F403F1B65A01120114,
-                               F51734F503F1B65A01120114,
-                               F51734F603F1B65A01120114,
-                               F51734F703F1B65A01120114,
-                               F51734F803F1B65A01120114,
-                               A16DA36604854EF700120112,
-                               F51734F903F1B65A01120114,
-                               F51734FA03F1B65A01120114,
-                               F51734FB03F1B65A01120114,
-                               F51734FC03F1B65A01120114,
-                               F51734FD03F1B65A01120114,
-                               F51734FE03F1B65A01120114,
-                               F51734FF03F1B65A01120114,
-                               F517350003F1B65A01120114,
-                               F517350103F1B65A01120114,
-                               F517350203F1B65A01120114,
-                               F517350303F1B65A01120114,
-                               F517350403F1B65A01120114,
-                               F517350503F1B65A01120114,
-                               F517350603F1B65A01120114,
-                               F517350703F1B65A01120114,
-                               F517350803F1B65A01120114,
-                               F517350903F1B65A01120114,
-                               F517350A03F1B65A01120114,
-                               F517350B03F1B65A01120114,
-                               F517350C03F1B65A01120114,
-                               F517350D03F1B65A01120114,
-                               F517350E03F1B65A01120114,
-                               F517350F03F1B65A01120114,
-                               F517351003F1B65A01120114,
-                               F517351103F1B65A01120114,
-                               F517351203F1B65A01120114,
-                               F517351303F1B65A01120114,
-                               F517351403F1B65A01120114,
-                               F517351703F1B65A01120114,
-                               F517351803F1B65A01120114,
-                               F517351903F1B65A01120114,
-                               F517351A03F1B65A01120114,
-                               F517351B03F1B65A01120114,
-                               F517351C03F1B65A01120114,
-                               F517351D03F1B65A01120114,
-                               F517351E03F1B65A01120114,
-                               F517351F03F1B65A01120114,
-                               F517352003F1B65A01120114,
-                               F517352103F1B65A01120114,
-                               F517352203F1B65A01120114,
-                               F517352303F1B65A01120114,
-                               F517352403F1B65A01120114,
-                               F517352503F1B65A01120114,
-                               A1CA43B806E3D0D400F35E9C,
-                               A1CA43B906E3D0D400F35E9C,
-                               A1CA43BA06E3D0D400F35E9C,
-                               A1CA43BB06E3D0D400F35E9C,
-                               A1CA43BC06E3D0D400F35E9C,
-                               F517352603F1B65A01120114,
-                               F517352703F1B65A01120114,
-                               F517352803F1B65A01120114,
-                               F517352903F1B65A01120114,
-                               F517352A03F1B65A01120114,
-                               F517352B03F1B65A01120114,
-                               F517352C03F1B65A01120114,
-                               F517352D03F1B65A01120114,
-                               F517352E03F1B65A01120114,
-                               F517352F03F1B65A01120114,
-                               F517353003F1B65A01120114,
-                               F517353103F1B65A01120114,
-                               F517353203F1B65A01120114,
-                               F517353303F1B65A01120114,
-                               F517353403F1B65A01120114,
-                               F517353503F1B65A01120114,
-                               F517353603F1B65A01120114,
-                               F517353703F1B65A01120114,
-                               F517353803F1B65A01120114,
-                               F517353903F1B65A01120114,
-                               F517353A03F1B65A01120114,
-                               F517353B03F1B65A01120114,
-                               F517353C03F1B65A01120114,
-                               F517353D03F1B65A01120114,
-                               F517353E03F1B65A01120114,
-                               F517353F03F1B65A01120114,
-                               F517354003F1B65A01120114,
-                               F517354103F1B65A01120114,
-                               F517354203F1B65A01120114,
-                               F517354303F1B65A01120114,
-                               F517354403F1B65A01120114,
-                               F517354503F1B65A01120114,
-                               F517354603F1B65A01120114,
-                               F517354703F1B65A01120114,
-                               F517354803F1B65A01120114,
-                               F517354903F1B65A01120114,
-                               F517354A03F1B65A01120114,
-                               F517354B03F1B65A01120114,
-                               F517354C03F1B65A01120114,
-                               A16DA36704854EF700120112,
-                               F517354D03F1B65A01120114,
-                               F517354E03F1B65A01120114,
-                               F517354F03F1B65A01120114,
-                               F517355003F1B65A01120114,
-                               F517355103F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = krb;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734EC03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = addr_comp.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734ED03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = addr_order.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734EE03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = addr_srch.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734EF03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = appdefault.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = auth_con.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = auth_con.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = bld_pr_ext.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = bld_princ.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = brand.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = chk_trans.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = chpw.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = cleanup.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734F903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = conv_princ.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734FA03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_addrs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734FB03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_athctr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734FC03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_auth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734FD03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734FE03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_creds.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51734FF03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_data.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_princ.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = copy_tick.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = cp_key_cnt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = decode_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = decrypt_tk.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = deltat.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = enc_helper.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = encode_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = encrypt_tk.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = free_rtree.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = fwd_tgt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gc_frm_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gc_via_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gen_seqnum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517350F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gen_subkey.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = get_creds.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = get_in_tkt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gic_keytab.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gic_opt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gic_pwd.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = in_tkt_sky.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = init_ctx.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = init_keyblock.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "int-proto.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kdc_rep_dc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kfree.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517351F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_error.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_priv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_rep.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_req.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_req_ext.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_safe.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = parse.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = pr_to_salt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = preauth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = preauth2.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = princ_comp.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_cred.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_error.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_priv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_rep.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_req.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517352F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_req_dec.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rd_safe.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = recvauth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = send_tgs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = sendauth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_actx.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_adata.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_addr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_auth.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_cksum.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_ctx.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_eblk.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_key.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_princ.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = serialize.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = set_realm.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517353F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = srv_rcache.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = str_conv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strftime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strptime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_deltat.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_expand.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_kerb.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = t_krb5.conf;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = t_ref_kerb.out;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_ser.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_walk_rtree.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = tgtname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "transit-tests";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = unparse.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = valid_times.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = vfy_increds.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517354F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = vic_opt.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = walk_rtree.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.yacc;
-                       path = "x-deltat.y";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krb5_libinit.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb5_libinit.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355503F1B65A01120114 = {
-                       children = (
-                               F517355803F1B65A01120114,
-                               F517355903F1B65A01120114,
-                               F517355A03F1B65A01120114,
-                               F517355B03F1B65A01120114,
-                               F517355C03F1B65A01120114,
-                               F517355D03F1B65A01120114,
-                               F517355E03F1B65A01120114,
-                               A1D6298F070C8AD70015C908,
-                               A1D62990070C8AD70015C908,
-                               A12539AD05CF12D5003BD89B,
-                               F517355F03F1B65A01120114,
-                               F517356003F1B65A01120114,
-                               F517356103F1B65A01120114,
-                               F517356203F1B65A01120114,
-                               F517356303F1B65A01120114,
-                               F517356403F1B65A01120114,
-                               F517356503F1B65A01120114,
-                               F517356603F1B65A01120114,
-                               F517356703F1B65A01120114,
-                               F517356803F1B65A01120114,
-                               F517356903F1B65A01120114,
-                               F517356A03F1B65A01120114,
-                               F517356B03F1B65A01120114,
-                               F517356C03F1B65A01120114,
-                               F517356D03F1B65A01120114,
-                               F517356E03F1B65A01120114,
-                               F517356F03F1B65A01120114,
-                               F517357003F1B65A01120114,
-                               F517357103F1B65A01120114,
-                               F517357203F1B65A01120114,
-                               F517357303F1B65A01120114,
-                               F517357403F1B65A01120114,
-                               F517357503F1B65A01120114,
-                               F517357603F1B65A01120114,
-                               F517357703F1B65A01120114,
-                               F517357803F1B65A01120114,
-                               F517357903F1B65A01120114,
-                               F517357A03F1B65A01120114,
-                               F517357B03F1B65A01120114,
-                               F517357C03F1B65A01120114,
-                               F517357D03F1B65A01120114,
-                               F517357E03F1B65A01120114,
-                               A16DB01304868A7E00120112,
-                               F517357F03F1B65A01120114,
-                               F517358003F1B65A01120114,
-                               F517358103F1B65A01120114,
-                               F517358203F1B65A01120114,
-                               F517358303F1B65A01120114,
-                               F517358403F1B65A01120114,
-                               F517358503F1B65A01120114,
-                               F517358603F1B65A01120114,
-                               F517358703F1B65A01120114,
-                               F517358803F1B65A01120114,
-                               F517358903F1B65A01120114,
-                               F517358A03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = os;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = accessor.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = an_to_ln.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = c_ustime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ccdefname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = changepw.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = def_realm.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517355F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = free_hstrl.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = free_krbhs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = full_ipadr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gen_port.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gen_rname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = genaddrs.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = get_krbhst.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gmt_mktime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hostaddr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = hst_realm.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = init_os_ctx.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krbfileio.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ktdefname.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kuserok.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = localaddr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = locate_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517356F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = lock_file.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = mk_faddr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = net_read.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = net_write.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = "os-proto.h";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = osconfig.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = port2ip.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prompter.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = promptusr.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = read_msg.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = read_pwd.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357B03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = realm_dom.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357C03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = realm_iter.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ref_std_conf.out;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = sendto_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517357F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = sn2princ.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_an_to_ln.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_gifconf.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_locate_kdc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_realm_iter.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = t_std_conf.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = td_krb5.conf;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = timeofday.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = toffset.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = unlck_file.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ustime.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = write_msg.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358B03F1B65A01120114 = {
-                       children = (
-                               F517358D03F1B65A01120114,
-                               F517358F03F1B65A01120114,
-                               F517359003F1B65A01120114,
-                               F517359103F1B65A01120114,
-                               F517359403F1B65A01120114,
-                               F517359503F1B65A01120114,
-                               F517359603F1B65A01120114,
-                               F517359703F1B65A01120114,
-                               F517359803F1B65A01120114,
-                               F517359903F1B65A01120114,
-                               F517359A03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = posix;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358D03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517358F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = getuid.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = memmove.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = sscanf.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strcasecmp.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strdup.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = strerror.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = syslog.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = vfprintf.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359A03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = vsprintf.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359B03F1B65A01120114 = {
-                       children = (
-                               F517359E03F1B65A01120114,
-                               F517359F03F1B65A01120114,
-                               F51735A003F1B65A01120114,
-                               F51735A103F1B65A01120114,
-                               F51735A203F1B65A01120114,
-                               F51735A303F1B65A01120114,
-                               F51735A403F1B65A01120114,
-                               F51735A503F1B65A01120114,
-                               F51735A603F1B65A01120114,
-                               A1A6784206C3D82500EC826E,
-                               A1A6784306C3D82500EC826E,
-                               F51735A703F1B65A01120114,
-                               F51735A803F1B65A01120114,
-                               F51735A903F1B65A01120114,
-                               F51735AA03F1B65A01120114,
-                               F51735AB03F1B65A01120114,
-                       );
-                       isa = PBXGroup;
-                       path = rcache;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359E03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517359F03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A003F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rc_base.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = rc_base.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A203F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rc_conv.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A303F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rc_dfl.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A403F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = rc_dfl.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A503F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rc_io.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A603F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = rc_io.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A703F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rcdef.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A803F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = rcfns.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735A903F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = README;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735AA03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = RELEASE;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735AB03F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = ser_rc.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51735B103F1B65A01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F517360C03F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = win_glue.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51736C803F1B65B01120114 = {
-                       children = (
-                               A1D256EA06A7139700A9EC13,
-                               F51737AF03F1B65B01120114,
-                               A1D256ED06A713A600A9EC13,
-                       );
-                       isa = PBXGroup;
-                       path = util;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737AF03F1B65B01120114 = {
-                       children = (
-                               F51737B203F1B65B01120114,
-                               F51737B303F1B65B01120114,
-                               F51737B403F1B65B01120114,
-                               F51737B603F1B65B01120114,
-                               F51737B703F1B65B01120114,
-                               F51737B803F1B65B01120114,
-                               F51737B903F1B65B01120114,
-                               F51737BA03F1B65B01120114,
-                               F51737BB03F1B65B01120114,
-                               F51737BC03F1B65B01120114,
-                               F51737BD03F1B65B01120114,
-                               A198BC2A0406DA8F00120114,
-                               F51737BE03F1B65B01120114,
-                               F51737BF03F1B65B01120114,
-                               F51737C003F1B65B01120114,
-                               F51737C103F1B65B01120114,
-                               F51737C203F1B65B01120114,
-                               F51737C303F1B65B01120114,
-                               F51737C403F1B65B01120114,
-                               F51737C503F1B65B01120114,
-                               F51737C603F1B65B01120114,
-                               F51737C703F1B65B01120114,
-                               F51737C803F1B65B01120114,
-                               F51737C903F1B65B01120114,
-                       );
-                       isa = PBXGroup;
-                       path = profile;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737B203F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = argv_parse.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737B303F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = argv_parse.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737B403F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737B603F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = dosshell.ini;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737B703F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = krb5.conf;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737B803F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Makefile.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737B903F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = prof_err.et;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737BA03F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_file.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737BB03F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_get.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737BC03F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_init.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737BD03F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = prof_int.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737BE03F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_parse.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737BF03F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_set.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737C003F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_tree.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737C103F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = profile.5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F51737C203F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.exports;
-                       path = profile.exp;
-                       refType = 4;
-                       sourceTree = "<group>";
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/aes",
+                                       "$(SRCROOT)/../Sources/lib/crypto",
+                                       "$(SRCROOT)/../Sources/lib/crypto/arcfour",
+                                       "$(SRCROOT)/../Sources/lib/crypto/enc_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/crc32",
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/lib/crypto/dk",
+                                       "$(SRCROOT)/../Sources/lib/crypto/hash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/keyhash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md4",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/old",
+                                       "$(SRCROOT)/../Sources/lib/crypto/raw",
+                                       "$(SRCROOT)/../Sources/lib/crypto/sha1",
+                                       "$(SRCROOT)/../Sources/lib/crypto/yarrow",
+                                       "$(SRCROOT)/../Sources/lib/krb5/os",
+                                       "$(SRCROOT)/../Sources/lib/krb5/keytab",
+                                       "$(SRCROOT)/../Sources/lib/krb5/rcache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache/ccapi",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = Kerberos5;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
+                               A159A30A088D75A5004325D0 /* PBXTargetDependency */,
+                               A1AB1E8405DDC47700526345 /* PBXTargetDependency */,
+                       );
+                       name = Kerberos5;
+                       productInstallPath = /usr/local/lib;
+                       productName = Kerberos5;
+                       productReference = A1AB1FB105DDC47800526345 /* libKerberos5.a */;
+                       productType = "com.apple.product-type.library.static";
                };
-               F51737C303F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = profile.hin;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1FBF05DDC48A00526345 /* GSS */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = A1518ECA086C85C40042CBBC /* Build configuration list for PBXNativeTarget "GSS" */;
+                       buildPhases = (
+                               A1AB1FC205DDC48A00526345 /* Headers */,
+                               A1AB1FC805DDC48A00526345 /* Sources */,
+                               A1AB200005DDC48A00526345 /* Frameworks */,
+                               A1AB200105DDC48A00526345 /* Rez */,
+                       );
+                       buildRules = (
+                       );
+                       buildSettings = {
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/generic",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/gssapi",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = GSS;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       dependencies = (
+                               A159A30C088D75AD004325D0 /* PBXTargetDependency */,
+                       );
+                       name = GSS;
+                       productInstallPath = /usr/local/lib;
+                       productName = GSS;
+                       productReference = A1AB200305DDC48A00526345 /* libGSS.a */;
+                       productType = "com.apple.product-type.library.static";
                };
-               F51737C403F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = profile.pbexp;
-                       refType = 4;
-                       sourceTree = "<group>";
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               F5CFD36E022D854401120112 /* Project object */ = {
+                       isa = PBXProject;
+                       buildConfigurationList = A1518ECE086C85C40042CBBC /* Build configuration list for PBXProject "Kerberos5" */;
+                       buildSettings = {
+                       };
+                       buildStyles = (
+                               F5CFD370022D854401120112 /* Development */,
+                               F5CFD371022D854401120112 /* Deployment */,
+                       );
+                       hasScannedForEncodings = 1;
+                       mainGroup = F5CFD36F022D854401120112;
+                       productRefGroup = F5CFD5CB022D86AD01120112 /* Products */;
+                       projectDirPath = "";
+                       targets = (
+                               A1AB1DEC05DDC40100526345 /* KerberosDES */,
+                               A1AB1E1005DDC43000526345 /* KerberosProfile */,
+                               A1AB1E3005DDC45F00526345 /* Kerberos4 */,
+                               A1AB1E8105DDC47700526345 /* Kerberos5 */,
+                               A1AB1FBF05DDC48A00526345 /* GSS */,
+                               A1B707610873129400F0C55D /* Configure */,
+                               A1B7077F08731E4500F0C55D /* Servers */,
+                               A1B7078B08731F4900F0C55D /* Autogenerated Headers */,
+                               A1B08BF7087F22550063079F /* Error Tables */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXRezBuildPhase section */
+               A1AB1E0005DDC40100526345 /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F51737C503F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = prtest.in;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E2005DDC43000526345 /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F51737C603F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = prtest.script;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E6D05DDC45F00526345 /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F51737C703F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = test.ini;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1FAF05DDC47800526345 /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F51737C803F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = test_parse.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB200105DDC48A00526345 /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F51737C903F1B65B01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = test_profile.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+/* End PBXRezBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+               A1B08BF6087F22550063079F /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                               "$(SRCROOT)/../Sources/util/profile/prof_err.et",
+                               "$(SRCROOT)/../Sources/lib/krb4/krb_err.et",
+                               "$(SRCROOT)/../Sources/lib/krb4/kadm_err.et",
+                               "$(SRCROOT)/../Sources/lib/krb5/error_tables/asn1_err.et",
+                               "$(SRCROOT)/../Sources/lib/krb5/error_tables/kdb5_err.et",
+                               "$(SRCROOT)/../Sources/lib/krb5/error_tables/krb524_err.et",
+                               "$(SRCROOT)/../Sources/lib/krb5/error_tables/krb5_err.et",
+                               "$(SRCROOT)/../Sources/lib/krb5/error_tables/kv5m_err.et",
+                               "$(SRCROOT)/../Sources/lib/gssapi/generic/gssapi_err_generic.et",
+                               "$(SRCROOT)/../Sources/lib/gssapi/krb5/gssapi_err_krb5.et",
+                       );
+                       outputPaths = (
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/prof_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/prof_err.strings",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/krb_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/krb_err.strings",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/asn1_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/asn1_err.strings",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/kdb5_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/kdb5_err.strings",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/krb5_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/krb5_err.strings",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/kv5m_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/kv5m_err.strings",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/gssapi_err_generic.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/gssapi_err_generic.strings",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/gssapi_err_krb5.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/gssapi_err_krb5.strings",
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "COMPILE_ET=\"${SRCROOT}/../../KerberosErrors/Scripts/compile_et\"\nOUTPUT_DIR=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables\"\n\nmkdir -p \"${OUTPUT_DIR}\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/util/profile/prof_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/krb4/krb_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/krb4/kadm_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/krb5/error_tables/asn1_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/krb5/error_tables/kdb5_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/krb5/error_tables/krb524_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/krb5/error_tables/krb5_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/krb5/error_tables/kv5m_err.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/gssapi/generic/gssapi_err_generic.et\"\nperl \"${COMPILE_ET}\" --etout \"${OUTPUT_DIR}\" \"${SRCROOT}/../Sources/lib/gssapi/krb5/gssapi_err_krb5.et\"";
                };
-               F5C2DF100240F9F601650119 = {
-                       children = (
-                               F5C2DF140240F9F601650119,
-                               F5C2DF150240F9F601650119,
-                               F5C2DF160240F9F601650119,
-                               F5C2DF170240F9F601650119,
-                               F5C2DF180240F9F601650119,
-                               F5C2DF190240F9F601650119,
-                               F5C2DF1A0240F9F601650119,
-                               F5C2DF1B0240F9F601650119,
-                               F5C2DF1C0240F9F601650119,
-                               F5E2671F03F8200601120114,
-                               F5E2672003F8200601120114,
-                               F5E2672103F8200601120114,
-                               F5E2672203F8200601120114,
-                               F5E2672303F8200601120114,
-                               F5E2672403F8200601120114,
-                               F5C2DF1D0240F9F601650119,
-                               F5C2DF1E0240F9F601650119,
-                               F5C2DF1F0240F9F601650119,
-                               F5C2DF200240F9F601650119,
-                               F5C2DF210240F9F601650119,
-                               F5C2DF220240F9F601650119,
-                               F5C2DF230240F9F601650119,
-                               F5C2DF240240F9F601650119,
-                               F5C2DF250240F9F601650119,
-                               F5C2DF260240F9F601650119,
-                               F5C2DF270240F9F601650119,
-                               F5C2DF280240F9F601650119,
-                               F5C2DF290240F9F601650119,
-                               F5C2DF2A0240F9F601650119,
-                               F5C2DF2B0240F9F601650119,
+               A1B707600873129400F0C55D /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
                        );
-                       isa = PBXGroup;
-                       path = ErrorTables;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       inputPaths = (
+                               "$(SRCROOT)/../Sources/configure",
+                       );
+                       outputPaths = (
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/build/Makefile",
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "CONFIGURE=\"${SRCROOT}/../Sources/configure\"\nCONFIGURE_DIR=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build\"\n\nCONFIGURE_CFLAGS=\"-fno-common -include /usr/include/TargetConditionals.h -DUSE_PASSWORD_SERVER\"\nif [ -n \"${CFLAGS}\"         ] ; then CONFIGURE_CFLAGS=\"${CONFIGURE_CFLAGS} ${CFLAGS}\" ; fi\nif [ -n \"${RC_CFLAGS}\"      ] ; then CONFIGURE_CFLAGS=\"${CONFIGURE_CFLAGS} ${RC_CFLAGS}\" ; fi\nif [ -n \"${OTHER_CFLAGS}\"   ] ; then CONFIGURE_CFLAGS=\"${CONFIGURE_CFLAGS} ${OTHER_CFLAGS}\" ; fi\nif [ -n \"${WARNING_CFLAGS}\" ] ; then CONFIGURE_CFLAGS=\"${CONFIGURE_CFLAGS} ${WARNING_CFLAGS}\" ; fi\n\nCONFIGURE_LDFLAGS=\"-Wl,-search_paths_first\"\nif [ -n \"${LDFLAGS}\" ] ; then CONFIGURE_LDFLAGS=\"${CONFIGURE_LDFLAGS} ${LDFLAGS}\" ; fi\n\nmkdir -p \"${CONFIGURE_DIR}\"\ncd \"${CONFIGURE_DIR}\" && /bin/sh \"${CONFIGURE}\" --prefix=/usr --localstatedir=/var/db \"CFLAGS=${CONFIGURE_CFLAGS}\" \"LDFLAGS=${CONFIGURE_LDFLAGS}\"\n";
                };
-               F5C2DF140240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = asn1_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7077E08731E4500F0C55D /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build/Makefile",
+                       );
+                       outputPaths = (
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build/make.stamp",
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "INTERMEDIATES_DIR=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates\"\n\nmkdir -p \"${INTERMEDIATES_DIR}/build\"\nmkdir -p \"${INTERMEDIATES_DIR}/servers\"\n\ncd \"${INTERMEDIATES_DIR}/build\" && make && make install \"DESTDIR=${INTERMEDIATES_DIR}/servers\" && touch \"${INTERMEDIATES_DIR}/build/make.stamp\"\n";
                };
-               F5C2DF150240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = asn1_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7078A08731F4900F0C55D /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                               "${MAKE_DIR}/util/et/Makefile",
+                               "${MAKE_DIR}/include/Makefile",
+                               "${MAKE_DIR}/lib/gssapi/krb5/Makefile",
+                       );
+                       outputPaths = (
+                               "${MAKE_DIR}/makeheaders.stamp",
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "MAKE_DIR=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build\"\n\ncd \"${MAKE_DIR}/util/et\" && make && cd \"${MAKE_DIR}/include\" && make && cd \"${MAKE_DIR}/lib/gssapi/krb5\" && make gssapi_krb5.h && touch \"${MAKE_DIR}/makeheaders.stamp\" && echo \"### HAPPINESS ###\"";
                };
-               F5C2DF160240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = asn1_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B707920873202500F0C55D /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build/include/krb5/autoconf.h",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build/include/krb5/osconf.h",
+                               "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos/com_err.h",
+                               "$(SRCROOT)/../Sources/include/kerberosIV/des.h",
+                               "$(SRCROOT)/../Sources/include/kerberosIV/krb.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables/krb_err.h",
+                               "${SRCROOT}/../Sources/util/profile/profile.hin",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/prof_err.h",
+                               "${SRCROOT}/../Sources/include/krb5.hin",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/asn1_err.h",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/kdb5_err.h",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/krb5_err.h",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/krb524_err.h",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/kv5m_err.h",
+                               "${SRCROOT}/../Sources/lib/gssapi/generic/gssapi.hin",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/gssapi_err_generic.h",
+                               "${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/gssapi_err_krb5.h",
+                       );
+                       outputPaths = (
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/com_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/com_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/kerberosIV/des.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/des.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/kerberosIV/krb.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/krb.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/kerberosIV/krb_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/krb_err.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/profile.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/profile.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/krb5.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/gssapi/gssapi.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/gssapi.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/gssapi/gssapi_generic.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/gssapi_generic.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/gssapi/gssapi_krb5.h",
+                               "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/Kerberos/gssapi_krb5.h",
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "# Framework Headers\nINCLUDE_HEADER_DIR=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/include\"\nFRAMEWORK_HEADER_DIR=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/Kerberos\"\nERROR_TABLE_REGEXP=\"/^\\\\s*#define\\\\s+\\\\w+\\(\\\\s+\\\\(-?\\\\d+L\\\\)\\)|\\(initialize_\\\\w+_error_table\\\\(\\\\)\\)\\\\s*$/\"\nEXTRACT_ERROR_CODES=\"while (<STDIN>) { if (/^\\\\s*#define\\\\s+\\\\w+\\(\\\\s+\\\\(-?\\\\d+L\\\\)\\)|\\(initialize_\\\\w+_error_table\\\\(\\\\)\\)\\\\s*$/) { print; } }\"\nAUTOCONF_H=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/include/krb5/autoconf.h\"\nOSCONF_H=\"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/include/krb5/osconf.h\"\n\nfunction CatHeader () {\n\tOUTPUT_HEADER=$1\n\tINPUT_HEADER=$2\n\tMACRO_NAME=$3\n\tPREFIX=$4\n\tshift 4            # Get rid of everything but the error tables \n\n\tmkdir -p `dirname \"${OUTPUT_HEADER}\"`\n\techo \"/*\"                                                                       > \"${OUTPUT_HEADER}\"\n\techo \" * This file is auto generated.\"                                         >> \"${OUTPUT_HEADER}\"\n\techo \" * Please do not edit it.\"                                               >> \"${OUTPUT_HEADER}\"\n\techo \" */\"                                                                     >> \"${OUTPUT_HEADER}\"\n\techo \"\"                                                                        >> \"${OUTPUT_HEADER}\"\n\techo \"#ifndef ${MACRO_NAME}\"                                                   >> \"${OUTPUT_HEADER}\"\n\techo \"#define ${MACRO_NAME}\"                                                   >> \"${OUTPUT_HEADER}\"\n\techo \"\"                                                                        >> \"${OUTPUT_HEADER}\"\n\techo \"/* Environment dependent macros */\"                                      >> \"${OUTPUT_HEADER}\"\n\tif [ -n \"${PREFIX}\" ]; then\n\t\t/usr/bin/sed -e \"s:SIZEOF:${PREFIX}SIZEOF:\" \"${AUTOCONF_H}\" | grep SIZEOF >> \"${OUTPUT_HEADER}\"\n\t\techo \"\"                                                                   >> \"${OUTPUT_HEADER}\"\n\tfi\n\tfor HEADER in $* ; do\n\t\tbase=`basename \"${HEADER}\"`\n\t\techo \"\"                                                                   >> \"${OUTPUT_HEADER}\"\n\t\techo \"/* Error tables from ${base} */\"                                    >> \"${OUTPUT_HEADER}\"\n\t\techo \"${HEADER}\"\n\t\tcat \"${HEADER}\" | perl -e \\\n'while (<STDIN>) { if (/^\\s*#define\\s+(\\w+\\s+\\(-?\\d+L\\))|(initialize_\\w+_error_table\\s*\\(\\))\\s*$/) { print; } }' >> \"${OUTPUT_HEADER}\"\n\tdone\n\techo \"\"                                                                        >> \"${OUTPUT_HEADER}\"\n\tcat \"${INPUT_HEADER}\"                                                          >> \"${OUTPUT_HEADER}\"\n\techo \"#endif /* ${MACRO_NAME} */\"                                              >> \"${OUTPUT_HEADER}\"\n}\n\nfunction MakeFrameworkHeader () {\n\tmkdir -p `dirname \"${1}\"`\n\t/usr/bin/sed -e 's:<com_err.h>:<Kerberos/com_err.h>:' \\\n                  -e 's:<kerberosIV/des.h>:<Kerberos/des.h>:' \\\n                  -e 's:<kerberosIV/krb.h>:<Kerberos/krb.h>:' \\\n                  -e 's:<kerberosIV/krb_err.h>:<Kerberos/krb_err.h>:' \\\n                  -e 's:<profile.h>:<Kerberos/profile.h>:' \\\n                  -e 's:<krb5.h>:<Kerberos/krb5.h>:' \\\n                  -e 's:<gssapi/gssapi.h>:<Kerberos/gssapi.h>:' \\\n                  -e 's:<gssapi/gssapi_krb5.h>:<Kerberos/gssapi_krb5.h>:' \\\n                  -e 's:<gssapi/gssapi_generic.h>:<Kerberos/gssapi_generic.h>:' \\\n                  \"${2}\" > \"${1}\"\n}\n\nfunction CopyHeader () {\n\tmkdir -p `dirname \"${1}\"`\n\tcp -fRP \"${2}\" \"${1}\"\n}\n\t\nCopyHeader \"${AUTOCONF_H}\" \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build/include/krb5/autoconf.h\" ;\nCopyHeader \"${OSCONF_H}\"   \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build/include/krb5/osconf.h\" ;\n\nCopyHeader          \"${INCLUDE_HEADER_DIR}/com_err.h\"   \"${SRCROOT}/../../KerberosErrors/Headers/Kerberos/com_err.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/com_err.h\" \"${SRCROOT}/../../KerberosErrors/Headers/Kerberos/com_err.h\"\n\nCopyHeader          \"${INCLUDE_HEADER_DIR}/kerberosIV/des.h\" \"${SRCROOT}/../Sources/include/kerberosIV/des.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/des.h\"          \"${SRCROOT}/../Sources/include/kerberosIV/des.h\"\n \nCopyHeader          \"${INCLUDE_HEADER_DIR}/kerberosIV/krb.h\" \"${SRCROOT}/../Sources/include/kerberosIV/krb.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/krb.h\"          \"${SRCROOT}/../Sources/include/kerberosIV/krb.h\"\n\nCopyHeader          \"${INCLUDE_HEADER_DIR}/kerberosIV/krb_err.h\" \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/krb_err.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/krb_err.h\"          \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/krb_err.h\"\n\nCatHeader \"${INCLUDE_HEADER_DIR}/profile.h\" \\\n           \"${SRCROOT}/../Sources/util/profile/profile.hin\" \"__KERBEROSPROFILE__\" \"\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/prof_err.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/profile.h\" \"${INCLUDE_HEADER_DIR}/profile.h\"\n\nCatHeader \"${INCLUDE_HEADER_DIR}/krb5.h\" \\\n           \"${SRCROOT}/../Sources/include/krb5.hin\" \"__KERBEROS5__\" \"\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/asn1_err.h\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/kdb5_err.h\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/krb5_err.h\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/krb524_err.h\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/kv5m_err.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/krb5.h\" \"${INCLUDE_HEADER_DIR}/krb5.h\"\n\nCatHeader \"${INCLUDE_HEADER_DIR}/gssapi/gssapi.h\" \\\n           \"${SRCROOT}/../Sources/lib/gssapi/generic/gssapi.hin\" \"__GSSAPI__\" \"GSS_\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/gssapi_err_generic.h\" \\\n           \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/ErrorTables/gssapi_err_krb5.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/gssapi.h\" \"${INCLUDE_HEADER_DIR}/gssapi/gssapi.h\"\n\nCopyHeader          \"${INCLUDE_HEADER_DIR}/gssapi/gssapi_generic.h\" \"${SRCROOT}/../../Kerberos5/Sources/lib/gssapi/generic/gssapi_generic.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/gssapi_generic.h\"      \"${INCLUDE_HEADER_DIR}/gssapi/gssapi_generic.h\"\n\nCopyHeader          \"${INCLUDE_HEADER_DIR}/gssapi/gssapi_krb5.h\" \"${BUILT_PRODUCTS_DIR}/Kerberos5.intermediates/build/lib/gssapi/krb5/gssapi_krb5.h\"\nMakeFrameworkHeader \"${FRAMEWORK_HEADER_DIR}/gssapi_krb5.h\"      \"${INCLUDE_HEADER_DIR}/gssapi/gssapi_krb5.h\"\n";
                };
-               F5C2DF170240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gssapi_err_generic.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               A1AB1DF005DDC40100526345 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1DF105DDC40100526345 /* weak_key.c in Sources */,
+                               A1AB1DF205DDC40100526345 /* util.c in Sources */,
+                               A1AB1DF305DDC40100526345 /* cksum.c in Sources */,
+                               A1AB1DF405DDC40100526345 /* des.c in Sources */,
+                               A1AB1DF505DDC40100526345 /* enc_dec.c in Sources */,
+                               A1AB1DF605DDC40100526345 /* key_parity.c in Sources */,
+                               A1AB1DF705DDC40100526345 /* key_sched.c in Sources */,
+                               A1AB1DF805DDC40100526345 /* new_rnd_key.c in Sources */,
+                               A1AB1DF905DDC40100526345 /* pcbc_encrypt.c in Sources */,
+                               A1AB1DFA05DDC40100526345 /* quad_cksum.c in Sources */,
+                               A1AB1DFB05DDC40100526345 /* random_key.c in Sources */,
+                               A1AB1DFC05DDC40100526345 /* read_passwd.c in Sources */,
+                               A1AB1DFD05DDC40100526345 /* str_to_key.c in Sources */,
+                               A1AB1DFE05DDC40100526345 /* mac_des_glue.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F5C2DF180240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_err_generic.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E1705DDC43000526345 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1E1805DDC43000526345 /* prof_file.c in Sources */,
+                               A1AB1E1905DDC43000526345 /* prof_get.c in Sources */,
+                               A1AB1E1A05DDC43000526345 /* prof_init.c in Sources */,
+                               A1AB1E1B05DDC43000526345 /* prof_parse.c in Sources */,
+                               A1AB1E1C05DDC43000526345 /* prof_set.c in Sources */,
+                               A1AB1E1D05DDC43000526345 /* prof_tree.c in Sources */,
+                               A1AB1E1E05DDC43000526345 /* prof_FSp_glue.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F5C2DF190240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = gssapi_err_generic.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E3505DDC45F00526345 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1E3605DDC45F00526345 /* mk_priv.c in Sources */,
+                               A1AB1E3705DDC45F00526345 /* mk_req.c in Sources */,
+                               A1AB1E3805DDC45F00526345 /* mk_safe.c in Sources */,
+                               A1AB1E3905DDC45F00526345 /* month_sname.c in Sources */,
+                               A1AB1E3A05DDC45F00526345 /* pkt_cipher.c in Sources */,
+                               A1AB1E3B05DDC45F00526345 /* pkt_clen.c in Sources */,
+                               A1AB1E3C05DDC45F00526345 /* prot_client.c in Sources */,
+                               A1AB1E3D05DDC45F00526345 /* prot_common.c in Sources */,
+                               A1AB1E3E05DDC45F00526345 /* prot_kdc.c in Sources */,
+                               A1AB1E3F05DDC45F00526345 /* rd_err.c in Sources */,
+                               A1AB1E4005DDC45F00526345 /* rd_priv.c in Sources */,
+                               A1AB1E4105DDC45F00526345 /* rd_safe.c in Sources */,
+                               A1AB1E4205DDC45F00526345 /* RealmsConfig-glue.c in Sources */,
+                               A1AB1E4305DDC45F00526345 /* send_to_kdc.c in Sources */,
+                               A1AB1E4405DDC45F00526345 /* stime.c in Sources */,
+                               A1AB1E4505DDC45F00526345 /* strnlen.c in Sources */,
+                               A1AB1E4605DDC45F00526345 /* rd_preauth.c in Sources */,
+                               A1AB1E4705DDC45F00526345 /* mk_preauth.c in Sources */,
+                               A1AB1E4805DDC45F00526345 /* CCache-glue.c in Sources */,
+                               A1AB1E4905DDC45F00526345 /* change_password.c in Sources */,
+                               A1AB1E4A05DDC45F00526345 /* cr_auth_repl.c in Sources */,
+                               A1AB1E4B05DDC45F00526345 /* cr_ciph.c in Sources */,
+                               A1AB1E4C05DDC45F00526345 /* cr_tkt.c in Sources */,
+                               A1AB1E4D05DDC45F00526345 /* debug.c in Sources */,
+                               A1AB1E4E05DDC45F00526345 /* decomp_tkt.c in Sources */,
+                               A1AB1E4F05DDC45F00526345 /* g_ad_tkt.c in Sources */,
+                               A1AB1E5005DDC45F00526345 /* g_in_tkt.c in Sources */,
+                               A1AB1E5105DDC45F00526345 /* g_phost.c in Sources */,
+                               A1AB1E5205DDC45F00526345 /* g_pw_in_tkt.c in Sources */,
+                               A1AB1E5305DDC45F00526345 /* g_pw_tkt.c in Sources */,
+                               A1AB1E5405DDC45F00526345 /* gethostname.c in Sources */,
+                               A1AB1E5505DDC45F00526345 /* getst.c in Sources */,
+                               A1AB1E5605DDC45F00526345 /* kadm_net.c in Sources */,
+                               A1AB1E5705DDC45F00526345 /* kadm_stream.c in Sources */,
+                               A1AB1E5805DDC45F00526345 /* kname_parse.c in Sources */,
+                               A1AB1E5905DDC45F00526345 /* lifetime.c in Sources */,
+                               A1AB1E5A05DDC45F00526345 /* mk_auth.c in Sources */,
+                               A1AB1E5B05DDC45F00526345 /* mk_err.c in Sources */,
+                               A1AB1E5C05DDC45F00526345 /* password_to_key.c in Sources */,
+                               A1AB1E5D05DDC45F00526345 /* netread.c in Sources */,
+                               A1AB1E5E05DDC45F00526345 /* netwrite.c in Sources */,
+                               A1AB1E5F05DDC45F00526345 /* err_txt.c in Sources */,
+                               A1AB1E6005DDC45F00526345 /* unix_time.c in Sources */,
+                               A1AB1E6105DDC45F00526345 /* FSp-glue.c in Sources */,
+                               A1AB1E6205DDC45F00526345 /* g_cnffile.c in Sources */,
+                               A1AB1E6305DDC45F00526345 /* g_svc_in_tkt.c in Sources */,
+                               A1AB1E6405DDC45F00526345 /* kntoln.c in Sources */,
+                               A1AB1E6505DDC45F00526345 /* put_svc_key.c in Sources */,
+                               A1AB1E6605DDC45F00526345 /* rd_req.c in Sources */,
+                               A1AB1E6705DDC45F00526345 /* rd_svc_key.c in Sources */,
+                               A1AB1E6805DDC45F00526345 /* recvauth.c in Sources */,
+                               A1AB1E6905DDC45F00526345 /* sendauth.c in Sources */,
+                               A1AB1E6A05DDC45F00526345 /* kuserok.c in Sources */,
+                               A1AB1E6B05DDC45F00526345 /* g_tkt_svc.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F5C2DF1A0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = gssapi_err_krb5.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1EB905DDC47800526345 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1EBA05DDC47800526345 /* krb5_libinit.c in Sources */,
+                               A1AB1EBB05DDC47800526345 /* accessor.c in Sources */,
+                               A1AB1EBC05DDC47800526345 /* an_to_ln.c in Sources */,
+                               A1AB1EBD05DDC47800526345 /* c_ustime.c in Sources */,
+                               A1AB1EBE05DDC47800526345 /* ccdefname.c in Sources */,
+                               A1AB1EBF05DDC47800526345 /* changepw.c in Sources */,
+                               A1AB1EC005DDC47800526345 /* def_realm.c in Sources */,
+                               A1AB1EC105DDC47800526345 /* free_hstrl.c in Sources */,
+                               A1AB1EC205DDC47800526345 /* free_krbhs.c in Sources */,
+                               A1AB1EC305DDC47800526345 /* full_ipadr.c in Sources */,
+                               A1AB1EC405DDC47800526345 /* gen_port.c in Sources */,
+                               A1AB1EC505DDC47800526345 /* gen_rname.c in Sources */,
+                               A1AB1EC605DDC47800526345 /* genaddrs.c in Sources */,
+                               A1AB1EC705DDC47800526345 /* get_krbhst.c in Sources */,
+                               A1AB1EC805DDC47800526345 /* gmt_mktime.c in Sources */,
+                               A1AB1EC905DDC47800526345 /* hostaddr.c in Sources */,
+                               A1AB1ECA05DDC47800526345 /* hst_realm.c in Sources */,
+                               A1AB1ECB05DDC47800526345 /* krbfileio.c in Sources */,
+                               A1AB1ECC05DDC47800526345 /* init_os_ctx.c in Sources */,
+                               A1AB1ECD05DDC47800526345 /* ktdefname.c in Sources */,
+                               A1AB1ECE05DDC47800526345 /* kuserok.c in Sources */,
+                               A1AB1ECF05DDC47800526345 /* localaddr.c in Sources */,
+                               A1AB1ED005DDC47800526345 /* locate_kdc.c in Sources */,
+                               A1AB1ED105DDC47800526345 /* lock_file.c in Sources */,
+                               A1AB1ED205DDC47800526345 /* mk_faddr.c in Sources */,
+                               A1AB1ED305DDC47800526345 /* net_read.c in Sources */,
+                               A1AB1ED405DDC47800526345 /* net_write.c in Sources */,
+                               A1AB1ED505DDC47800526345 /* osconfig.c in Sources */,
+                               A1AB1ED605DDC47800526345 /* port2ip.c in Sources */,
+                               A1AB1ED705DDC47800526345 /* prompter.c in Sources */,
+                               A1AB1ED805DDC47800526345 /* promptusr.c in Sources */,
+                               A1AB1ED905DDC47800526345 /* read_msg.c in Sources */,
+                               A1AB1EDA05DDC47800526345 /* read_pwd.c in Sources */,
+                               A1AB1EDB05DDC47800526345 /* realm_dom.c in Sources */,
+                               A1AB1EDC05DDC47800526345 /* realm_iter.c in Sources */,
+                               A1AB1EDD05DDC47800526345 /* sendto_kdc.c in Sources */,
+                               A1AB1EDE05DDC47800526345 /* sn2princ.c in Sources */,
+                               A1AB1EDF05DDC47800526345 /* timeofday.c in Sources */,
+                               A1AB1EE005DDC47800526345 /* toffset.c in Sources */,
+                               A1AB1EE105DDC47800526345 /* unlck_file.c in Sources */,
+                               A1AB1EE205DDC47800526345 /* ustime.c in Sources */,
+                               A1AB1EE305DDC47800526345 /* write_msg.c in Sources */,
+                               A1AB1EE405DDC47800526345 /* asn1_decode.c in Sources */,
+                               A1AB1EE505DDC47800526345 /* asn1_encode.c in Sources */,
+                               A1AB1EE605DDC47800526345 /* asn1_get.c in Sources */,
+                               A1AB1EE705DDC47800526345 /* asn1_make.c in Sources */,
+                               A1AB1EE805DDC47800526345 /* asn1buf.c in Sources */,
+                               A1AB1EE905DDC47800526345 /* krb5_decode.c in Sources */,
+                               A1AB1EEA05DDC47800526345 /* krb5_encode.c in Sources */,
+                               A1AB1EEB05DDC47800526345 /* asn1_misc.c in Sources */,
+                               A1AB1EEC05DDC47800526345 /* asn1_k_decode.c in Sources */,
+                               A1AB1EED05DDC47800526345 /* asn1_k_encode.c in Sources */,
+                               A1AB1EEE05DDC47800526345 /* cc_file.c in Sources */,
+                               A1AB1EEF05DDC47800526345 /* cc_memory.c in Sources */,
+                               A1AB1EF005DDC47800526345 /* cc_retr.c in Sources */,
+                               A1AB1EF105DDC47800526345 /* ccbase.c in Sources */,
+                               A1AB1EF205DDC47800526345 /* cccopy.c in Sources */,
+                               A1AB1EF305DDC47800526345 /* ccdefault.c in Sources */,
+                               A1AB1EF405DDC47800526345 /* ccdefops.c in Sources */,
+                               A1AB1EF505DDC47800526345 /* ccfns.c in Sources */,
+                               A1AB1EF605DDC47800526345 /* ser_cc.c in Sources */,
+                               A1AB1EF705DDC47800526345 /* stdcc.c in Sources */,
+                               A1AB1EF805DDC47800526345 /* stdcc_util.c in Sources */,
+                               A1AB1EF905DDC47800526345 /* init_ets.c in Sources */,
+                               A1AB1EFA05DDC47800526345 /* kt_file.c in Sources */,
+                               A1AB1EFB05DDC47800526345 /* kt_srvtab.c in Sources */,
+                               A1AB1EFC05DDC47800526345 /* ktadd.c in Sources */,
+                               A1AB1EFD05DDC47800526345 /* ktbase.c in Sources */,
+                               A1AB1EFE05DDC47800526345 /* ktdefault.c in Sources */,
+                               A1AB1EFF05DDC47800526345 /* ktfns.c in Sources */,
+                               A1AB1F0005DDC47800526345 /* ktfr_entry.c in Sources */,
+                               A1AB1F0105DDC47800526345 /* ktremove.c in Sources */,
+                               A1AB1F0205DDC47800526345 /* read_servi.c in Sources */,
+                               A1AB1F0305DDC47800526345 /* addr_comp.c in Sources */,
+                               A1AB1F0405DDC47800526345 /* addr_order.c in Sources */,
+                               A1AB1F0505DDC47800526345 /* addr_srch.c in Sources */,
+                               A1AB1F0605DDC47800526345 /* appdefault.c in Sources */,
+                               A1AB1F0705DDC47800526345 /* auth_con.c in Sources */,
+                               A1AB1F0805DDC47800526345 /* bld_pr_ext.c in Sources */,
+                               A1AB1F0905DDC47800526345 /* bld_princ.c in Sources */,
+                               A1AB1F0A05DDC47800526345 /* chk_trans.c in Sources */,
+                               A1AB1F0B05DDC47800526345 /* chpw.c in Sources */,
+                               A1AB1F0C05DDC47800526345 /* conv_princ.c in Sources */,
+                               A1AB1F0D05DDC47800526345 /* copy_addrs.c in Sources */,
+                               A1AB1F0E05DDC47800526345 /* copy_athctr.c in Sources */,
+                               A1AB1F0F05DDC47800526345 /* copy_auth.c in Sources */,
+                               A1AB1F1005DDC47800526345 /* copy_cksum.c in Sources */,
+                               A1AB1F1105DDC47800526345 /* copy_creds.c in Sources */,
+                               A1AB1F1205DDC47800526345 /* copy_data.c in Sources */,
+                               A1AB1F1305DDC47800526345 /* copy_key.c in Sources */,
+                               A1AB1F1405DDC47800526345 /* copy_princ.c in Sources */,
+                               A1AB1F1505DDC47800526345 /* copy_tick.c in Sources */,
+                               A1AB1F1605DDC47800526345 /* cp_key_cnt.c in Sources */,
+                               A1AB1F1705DDC47800526345 /* decode_kdc.c in Sources */,
+                               A1AB1F1805DDC47800526345 /* decrypt_tk.c in Sources */,
+                               A1AB1F1905DDC47800526345 /* deltat.c in Sources */,
+                               A1AB1F1A05DDC47800526345 /* enc_helper.c in Sources */,
+                               A1AB1F1B05DDC47800526345 /* encode_kdc.c in Sources */,
+                               A1AB1F1C05DDC47800526345 /* encrypt_tk.c in Sources */,
+                               A1AB1F1D05DDC47800526345 /* free_rtree.c in Sources */,
+                               A1AB1F1E05DDC47800526345 /* gc_frm_kdc.c in Sources */,
+                               A1AB1F1F05DDC47800526345 /* fwd_tgt.c in Sources */,
+                               A1AB1F2005DDC47800526345 /* gc_via_tkt.c in Sources */,
+                               A1AB1F2105DDC47800526345 /* gen_seqnum.c in Sources */,
+                               A1AB1F2205DDC47800526345 /* gen_subkey.c in Sources */,
+                               A1AB1F2305DDC47800526345 /* get_creds.c in Sources */,
+                               A1AB1F2405DDC47800526345 /* get_in_tkt.c in Sources */,
+                               A1AB1F2505DDC47800526345 /* gic_keytab.c in Sources */,
+                               A1AB1F2605DDC47800526345 /* gic_opt.c in Sources */,
+                               A1AB1F2705DDC47800526345 /* gic_pwd.c in Sources */,
+                               A1AB1F2805DDC47800526345 /* in_tkt_sky.c in Sources */,
+                               A1AB1F2905DDC47800526345 /* init_ctx.c in Sources */,
+                               A1AB1F2A05DDC47800526345 /* init_keyblock.c in Sources */,
+                               A1AB1F2B05DDC47800526345 /* kdc_rep_dc.c in Sources */,
+                               A1AB1F2C05DDC47800526345 /* kfree.c in Sources */,
+                               A1AB1F2D05DDC47800526345 /* mk_cred.c in Sources */,
+                               A1AB1F2E05DDC47800526345 /* mk_error.c in Sources */,
+                               A1AB1F2F05DDC47800526345 /* mk_priv.c in Sources */,
+                               A1AB1F3005DDC47800526345 /* mk_rep.c in Sources */,
+                               A1AB1F3105DDC47800526345 /* mk_req.c in Sources */,
+                               A1AB1F3205DDC47800526345 /* mk_req_ext.c in Sources */,
+                               A1AB1F3305DDC47800526345 /* mk_safe.c in Sources */,
+                               A1AB1F3405DDC47800526345 /* parse.c in Sources */,
+                               A1AB1F3505DDC47800526345 /* pr_to_salt.c in Sources */,
+                               A1AB1F3605DDC47800526345 /* preauth.c in Sources */,
+                               A1AB1F3705DDC47800526345 /* preauth2.c in Sources */,
+                               A1AB1F3805DDC47800526345 /* princ_comp.c in Sources */,
+                               A1AB1F3905DDC47800526345 /* rd_cred.c in Sources */,
+                               A1AB1F3A05DDC47800526345 /* rd_error.c in Sources */,
+                               A1AB1F3B05DDC47800526345 /* rd_priv.c in Sources */,
+                               A1AB1F3C05DDC47800526345 /* rd_rep.c in Sources */,
+                               A1AB1F3D05DDC47800526345 /* rd_req.c in Sources */,
+                               A1AB1F3E05DDC47800526345 /* rd_req_dec.c in Sources */,
+                               A1AB1F3F05DDC47800526345 /* rd_safe.c in Sources */,
+                               A1AB1F4005DDC47800526345 /* recvauth.c in Sources */,
+                               A1AB1F4105DDC47800526345 /* send_tgs.c in Sources */,
+                               A1AB1F4205DDC47800526345 /* sendauth.c in Sources */,
+                               A1AB1F4305DDC47800526345 /* ser_actx.c in Sources */,
+                               A1AB1F4405DDC47800526345 /* ser_adata.c in Sources */,
+                               A1AB1F4505DDC47800526345 /* ser_addr.c in Sources */,
+                               A1AB1F4605DDC47800526345 /* ser_auth.c in Sources */,
+                               A1AB1F4705DDC47800526345 /* ser_cksum.c in Sources */,
+                               A1AB1F4805DDC47800526345 /* ser_ctx.c in Sources */,
+                               A1AB1F4905DDC47800526345 /* ser_eblk.c in Sources */,
+                               A1AB1F4A05DDC47800526345 /* ser_key.c in Sources */,
+                               A1AB1F4B05DDC47800526345 /* ser_princ.c in Sources */,
+                               A1AB1F4C05DDC47800526345 /* serialize.c in Sources */,
+                               A1AB1F4D05DDC47800526345 /* set_realm.c in Sources */,
+                               A1AB1F4E05DDC47800526345 /* srv_rcache.c in Sources */,
+                               A1AB1F4F05DDC47800526345 /* str_conv.c in Sources */,
+                               A1AB1F5005DDC47800526345 /* tgtname.c in Sources */,
+                               A1AB1F5105DDC47800526345 /* unparse.c in Sources */,
+                               A1AB1F5205DDC47800526345 /* valid_times.c in Sources */,
+                               A1AB1F5305DDC47800526345 /* vfy_increds.c in Sources */,
+                               A1AB1F5405DDC47800526345 /* vic_opt.c in Sources */,
+                               A1AB1F5505DDC47800526345 /* walk_rtree.c in Sources */,
+                               A1AB1F5705DDC47800526345 /* rc_base.c in Sources */,
+                               A1AB1F5805DDC47800526345 /* rc_conv.c in Sources */,
+                               A1AB1F5905DDC47800526345 /* rc_dfl.c in Sources */,
+                               A1AB1F5A05DDC47800526345 /* rc_io.c in Sources */,
+                               A1AB1F5B05DDC47800526345 /* rcdef.c in Sources */,
+                               A1AB1F5C05DDC47800526345 /* rcfns.c in Sources */,
+                               A1AB1F5D05DDC47800526345 /* ser_rc.c in Sources */,
+                               A1AB1F5E05DDC47800526345 /* block_size.c in Sources */,
+                               A1AB1F5F05DDC47800526345 /* checksum_length.c in Sources */,
+                               A1AB1F6005DDC47800526345 /* cksumtype_to_string.c in Sources */,
+                               A1AB1F6105DDC47800526345 /* cksumtypes.c in Sources */,
+                               A1AB1F6205DDC47800526345 /* coll_proof_cksum.c in Sources */,
+                               A1AB1F6305DDC47800526345 /* combine_keys.c in Sources */,
+                               A1AB1F6405DDC47800526345 /* crypto_libinit.c in Sources */,
+                               A1AB1F6505DDC47800526345 /* decrypt.c in Sources */,
+                               A1AB1F6605DDC47800526345 /* default_state.c in Sources */,
+                               A1AB1F6705DDC47800526345 /* encrypt.c in Sources */,
+                               A1AB1F6805DDC47800526345 /* encrypt_length.c in Sources */,
+                               A1AB1F6905DDC47800526345 /* enctype_compare.c in Sources */,
+                               A1AB1F6A05DDC47800526345 /* enctype_to_string.c in Sources */,
+                               A1AB1F6B05DDC47800526345 /* etypes.c in Sources */,
+                               A1AB1F6C05DDC47800526345 /* hmac.c in Sources */,
+                               A1AB1F6D05DDC47800526345 /* keyed_checksum_types.c in Sources */,
+                               A1AB1F6E05DDC47800526345 /* keyed_cksum.c in Sources */,
+                               A1AB1F6F05DDC47800526345 /* make_checksum.c in Sources */,
+                               A1AB1F7005DDC47800526345 /* make_random_key.c in Sources */,
+                               A1AB1F7105DDC47800526345 /* nfold.c in Sources */,
+                               A1AB1F7205DDC47800526345 /* old_api_glue.c in Sources */,
+                               A1AB1F7305DDC47800526345 /* pbkdf2.c in Sources */,
+                               A1AB1F7405DDC47800526345 /* prng.c in Sources */,
+                               A1AB1F7505DDC47800526345 /* state.c in Sources */,
+                               A1AB1F7605DDC47800526345 /* string_to_cksumtype.c in Sources */,
+                               A1AB1F7705DDC47800526345 /* string_to_enctype.c in Sources */,
+                               A1AB1F7805DDC47800526345 /* string_to_key.c in Sources */,
+                               A1AB1F7905DDC47800526345 /* valid_cksumtype.c in Sources */,
+                               A1AB1F7A05DDC47800526345 /* valid_enctype.c in Sources */,
+                               A1AB1F7B05DDC47800526345 /* verify_checksum.c in Sources */,
+                               A1AB1F7C05DDC47800526345 /* aescrypt.c in Sources */,
+                               A1AB1F7D05DDC47800526345 /* aeskey.c in Sources */,
+                               A1AB1F7E05DDC47800526345 /* aestab.c in Sources */,
+                               A1AB1F7F05DDC47800526345 /* arcfour.c in Sources */,
+                               A1AB1F8005DDC47800526345 /* string_to_key.c in Sources */,
+                               A1AB1F8105DDC47800526345 /* crc32.c in Sources */,
+                               A1AB1F8205DDC47800526345 /* afsstring2key.c in Sources */,
+                               A1AB1F8305DDC47800526345 /* d3_cbc.c in Sources */,
+                               A1AB1F8405DDC47800526345 /* d3_kysched.c in Sources */,
+                               A1AB1F8505DDC47800526345 /* f_cbc.c in Sources */,
+                               A1AB1F8605DDC47800526345 /* f_cksum.c in Sources */,
+                               A1AB1F8705DDC47800526345 /* f_parity.c in Sources */,
+                               A1AB1F8805DDC47800526345 /* f_sched.c in Sources */,
+                               A1AB1F8905DDC47800526345 /* f_tables.c in Sources */,
+                               A1AB1F8A05DDC47800526345 /* key_sched.c in Sources */,
+                               A1AB1F8B05DDC47800526345 /* string2key.c in Sources */,
+                               A1AB1F8C05DDC47800526345 /* weak_key.c in Sources */,
+                               A1AB1F8D05DDC47800526345 /* checksum.c in Sources */,
+                               A1AB1F8E05DDC47800526345 /* derive.c in Sources */,
+                               A1AB1F8F05DDC47800526345 /* dk_decrypt.c in Sources */,
+                               A1AB1F9005DDC47800526345 /* dk_encrypt.c in Sources */,
+                               A1AB1F9105DDC47800526345 /* stringtokey.c in Sources */,
+                               A1AB1F9205DDC47800526345 /* des.c in Sources */,
+                               A1AB1F9305DDC47800526345 /* des3.c in Sources */,
+                               A1AB1F9405DDC47800526345 /* arcfour.c in Sources */,
+                               A1AB1F9505DDC47800526345 /* aes.c in Sources */,
+                               A1AB1F9605DDC47800526345 /* hash_crc32.c in Sources */,
+                               A1AB1F9705DDC47800526345 /* hash_md4.c in Sources */,
+                               A1AB1F9805DDC47800526345 /* hash_md5.c in Sources */,
+                               A1AB1F9905DDC47800526345 /* hash_sha1.c in Sources */,
+                               A1AB1F9A05DDC47800526345 /* descbc.c in Sources */,
+                               A1AB1F9B05DDC47800526345 /* hmac_md5.c in Sources */,
+                               A1AB1F9C05DDC47800526345 /* k5_md4des.c in Sources */,
+                               A1AB1F9D05DDC47800526345 /* k5_md5des.c in Sources */,
+                               A1AB1F9E05DDC47800526345 /* md4.c in Sources */,
+                               A1AB1F9F05DDC47800526345 /* md5.c in Sources */,
+                               A1AB1FA005DDC47800526345 /* old_decrypt.c in Sources */,
+                               A1AB1FA105DDC47800526345 /* old_encrypt.c in Sources */,
+                               A1AB1FA205DDC47800526345 /* des_stringtokey.c in Sources */,
+                               A1AB1FA305DDC47800526345 /* raw_decrypt.c in Sources */,
+                               A1AB1FA405DDC47800526345 /* raw_encrypt.c in Sources */,
+                               A1AB1FA505DDC47800526345 /* shs.c in Sources */,
+                               A1AB1FA605DDC47800526345 /* yarrow.c in Sources */,
+                               A1AB1FA705DDC47800526345 /* ycipher.c in Sources */,
+                               A1AB1FA805DDC47800526345 /* aes_s2k.c in Sources */,
+                               A1AB1FA905DDC47800526345 /* conv_creds.c in Sources */,
+                               A1AB1FAA05DDC47800526345 /* v4lifetime.c in Sources */,
+                               A1AB1FAB05DDC47800526345 /* send524.c in Sources */,
+                               A1AB1FAC05DDC47800526345 /* mandatory_sumtype.c in Sources */,
+                               A1AB1FAD05DDC47800526345 /* dnssrv.c in Sources */,
+                               A1D256F206A713A600A9EC13 /* threads.c in Sources */,
+                               A1A6783206C3D47F00EC826E /* fake-addrinfo.c in Sources */,
+                               A1A6784406C3D82500EC826E /* rc_none.c in Sources */,
+                               A1CA43BD06E3D0D400F35E9C /* pkinit_apple_asn1.c in Sources */,
+                               A1CA43BE06E3D0D400F35E9C /* pkinit_apple_cert_store.c in Sources */,
+                               A1CA43BF06E3D0D400F35E9C /* pkinit_apple_client.c in Sources */,
+                               A1CA43C006E3D0D400F35E9C /* pkinit_apple_cms.c in Sources */,
+                               A1CA43C106E3D0D400F35E9C /* pkinit_apple_utils.c in Sources */,
+                               A1D62991070C8AD70015C908 /* dnsglue.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F5C2DF1B0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = gssapi_err_krb5.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1FC805DDC48A00526345 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               A1AB1FC905DDC48A00526345 /* gss_libinit.c in Sources */,
+                               A1AB1FCA05DDC48A00526345 /* disp_com_err_status.c in Sources */,
+                               A1AB1FCB05DDC48A00526345 /* disp_major_status.c in Sources */,
+                               A1AB1FCC05DDC48A00526345 /* gssapi_generic.c in Sources */,
+                               A1AB1FCD05DDC48A00526345 /* oid_ops.c in Sources */,
+                               A1AB1FCE05DDC48A00526345 /* rel_buffer.c in Sources */,
+                               A1AB1FCF05DDC48A00526345 /* rel_oid_set.c in Sources */,
+                               A1AB1FD005DDC48A00526345 /* util_buffer.c in Sources */,
+                               A1AB1FD105DDC48A00526345 /* util_oid.c in Sources */,
+                               A1AB1FD205DDC48A00526345 /* util_ordering.c in Sources */,
+                               A1AB1FD305DDC48A00526345 /* util_set.c in Sources */,
+                               A1AB1FD405DDC48A00526345 /* util_token.c in Sources */,
+                               A1AB1FD505DDC48A00526345 /* util_validate.c in Sources */,
+                               A1AB1FD605DDC48A00526345 /* accept_sec_context.c in Sources */,
+                               A1AB1FD705DDC48A00526345 /* acquire_cred.c in Sources */,
+                               A1AB1FD805DDC48A00526345 /* add_cred.c in Sources */,
+                               A1AB1FD905DDC48A00526345 /* canon_name.c in Sources */,
+                               A1AB1FDA05DDC48A00526345 /* compare_name.c in Sources */,
+                               A1AB1FDB05DDC48A00526345 /* context_time.c in Sources */,
+                               A1AB1FDC05DDC48A00526345 /* copy_ccache.c in Sources */,
+                               A1AB1FDD05DDC48A00526345 /* delete_sec_context.c in Sources */,
+                               A1AB1FDE05DDC48A00526345 /* disp_name.c in Sources */,
+                               A1AB1FDF05DDC48A00526345 /* disp_status.c in Sources */,
+                               A1AB1FE005DDC48A00526345 /* duplicate_name.c in Sources */,
+                               A1AB1FE105DDC48A00526345 /* export_name.c in Sources */,
+                               A1AB1FE205DDC48A00526345 /* export_sec_context.c in Sources */,
+                               A1AB1FE305DDC48A00526345 /* get_tkt_flags.c in Sources */,
+                               A1AB1FE405DDC48A00526345 /* gssapi_krb5.c in Sources */,
+                               A1AB1FE505DDC48A00526345 /* import_name.c in Sources */,
+                               A1AB1FE605DDC48A00526345 /* indicate_mechs.c in Sources */,
+                               A1AB1FE705DDC48A00526345 /* import_sec_context.c in Sources */,
+                               A1AB1FE805DDC48A00526345 /* init_sec_context.c in Sources */,
+                               A1AB1FE905DDC48A00526345 /* inq_context.c in Sources */,
+                               A1AB1FEA05DDC48A00526345 /* inq_cred.c in Sources */,
+                               A1AB1FEB05DDC48A00526345 /* inq_names.c in Sources */,
+                               A1AB1FEC05DDC48A00526345 /* k5seal.c in Sources */,
+                               A1AB1FED05DDC48A00526345 /* k5unseal.c in Sources */,
+                               A1AB1FEE05DDC48A00526345 /* krb5_gss_glue.c in Sources */,
+                               A1AB1FEF05DDC48A00526345 /* process_context_token.c in Sources */,
+                               A1AB1FF005DDC48A00526345 /* rel_cred.c in Sources */,
+                               A1AB1FF105DDC48A00526345 /* rel_oid.c in Sources */,
+                               A1AB1FF205DDC48A00526345 /* seal.c in Sources */,
+                               A1AB1FF305DDC48A00526345 /* ser_sctx.c in Sources */,
+                               A1AB1FF405DDC48A00526345 /* set_ccache.c in Sources */,
+                               A1AB1FF505DDC48A00526345 /* sign.c in Sources */,
+                               A1AB1FF605DDC48A00526345 /* unseal.c in Sources */,
+                               A1AB1FF705DDC48A00526345 /* util_cksum.c in Sources */,
+                               A1AB1FF805DDC48A00526345 /* rel_name.c in Sources */,
+                               A1AB1FF905DDC48A00526345 /* util_crypt.c in Sources */,
+                               A1AB1FFA05DDC48A00526345 /* util_seed.c in Sources */,
+                               A1AB1FFB05DDC48A00526345 /* val_cred.c in Sources */,
+                               A1AB1FFC05DDC48A00526345 /* util_seqnum.c in Sources */,
+                               A1AB1FFD05DDC48A00526345 /* verify.c in Sources */,
+                               A1AB1FFE05DDC48A00526345 /* wrap_size_limit.c in Sources */,
+                               A1AB1FFF05DDC48A00526345 /* k5sealv3.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
                };
-               F5C2DF1C0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = gssapi_err_krb5.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+               A159A2D4088C5F5A004325D0 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1B7078B08731F4900F0C55D /* Autogenerated Headers */;
+                       targetProxy = A159A2D3088C5F5A004325D0 /* PBXContainerItemProxy */;
                };
-               F5C2DF1D0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kdb5_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A159A30A088D75A5004325D0 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1B7078B08731F4900F0C55D /* Autogenerated Headers */;
+                       targetProxy = A159A309088D75A5004325D0 /* PBXContainerItemProxy */;
                };
-               F5C2DF1E0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kdb5_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A159A30C088D75AD004325D0 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1B7078B08731F4900F0C55D /* Autogenerated Headers */;
+                       targetProxy = A159A30B088D75AD004325D0 /* PBXContainerItemProxy */;
                };
-               F5C2DF1F0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = kdb5_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E3205DDC45F00526345 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1AB1DEC05DDC40100526345 /* KerberosDES */;
+                       targetProxy = A181DA4505CEFC0400E4C246 /* PBXContainerItemProxy */;
                };
-               F5C2DF200240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krb524_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E3305DDC45F00526345 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1AB1E1005DDC43000526345 /* KerberosProfile */;
+                       targetProxy = A181DA4405CEFC0400E4C246 /* PBXContainerItemProxy */;
                };
-               F5C2DF210240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb524_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1AB1E8405DDC47700526345 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1AB1DEC05DDC40100526345 /* KerberosDES */;
+                       targetProxy = A181DA4905CEFC0400E4C246 /* PBXContainerItemProxy */;
                };
-               F5C2DF220240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = krb524_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B08C21087F25650063079F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1B08BF7087F22550063079F /* Error Tables */;
+                       targetProxy = A1B08C20087F25650063079F /* PBXContainerItemProxy */;
                };
-               F5C2DF230240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krb5_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7078708731F2C00F0C55D /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1B707610873129400F0C55D /* Configure */;
+                       targetProxy = A1B7078608731F2C00F0C55D /* PBXContainerItemProxy */;
                };
-               F5C2DF240240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb5_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7078D08731F5100F0C55D /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = A1B707610873129400F0C55D /* Configure */;
+                       targetProxy = A1B7078C08731F5100F0C55D /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+               A1518EBB086C85C40042CBBC /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosDES;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = YES;
+                       };
+                       name = Development;
                };
-               F5C2DF250240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = krb5_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518EBC086C85C40042CBBC /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosDES;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = NO;
+                       };
+                       name = Deployment;
                };
-               F5C2DF260240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kv5m_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518EBD086C85C40042CBBC /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosDES;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Default;
                };
-               F5C2DF270240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kv5m_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518EBF086C85C40042CBBC /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosProfile;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = YES;
+                       };
+                       name = Development;
                };
-               F5C2DF280240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = kv5m_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518EC0086C85C40042CBBC /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosProfile;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = NO;
+                       };
+                       name = Deployment;
                };
-               F5C2DF290240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = prof_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518EC1086C85C40042CBBC /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = KerberosProfile;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Default;
                };
-               F5C2DF2A0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = prof_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518EC3086C85C40042CBBC /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/include/kerberosIV",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosDebug/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = Kerberos4;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = YES;
+                       };
+                       name = Development;
                };
-               F5C2DF2B0240F9F601650119 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = prof_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518EC4086C85C40042CBBC /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/include/kerberosIV",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosDebug/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = Kerberos4;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = NO;
+                       };
+                       name = Deployment;
                };
-               F5CFD36E022D854401120112 = {
+               A1518EC5086C85C40042CBBC /* Default */ = {
+                       isa = XCBuildConfiguration;
                        buildSettings = {
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/include/kerberosIV",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../../Common/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosDebug/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = Kerberos4;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
                        };
-                       buildStyles = (
-                               F5CFD370022D854401120112,
-                               F5CFD371022D854401120112,
-                       );
-                       hasScannedForEncodings = 1;
-                       isa = PBXProject;
-                       mainGroup = F5CFD36F022D854401120112;
-                       productRefGroup = F5CFD5CB022D86AD01120112;
-                       projectDirPath = "";
-                       targets = (
-                               F5E59BD503FD803201120114,
-                               F5CFD5E6022D8A9901120112,
-                               F5CFD629022D922C01120112,
-                               A1AB1DEC05DDC40100526345,
-                               A1AB1E1005DDC43000526345,
-                               A1AB1E3005DDC45F00526345,
-                               A1AB1E8105DDC47700526345,
-                               A1AB1FBF05DDC48A00526345,
-                       );
-               };
-               F5CFD36F022D854401120112 = {
-                       children = (
-                               A1253783040BF7E6003D8244,
-                               A125378D040BFA0E003D8244,
-                               A1253784040BF80F003D8244,
-                               F5CFD5ED022D8B6001120112,
-                               F5CFD5EC022D8B6001120112,
-                               F5CFD5EE022D8B6001120112,
-                               F5172F7B03F1B65801120114,
-                               F5CFD5E4022D891701120112,
-                               F5CFD5CB022D86AD01120112,
-                       );
-                       isa = PBXGroup;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       name = Default;
                };
-               F5CFD370022D854401120112 = {
+               A1518EC7086C85C40042CBBC /* Development */ = {
+                       isa = XCBuildConfiguration;
                        buildSettings = {
                                COPY_PHASE_STRIP = NO;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
                                GCC_DYNAMIC_NO_PIC = NO;
                                GCC_ENABLE_FIX_AND_CONTINUE = YES;
                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
                                GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/aes",
+                                       "$(SRCROOT)/../Sources/lib/crypto",
+                                       "$(SRCROOT)/../Sources/lib/crypto/arcfour",
+                                       "$(SRCROOT)/../Sources/lib/crypto/enc_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/crc32",
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/lib/crypto/dk",
+                                       "$(SRCROOT)/../Sources/lib/crypto/hash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/keyhash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md4",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/old",
+                                       "$(SRCROOT)/../Sources/lib/crypto/raw",
+                                       "$(SRCROOT)/../Sources/lib/crypto/sha1",
+                                       "$(SRCROOT)/../Sources/lib/crypto/yarrow",
+                                       "$(SRCROOT)/../Sources/lib/krb5/os",
+                                       "$(SRCROOT)/../Sources/lib/krb5/keytab",
+                                       "$(SRCROOT)/../Sources/lib/krb5/rcache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache/ccapi",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = Kerberos5;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
                                ZERO_LINK = YES;
                        };
-                       isa = PBXBuildStyle;
                        name = Development;
                };
-               F5CFD371022D854401120112 = {
+               A1518EC8086C85C40042CBBC /* Deployment */ = {
+                       isa = XCBuildConfiguration;
                        buildSettings = {
                                COPY_PHASE_STRIP = YES;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
                                GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/aes",
+                                       "$(SRCROOT)/../Sources/lib/crypto",
+                                       "$(SRCROOT)/../Sources/lib/crypto/arcfour",
+                                       "$(SRCROOT)/../Sources/lib/crypto/enc_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/crc32",
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/lib/crypto/dk",
+                                       "$(SRCROOT)/../Sources/lib/crypto/hash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/keyhash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md4",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/old",
+                                       "$(SRCROOT)/../Sources/lib/crypto/raw",
+                                       "$(SRCROOT)/../Sources/lib/crypto/sha1",
+                                       "$(SRCROOT)/../Sources/lib/crypto/yarrow",
+                                       "$(SRCROOT)/../Sources/lib/krb5/os",
+                                       "$(SRCROOT)/../Sources/lib/krb5/keytab",
+                                       "$(SRCROOT)/../Sources/lib/krb5/rcache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache/ccapi",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = Kerberos5;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
                                ZERO_LINK = NO;
                        };
-                       isa = PBXBuildStyle;
                        name = Deployment;
                };
-               F5CFD5CB022D86AD01120112 = {
-                       children = (
-                               A1AB1E0205DDC40100526345,
-                               A1AB1E2205DDC43000526345,
-                               A1AB1E6F05DDC45F00526345,
-                               A1AB1FB105DDC47800526345,
-                               A1AB200305DDC48A00526345,
-                       );
-                       isa = PBXGroup;
-                       name = Products;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5CFD5E4022D891701120112 = {
-                       children = (
-                               F5E59BD403FD7D5301120114,
-                               F5CFD5E5022D891701120112,
-                               F5CFD60D022D8BD601120112,
-                               A1474D05066D13E700CA2AA8,
-                       );
-                       isa = PBXGroup;
-                       name = Scripts;
-                       path = ../Scripts;
-                       refType = 2;
-                       sourceTree = SOURCE_ROOT;
-               };
-               F5CFD5E5022D891701120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.jam;
-                       path = Kerberos5Errors.jam;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5CFD5E6022D8A9901120112 = {
-                       buildArgumentsString = "-d3 \"-sJAMFILE=$(SRCROOT)/../Scripts/Kerberos5Errors.jam\" $(ACTION)";
-                       buildPhases = (
-                       );
+               A1518EC9086C85C40042CBBC /* Default */ = {
+                       isa = XCBuildConfiguration;
                        buildSettings = {
-                               PRODUCT_NAME = "Error Table Generation";
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/aes",
+                                       "$(SRCROOT)/../Sources/lib/crypto",
+                                       "$(SRCROOT)/../Sources/lib/crypto/arcfour",
+                                       "$(SRCROOT)/../Sources/lib/crypto/enc_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/crc32",
+                                       "$(SRCROOT)/../Sources/lib/crypto/des",
+                                       "$(SRCROOT)/../Sources/lib/crypto/dk",
+                                       "$(SRCROOT)/../Sources/lib/crypto/hash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/keyhash_provider",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md4",
+                                       "$(SRCROOT)/../Sources/lib/crypto/md5",
+                                       "$(SRCROOT)/../Sources/lib/crypto/old",
+                                       "$(SRCROOT)/../Sources/lib/crypto/raw",
+                                       "$(SRCROOT)/../Sources/lib/crypto/sha1",
+                                       "$(SRCROOT)/../Sources/lib/crypto/yarrow",
+                                       "$(SRCROOT)/../Sources/lib/krb5/os",
+                                       "$(SRCROOT)/../Sources/lib/krb5/keytab",
+                                       "$(SRCROOT)/../Sources/lib/krb5/rcache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache",
+                                       "$(SRCROOT)/../Sources/lib/krb5/ccache/ccapi",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers",
+                                       "$(SRCROOT)/../../CredentialsCache/Headers/Kerberos",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers",
+                                       "$(SRCROOT)/../../KerberosLogin/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = Kerberos5;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
                        };
-                       buildToolPath = /Developer/Private/jam;
-                       dependencies = (
-                       );
-                       isa = PBXLegacyTarget;
-                       name = "Error Table Generation";
-                       passBuildSettingsInEnvironment = 1;
-                       productName = "Error Table Generation";
-               };
-               F5CFD5EC022D8B6001120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = GSS.pbexp;
-                       refType = 2;
-                       sourceTree = SOURCE_ROOT;
-               };
-               F5CFD5ED022D8B6001120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = Kerberos5.pbexp;
-                       refType = 2;
-                       sourceTree = SOURCE_ROOT;
-               };
-               F5CFD5EE022D8B6001120112 = {
-                       children = (
-                               F5E265DF03F443E901120114,
-                               F5E266F503F443EA01120114,
-                               F5C2DF100240F9F601650119,
-                               A12537EA040C0795003D8244,
-                               A12537EF040C0795003D8244,
-                       );
-                       isa = PBXGroup;
-                       path = Kerberos5.intermediates;
-                       refType = 3;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-               F5CFD60D022D8BD601120112 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.jam;
-                       lineEnding = 0;
-                       path = Kerberos5Headers.jam;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       name = Default;
                };
-               F5CFD629022D922C01120112 = {
-                       buildArgumentsString = "-d3 \"-sJAMFILE=$(SRCROOT)/../Scripts/Kerberos5Headers.jam\" $(ACTION)";
-                       buildPhases = (
-                       );
+               A1518ECB086C85C40042CBBC /* Development */ = {
+                       isa = XCBuildConfiguration;
                        buildSettings = {
-                               PRODUCT_NAME = "Header Generation";
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
+                               COPY_PHASE_STRIP = NO;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/generic",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/gssapi",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = GSS;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = YES;
                        };
-                       buildToolPath = /Developer/Private/jam;
-                       dependencies = (
-                               F5CFD62A022D922C01120112,
-                       );
-                       isa = PBXLegacyTarget;
-                       name = "Header Generation";
-                       passBuildSettingsInEnvironment = 1;
-                       productName = "Header Generation";
-               };
-               F5CFD62A022D922C01120112 = {
-                       isa = PBXTargetDependency;
-                       target = F5CFD5E6022D8A9901120112;
-                       targetProxy = A181DA3F05CEFC0400E4C246;
-               };
-               F5E265DF03F443E901120114 = {
-                       children = (
-                               F5E2662703F443E901120114,
-                       );
-                       isa = PBXGroup;
-                       path = build;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2662703F443E901120114 = {
-                       children = (
-                               F5E2662C03F443E901120114,
-                       );
-                       isa = PBXGroup;
-                       path = include;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2662C03F443E901120114 = {
-                       children = (
-                               F5E2662D03F443E901120114,
-                               F5E2662F03F443E901120114,
-                       );
-                       isa = PBXGroup;
-                       path = krb5;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2662D03F443E901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = autoconf.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2662F03F443E901120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = osconf.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E266F503F443EA01120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = file;
-                       path = configure.stamp;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2671F03F8200601120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = kadm_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2672003F8200601120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = kadm_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2672103F8200601120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = kadm_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2672203F8200601120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.c;
-                       path = krb_err.c;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2672303F8200601120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = krb_err.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E2672403F8200601120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       path = krb_err.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59BD403FD7D5301120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.jam;
-                       path = Kerberos5ServerBuild.jam;
-                       refType = 4;
-                       sourceTree = "<group>";
+                       name = Development;
                };
-               F5E59BD503FD803201120114 = {
-                       buildArgumentsString = "-d3 \"-sJAMFILE=$(SRCROOT)/../Scripts/Kerberos5ServerBuild.jam\" $(ACTION)";
-                       buildPhases = (
-                       );
+               A1518ECC086C85C40042CBBC /* Deployment */ = {
+                       isa = XCBuildConfiguration;
                        buildSettings = {
-                               PRODUCT_NAME = ServerBuild;
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
+                               COPY_PHASE_STRIP = YES;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/generic",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/gssapi",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = GSS;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               ZERO_LINK = NO;
                        };
-                       buildToolPath = /Developer/Private/jam;
-                       dependencies = (
-                       );
-                       isa = PBXLegacyTarget;
-                       name = Servers;
-                       passBuildSettingsInEnvironment = 1;
-                       productName = ServerBuild;
-               };
-               F5E59C0D03FD95A101120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = aclocal.m4;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C0E03FD95A101120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = configure.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C0F03FD95CF01120114 = {
-                       children = (
-                               F5E59C1103FD95D001120114,
-                               F5E59C1203FD95D001120114,
-                               F5E59C1303FD95D001120114,
-                               F5E59C1503FD95D001120114,
-                               F5E59C1603FD95D001120114,
-                               F5E59C1703FD95D001120114,
-                               F5E59C1803FD95D001120114,
-                               F5E59C1903FD95D001120114,
-                               F5E59C1A03FD95D001120114,
-                               F5E59C1B03FD95D001120114,
-                               F5E59C1C03FD95D001120114,
-                               F5E59C1D03FD95D001120114,
-                               F5E59C1E03FD95D001120114,
-                               F5E59C1F03FD95D001120114,
-                               F5E59C2003FD95D001120114,
-                               F5E59C2103FD95D001120114,
-                               F5E59C2203FD95D001120114,
-                               F5E59C2303FD95D001120114,
-                               F5E59C2403FD95D001120114,
-                               F5E59C2503FD95D001120114,
-                               F5E59C2603FD95D001120114,
-                               F5E59C2703FD95D001120114,
-                       );
-                       isa = PBXGroup;
-                       path = config;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1103FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ChangeLog;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1203FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = config.guess;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1303FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = config.sub;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1503FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "install-sh";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1603FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = lib.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1703FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = libobj.in;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1803FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "mac-config.cache";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1903FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "mac-config.README";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1A03FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "mac-mf.sed";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               F5E59C1B03FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "mac-post.in";
-                       refType = 4;
-                       sourceTree = "<group>";
+                       name = Deployment;
                };
-               F5E59C1C03FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "mac-pre.in";
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518ECD086C85C40042CBBC /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ../Sources/mac/MacOSX/Headers/Kerberos5Prefix.h;
+                               HEADER_SEARCH_PATHS = (
+                                       "$(SRCROOT)/../Sources/include",
+                                       "$(SRCROOT)/../Sources/include/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/krb5",
+                                       "$(SRCROOT)/../Sources/lib/gssapi/generic",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/ErrorTables",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/krb5",
+                                       "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates/include/gssapi",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers",
+                                       "$(SRCROOT)/../../KerberosErrors/Headers/Kerberos",
+                               );
+                               LIBRARY_STYLE = STATIC;
+                               PRODUCT_NAME = GSS;
+                               REZ_EXECUTABLE = YES;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Default;
                };
-               F5E59C1D03FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = mkinstalldirs;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518ECF086C85C40042CBBC /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Development;
                };
-               F5E59C1E03FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = "move-if-changed";
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518ED0086C85C40042CBBC /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Deployment;
                };
-               F5E59C1F03FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = post.in;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1518ED1086C85C40042CBBC /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Default;
                };
-               F5E59C2003FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = pre.in;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B08BFF087F22740063079F /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = "Error Tables";
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Development;
                };
-               F5E59C2103FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.script.sh;
-                       path = ren2long;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B08C00087F22740063079F /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = "Error Tables";
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Deployment;
                };
-               F5E59C2203FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = ren2long.awk;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B08C01087F22740063079F /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = "Error Tables";
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Default;
+               };
+               A1B70763087312B200F0C55D /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Configure;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Development;
                };
-               F5E59C2303FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = rm.bat;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B70764087312B200F0C55D /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Configure;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Deployment;
                };
-               F5E59C2403FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = shlib.conf;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B70765087312B200F0C55D /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Configure;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Default;
+               };
+               A1B7078108731E6300F0C55D /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Servers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Development;
                };
-               F5E59C2503FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "win-post.in";
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7078208731E6300F0C55D /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Servers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Deployment;
                };
-               F5E59C2603FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = "win-pre.in";
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7078308731E6300F0C55D /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Servers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Default;
+               };
+               A1B7078F08731F7000F0C55D /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Headers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Development;
                };
-               F5E59C2703FD95D001120114 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text;
-                       path = winexclude.sed;
-                       refType = 4;
-                       sourceTree = "<group>";
+               A1B7079008731F7000F0C55D /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Headers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Deployment;
                };
+               A1B7079108731F7000F0C55D /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               OTHER_REZFLAGS = "";
+                               PRODUCT_NAME = Headers;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                       };
+                       name = Default;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               A1518EBA086C85C40042CBBC /* Build configuration list for PBXNativeTarget "KerberosDES" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1518EBB086C85C40042CBBC /* Development */,
+                               A1518EBC086C85C40042CBBC /* Deployment */,
+                               A1518EBD086C85C40042CBBC /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               A1518EBE086C85C40042CBBC /* Build configuration list for PBXNativeTarget "KerberosProfile" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1518EBF086C85C40042CBBC /* Development */,
+                               A1518EC0086C85C40042CBBC /* Deployment */,
+                               A1518EC1086C85C40042CBBC /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               A1518EC2086C85C40042CBBC /* Build configuration list for PBXNativeTarget "Kerberos4" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1518EC3086C85C40042CBBC /* Development */,
+                               A1518EC4086C85C40042CBBC /* Deployment */,
+                               A1518EC5086C85C40042CBBC /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               A1518EC6086C85C40042CBBC /* Build configuration list for PBXNativeTarget "Kerberos5" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1518EC7086C85C40042CBBC /* Development */,
+                               A1518EC8086C85C40042CBBC /* Deployment */,
+                               A1518EC9086C85C40042CBBC /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               A1518ECA086C85C40042CBBC /* Build configuration list for PBXNativeTarget "GSS" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1518ECB086C85C40042CBBC /* Development */,
+                               A1518ECC086C85C40042CBBC /* Deployment */,
+                               A1518ECD086C85C40042CBBC /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               A1518ECE086C85C40042CBBC /* Build configuration list for PBXProject "Kerberos5" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1518ECF086C85C40042CBBC /* Development */,
+                               A1518ED0086C85C40042CBBC /* Deployment */,
+                               A1518ED1086C85C40042CBBC /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               A1B08BFE087F22740063079F /* Build configuration list for PBXAggregateTarget "Error Tables" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1B08BFF087F22740063079F /* Development */,
+                               A1B08C00087F22740063079F /* Deployment */,
+                               A1B08C01087F22740063079F /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+               };
+               A1B70762087312B200F0C55D /* Build configuration list for PBXAggregateTarget "Configure" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1B70763087312B200F0C55D /* Development */,
+                               A1B70764087312B200F0C55D /* Deployment */,
+                               A1B70765087312B200F0C55D /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+               };
+               A1B7078008731E6300F0C55D /* Build configuration list for PBXAggregateTarget "Servers" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1B7078108731E6300F0C55D /* Development */,
+                               A1B7078208731E6300F0C55D /* Deployment */,
+                               A1B7078308731E6300F0C55D /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+               };
+               A1B7078E08731F7000F0C55D /* Build configuration list for PBXAggregateTarget "Autogenerated Headers" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               A1B7078F08731F7000F0C55D /* Development */,
+                               A1B7079008731F7000F0C55D /* Deployment */,
+                               A1B7079108731F7000F0C55D /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+               };
+/* End XCConfigurationList section */
        };
-       rootObject = F5CFD36E022D854401120112;
+       rootObject = F5CFD36E022D854401120112 /* Project object */;
 }
index 9033b54eaac899cf2d27f0d55fa80fbfb5a28d6b..d6fc152af368f55e777d3791da9e7d9860d03307 100644 (file)
@@ -7,7 +7,12 @@ _profile_init
 _profile_init_path
 _FSp_profile_init
 _FSp_profile_init_path
+_profile_is_writable
+_profile_is_modified
 _profile_flush
+_profile_flush_to_file
+_profile_flush_to_buffer
+_profile_free_buffer
 _profile_abandon
 _profile_release
 _profile_get_values
index 3f3911842af3c576abc76937b0852ca38269025f..de3f1bae60aecfb42be1f8bcd645004509b64fa7 100644 (file)
@@ -28,21 +28,10 @@ CONFIGURE_LDFLAGS = "LDFLAGS=$(CONFIGURE_LDFLAGS:)" ;
 # script doesn't need to know how the reconf and configure scripts work.
 #
 
-# Reconf <configure> : <configure.in>
-rule Reconf
-{
-    DEPENDS "$(1)" : "$(1).in" "$(Reconf)" ;
-}
-actions Reconf
-{
-    cd "$(Sources)" && /bin/sh "$(Reconf)" -f
-}
-
 # Configure <makefile> : <configure>
 rule Configure
 {
     DEPENDS "$(1)" : "$(2)" ;
-    Reconf "$(2)" : "$(2).in" ;
     Clean.Remove clean "$(1:D)" ;
 }
 actions Configure
index 31b12dbabfa22d524235a8e76ec5c886fcd2a82e..23b411a269efc777bce1069fd7caaf306bbb09b9 100644 (file)
@@ -21,7 +21,7 @@ OsconfH = "$(IntermediateV5Includes)/osconf.h" ;
 rule CatHeader
 {
     NOTFILE "$(2[1])" ;
-    DEPENDS "$(1)" : "$(2[2-])" "$(AutoconfH)" ;
+    DEPENDS "$(1)" : "$(2[3-])" "$(AutoconfH)" ;
     Clean.Remove clean : "$(1)" ;
 }
 actions CatHeader
@@ -36,16 +36,18 @@ actions CatHeader
     echo "#define $(2[1])"                     >> "$(1)"
     echo ""                                    >> "$(1)"
     echo "/* Environment dependent macros */"  >> "$(1)"
-    grep SIZEOF           "$(AutoconfH)"       >> "$(1)"
-    echo ""                                    >> "$(1)"
-    for header in "$(2[3-])" ; do
+    if [ -n "$(2[2])" ]; then
+        $(SED) -e 's:SIZEOF:$(2[2])SIZEOF:' "$(AutoconfH)" | grep SIZEOF >> "$(1)"
+        echo ""                                    >> "$(1)"
+    fi
+    for header in "$(2[4-])" ; do
         base=`basename "${header}"`
         echo ""                                >> "$(1)"
         echo "/* Error tables from ${base} */" >> "$(1)"
         cat "${header}" | $(ExtractErrorCodes) >> "$(1)"
     done
     echo ""                                    >> "$(1)"
-    cat "$(2[2])"                              >> "$(1)"
+    cat "$(2[3])"                              >> "$(1)"
     echo "#endif /* $(2[1]) */"                >> "$(1)"
 }
 
@@ -92,12 +94,12 @@ CopyHeader          "$(IntermediateV4Includes)/krb_err.h"       : "$(Intermediat
 MakeFrameworkHeader "$(IntermediateFrameworkHeaders)/krb.h"     : "$(IntermediateV4Includes)/krb.h" ;
 MakeFrameworkHeader "$(IntermediateFrameworkHeaders)/krb_err.h" : "$(IntermediateV4Includes)/krb_err.h" ;
 
-CatHeader           "$(IntermediateIncludes)/profile.h"         : "__KERBEROSPROFILE__"
+CatHeader           "$(IntermediateIncludes)/profile.h"         : "__KERBEROSPROFILE__" ""
                                                                   "$(SRCROOT)/../../Kerberos5/Sources/util/profile/profile.hin"
                                                                   "$(IntermediateErrorTables)/prof_err.h" ;
 MakeFrameworkHeader "$(IntermediateFrameworkHeaders)/profile.h" : "$(IntermediateIncludes)/profile.h" ;
 
-CatHeader           "$(IntermediateIncludes)/krb5.h"               : "__KERBEROS5__"
+CatHeader           "$(IntermediateIncludes)/krb5.h"               : "__KERBEROS5__" ""
                                                                      "$(SRCROOT)/../../Kerberos5/Sources/include/krb5.hin"
                                                                      "$(IntermediateErrorTables)/asn1_err.h"
                                                                      "$(IntermediateErrorTables)/kdb5_err.h"
@@ -106,7 +108,7 @@ CatHeader           "$(IntermediateIncludes)/krb5.h"               : "__KERBEROS
                                                                      "$(IntermediateErrorTables)/kv5m_err.h" ;
 MakeFrameworkHeader "$(IntermediateFrameworkHeaders)/krb5.h"       : "$(IntermediateIncludes)/krb5.h" ;
 
-CatHeader           "$(IntermediateGSSIncludes)/gssapi.h"              : "__GSSAPI__"
+CatHeader           "$(IntermediateGSSIncludes)/gssapi.h"              : "__GSSAPI__" "GSS_"
                                                                          "$(SRCROOT)/../../Kerberos5/Sources/lib/gssapi/generic/gssapi.hin"
                                                                          "$(IntermediateErrorTables)/gssapi_err_generic.h"
                                                                          "$(IntermediateErrorTables)/gssapi_err_krb5.h" ;
index a5206281a6d4b0c9414373105f93f6faf0dc7442..61543d8f72aca0a9ac7f8f21cf370f9a7de8a8e1 100644 (file)
@@ -52,7 +52,7 @@
  */
 #define KRB5_MAJOR_RELEASE 1
 #define KRB5_MINOR_RELEASE 4
-#define KRB5_PATCHLEVEL 0
-#define KRB5_RELTAIL "prerelease"
+#define KRB5_PATCHLEVEL 2
+/* #undef KRB5_RELTAIL */
 /* #undef KRB5_RELDATE */
-/* #undef KRB5_RELTAG */
+#define KRB5_RELTAG "krb5-1-4-2-final"
index df5650558eaaec749d478d9e33fe5349206d0eca..328a26cfdb9f9dbbbabfd28cf1cb3b3a2cfe5945 100644 (file)
@@ -1,3 +1,10 @@
+2004-11-15  Tom Yu  <tlyu@mit.edu>
+
+       * telnet.exp (telnet_test): Work around possible race condition
+       with client's resetting of terminal mode when returning from
+       interactive command mode.  Test whether requiring encryption
+       works.
+
 2004-03-14  Ken Raeburn  <raeburn@mit.edu>
 
        * rlogin.exp (start_rlogin_daemon, rlogin_test): Use portbase to
index 17ca35e3cf9b3c7614b278b2d5916bfcd3d980f1..03bdb79103366fd9866baf1fe58e0d7a32791f15 100644 (file)
@@ -50,7 +50,7 @@ if {![get_hostname] \
 
 # A procedure to start up the telnet daemon.
 
-proc start_telnet_daemon { } {
+proc start_telnet_daemon { args } {
     global REALMNAME
     global TELNETD
     global LOGINKRB5
@@ -70,7 +70,7 @@ proc start_telnet_daemon { } {
     # we don't need to use inetd.  The portbase+8 is the port to listen at.
     # Note that tmppwd here is a shell variable, which is set in
     # setup_root_shell, not a TCL variable.
-    send -i $rlogin_spawn_id "sh -c \"$TELNETD -debug -t \$tmppwd/srvtab -R $REALMNAME -L $tmppwd/login.wrap -X KERBEROS_V4 [expr 8 + $portbase]\" &\r"
+    send -i $rlogin_spawn_id "sh -c \"$TELNETD $args -debug -t \$tmppwd/srvtab -R $REALMNAME -L $tmppwd/login.wrap -X KERBEROS_V4 [expr 8 + $portbase]\" &\r"
     expect {
        -i $rlogin_spawn_id 
        -re "$ROOT_PROMPT" { }
@@ -174,7 +174,7 @@ proc telnet_test { } {
 
     set testname "simple telnet"
     expect {
-       "ogin:" {
+       "ogin: " {
            pass $testname
        }
     }
@@ -184,7 +184,7 @@ proc telnet_test { } {
     set testname "telnet command mode"
     send "\035"
     expect {
-       "telnet>" {
+       "telnet> " {
            pass $testname
        }
     }
@@ -200,9 +200,16 @@ proc telnet_test { } {
     }
 
     set testname "back to command mode"
+
+    # For some reason, the telnet client doesn't necessarily reset the
+    # terminal mode back to raw after exiting command mode.
+    # Kick it somewhat by sending a CR.
+    send "\r"
+    expect "ogin: "
+
     send "\035"
     expect {
-       "telnet>" {
+       "telnet> " {
            pass $testname
        }
     }
@@ -299,6 +306,7 @@ proc telnet_test { } {
     }
 
     expect_after
+    catch "expect eof"
 
     # We can't use check_exit_status, because we expect an exit status
     # of 1.
@@ -355,7 +363,7 @@ proc telnet_test { } {
     # Move back to telnet command mode and check the encryption status.
     set testname "encryption status"
     send "\035"
-    expect "telnet>"
+    expect "telnet> "
     send "status\r"
     expect {
        -re "Currently encrypting output with DES_CFB64.*Currently decrypting input with DES_CFB64" {
@@ -368,6 +376,7 @@ proc telnet_test { } {
     expect "Connection closed by foreign host.\r"
 
     expect_after
+    catch "expect eof"
 
     # We can't use check_exit_status, because we expect an exit status
     # of 1.
@@ -384,6 +393,38 @@ proc telnet_test { } {
     # The telnet daemon should have stopped, but we have no easy way
     # of checking whether it actually did.  Kill it just in case.
     stop_telnet_daemon
+
+    set testname "reject unencrypted telnet"
+    # Check rejection of unencrypted client when encryption is required
+    start_telnet_daemon -e
+
+    # unencrypted, unauthenticated
+    spawn $TELNET -- $hostname -[expr 8 + $portbase]
+    expect_after {
+       timeout {
+           fail $testname
+           catch "expect_after"
+           return
+       }
+       eof {
+           fail $testname
+           catch "expect_after"
+           return
+       }
+    }
+
+    expect {
+       -re "Unencrypted connection refused.*\n" {
+           pass $testname
+       }
+    }
+    catch "expect_after"
+    catch "expect eof"
+    catch wait
+
+    # The telnet daemon should have stopped, but we have no easy way
+    # of checking whether it actually did.  Kill it just in case.
+    stop_telnet_daemon
 }
 
 # Run the test.  Logging in sometimes takes a while, so increase the
index bba583b625563a40dedddef45414c4b1abde4899..b426a93f1e669e6d42c912c19b783b3467b97279 100644 (file)
@@ -1,3 +1,24 @@
+2005-02-10  Tom Yu  <tlyu@mit.edu>
+
+       * kadmin.exp (kadmin_add_rnd): Add "flags" arg, defaulting to
+       empty string.
+       (kadmin_test): Add test for fallback to kadmin/admin if
+       kadmin/fqdn is missing.
+
+2005-01-14  Tom Yu  <tlyu@mit.edu>
+
+       * kadmin.exp (kadmin_list): Check for communication failure.
+       (kadmin_test): Create a large number of principals, then attempt
+       to list, in order to check for fixed-size buffer problems in
+       RPCSEC_GSS.
+
+2004-12-20  Tom Yu  <tlyu@mit.edu>
+
+       * pwhist.exp: New file.  Perform some sanity checking on password
+       history mechanism, including erroneous loss of history when
+       growing the history array.  Also tries to trigger some known
+       buffer overflows and memory leaks.
+
 2004-03-14  Ken Raeburn  <raeburn@mit.edu>
 
        * gssapi.exp (run_client, doit): Use portbase to compute all port
index ded386d3de1c67dd00338adc305ea499ba32fb9a..e3e39168dbae4645c07300b0b70b2533b605951b 100644 (file)
@@ -128,7 +128,7 @@ proc kadmin_add { pname password } {
 #
 # Adds principal $pname with random key.  Returns 1 on success.
 #--
-proc kadmin_add_rnd { pname } {
+proc kadmin_add_rnd { pname { flags "" } } {
     global REALMNAME
     global KADMIN
     global KADMIN_LOCAL
@@ -137,7 +137,7 @@ proc kadmin_add_rnd { pname } {
     global tmppwd
 
     set good 0
-    spawn $KADMIN -p krbtest/admin@$REALMNAME -q "ank -randkey $pname"
+    spawn $KADMIN -p krbtest/admin@$REALMNAME -q "ank -randkey $flags $pname"
     expect_after {
        "Cannot contact any KDC" {
            fail "kadmin add rnd $pname lost KDC"
@@ -402,6 +402,11 @@ proc kadmin_list {  } {
            catch "expect_after"
            return 0
        }
+       "Communication failure" {
+           fail "kadmin ldb got RPC error"
+           catch "expect_after"
+           return 0
+       }
        timeout {
            fail "kadmin ldb"
            catch "expect_after"
@@ -416,7 +421,7 @@ proc kadmin_list {  } {
     expect -re "assword\[^\r\n\]*: *" {
        send "adminpass$KEY\r"
     }
-    expect -re "\(.*@$REALMNAME\r\n\)*"
+    expect -re "\(.*@$REALMNAME\r\n\)+"
     expect_after
     expect eof
     set k_stat [wait -i $spawn_id]
@@ -947,6 +952,7 @@ proc kdestroy { } {
 # we get some sort of error.
 
 proc kadmin_test { } {
+    global hostname
 
     # Start up the kerberos and kadmind daemons
     if {![start_kerberos_daemons 0] } {
@@ -1033,6 +1039,26 @@ proc kadmin_test { } {
        return
     }
 
+    # test retrieval of large number of principals
+    # bug [2877]
+    for { set i 0 } { $i < 200 } { incr i } {
+       if { ![kadmin_add "foo$i" foopass] } {
+           return
+       }
+    }
+
+    if { ![kadmin_list] } {
+       return
+    }
+
+    # test fallback to kadmin/admin
+    if {![kadmin_delete kadmin/$hostname] \
+           || ![kadmin_list] \
+           || ![kadmin_add_rnd kadmin/$hostname -allow_tgs_req] \
+           || ![kadmin_list]} {
+       return
+    }
+
     verbose "kadmin_test succeeded"
 }
 
diff --git a/src/tests/dejagnu/krb-standalone/pwhist.exp b/src/tests/dejagnu/krb-standalone/pwhist.exp
new file mode 100644 (file)
index 0000000..f9938e0
--- /dev/null
@@ -0,0 +1,215 @@
+# password history tests
+
+# one *non-interactive* kadmin.local request
+proc onerq { rq pname str {flags ""} } {
+    global REALMNAME
+    global KADMIN_LOCAL
+
+    spawn $KADMIN_LOCAL -r $REALMNAME -q "$rq $flags $pname"
+    expect_after {
+       timeout {
+           verbose "kadmin.local $rq $flags $pname timed out"
+           catch expect_after
+           kill [exp_pid]
+           close
+           expect eof
+           wait
+           return 0
+       } eof {
+           verbose "kadmin.local $rq $flags $pname got EOF"
+           catch expect_after
+           wait
+           return 0
+       }
+    }
+    expect $str
+    expect_after
+    expect eof
+    wait
+    return 1
+}
+
+proc addprinc { pname pw } {
+    global REALMNAME
+
+    return [onerq addprinc $pname \
+               "Principal \"$pname@$REALMNAME\" created." "-pw $pw"]
+}
+
+proc delprinc { pname } {
+    global REALMNAME
+    return [onerq delprinc $pname \
+               "Principal \"$pname@$REALMNAME\" deleted." "-force"]
+}
+
+proc cpw { pname pw } {
+    global REALMNAME
+
+    return [onerq cpw $pname \
+               "Password for \"$pname@$REALMNAME\" changed." "-pw $pw"]
+}
+
+proc modprinc { pname flags } {
+    global REALMNAME
+
+    return [onerq modprinc $pname \
+               "Principal \"$pname@$REALMNAME\" modified." $flags]
+}
+
+proc addpol { pname } {
+    if ![onerq addpol $pname ""] {
+       return 0
+    }
+    return [onerq getpol $pname "Policy: $pname"]
+}
+
+proc delpol { pname } {
+    onerq delpol $pname "" -force
+    return [onerq getpol $pname \
+               "Policy does not exist while retrieving policy \"$pname\"."]
+}
+
+proc modpol { pname flags } {
+    return [onerq modpol $pname "" $flags]
+}
+
+# Mandatory command must return true.
+# Issues a break in its parent on failure.
+proc mustrun { cmd } {
+    if ![eval $cmd] {
+       perror "mandatory command failed: $cmd"
+       uplevel break
+    }
+}
+
+# Fail test if command fails.
+# Issues a break in its parent on failure.
+proc chkpass { cmd } {
+    upvar test test
+    if ![eval $cmd] {
+       verbose "unexpected failure: $cmd"
+       fail $test
+       uplevel break
+    }
+}
+
+# Fail test if command succeeds.
+# Issues a break in its parent on failure.
+proc chkfail { cmd } {
+    upvar test test
+    if [eval $cmd] {
+       verbose "unexpected success: $cmd"
+       fail $test
+       uplevel break
+    }
+}
+
+# wrapper to run command (actually usually sequence of commands)
+#
+# If any part of CMD throws an exception, set failall, otherwise pass.
+# If failall is already true, report unresolved.
+proc wraptest { test cmd } {
+    upvar failall failall
+    if $failall {
+       unresolved $test
+       return
+    }
+    if [catch $cmd] {
+       set failall 1
+    } else {
+       pass $test
+    }
+}
+
+# Set up the kerberos database.
+if {![get_hostname] \
+    || ![setup_kerberos_files] \
+    || ![setup_kerberos_env] \
+    || ![setup_kerberos_db 0]} {
+    return
+}
+
+set failall 0
+wraptest "nkeys=1, nhist=3" {
+    mustrun { addpol crashpol }
+    mustrun { modpol crashpol "-history 3"}
+    mustrun { addprinc crash 1111 }
+    mustrun { modprinc crash "-policy crashpol" }
+    chkpass { cpw crash 2222 }
+    chkfail { cpw crash 2222 }
+    chkfail { cpw crash 1111 }
+}
+verbose {old_keys [ 1111 ->[] ]}
+
+# The following will result in reading/writing past array bounds if
+# add_to_history() is not patched.
+#
+# NOTE: A pass from this test does not mean the bug isn't present;
+# check with Purify, valgrind, etc.
+wraptest "array bounds ok on nkeys=1, nhist 3->2" {
+    mustrun { modpol crashpol "-history 2" }
+    chkpass { cpw crash 3333 }
+}
+verbose {old_keys [ ->2222 ]}
+
+wraptest "verify nhist=2" {
+    mustrun { delprinc crash }
+    mustrun { addprinc crash 1111 }
+    mustrun { modprinc crash "-policy crashpol" }
+    chkpass { cpw crash 2222 }
+    chkfail { cpw crash 2222 }
+    chkfail { cpw crash 1111 }
+}
+verbose {old_keys [ ->1111 ]}
+
+# The following will fail if growing the history array causes an extra
+# key to be lost due to failure to shift entries.
+wraptest "grow nhist 2->3" {
+    mustrun { modpol crashpol "-history 3" }
+    chkpass { cpw crash 3333 }
+    chkfail { cpw crash 3333 }
+    chkfail { cpw crash 2222 }
+    chkfail { cpw crash 1111 }
+}
+verbose {old_keys [ 2222 ->1111 ]}
+
+wraptest "grow nhist 3->4" {
+    mustrun { modpol crashpol "-history 4" }
+    chkfail { cpw crash 3333 }
+    chkfail { cpw crash 2222 }
+    chkfail { cpw crash 1111 }
+    chkpass { cpw crash 4444 }
+    chkfail { cpw crash 3333 }
+    chkfail { cpw crash 2222 }
+    chkfail { cpw crash 1111 }
+}
+verbose {old_keys [ 2222 3333 ->1111 ]}
+wraptest "shrink nhist 4->3" {
+    mustrun { modpol crashpol "-history 3" }
+    chkfail { cpw crash 4444 }
+    chkfail { cpw crash 3333 }
+    chkfail { cpw crash 2222 }
+    chkfail { cpw crash 1111 }
+    chkpass { cpw crash 5555 }
+}
+verbose {old_keys [ 4444 ->3333 ]}
+wraptest "verify nhist=3" {
+    chkfail { cpw crash 5555 }
+    chkfail { cpw crash 4444 }
+    chkfail { cpw crash 3333 }
+    chkpass { cpw crash 2222 }
+}
+verbose {old_keys [ ->4444 5555 ]}
+wraptest "shrink nhist 3->2" {
+    mustrun { modpol crashpol "-history 2" }
+    chkfail { cpw crash 2222 }
+    chkfail { cpw crash 5555 }
+    chkfail { cpw crash 4444 }
+    chkpass { cpw crash 3333 }
+}
+verbose {old_keys [ ->2222 ]}
+
+delprinc crash
+delpol crashpol
+
+stop_kerberos_daemons
index 990ca78cf1067de1a91b258b0e08835dd72b0e21..5e792c8acdf819ffa9da868e5292c501464dd76f 100644 (file)
@@ -1,3 +1,13 @@
+2004-12-21  Tom Yu  <tlyu@mit.edu>
+
+       * def-check.pl: Check for PRIVATE or INTERNAL annotations in defs
+       file.
+
+2004-10-31  Tom Yu  <tlyu@mit.edu>
+
+       * mkrel: Rework quoting for RELTAIL check.  Don't check RELTAIL if
+       doing a "-current" snapshot.
+
 2004-09-24  Tom Yu  <tlyu@mit.edu>
 
        * mkrel: Rework somewhat to handle patchlevel.h being the new
index 9b7aee15ee54be5f9cc05e98ec3df5bba2c8af5c..447421e8e792ea0b50bc046ad29aee081d087215 100644 (file)
@@ -219,7 +219,9 @@ while (! $d->eof()) {
     }
     s/[ \t]*//g;
     my($xconv);
-    if (/!CALLCONV/ || /KRB5_CALLCONV_WRONG/) {
+    if (/PRIVATE/ || /INTERNAL/) {
+       $xconv = "PRIVATE";
+    } elsif (/!CALLCONV/ || /KRB5_CALLCONV_WRONG/) {
        $xconv = "KRB5_CALLCONV_WRONG";
     } elsif ($vararg{$_}) {
        $xconv = "KRB5_CALLCONV_C";
@@ -227,6 +229,11 @@ while (! $d->eof()) {
        $xconv = "KRB5_CALLCONV";
     }
     s/;.*$//;
+
+    if ($xconv eq "PRIVATE") {
+       print "\t private $_\n";
+       next LINE2;
+    }
     if (!defined($conv{$_})) {
        print "No calling convention specified for $_!\n";
     } elsif (! ($conv{$_} eq $xconv)) {
index 934983400859caac44b1dcfe46ef194525b1f4fa..bec74072234bc37634cc85fe73510326fda9af31 100644 (file)
@@ -1,3 +1,18 @@
+2005-01-17  Jeffrey Altman <jaltman@mit.edu>
+
+        * error_message.c: implement library unload cleanup of mutexes
+
+2005-01-13  Ken Raeburn  <raeburn@mit.edu>
+
+       * error_message.c (com_err_terminate): Lock the list mutex before
+       walking through it; unlock and destroy it afterwards.
+
+2004-11-05  Ken Raeburn  <raeburn@mit.edu>
+
+       * et_h.awk: Declare initialize_*_error_table as taking no
+       arguments.
+       * et_h.pl: Regenerated.
+
 2004-10-07  Tom Yu  <tlyu@mit.edu>
 
        * et_c.awk, et_h.awk: Fix off-by-one error.
index 42c230051ff69b2b29b548e329042bd27d1dc367..cb76b2a37520ed279eb653fd4d4254394923c537 100644 (file)
@@ -37,6 +37,7 @@ extern const int sys_nerr;
 /*@null@*/ static struct et_list * _et_list = (struct et_list *) NULL;
 /*@null@*//*@only@*/static struct dynamic_et_list * et_list_dynamic;
 static k5_mutex_t et_list_lock = K5_MUTEX_PARTIAL_INITIALIZER;
+static int terminated = 0;     /* for debugging shlib fini sequence errors */
 
 MAKE_INIT_FUNCTION(com_err_initialize);
 MAKE_FINI_FUNCTION(com_err_terminate);
@@ -44,6 +45,7 @@ MAKE_FINI_FUNCTION(com_err_terminate);
 int com_err_initialize(void)
 {
     int err;
+    terminated = 0;
     err = k5_mutex_finish_init(&et_list_lock);
     if (err)
        return err;
@@ -56,17 +58,20 @@ int com_err_initialize(void)
     return 0;
 }
 
-static int terminated = 0;     /* for debugging shlib fini sequence errors */
 void com_err_terminate(void)
 {
     struct dynamic_et_list *e, *enext;
     if (! INITIALIZER_RAN(com_err_initialize) || PROGRAM_EXITING())
        return;
-    k5_mutex_destroy(&et_list_lock);
+    k5_key_delete(K5_KEY_COM_ERR);
+    k5_mutex_destroy(&com_err_hook_lock);
+    k5_mutex_lock(&et_list_lock);
     for (e = et_list_dynamic; e; e = enext) {
        enext = e->next;
        free(e);
     }
+    k5_mutex_unlock(&et_list_lock);
+    k5_mutex_destroy(&et_list_lock);
     terminated = 1;
 }
 
index e3d9fa4c722b4b88927736a127f8dc364c22199b..65c6c453ffd97070bab63e12d20bd885126eb82f 100644 (file)
@@ -155,7 +155,7 @@ END {
        print "" > outfile
        print "#if !defined(_WIN32)" > outfile
        print "/* for compatibility with older versions... */" > outfile
-       print "extern void initialize_" table_name "_error_table () /*@modifies internalState@*/;" > outfile
+       print "extern void initialize_" table_name "_error_table (void) /*@modifies internalState@*/;" > outfile
        print "#else" > outfile
        print "#define initialize_" table_name "_error_table()" > outfile
        print "#endif" > outfile
index e0965de4db22e858b141144331debd43e3f7daf9..5ab8e8b465096b6a9fc9db0c15524894256af2e0 100644 (file)
@@ -203,7 +203,7 @@ else {
 &Pick('>', $outfile) &&
     (print $fh 'extern void initialize_' . $table_name .
 
-      '_error_table () /*@modifies internalState@*/;');
+      '_error_table (void) /*@modifies internalState@*/;');
 &Pick('>', $outfile) &&
     (print $fh '#else');
 &Pick('>', $outfile) &&
index 97a08d1260fb9f8fa2ba7c472a48ae07a7f57c8c..804dd5f907ca81b1ad67f635f4556a30f7ca338d 100644 (file)
@@ -120,10 +120,11 @@ if test $newstyle = t; then
        if test "$KRB5_RELTAG" != $reltag; then
                echo "WARNING: patchlevel.h '$KRB5_RELTAG' != $reltag"
        fi
-       if test "$KRB5_MAJOR_RELEASE" != $relmajor || \
-               test "$KRB5_MINOR_RELEASE" != $relminor || \
-               test "$KRB5_PATCHLEVEL" != $relpatch || \
-               test "$KRB5_RELTAIL" != $reltail; then
+       if test "$KRB5_MAJOR_RELEASE" != "$relmajor" || \
+               test "$KRB5_MINOR_RELEASE" != "$relminor" || \
+               test "$KRB5_PATCHLEVEL" != "$relpatch" || \
+               ( test -n "$reltail" && \
+                       test "$KRB5_RELTAIL" != "$reltail" ); then
 
                echo "WARNING: patchlevel.h $KRB5_MAJOR_RELEASE.$KRB5_MINOR_RELEASE.$KRB5_PATCHLEVEL${KRB5_RELTAIL+-$KRB5_RELTAIL} != $relmajor.$relminor.$relpatch${reltail+-$reltail}"
        fi
index 1366bd4d1cbbb0063966a3082b67724a4311d42e..91cbc657e1f930f60c470ba2d99d6273f8941979 100644 (file)
@@ -1,3 +1,68 @@
+2005-03-25  Ken Raeburn  <raeburn@mit.edu>
+
+       * configure.in: Don't check for getpwuid_r here.
+       * prof_file.c (profile_open_file): Use k5_getpwuid_r.
+
+2005-03-03  Ken Raeburn  <raeburn@mit.edu>
+
+       * prof_tree.c (profile_node_iterator): After checking skip_num
+       counter, also skip over deleted nodes.
+       * prof_test1 (test3): New proc.
+       (top level): Run it.
+
+2005-02-23  Ken Raeburn  <raeburn@mit.edu>
+
+       * prof_tree.c (profile_node_iterator): Check that the root node
+       pointer is not null; raise assertion failure if it is.
+
+       * prof_int.h: Include k5-platform.h.
+       (struct _prf_data_t): Reorder fields, and insert some padding.
+
+       * prof_file.c (scan_shared_trees_locked): Check that the "root"
+       field isn't null.
+       (profile_open_file): Update the in-memory file contents after
+       updating the refcount instead of before.
+       (profile_update_file_data): If the root node in the file data is
+       null, always do the update.  Check that it's not null before
+       returning a success indication.
+       (profile_dereference_data_locked): Scan linked list of file data
+       objects for sanity check, before and after.
+       (profile_dereference_data_locked): Don't do it here.
+
+2005-01-13  Ken Raeburn  <raeburn@mit.edu>
+
+       * prof_file.c (profile_free_file_data): Destroy mutex before
+       freeing containing structure.
+
+2004-12-14  Ken Raeburn  <raeburn@mit.edu>
+
+       * prof_tree.c (profile_node_iterator): When the iterator has a
+       current file, lock it, and unlock it before changing it or
+       returning.
+
+2004-11-04  Alexandra Ellwood  <lxs@mit.edu>
+
+       * prof_init.c, profile.hin: added profile_is_modified
+       and profile_is_writable so that callers can check to see
+       if profile_release() will fail before calling it.
+
+2004-11-04  Alexandra Ellwood  <lxs@mit.edu>
+
+       * prof_set.c: profile calls which set values should not fail 
+        if file is not writable.  You can now write to a different 
+        file with profile_flush_to_file() or buffer with 
+        profile_flush_to_buffer().
+
+2004-10-30  Ken Raeburn  <raeburn@mit.edu>
+
+       * prof_int.h (STAT_ONCE_PER_SECOND): Define.
+       (struct _prf_data_t) [STAT_ONCE_PER_SECOND]: New field LAST_STAT.
+       * prof_file.c (scan_shared_trees_locked,
+       scan_shared_trees_unlocked): Redefine to do nothing for now.
+       (profile_update_file_data) [STAT_ONCE_PER_SECOND]: If the current
+       time is the same time as the last stat of the file, just return;
+       otherwise, save away the current time.
+
 2004-10-26  Ken Raeburn  <raeburn@mit.edu>
 
        Permit exporting profile file data into a buffer.
index b768a74e21ed9076550a760743c8fbacc4eb36ce..69d5630f546ac33bea00f737946f7ba0c2fc5a70 100644 (file)
@@ -157,27 +157,28 @@ check-windows:: $(OUTPRE)test_profile.exe $(OUTPRE)test_parse.exe
 #
 prof_tree.so prof_tree.po $(OUTPRE)prof_tree.$(OBJEXT): prof_tree.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
 prof_file.so prof_file.po $(OUTPRE)prof_file.$(OBJEXT): prof_file.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h $(SRCTOP)/include/k5-platform.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
 prof_parse.so prof_parse.po $(OUTPRE)prof_parse.$(OBJEXT): prof_parse.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
 prof_get.so prof_get.po $(OUTPRE)prof_get.$(OBJEXT): prof_get.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
 prof_set.so prof_set.po $(OUTPRE)prof_set.$(OBJEXT): prof_set.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
 prof_err.so prof_err.po $(OUTPRE)prof_err.$(OBJEXT): prof_err.c $(COM_ERR_DEPS)
 prof_init.so prof_init.po $(OUTPRE)prof_init.$(OBJEXT): prof_init.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
 test_parse.so test_parse.po $(OUTPRE)test_parse.$(OBJEXT): test_parse.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h
 test_profile.so test_profile.po $(OUTPRE)test_profile.$(OBJEXT): test_profile.c prof_int.h \
   $(SRCTOP)/include/k5-thread.h $(BUILDTOP)/include/krb5/autoconf.h \
-  $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h argv_parse.h
+  $(SRCTOP)/include/k5-platform.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h \
+  argv_parse.h
 
index 38fb9e426a383bea0b001ff1068b9cf9f44c4ae6..680a695944d0f5a0b0f6fda3642c51265a891cc2 100644 (file)
@@ -5,7 +5,7 @@ AC_CHECK_SIZEOF(short)
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_HEADERS(unistd.h stdlib.h pwd.h)
-AC_CHECK_FUNCS(stat access strdup getpwuid_r)
+AC_CHECK_FUNCS(stat access strdup)
 AC_PROG_AWK
 AC_KRB5_TCL
 DO_TCL=
index f47e5404be92b050ab9a796d697e4f5d65dd7cd1..5d69fa6fb82287f9310fd42410dd288a4215178a 100644 (file)
@@ -66,6 +66,8 @@ void profile_library_finalizer(void)
 
 static void profile_free_file_data(prf_data_t);
 
+#if 0
+
 #define scan_shared_trees_locked()                             \
        {                                                       \
            prf_data_t d;                                       \
@@ -77,6 +79,7 @@ static void profile_free_file_data(prf_data_t);
                assert(d->fslen <= 1000); /* XXX */             \
                assert(d->filespec[d->fslen] == 0);             \
                assert(d->fslen = strlen(d->filespec));         \
+               assert(d->root != NULL);                        \
            }                                                   \
        }
 
@@ -89,6 +92,13 @@ static void profile_free_file_data(prf_data_t);
            k5_mutex_unlock(&g_shared_trees_mutex);     \
        }
 
+#else
+
+#define scan_shared_trees_locked()     { ; }
+#define scan_shared_trees_unlocked()   { ; }
+
+#endif
+
 static int rw_access(const_profile_filespec_t filespec)
 {
 #ifdef HAVE_ACCESS
@@ -193,25 +203,12 @@ errcode_t profile_open_file(const_profile_filespec_t filespec,
 #ifdef HAVE_PWD_H
                if (home_env == NULL) {
                    uid_t uid;
-                   struct passwd *pw;
-#ifdef HAVE_GETPWUID_R
-                   struct passwd pwx;
+                   struct passwd *pw, pwx;
                    char pwbuf[BUFSIZ];
-#endif
 
                    uid = getuid();
-#ifndef HAVE_GETPWUID_R
-                   pw = getpwuid(uid);
-#elif defined(GETPWUID_R_4_ARGS)
-                   /* earlier POSIX drafts */
-                   pw = getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf));
-#else
-                   /* POSIX */
-                   if (getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf), &pw) != 0)
-                       /* Probably already null, but let's make sure.  */
-                       pw = NULL;
-#endif /* getpwuid variants */
-                   if (pw != NULL && pw->pw_dir[0] != 0)
+                   if (!k5_getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf), &pw)
+                       && pw != NULL && pw->pw_dir[0] != 0)
                        home_env = pw->pw_dir;
                }
 #endif
@@ -242,9 +239,9 @@ errcode_t profile_open_file(const_profile_filespec_t filespec,
                break;
        }
        if (data) {
-           retval = profile_update_file_data(data);
            data->refcount++;
            (void) k5_mutex_unlock(&g_shared_trees_mutex);
+           retval = profile_update_file_data(data);
            free(expanded_filename);
            prf->data = data;
            *ret_prof = prf;
@@ -263,7 +260,8 @@ errcode_t profile_open_file(const_profile_filespec_t filespec,
 
        retval = k5_mutex_init(&data->lock);
        if (retval) {
-           profile_close_file(prf);
+           free(data);
+           free(prf);
            return retval;
        }
 
@@ -295,6 +293,9 @@ errcode_t profile_update_file_data(prf_data_t data)
        errcode_t retval;
 #ifdef HAVE_STAT
        struct stat st;
+#ifdef STAT_ONCE_PER_SECOND
+       time_t now;
+#endif
 #endif
        FILE *f;
 
@@ -303,12 +304,22 @@ errcode_t profile_update_file_data(prf_data_t data)
            return retval;
 
 #ifdef HAVE_STAT
+#ifdef STAT_ONCE_PER_SECOND
+       now = time(0);
+       if (now == data->last_stat && data->root != NULL) {
+           k5_mutex_unlock(&data->lock);
+           return 0;
+       }
+#endif
        if (stat(data->filespec, &st)) {
            retval = errno;
            k5_mutex_unlock(&data->lock);
            return retval;
        }
-       if (st.st_mtime == data->timestamp) {
+#ifdef STAT_ONCE_PER_SECOND
+       data->last_stat = now;
+#endif
+       if (st.st_mtime == data->timestamp && data->root != NULL) {
            k5_mutex_unlock(&data->lock);
            return 0;
        }
@@ -350,6 +361,7 @@ errcode_t profile_update_file_data(prf_data_t data)
            k5_mutex_unlock(&data->lock);
            return retval;
        }
+       assert(data->root != NULL);
 #ifdef HAVE_STAT
        data->timestamp = st.st_mtime;
 #endif
@@ -504,19 +516,19 @@ errcode_t profile_flush_file_data_to_file(prf_data_t data, const char *outfile)
 void profile_dereference_data(prf_data_t data)
 {
     int err;
-    scan_shared_trees_unlocked();
     err = k5_mutex_lock(&g_shared_trees_mutex);
     if (err)
        return;
     profile_dereference_data_locked(data);
     (void) k5_mutex_unlock(&g_shared_trees_mutex);
-    scan_shared_trees_unlocked();
 }
 void profile_dereference_data_locked(prf_data_t data)
 {
+    scan_shared_trees_locked();
     data->refcount--;
     if (data->refcount == 0)
        profile_free_file_data(data);
+    scan_shared_trees_locked();
 }
 
 int profile_lock_global()
@@ -556,12 +568,13 @@ static void profile_free_file_data(prf_data_t data)
            }
        }
     }
-       if (data->root)
-               profile_free_node(data->root);
-       if (data->comment)
-               free(data->comment);
-       data->magic = 0;
-       free(data);
+    if (data->root)
+       profile_free_node(data->root);
+    if (data->comment)
+       free(data->comment);
+    data->magic = 0;
+    k5_mutex_destroy(&data->lock);
+    free(data);
     scan_shared_trees_locked();
 }
 
index 02d61ee1f54b50f597da9f820f2decd62b972720..0be2a0e53f300e6669f280b4ab06507557940af2 100644 (file)
@@ -120,6 +120,36 @@ profile_init_path(const_profile_filespec_list_t filepath,
        return retval;
 }
 
+errcode_t KRB5_CALLCONV
+profile_is_writable(profile_t profile, int *writable)
+{
+       if (!profile || profile->magic != PROF_MAGIC_PROFILE)
+               return PROF_MAGIC_PROFILE;
+       
+       if (!writable) 
+               return EINVAL;
+       
+       if (profile->first_file)
+               *writable = (profile->first_file->data->flags & PROFILE_FILE_RW);
+       
+       return 0;
+}
+
+errcode_t KRB5_CALLCONV
+profile_is_modified(profile_t profile, int *modified)
+{
+       if (!profile || profile->magic != PROF_MAGIC_PROFILE)
+               return PROF_MAGIC_PROFILE;
+       
+       if (!modified) 
+               return EINVAL;
+       
+       if (profile->first_file)
+               *modified = (profile->first_file->data->flags & PROFILE_FILE_DIRTY);
+       
+       return 0;
+}
+
 errcode_t KRB5_CALLCONV
 profile_flush(profile_t profile)
 {
index d2761228cb5205a0df7b597a46aeba8ee1fdb9ee..43d15b0e44ba5741826b6dd15677073b09c7c4f3 100644 (file)
 #endif
 
 #include "k5-thread.h"
+#include "k5-platform.h"
 #include "com_err.h"
 #include "profile.h"
 
+#define STAT_ONCE_PER_SECOND
+
 #if defined(_WIN32)
 #define SIZEOF_INT      4
 #define SIZEOF_SHORT    2
@@ -27,24 +30,41 @@ typedef long prf_magic_t;
  * particular configuration file.
  *
  * Locking strategy:
- * - filespec is fixed after creation
+ * - filespec, fslen are fixed after creation
  * - refcount and next should only be tweaked with the global lock held
  * - other fields can be tweaked after grabbing the in-struct lock
  */
 struct _prf_data_t {
        prf_magic_t     magic;
        k5_mutex_t      lock;
-       char            *comment;
        struct profile_node *root;
+#ifdef STAT_ONCE_PER_SECOND
+       time_t          last_stat;
+#endif
        time_t          timestamp; /* time tree was last updated from file */
        int             flags;  /* r/w, dirty */
        int             upd_serial; /* incremented when data changes */
+       char            *comment;
+
+       size_t          fslen;
+
+       /* Some separation between fields controlled by different
+          mutexes.  Theoretically, both could be accessed at the same
+          time from different threads on different CPUs with separate
+          caches.  Don't let the threads clobber each other's
+          changes.  One mutex controlling the whole thing would be
+          better, but sufficient separation might suffice.
+
+          This is icky.  I just hope it's adequate.
+
+          For next major release, fix this.  */
+       union { double d; void *p; UINT64_TYPE ll; k5_mutex_t m; } pad;
+
        int             refcount; /* prf_file_t references */
        struct _prf_data_t *next;
        /* Was: "profile_filespec_t filespec".  Now: flexible char
           array ... except, we need to work in C89, so an array
           length must be specified.  */
-       size_t          fslen;
        const char      filespec[sizeof("/etc/krb5.conf")];
 };
 
index 67274c23fefdc1d963ba7363218466778605b6a2..85f228630c4cd00ad62c1b02ee6c9583b7e28508 100644 (file)
@@ -33,9 +33,6 @@ static errcode_t rw_setup(profile_t profile)
 
        file = profile->first_file;
 
-       if (!(file->data->flags & PROFILE_FILE_RW))
-           return PROF_READ_ONLY;
-
        retval = profile_lock_global();
        if (retval)
            return retval;
index 2907f7a886207ccdd9cdc786cc24b91c0229744a..bd4901272dc563b245dae87b30892d6f8b157b5e 100644 (file)
@@ -1,3 +1,6 @@
+# To do: Should run all tests and return a useful exit status, not
+# punt on the first failure.
+
 set wd [pwd]
 set verbose 0
 
@@ -107,7 +110,45 @@ proc test2 {} {
     puts "OK: test2: Modifications don't corrupt existing open handles"
 }
 
+proc test3 {} {
+    # lxs said: Start with a relation in the file.  Open, delete
+    # relation, add relation back, list relations.  In 1.4 release
+    # code, got two back.
+
+    global wd verbose
+
+    exec cp $wd/test2.ini $wd/test1c.ini
+    set p [profile_init_path $wd/test1c.ini]
+    set sect {{test section 1} quux}
+
+    set v [profile_get_values $p $sect]
+    set v1 [lindex $v 0]
+    if $verbose { puts "Old values: $v" }
+    profile_clear_relation $p $sect
+    if $verbose { puts "Cleared." }
+    # profile_get_values raises an exception if no data is there; so if
+    # it succeeds, the test fails.
+    catch {
+       set v [profile_get_values $p $sect]
+       if $verbose { puts "New values: $v" }
+       puts stderr "Error: test3: Clearing relation didn't get rid of all values."
+       exit 1
+    }
+    if $verbose { puts "Adding back $v1 ..." }
+    profile_add_relation $p $sect $v1
+    set v [profile_get_values $p $sect]
+    if $verbose { puts "New values: $v" }
+    if [llength $v]!=1 {
+       puts stderr "Error: test3: Adding one entry after clearing relation leaves [llength $v] entries."
+       exit 1
+    }
+    profile_abandon $p
+    file delete $wd/test1c.ini
+    puts "OK: test3: Clearing relation and adding one entry yields correct count."
+}
+
 test1
 test2
+test3
 
 exit 0
index 1d96ffbb82b2c57aa2c776869c7dca334014323a..b014e245d247b829ce8821cb40154149790a6677 100644 (file)
@@ -466,17 +466,27 @@ errcode_t profile_node_iterator(void **iter_p, struct profile_node **ret_node,
         * If the file has changed, then the node pointer is invalid,
         * so we'll have search the file again looking for it.
         */
+       if (iter->file) {
+           retval = k5_mutex_lock(&iter->file->data->lock);
+           if (retval)
+               return retval;
+       }
        if (iter->node && (iter->file->data->upd_serial != iter->file_serial)) {
                iter->flags &= ~PROFILE_ITER_FINAL_SEEN;
                skip_num = iter->num;
                iter->node = 0;
        }
-       if (iter->node && iter->node->magic != PROF_MAGIC_NODE)
+       if (iter->node && iter->node->magic != PROF_MAGIC_NODE) {
+           if (iter->file)
+               k5_mutex_unlock(&iter->file->data->lock);
            return PROF_MAGIC_NODE;
+       }
 get_new_file:
        if (iter->node == 0) {
                if (iter->file == 0 ||
                    (iter->flags & PROFILE_ITER_FINAL_SEEN)) {
+                       if (iter->file)
+                           k5_mutex_unlock(&iter->file->data->lock);
                        profile_node_iterator_free(iter_p);
                        if (ret_node)
                                *ret_node = 0;
@@ -486,10 +496,18 @@ get_new_file:
                                *ret_value =0;
                        return 0;
                }
+               k5_mutex_unlock(&iter->file->data->lock);
                if ((retval = profile_update_file(iter->file))) {
                    if (retval == ENOENT || retval == EACCES) {
                        /* XXX memory leak? */
                        iter->file = iter->file->next;
+                       if (iter->file) {
+                           retval = k5_mutex_lock(&iter->file->data->lock);
+                           if (retval) {
+                               profile_node_iterator_free(iter_p);
+                               return retval;
+                           }
+                       }
                        skip_num = 0;
                        retval = 0;
                        goto get_new_file;
@@ -498,12 +516,18 @@ get_new_file:
                        return retval;
                    }
                }
+               retval = k5_mutex_lock(&iter->file->data->lock);
+               if (retval) {
+                   profile_node_iterator_free(iter_p);
+                   return retval;
+               }
                iter->file_serial = iter->file->data->upd_serial;
                /*
                 * Find the section to list if we are a LIST_SECTION,
                 * or find the containing section if not.
                 */
                section = iter->file->data->root;
+               assert(section != NULL);
                for (cpp = iter->names; cpp[iter->done_idx]; cpp++) {
                        for (p=section->first_child; p; p = p->next) {
                                if (!strcmp(p->name, *cpp) && !p->value)
@@ -518,7 +542,15 @@ get_new_file:
                                iter->flags |= PROFILE_ITER_FINAL_SEEN;
                }
                if (!section) {
+                       k5_mutex_unlock(&iter->file->data->lock);
                        iter->file = iter->file->next;
+                       if (iter->file) {
+                           retval = k5_mutex_lock(&iter->file->data->lock);
+                           if (retval) {
+                               profile_node_iterator_free(iter_p);
+                               return retval;
+                           }
+                       }
                        skip_num = 0;
                        goto get_new_file;
                }
@@ -542,15 +574,26 @@ get_new_file:
                        skip_num--;
                        continue;
                }
+               if (p->deleted)
+                       continue;
                break;
        }
        iter->num++;
        if (!p) {
+               k5_mutex_unlock(&iter->file->data->lock);
                iter->file = iter->file->next;
+               if (iter->file) {
+                   retval = k5_mutex_lock(&iter->file->data->lock);
+                   if (retval) {
+                       profile_node_iterator_free(iter_p);
+                       return retval;
+                   }
+               }
                iter->node = 0;
                skip_num = 0;
                goto get_new_file;
        }
+       k5_mutex_unlock(&iter->file->data->lock);
        if ((iter->node = p->next) == NULL)
                iter->file = iter->file->next;
        if (ret_node)
index ec822ca8b91fc47a98ad5dd33dcb0e104a1894f5..10abe725ad6069be6add957add7e481a65919545 100644 (file)
@@ -54,6 +54,11 @@ long KRB5_CALLCONV profile_flush_to_buffer
 void KRB5_CALLCONV profile_free_buffer
        (profile_t profile, char *buf);
 
+long KRB5_CALLCONV profile_is_writable
+       (profile_t profile, int *writable);
+long KRB5_CALLCONV profile_is_modified
+       (profile_t profile, int *modified);
+
 void KRB5_CALLCONV profile_abandon
        (profile_t profile);
 
index b9b79719ff73cb387ac521219e3c5621c1211955..97a99b24bb47552901a76244648d7abd76b528ba 100644 (file)
@@ -1,3 +1,7 @@
+2005-03-14  Ken Raeburn  <raeburn@mit.edu>
+
+       * Makefile.in (EXTRADEPSRCS): Define.
+
 2004-06-16  Ken Raeburn  <raeburn@mit.edu>
 
        * Makefile.in (all-mac): Target deleted.
index 07cbab22fdc9747d799b11d79aee3f18a1aa71a9..20bc8fb9c7fc9ec4904eef9c51fa7e1605d3b211 100644 (file)
@@ -44,6 +44,11 @@ SRCS=        $(srcdir)/invocation.c $(srcdir)/help.c \
        $(srcdir)/error.c $(srcdir)/prompt.c \
        $(srcdir)/request_tbl.c $(srcdir)/list_rqs.c $(srcdir)/pager.c \
        $(srcdir)/requests.c $(srcdir)/data.c
+EXTRADEPSRCS= \
+       $(srcdir)/mk_cmds.c $(srcdir)/utils.c $(srcdir)/options.c \
+       cmd_tbl.lex.c ct.tab.c \
+       ss_err.c \
+       std_rqs.c
 depend-dependencies: ss_err.h includes
 
 std_rqs.o: std_rqs.c ss_err.h
@@ -194,4 +199,15 @@ requests.so requests.po $(OUTPRE)requests.$(OBJEXT): requests.c ss_internal.h \
   ss.h $(BUILDTOP)/include/ss/ss_err.h $(COM_ERR_DEPS)
 data.so data.po $(OUTPRE)data.$(OBJEXT): data.c ss_internal.h ss.h \
   $(BUILDTOP)/include/ss/ss_err.h $(COM_ERR_DEPS) copyright.h
+mk_cmds.so mk_cmds.po $(OUTPRE)mk_cmds.$(OBJEXT): mk_cmds.c copyright.h ss_internal.h \
+  ss.h $(BUILDTOP)/include/ss/ss_err.h $(COM_ERR_DEPS)
+utils.so utils.po $(OUTPRE)utils.$(OBJEXT): utils.c copyright.h ss_internal.h \
+  ss.h $(BUILDTOP)/include/ss/ss_err.h $(COM_ERR_DEPS)
+options.so options.po $(OUTPRE)options.$(OBJEXT): options.c copyright.h ss.h \
+  $(BUILDTOP)/include/ss/ss_err.h $(COM_ERR_DEPS)
+cmd_tbl.lex.o: cmd_tbl.lex.c ct.tab.h
+ct.tab.o: ct.tab.c ss.h $(BUILDTOP)/include/ss/ss_err.h \
+  $(COM_ERR_DEPS)
+ss_err.so ss_err.po $(OUTPRE)ss_err.$(OBJEXT): ss_err.c $(COM_ERR_DEPS)
+std_rqs.so std_rqs.po $(OUTPRE)std_rqs.$(OBJEXT): std_rqs.c $(SS_DEPS) $(COM_ERR_DEPS)
 
index 2ee4dd9302dde2b38491855a67dd0a1c4df4d0a5..9e974029ca6ddfe499cce4aa36fd51bc66c33504 100644 (file)
@@ -1,3 +1,38 @@
+2005-05-31  Ken Raeburn  <raeburn@mit.edu>
+
+       * threads.c [HAVE_PRAGMA_WEAK_REF]: Declare
+       pthread_{g,s}etspecific, pthread_key_{create,delete},
+       pthread_{create,join} as weak references.
+       (krb5int_pthread_loaded, loaded_test_aux) [HAVE_PRAGMA_WEAK_REF]:
+       New functions.
+       (flag_pthread_loaded, loaded_test_once) [HAVE_PRAGMA_WEAK_REF]:
+       New variables.
+       * libkrb5support.exports: Add krb5int_pthread_loaded.
+
+2005-03-20  Alexandra Ellwood  <lxs@mit.edu>
+
+       * threads.c (thread_termination): Free array of pointers
+       to thread-specific data (t) on thread termination.  Use
+       existing mutex to prevent the deletion of the array from
+       interfering with the global list of thread specific data
+       (used for library termination).
+
+2005-02-08  Ken Raeburn  <raeburn@mit.edu>
+
+       * threads.c (k5_key_delete) [pthread case]: Reset flags and
+       destructor function pointer to unset state.
+       (krb5int_thread_support_init, krb5int_thread_support_fini): If
+       SHOW_INITFINI_FUNCS is defined, print some tracing messages.
+
+2005-01-17  Jeffrey Altman <jaltman@mit.edu>
+
+        * threads.c: implement cleanup of static vars on library
+                unload (for Windows)
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * Makefile.in: rename krb5support_32.dll to k5sprt32.dll
+
 2004-10-25  Ken Raeburn  <raeburn@mit.edu>
 
        * libkrb5support.exports: Export krb5int_fac, _lock_fac,
index 034bade4149e1af14a00c7673349f3d1c72125d6..af3648a10ba4018563bbf52011e58b24251abad0 100644 (file)
@@ -5,9 +5,9 @@ BUILDTOP=$(REL)..$(S)..
 RELDIR=../util/support
 
 ##DOS##BUILDTOP = ..\..
-##DOS##LIBNAME=$(OUTPRE)krb5support_32.lib
+##DOS##LIBNAME=$(OUTPRE)k5sprt32.lib
 ##DOS##XTRA=
-##DOS##OBJFILE=$(OUTPRE)krb5support_32.lst
+##DOS##OBJFILE=$(OUTPRE)k5sprt32.lst
 
 SED = sed
 
index 7954cc9e80e34fa0b5f936b2c766ddbdac4dc0c6..6267e47086be561e3e4d0a7ad7ce4fc016e2f569 100644 (file)
@@ -5,3 +5,4 @@ krb5int_setspecific
 krb5int_fac
 krb5int_lock_fac
 krb5int_unlock_fac
+krb5int_pthread_loaded
index eb27f1cf9771d0d35da0e9cc0097c781618993c2..30701c74000d74b3f8c686bff7e8ede9435ea80c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * util/support/threads.c
  *
- * Copyright 2004 by the Massachusetts Institute of Technology.
+ * Copyright 2004,2005 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -106,6 +106,61 @@ struct tsd_block {
 # pragma weak pthread_setspecific
 # pragma weak pthread_key_create
 # pragma weak pthread_key_delete
+# pragma weak pthread_create
+# pragma weak pthread_join
+static volatile int flag_pthread_loaded = -1;
+static void loaded_test_aux(void)
+{
+    if (flag_pthread_loaded == -1)
+       flag_pthread_loaded = 1;
+    else
+       /* Could we have been called twice?  */
+       flag_pthread_loaded = 0;
+}
+static pthread_once_t loaded_test_once = PTHREAD_ONCE_INIT;
+int krb5int_pthread_loaded (void)
+{
+    int x = flag_pthread_loaded;
+    if (x != -1)
+       return x;
+    if (&pthread_getspecific == 0
+       || &pthread_setspecific == 0
+       || &pthread_key_create == 0
+       || &pthread_key_delete == 0
+       || &pthread_once == 0
+       || &pthread_mutex_lock == 0
+       || &pthread_mutex_unlock == 0
+       || &pthread_mutex_destroy == 0
+       || &pthread_mutex_init == 0
+       || &pthread_self == 0
+       || &pthread_equal == 0
+       /* This catches Solaris 9.  May be redundant with the above
+          tests now.  */
+# ifdef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP_IN_THREAD_LIB
+       || &pthread_mutexattr_setrobust_np == 0
+# endif
+       /* Any program that's really multithreaded will have to be
+          able to create threads.  */
+       || &pthread_create == 0
+       || &pthread_join == 0
+       /* Okay, all the interesting functions -- or stubs for them --
+          seem to be present.  If we call pthread_once, does it
+          actually seem to cause the indicated function to get called
+          exactly one time?  */
+       || pthread_once(&loaded_test_once, loaded_test_aux) != 0
+       || pthread_once(&loaded_test_once, loaded_test_aux) != 0
+       /* This catches cases where pthread_once does nothing, and
+          never causes the function to get called.  That's a pretty
+          clear violation of the POSIX spec, but hey, it happens.  */
+       || flag_pthread_loaded < 0) {
+       flag_pthread_loaded = 0;
+       return 0;
+    }
+    /* If we wanted to be super-paranoid, we could try testing whether
+       pthread_get/setspecific work, too.  I don't know -- so far --
+       of any system with non-functional stubs for those.  */
+    return flag_pthread_loaded;
+}
 static struct tsd_block tsd_if_single;
 # define GET_NO_PTHREAD_TSD()  (&tsd_if_single)
 #else
@@ -117,30 +172,36 @@ static void thread_termination(void *);
 
 static void thread_termination (void *tptr)
 {
-    int i, pass, none_found;
-    struct tsd_block *t = tptr;
-
-    /* Make multiple passes in case, for example, a libkrb5 cleanup
-       function wants to print out an error message, which causes
-       com_err to allocate a thread-specific buffer, after we just
-       freed up the old one.
-
-       Shouldn't actually happen, if we're careful, but check just in
-       case.  */
-
-    pass = 0;
-    none_found = 0;
-    while (pass < 4 && !none_found) {
-       none_found = 1;
-       for (i = 0; i < K5_KEY_MAX; i++) {
-           if (destructors_set[i] && destructors[i] && t->values[i]) {
-               void *v = t->values[i];
-               t->values[i] = 0;
-               (*destructors[i])(v);
-               none_found = 0;
-           }
-       }
-    }
+    int err = k5_mutex_lock(&key_lock);
+    if (err == 0) {
+        int i, pass, none_found;
+        struct tsd_block *t = tptr;
+        
+        /* Make multiple passes in case, for example, a libkrb5 cleanup
+            function wants to print out an error message, which causes
+            com_err to allocate a thread-specific buffer, after we just
+            freed up the old one.
+            
+            Shouldn't actually happen, if we're careful, but check just in
+            case.  */
+        
+        pass = 0;
+        none_found = 0;
+        while (pass < 4 && !none_found) {
+            none_found = 1;
+            for (i = 0; i < K5_KEY_MAX; i++) {
+                if (destructors_set[i] && destructors[i] && t->values[i]) {
+                    void *v = t->values[i];
+                    t->values[i] = 0;
+                    (*destructors[i])(v);
+                    none_found = 0;
+                }
+            }
+        }
+        free (t);
+        err = k5_mutex_unlock(&key_lock);
+   }
+    
     /* remove thread from global linked list */
 }
 
@@ -305,12 +366,28 @@ int k5_key_delete (k5_key_t keynum)
     /* XXX Memory leak here!
        Need to destroy the associated data for all threads.
        But watch for race conditions in case threads are going away too.  */
+    assert(destructors_set[keynum] == 1);
+    destructors_set[keynum] = 0;
+    destructors[keynum] = 0;
     LeaveCriticalSection(&key_lock);
 
 #else /* POSIX */
 
-    /* Not written yet.  */
-    abort();
+    {
+       int err;
+
+       /* XXX RESOURCE LEAK:
+
+          Need to destroy the allocated objects first!  */
+
+       err = k5_mutex_lock(&key_lock);
+       if (err == 0) {
+           assert(destructors_set[keynum] == 1);
+           destructors_set[keynum] = 0;
+           destructors[keynum] = NULL;
+           k5_mutex_unlock(&key_lock);
+       }
+    }
 
 #endif
 
@@ -329,6 +406,10 @@ int krb5int_thread_support_init (void)
 {
     int err;
 
+#ifdef SHOW_INITFINI_FUNCS
+    printf("krb5int_thread_support_init\n");
+#endif
+
 #ifndef ENABLE_THREADS
 
     /* Nothing to do for TLS initialization.  */
@@ -364,6 +445,10 @@ void krb5int_thread_support_fini (void)
     if (! INITIALIZER_RAN (krb5int_thread_support_init))
        return;
 
+#ifdef SHOW_INITFINI_FUNCS
+    printf("krb5int_thread_support_fini\n");
+#endif
+
 #ifndef ENABLE_THREADS
 
     /* Do nothing.  */
index e2f888f35bea254b1487052ff1ad20cbef765730..c1165b6f35692c4e0c21c171e3393cc26524c21d 100644 (file)
@@ -1,3 +1,7 @@
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+   
+         * version.rc: rename krb5support.dll to k5sprt32.dll
+
 2004-09-30  Jeffrey Altman <jaltman@mit.edu>
 
         * version.rc: Add pismere condition resource strings
index d79cf15448706d1d97aa7b9acbe7e939e9cf374c..d32fd8ac3fe9c4b8f52f7887d2091d7fe630bf8e 100644 (file)
@@ -1,3 +1,7 @@
+2005-03-15  Jeffrey Altman <jaltman@mit.edu>
+
+        * tktlist.c: do not mix pointers to long and time_t 
+
 2004-09-30  Jeffrey Altman <jaltman@mit.edu>
 
         * Makefile.in: add $(BUILDTOP) to include path for patchlevel.h
index 5e1520120b21c4b735ffab0ff8a1c2bbc34db14f..68a6f1c6297f7cc659202476210600a7384ee3ef 100644 (file)
@@ -56,7 +56,7 @@ typedef struct {
  * Returns: A pointer to the adjusted time value.
  */
 static char *
-short_date (long t)
+short_date (time_t t)
 {
   static char buf[26 - 4];
   char *p;
index 40d5e1ea321dc11d0708ec01fc50e341b4afae0a..12a463e68e79eb9b14d716cb8cd6f1f8eab99c58 100644 (file)
@@ -1,3 +1,14 @@
+2004-12-18  Jeffrey Altman <jaltman@mit.edu>
+
+* kfw-fixed.nsi:
+    Add "Debug Symbols" as a new category.  It defaults to on
+    in debug builds and off in release builds.
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+* kfw-fixed.nsi
+    Add kcpytkt.exe, kdeltkt.exe, k5sprt32.dll, mit2ms.exe
+
 2004-09-17  Jeffrey Altman <jaltman@mit.edu>
 
 * kfw-fixed.nsi:
index 6847c82ce3565f95a3b427b0276ae0e310d3dbf5..aacf5b7cafa12ed4c37fb85149095f62aac5830d 100644 (file)
@@ -118,6 +118,8 @@ VIAddVersionKey "PrivateBuild" "Checked/Debug"
 
   LangString DESC_secClient ${LANG_ENGLISH} "Client: Allows you to utilize MIT Kerberos from your Windows PC."
   
+  LangString DESC_secDebug ${LANG_ENGLISH} "Debug Symbols: Used for debugging problems with MIT Kerberos for Windows"
+  
   LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Allows you to build MIT Kerberos aware applications."
   
   LangString DESC_secDocs ${LANG_ENGLISH} "Documentation: Release Notes and User Manuals."
@@ -197,6 +199,7 @@ Section "KfW Client" secClient
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\kpasswd.exe"         "$INSTDIR\bin\kpasswd.exe"       "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\kvno.exe"            "$INSTDIR\bin\kvno.exe"          "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\krb5_32.dll"         "$INSTDIR\bin\krb5_32.dll"       "$INSTDIR"
+  !insertmacro ReplaceDLL "${KFW_BIN_DIR}\k5sprt32.dll"        "$INSTDIR\bin\k5sprt32.dll"      "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\krb524.dll"          "$INSTDIR\bin\krb524.dll"        "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\krbcc32.dll"         "$INSTDIR\bin\krbcc32.dll"       "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\krbcc32s.exe"        "$INSTDIR\bin\krbcc32s.exe"      "$INSTDIR"
@@ -209,41 +212,17 @@ Section "KfW Client" secClient
 !endif                                                                         
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\leashw32.dll"        "$INSTDIR\bin\leashw32.dll"      "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\ms2mit.exe"          "$INSTDIR\bin\ms2mit.exe"        "$INSTDIR"
+  !insertmacro ReplaceDLL "${KFW_BIN_DIR}\mit2ms.exe"          "$INSTDIR\bin\mit2ms.exe"        "$INSTDIR"
+  !insertmacro ReplaceDLL "${KFW_BIN_DIR}\kcpytkt.exe"          "$INSTDIR\bin\kcpytkt.exe"        "$INSTDIR"
+  !insertmacro ReplaceDLL "${KFW_BIN_DIR}\kdeltkt.exe"          "$INSTDIR\bin\kdeltkt.exe"        "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\wshelp32.dll"        "$INSTDIR\bin\wshelp32.dll"      "$INSTDIR"
   !insertmacro ReplaceDLL "${KFW_BIN_DIR}\xpprof32.dll"        "$INSTDIR\bin\xpprof32.dll"      "$INSTDIR"
   
 !ifdef DEBUG
-  File "${KFW_BIN_DIR}\aklog.pdb"
-  File "${KFW_BIN_DIR}\comerr32.pdb"
-  File "${KFW_BIN_DIR}\gss.pdb"
-  File "${KFW_BIN_DIR}\gss-client.pdb"
-  File "${KFW_BIN_DIR}\gss-server.pdb"
-  File "${KFW_BIN_DIR}\gssapi32.pdb"
-  File "${KFW_BIN_DIR}\k524init.pdb"
-  File "${KFW_BIN_DIR}\kclnt32.pdb"
-  File "${KFW_BIN_DIR}\kdestroy.pdb"
-  File "${KFW_BIN_DIR}\kinit.pdb"
-  File "${KFW_BIN_DIR}\klist.pdb"
-  File "${KFW_BIN_DIR}\kpasswd.pdb"
-  File "${KFW_BIN_DIR}\kvno.pdb"
-  File "${KFW_BIN_DIR}\krb5_32.pdb"
-  File "${KFW_BIN_DIR}\krb524.pdb"
-  File "${KFW_BIN_DIR}\krbcc32.pdb"
-  File "${KFW_BIN_DIR}\krbcc32s.pdb"
-  File "${KFW_BIN_DIR}\krbv4w32.pdb"
-  File "${KFW_BIN_DIR}\leashw32.pdb"
-  File "${KFW_BIN_DIR}\leash32.pdb"
-  File "${KFW_BIN_DIR}\ms2mit.pdb"
-  File "${KFW_BIN_DIR}\wshelp32.pdb"
-  File "${KFW_BIN_DIR}\xpprof32.pdb"
-
 !IFDEF CL_1400
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr80d.dll"    "$INSTDIR\bin\msvcr80d.dll"  "$INSTDIR"
-  File "${SYSTEMDIR}\msvcr80d.pdb"                                           
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp80d.dll"    "$INSTDIR\bin\msvcp80d.dll"  "$INSTDIR"
-  File "${SYSTEMDIR}\msvcp80d.pdb"                                           
   !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc80d.dll"      "$INSTDIR\bin\mfc80d.dll"    "$INSTDIR"
-  File "${SYSTEMDIR}\mfc80d.pdb"                                             
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHS.DLL"    "$INSTDIR\bin\MFC80CHS.DLL"  "$INSTDIR"
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHT.DLL"    "$INSTDIR\bin\MFC80CHT.DLL"  "$INSTDIR"
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80DEU.DLL"    "$INSTDIR\bin\MFC80DEU.DLL"  "$INSTDIR"
@@ -256,11 +235,8 @@ Section "KfW Client" secClient
 !ELSE                                                                   
 !IFDEF CL_1310
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll"    "$INSTDIR\bin\msvcr71d.dll"  "$INSTDIR"
-  File "${SYSTEMDIR}\msvcr71d.pdb"                                           
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll"    "$INSTDIR\bin\msvcp71d.dll"  "$INSTDIR"
-  File "${SYSTEMDIR}\msvcp71d.pdb"                                           
   !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll"      "$INSTDIR\bin\mfc71d.dll"    "$INSTDIR"
-  File "${SYSTEMDIR}\mfc71d.pdb"                                             
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL"    "$INSTDIR\bin\MFC71CHS.DLL"  "$INSTDIR"
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL"    "$INSTDIR\bin\MFC71CHT.DLL"  "$INSTDIR"
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL"    "$INSTDIR\bin\MFC71DEU.DLL"  "$INSTDIR"
@@ -273,11 +249,8 @@ Section "KfW Client" secClient
 !ELSE                                                                   
 !IFDEF CL_1300                                                          
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll"    "$INSTDIR\bin\msvcr70d.dll"  "$INSTDIR"
-  File "${SYSTEMDIR}\msvcr70d.pdb"                                           
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll"    "$INSTDIR\bin\msvcp70d.dll"  "$INSTDIR"
-  File "${SYSTEMDIR}\msvcp70d.pdb"                                           
   !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll"      "$INSTDIR\bin\mfc70d.dll"    "$INSTDIR"
-  File "${SYSTEMDIR}\mfc70d.pdb"                                             
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL"    "$INSTDIR\bin\MFC70CHS.DLL"  "$INSTDIR"
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL"    "$INSTDIR\bin\MFC70CHT.DLL"  "$INSTDIR"
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL"    "$INSTDIR\bin\MFC70DEU.DLL"  "$INSTDIR"
@@ -289,11 +262,8 @@ Section "KfW Client" secClient
   !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL"    "$INSTDIR\bin\MFC70KOR.DLL"  "$INSTDIR"
 !ELSE                                                                   
   !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll"      "$INSTDIR\bin\mfc42d.dll"    "$INSTDIR"
-  File "${SYSTEMDIR}\mfc42d.pdb"                                             
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll"    "$INSTDIR\bin\msvcp60d.dll"  "$INSTDIR"
-  File "${SYSTEMDIR}\msvcp60d.pdb"                                           
   !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll"     "$INSTDIR\bin\msvcrtd.dll"   "$INSTDIR"
-  File "${SYSTEMDIR}\msvcrtd.pdb"                                            
 !ENDIF                                                                  
 !ENDIF                                                                  
 !ENDIF
@@ -461,6 +431,7 @@ skipAllowTgtKey:
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kvno" "Flags" 0x408
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\ms2mit" "Flags" 0x408
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\mit2ms" "Flags" 0x408
+  WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\mit2ms" "Flags" 0x408
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kcpytkt" "Flags" 0x408
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kdeltkt" "Flags" 0x408
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\k95" "Flags" 0x408
@@ -468,6 +439,63 @@ skipAllowTgtKey:
 
 SectionEnd
 
+Section "Debug Symbols" secDebug
+
+  SetOutPath "$INSTDIR\bin"
+  File "${KFW_BIN_DIR}\aklog.pdb"
+  File "${KFW_BIN_DIR}\comerr32.pdb"
+  File "${KFW_BIN_DIR}\gss.pdb"
+  File "${KFW_BIN_DIR}\gss-client.pdb"
+  File "${KFW_BIN_DIR}\gss-server.pdb"
+  File "${KFW_BIN_DIR}\gssapi32.pdb"
+  File "${KFW_BIN_DIR}\k524init.pdb"
+  File "${KFW_BIN_DIR}\kclnt32.pdb"
+  File "${KFW_BIN_DIR}\kdestroy.pdb"
+  File "${KFW_BIN_DIR}\kinit.pdb"
+  File "${KFW_BIN_DIR}\klist.pdb"
+  File "${KFW_BIN_DIR}\kpasswd.pdb"
+  File "${KFW_BIN_DIR}\kvno.pdb"
+  File "${KFW_BIN_DIR}\krb5_32.pdb"
+  File "${KFW_BIN_DIR}\k5sprt32.pdb"
+  File "${KFW_BIN_DIR}\krb524.pdb"
+  File "${KFW_BIN_DIR}\krbcc32.pdb"
+  File "${KFW_BIN_DIR}\krbcc32s.pdb"
+  File "${KFW_BIN_DIR}\krbv4w32.pdb"
+  File "${KFW_BIN_DIR}\leashw32.pdb"
+  File "${KFW_BIN_DIR}\leash32.pdb"
+  File "${KFW_BIN_DIR}\ms2mit.pdb"
+  File "${KFW_BIN_DIR}\mit2ms.pdb"
+  File "${KFW_BIN_DIR}\kcpytkt.pdb"
+  File "${KFW_BIN_DIR}\kdeltkt.pdb"
+  File "${KFW_BIN_DIR}\wshelp32.pdb"
+  File "${KFW_BIN_DIR}\xpprof32.pdb"
+
+!IFDEF DEBUG
+!IFDEF CL_1400
+  File "${SYSTEMDIR}\msvcr80d.pdb"                                           
+  File "${SYSTEMDIR}\msvcp80d.pdb"                                           
+  File "${SYSTEMDIR}\mfc80d.pdb"                                             
+!ELSE                                                                   
+!IFDEF CL_1310
+  File "${SYSTEMDIR}\msvcr71d.pdb"                                           
+  File "${SYSTEMDIR}\msvcp71d.pdb"                                           
+  File "${SYSTEMDIR}\mfc71d.pdb"                                             
+!ELSE                                                                   
+!IFDEF CL_1300                                                          
+  File "${SYSTEMDIR}\msvcr70d.pdb"                                           
+  File "${SYSTEMDIR}\msvcp70d.pdb"                                           
+  File "${SYSTEMDIR}\mfc70d.pdb"                                             
+!ELSE                                                                   
+  File "${SYSTEMDIR}\mfc42d.pdb"                                             
+  File "${SYSTEMDIR}\msvcp60d.pdb"                                           
+  File "${SYSTEMDIR}\msvcrtd.pdb"                                            
+!ENDIF                                                                  
+!ENDIF                                                                  
+!ENDIF
+!ENDIF
+
+SectionEnd
+
 ;----------------------
 ; Kerberos for Windows SDK
 Section "KfW SDK" secSDK
@@ -806,6 +834,17 @@ DoNotRestart:
 no_remove_uninstaller:
 
 contInstall:
+   ; Never install debug symbols unless explicitly selected, except in DEBUG mode
+!IFNDEF DEBUG
+   SectionGetFlags ${secDebug} $0
+   IntOp $0 $0 & ${SECTION_OFF}
+   SectionSetFlags ${secDebug} $0
+!ELSE
+   SectionGetFlags ${secDebug} $0
+   IntOp $0 $0 | ${SF_SELECTED}
+   SectionSetFlags ${secDebug} $0
+!ENDIF
+
    ; Our logic should be like this.
    ;     1) If no KfW components are installed, we do a clean install with default options. (Client/Docs)
    ;     2) If existing modules are installed, we keep them selected
@@ -1019,6 +1058,7 @@ FunctionEnd
   !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
   !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
   !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
+  !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
   !insertmacro MUI_FUNCTION_DESCRIPTION_END
  
 ;--------------------------------
@@ -1060,6 +1100,7 @@ StartRemove:
    Delete /REBOOTOK "$INSTDIR\bin\kpasswd.exe"   
    Delete /REBOOTOK "$INSTDIR\bin\kvno.exe"   
    Delete /REBOOTOK "$INSTDIR\bin\krb5_32.dll" 
+   Delete /REBOOTOK "$INSTDIR\bin\k5sprt32.dll" 
    Delete /REBOOTOK "$INSTDIR\bin\krb524.dll"  
    Delete /REBOOTOK "$INSTDIR\bin\krbcc32.dll" 
    Delete /REBOOTOK "$INSTDIR\bin\krbcc32s.exe"
@@ -1072,10 +1113,12 @@ StartRemove:
 !endif
    Delete /REBOOTOK "$INSTDIR\bin\leashw32.dll"
    Delete /REBOOTOK "$INSTDIR\bin\ms2mit.exe"  
+   Delete /REBOOTOK "$INSTDIR\bin\mit2ms.exe"  
+   Delete /REBOOTOK "$INSTDIR\bin\kcpytkt.exe"  
+   Delete /REBOOTOK "$INSTDIR\bin\kdeltkt.exe"  
    Delete /REBOOTOK "$INSTDIR\bin\wshelp32.dll"
    Delete /REBOOTOK "$INSTDIR\bin\xpprof32.dll"
 
-!IFDEF DEBUG
    Delete /REBOOTOK "$INSTDIR\bin\aklog.pdb"
    Delete /REBOOTOK "$INSTDIR\bin\comerr32.pdb"
    Delete /REBOOTOK "$INSTDIR\bin\gss.pdb"
@@ -1090,15 +1133,20 @@ StartRemove:
    Delete /REBOOTOK "$INSTDIR\bin\kpasswd.pdb"   
    Delete /REBOOTOK "$INSTDIR\bin\kvno.pdb"   
    Delete /REBOOTOK "$INSTDIR\bin\krb5_32.pdb" 
+   Delete /REBOOTOK "$INSTDIR\bin\k5sprt32.pdb" 
    Delete /REBOOTOK "$INSTDIR\bin\krb524.pdb"  
    Delete /REBOOTOK "$INSTDIR\bin\krbcc32.pdb" 
    Delete /REBOOTOK "$INSTDIR\bin\krbcc32s.pdb"
    Delete /REBOOTOK "$INSTDIR\bin\krbv4w32.pdb"
    Delete /REBOOTOK "$INSTDIR\bin\leashw32.pdb"
    Delete /REBOOTOK "$INSTDIR\bin\ms2mit.pdb"  
+   Delete /REBOOTOK "$INSTDIR\bin\mit2ms.pdb"  
+   Delete /REBOOTOK "$INSTDIR\bin\kcpytkt.pdb"  
+   Delete /REBOOTOK "$INSTDIR\bin\kdeltkt.pdb"  
    Delete /REBOOTOK "$INSTDIR\bin\wshelp32.pdb"
    Delete /REBOOTOK "$INSTDIR\bin\xpprof32.pdb"
 
+!IFDEF DEBUG
 !IFDEF CL_1400
    Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.dll"
    Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.pdb"
index 42b069d8ea7ecccbd260029dc533b246d6555430..fe818ac8c784c206392d3c15108f1b14862ef67d 100644 (file)
@@ -1,3 +1,14 @@
+2004-12-18  Jeffrey Altman <jaltman@mit.edu>
+
+        Add Debug Symbols as an optional install feature for
+        release builds of KFW
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        Add kcpytkt.exe, kdeltkt.exe, k5sprt32.dll mit2ms.exe
+
+        Update to Wix 2.1 installer
+
 2004-09-16  Jeffrey Altman <jaltman@mit.edu>
 
         Remove trailing slash from PATH 
index f3f5afcf799cb6f926fb3021235ebdb44f390fc2..8c361eb1f0bc1542b3bb75116bf6971bf113ef99 100644 (file)
 
     <?include lang\config_$(var.BuildLang).wxi?>
     
+    <!-- Parameters for the features containing debug symbols -->
+    <?ifdef DebugSyms?>
+         <?ifdef Debug?>
+             <?define DebugSymInstallDefault="followParent"?>
+             <?define DebugSymLowLevel="30"?>
+             <?define DebugSymHighLevel="130"?>
+         <?else?>
+             <?define DebugSymInstallDefault="followParent"?>
+             <?define DebugSymLowLevel="130"?>
+             <?define DebugSymHighLevel="130"?>
+         <?endif?>
+    <?endif?>
+    
     <!-- Configuration macros -->
     <?ifndef LeashAfsStatus?>
         <?define LeashAfsStatus="1"?>
index e9e3d87e14fe8d3ae3baeb7956feccc4d58c43b6..12e25c9cb2797345aa4f576e636495d64023d191 100644 (file)
             Description="$(loc.KerberosClientDesc)"
             InstallDefault="local"
             Title="$(loc.KerberosClientTitle)"
-            FollowParent="yes"
             Level="30">
             
+            <?ifdef DebugSyms?>
+               <Feature 
+                    Id="feaKfwClientDebug" 
+                    AllowAdvertise="no" 
+                    Description="$(loc.StrKerberosClientDebugDesc)" 
+                    Display="expand"
+                   InstallDefault="$(var.DebugSymInstallDefault)" 
+                    Level="$(var.DebugSymLowLevel)" 
+                    Title="$(loc.StrKerberosClientDebugTitle)">
+                        <ComponentRef Id="cmf_bin_debug"/>
+               </Feature>
+           <?endif?>
+
             <ComponentRef Id="cmf_aklog_exe" />
             <ComponentRef Id="cmf_comerr32_dll" />
             <ComponentRef Id="cmf_gss_exe" />
             <ComponentRef Id="cmf_k524init_exe" />
             <ComponentRef Id="cmf_kclnt32_dll" />
             <ComponentRef Id="cmf_kdestroy_exe" />
+            <ComponentRef Id="cmf_kcpytkt_exe" />
+            <ComponentRef Id="cmf_kdeltkt_exe" />
             <ComponentRef Id="cmf_kinit_exe" />
             <ComponentRef Id="cmf_klist_exe" />
             <ComponentRef Id="cmf_kpasswd_exe" />
             <ComponentRef Id="cmf_kvno_exe" />
             <ComponentRef Id="cmf_krb5_32_dll" />
+            <ComponentRef Id="cmf_k5sprt32_dll" />
             <ComponentRef Id="cmf_krb524_dll" />
             <ComponentRef Id="cmf_krbcc32_dll" />
             <ComponentRef Id="cmf_krbcc32s_exe" />
             <ComponentRef Id="rcm_leashdll_17" />
             
             <ComponentRef Id="cmf_ms2mit_exe" />
+            <ComponentRef Id="cmf_mit2ms_exe" />
             <ComponentRef Id="cmf_wshelp32_dll" />
             <ComponentRef Id="cmf_xpprof32_dll" />
 
-        <?ifdef Debug?>            
-            <ComponentRef Id="cmf_bin_debug"/>
-        <?endif?>
-        
             <ComponentRef Id="cmf_psapi_dll" />
             
         <?ifndef Debug?>
index ac581cf5177c6e140983cfd125b37cb9df71f378..386402ce73696a5000655e539775a5597c5cb9d4 100644 (file)
                            <Registry Id="reg_ts_kdestroy_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kdestroy" Action="createKeyAndRemoveKeyOnUninstall" />
                            <Registry Id="reg_ts_kdestroy_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kdestroy" Name="Flags" Type="integer" Value="1032" />
                     </Component>
+                    <Component Id="cmf_kcpytkt_exe" Guid="6B20E57C-0033-4dcf-B3C9-74ED0B2CF46E" DiskId="1">
+                           <File Id="fil_kcpytkt_exe" LongName="kcpytkt.exe" Name="kcpytkt.exe" KeyPath="yes" />
+                           <Registry Id="reg_ts_kcpytkt_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kcpytkt" Action="createKeyAndRemoveKeyOnUninstall" />
+                           <Registry Id="reg_ts_kcpytkt_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kcpytkt" Name="Flags" Type="integer" Value="1032" />
+                    </Component>
+                    <Component Id="cmf_kdeltkt_exe" Guid="C7528C87-9B61-439a-8EA8-AD4BE3D758F9" DiskId="1">
+                           <File Id="fil_kdeltkt_exe" LongName="kdeltkt.exe" Name="kdeltkt.exe" KeyPath="yes" />
+                           <Registry Id="reg_ts_kdeltkt_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kdeltkt" Action="createKeyAndRemoveKeyOnUninstall" />
+                           <Registry Id="reg_ts_kdeltkt_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kdeltkt" Name="Flags" Type="integer" Value="1032" />
+                    </Component>
                     <Component Id="cmf_kinit_exe" Guid="80643A09-EF28-4714-BC62-B64FC5B17CAA" DiskId="1">
                            <File Id="fil_kinit_exe" LongName="kinit.exe" Name="kinit.exe" KeyPath="yes" />
                            <Registry Id="reg_ts_kinit_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kinit" Action="createKeyAndRemoveKeyOnUninstall" />
                            <File Id="fil_krb5_32_dll" LongName="krb5_32.dll" Name="krb5_32.dll" KeyPath="yes" />
                            <Environment Id="env_kclient_path" Action="set" Name="PATH" Part="last" System="yes" Value="[KERBEROSDIR]bin" />
                     </Component>
+                    <Component Id="cmf_k5sprt32_dll" Guid="F2381331-9201-4c02-866F-2038676771D4" DiskId="1">
+                           <File Id="fil_k5sprt32_dll" LongName="k5sprt32.dll" Name="k5sprt32.dll" />
+                    </Component>
                     <Component Id="cmf_krb524_dll" Guid="98685874-A9AA-4BC5-9830-271D9CF52C17" DiskId="1">
                            <File Id="fil_krb524_dll" LongName="krb524.dll" Name="krb524.dll" KeyPath="yes" />
                     </Component>
                            <Registry Id="reg_ts_ms2mit_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\ms2mit" Action="createKeyAndRemoveKeyOnUninstall" />
                            <Registry Id="reg_ts_ms2mit_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\ms2mit" Name="Flags" Type="integer" Value="1032" />
                     </Component>
+                    <Component Id="cmf_mit2ms_exe" Guid="4F487781-5B55-48c1-A3FA-8BC6ECA4FEA1" DiskId="1">
+                           <File Id="fil_mit2ms_exe" LongName="mit2ms.exe" Name="mit2ms.exe" KeyPath="yes" />
+                           <Registry Id="reg_ts_mit2ms_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\mit2ms" Action="createKeyAndRemoveKeyOnUninstall" />
+                           <Registry Id="reg_ts_mit2ms_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\mit2ms" Name="Flags" Type="integer" Value="1032" />
+                    </Component>
                     <Component Id="cmf_wshelp32_dll" Guid="B9D9F5F1-CA93-4F56-B6F8-343F21484CDE" DiskId="1">
                            <File Id="fil_wshelp32_dll" LongName="wshelp32.dll" Name="wshelp32.dll" KeyPath="yes" />
                     </Component>
                            <File Id="fil_k524init_pdb" LongName="k524init.pdb" Name="k524init.pdb" />
                            <File Id="fil_kclnt32_pdb" LongName="kclnt32.pdb" Name="kclnt32.pdb" />
                            <File Id="fil_kdestroy_pdb" LongName="kdestroy.pdb" Name="kdestroy.pdb" />
+                           <File Id="fil_kcpytkt_pdb" LongName="kcpytkt.pdb" Name="kcpytkt.pdb" />
+                           <File Id="fil_kdeltkt_pdb" LongName="kdeltkt.pdb" Name="kdeltkt.pdb" />
                            <File Id="fil_kinit_pdb" LongName="kinit.pdb" Name="kinit.pdb" />
                            <File Id="fil_klist_pdb" LongName="klist.pdb" Name="klist.pdb" />
                            <File Id="fil_kpasswd_pdb" LongName="kpasswd.pdb" Name="kpasswd.pdb" />
                            <File Id="fil_kvno_pdb" LongName="kvno.pdb" Name="kvno.pdb" />
                            <File Id="fil_krb5_32_pdb" LongName="krb5_32.pdb" Name="krb5_32.pdb" KeyPath="yes" />
+                           <File Id="fil_k5sprt32_pdb" LongName="k5sprt32.pdb" Name="k5sprt32.pdb" />
                            <File Id="fil_krb524_pdb" LongName="krb524.pdb" Name="krb524.pdb" />
                            <File Id="fil_krbcc32_pdb" LongName="krbcc32.pdb" Name="krbcc32.pdb" />
                            <File Id="fil_krbcc32s_pdb" LongName="krbcc32s.pdb" Name="krbcc32s.pdb" />
                            <File Id="fil_leash32_pdb" LongName="leash32.pdb" Name="leash32.pdb" />
                            <File Id="fil_leashw32_pdb" LongName="leashw32.pdb" Name="leashw32.pdb" />
                            <File Id="fil_ms2mit_pdb" LongName="ms2mit.pdb" Name="ms2mit.pdb" />
+                           <File Id="fil_mit2ms_pdb" LongName="mit2ms.pdb" Name="mit2ms.pdb" />
                            <File Id="fil_wshelp32_pdb" LongName="wshelp32.pdb" Name="wshelp32.pdb" />
                            <File Id="fil_xpprof32_pdb" LongName="xpprof32.pdb" Name="xpprof32.pdb" />
                     </Component>
     </Directory>
     
     <Directory Id="ProgramMenuFolder">
-        <Directory Id="dirShortcut" LongName="$(loc.ProductName)" Name="$(loc.ProductNameShort)">
+        <Directory Id="dirShortcut" LongName="$(loc.ProductName)" Name="KFW">
         </Directory>
     </Directory>
     <Directory Id="StartupFolder">
index f8aa27c9a4832c8ead8f1e308d4feb13878b418d..23a6add21dc56c146534bf84dbe7e591fb1ba90b 100644 (file)
@@ -1,3 +1,12 @@
+2004-12-18  Jeffrey Altman <jaltman@mit.edu>
+
+        Add Debug Symbols as an optional install feature for
+        release builds of KFW2004-08-20  Jeffrey Altman <jaltman@mit.edu>
+
+2004-12-15  Jeffrey Altman <jaltman@mit.edu>
+
+        Update for WiX 2.1 installer
+
 2004-08-20  Asanka Herath  <asanka@mit.edu>
 
         New WiX 2.0 MSI for KFW
\ No newline at end of file
index 324831d9239f966e0da909c67c1fd806ff2f7305..41067361ab8b203f869da192be5348de1005f04d 100644 (file)
@@ -26,7 +26,7 @@
   
   -->
     <String Id="ProductName">Kerberos for Windows</String>
-    <String Id="ProductNameShort">Kerberos</String>
+    <String Id="ProductNameShort">KFW</String>
     <String Id="ProductMIT">MIT</String>
     <String Id="ProductDebug">Debug/Checked</String>
     <String Id="ProductBeta">Beta</String>
@@ -39,6 +39,9 @@
     <String Id="KerberosClientTitle">Client</String>
     <String Id="KerberosClientDesc">Kerberos client utilities, libraries and documentation</String>
     
+    <String Id="StrKerberosClientDebugTitle">Debug symbols</String>
+    <String Id="StrKerberosClientDebugDesc">Debugging symbols for Kerberos for Windows components.</String>
+
     <String Id="KerberosSDKTitle">SDK</String>
     <String Id="KerberosSDKDesc">Libraries and header files for developing software with Kerberos</String>
     
@@ -51,5 +54,5 @@
     <String Id="IE501Required">Kerberos for Windows requires Microsoft Internet Explorer version 5.01 or higher.  Please resolve this and run the installer again.</String>
 
     <String Id="ARPComments">Build of</String>
-    
+
 </WixLocalization>
\ No newline at end of file
index 074492e312e649acb2239999b694c356c4aba5df..e0081309d9ef311bd9035f8489bc279bdf08ed58 100644 (file)
@@ -6,13 +6,13 @@
     <!-- TargetDir should point to build target directory and must end with 
          a backslash.  If not specified, assume we are in TargetDir\install -->
 
-    <?define TargetDir="d:\work\kfwbins\"?>
+    <?define TargetDir="c:\temp\kfw\kfw-2.6.6-alpha\"?>
 
     <!-- ConfigDir should point to directory containing configuration files 
          (krb5.ini, krb.con, krbrealm.con) to be bundled with the installer.
          The directory name should end with a backslash. -->
 
-    <?define ConfigDir="$(env.SystemRoot)\"?>
+    <?define ConfigDir="c:\temp\kfw\kfw-2.5-extra\sample-config\"?>
     
     <!-- VersionMajor, VersionMinor and VersionPatch must all be specified, or 
          none should be specified (in which case, the defaults will be
 
     <!-- At most one of the following could be defined and must correspond
          to the type of build performed. -->
-    <!-- <?define Debug?> -->
-    <?define Release?>
-    
+    <?define Debug?>
+    <!-- <?define Release?> -->
+
+    <!-- We are including debug symbols anyway.  Undefine this for a leaner installer without debug syms. -->
+    <?define DebugSyms?>
+
     <!-- Optional defines -->
-    <!-- <?define Beta=""?> --> <!-- Numeric Beta identifier -->
+    <?define Beta="1"?> <!-- Numeric Beta identifier -->
     <!-- <?define OldHelp?> --> <!-- Specifies the use of the old leash32.hlp file 
                            instead of the new leash32.chm file -->
 
@@ -69,7 +72,7 @@
     <?ifndef VersionMajor?>
         <?define VersionMajor="2"?>
         <?define VersionMinor="6"?>
-        <?define VersionPatch="0001"?>
+        <?define VersionPatch="6"?>
     <?else?>
         <?if Not ($(var.VersionMinor) And $(var.VersionPatch))?>
             <?error VersionMajor, VersionMinor and VersionPatch should be specified together?>
index c1b50f295fc737822b807e0564c0ab2377ab2420..05dba755d69fdf56df7ed94be231e68c5d90af0d 100644 (file)
@@ -59,7 +59,7 @@
 #if !defined(_WIN32)
 #error not win32??
 #else
-#define K5_ORIGINAL_NAME "krb5support32.dll\0"
+#define K5_ORIGINAL_NAME "k5sprt32.dll\0"
 #endif
 #endif /* support */