Merge V1_0_FREEZE_3 into the mainline. (Note this merge does *not*
authorTheodore Tso <tytso@mit.edu>
Fri, 13 Dec 1996 19:28:16 +0000 (19:28 +0000)
committerTheodore Tso <tytso@mit.edu>
Fri, 13 Dec 1996 19:28:16 +0000 (19:28 +0000)
include the doc subtree!!)

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@9632 dc483132-0cff-0310-8789-dd5450dbe970

140 files changed:
README
src/ChangeLog
src/Makefile.in
src/appl/bsd/ChangeLog
src/appl/bsd/kcmd.c
src/appl/bsd/login.M
src/appl/bsd/login.c
src/appl/bsd/loginpaths.h
src/appl/bsd/v4rcp.c
src/appl/gss-sample/ChangeLog
src/appl/gss-sample/gss-client.c
src/appl/gssftp/ftp/ChangeLog
src/appl/gssftp/ftp/ftp.c
src/appl/sample/sserver/ChangeLog
src/appl/sample/sserver/sserver.M
src/appl/simple/client/ChangeLog
src/appl/simple/client/sim_client.c
src/appl/simple/server/ChangeLog
src/appl/simple/server/sim_server.c
src/appl/telnet/telnet/ChangeLog
src/appl/telnet/telnet/commands.c
src/appl/telnet/telnet/configure.in
src/appl/user_user/ChangeLog
src/appl/user_user/client.c
src/clients/kinit/ChangeLog
src/clients/kinit/kinit.M
src/clients/klist/ChangeLog
src/clients/klist/klist.M
src/config-files/ChangeLog
src/config-files/kdc.conf
src/include/ChangeLog
src/include/k5-int.h
src/include/kerberosIV/ChangeLog
src/include/kerberosIV/Makefile.in
src/kadmin.v4/server/ChangeLog
src/kadmin.v4/server/kadm_ser_wrap.c
src/kadmin/cli/ChangeLog
src/kadmin/cli/kadmin.M
src/kadmin/cli/kadmin.c
src/kadmin/passwd/ChangeLog
src/kadmin/passwd/configure.in
src/kadmin/passwd/kpasswd.c
src/kadmin/passwd/unit-test/Makefile.in
src/kadmin/server/ChangeLog
src/kadmin/server/ovsec_kadmd.c
src/kadmin/testing/scripts/ChangeLog
src/kadmin/testing/scripts/save_files.sh
src/kadmin/testing/util/ChangeLog
src/kadmin/testing/util/tcl_kadm5.c
src/kadmin/testing/util/tcl_ovsec_kadm.c
src/kadmin/testing/util/test.c
src/kadmin/v4server/ChangeLog
src/kadmin/v4server/kadm_ser_wrap.c
src/kdc/ChangeLog
src/kdc/main.c
src/krb524/ChangeLog
src/krb524/cnv_tkt_skey.c
src/krb524/krb524d.c
src/lib/ChangeLog
src/lib/Makefile.in
src/lib/crypto/ChangeLog
src/lib/crypto/configure.in
src/lib/crypto/cryptoconf.c
src/lib/des425/ChangeLog
src/lib/des425/configure.in
src/lib/gssapi/ChangeLog
src/lib/gssapi/configure.in
src/lib/gssapi/generic/ChangeLog
src/lib/gssapi/generic/Makefile.in
src/lib/gssapi/krb5/ChangeLog
src/lib/gssapi/krb5/accept_sec_context.c
src/lib/gssapi/krb5/get_tkt_flags.c
src/lib/gssapi/krb5/gssapiP_krb5.h
src/lib/gssapi/krb5/init_sec_context.c
src/lib/gssapi/krb5/ser_sctx.c
src/lib/gssapi/mechglue/ChangeLog
src/lib/gssapi/mechglue/configure.in
src/lib/kadm5/srv/ChangeLog
src/lib/kadm5/unit-test/ChangeLog
src/lib/kadm5/unit-test/Makefile.in
src/lib/kdb/ChangeLog
src/lib/kdb/configure.in
src/lib/krb4/ChangeLog
src/lib/krb4/configure.in
src/lib/krb5/ChangeLog
src/lib/krb5/configure.in
src/lib/krb5/error_tables/ChangeLog
src/lib/krb5/error_tables/krb5_err.et
src/lib/krb5/keytab/file/ChangeLog
src/lib/krb5/keytab/file/ktf_g_ent.c
src/lib/krb5/krb/ChangeLog
src/lib/krb5/krb/recvauth.c
src/lib/krb5_16.def [new file with mode: 0644]
src/lib/rpc/ChangeLog
src/lib/rpc/clnt_generic.c
src/lib/rpc/clnt_simple.c
src/lib/rpc/configure.in
src/lib/rpc/get_myaddress.c
src/lib/rpc/getrpcport.c
src/lib/rpc/types.hin
src/lib/rpc/unit-test/ChangeLog
src/lib/rpc/unit-test/Makefile.in
src/mac/ChangeLog
src/mac/Makefile.tmpl
src/mac/SAP/GSSforSAP.r
src/mac/gss-sample/ChangeLog
src/mac/gss-sample/gss-client.c
src/mac/libraries/ChangeLog
src/mac/libraries/KerberosHeaders.h
src/mac/mkbindirs.sh [new file with mode: 0644]
src/mac/version.r
src/patchlevel.h
src/slave/ChangeLog
src/slave/kprop.M
src/slave/kprop.c
src/slave/kpropd.M
src/slave/kslave_update
src/tests/dejagnu/ChangeLog
src/tests/dejagnu/Makefile.in
src/tests/dejagnu/config/ChangeLog
src/tests/dejagnu/config/default.exp
src/tests/misc/test_getsockname.c
src/util/ChangeLog
src/util/db2/obj/ChangeLog
src/util/db2/obj/Makefile.in
src/util/et/ChangeLog
src/util/et/configure.in
src/util/makeshlib.sh
src/util/mkrel
src/util/pty/ChangeLog
src/util/pty/configure.in
src/util/pty/update_utmp.c
src/util/pty/update_wtmp.c
src/util/send-pr/Makefile.in
src/windows/cns/ChangeLog
src/windows/cns/Makefile.in
src/windows/gss/ChangeLog
src/windows/gss/gss-client.c
src/windows/wintel/ChangeLog
src/windows/wintel/Makefile.in

diff --git a/README b/README
index cc47bb5f0e07f5de515d6e1075bc3b4e12941e5c..43e70c9387841099d93d14fdbb13b9f4f47fb5a4 100644 (file)
--- a/README
+++ b/README
@@ -1,51 +1,80 @@
-Beta test distribution READ-ME file.
------------------------------------
+                  Kerberos Version 5, Release 1.0
 
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+                           Release Notes
 
-Files are copyright MIT, Cygnus Support, OpenVision, Oracle, Sun Soft,
-and others.  
+                       The MIT Kerberos Team
 
-The following copyright and permission notice applies to the
-OpenVision Kerberos Administration system located in kadmin/create,
-kadmin/dbutil, kadmin/server, lib/kadm, and portions of lib/rpc:
+Unpacking the Source Distribution
+---------------------------------
 
-   Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
-     
-   WARNING: Retrieving the OpenVision Kerberos Administration system 
-   source code, as described below, indicates your acceptance of the 
-   following terms.  If you do not agree to the following terms, do not 
-   retrieve the OpenVision Kerberos administration system.
-     
-   You may freely use and distribute the Source Code and Object Code 
-   compiled from it, but this Source Code is provided to you "AS IS" 
-   EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY 
-   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR 
-   ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED.  IN NO EVENT WILL 
-   OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR 
-   COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY 
-   SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS 
-   AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE 
-   OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR 
-   FOR ANY OTHER REASON.
-
-   OpenVision retains all rights, title, and interest in the donated
-   Source Code.  With respect to OpenVision's copyrights in the donated
-   Source Code, OpenVision also retains rights to derivative works
-   of the Source Code whether created by OpenVision or a third party.
-     
-   OpenVision Technologies, Inc. has donated this Kerberos 
-   Administration system to MIT for inclusion in the standard 
-   Kerberos 5 distribution.  This donation underscores our 
-   commitment to continuing Kerberos technology development 
-   and our gratitude for the valuable work which has been 
-   performed by MIT and the Kerberos community. 
+The source distribution of Kerberos 5 comes in three gzipped tarfiles,
+krb5-1.0.src.tar.gz, krb5-1.0.doc.tar.gz, and krb5-1.0.crypto.tar.gz.
+The krb5-1.0.doc.tar.gz contains the doc/ directory and this README
+file.  The krb5-1.0.src.tar.gz contains the src/ directory and this
+README file, except for the crypto library sources, which are in
+krb5-1.0.crypto.tar.gz.
+
+Instruction on how to extract the entire distribution follow.  These
+directions assume that you want to extract into a directory called
+DIST.
+
+If you have the GNU tar program and gzip installed, you can simply do:
+
+       mkdir DIST
+       cd DIST
+       gtar zxpf krb5-1.0.src.tar.gz
+       gtar zxpf krb5-1.0.crypto.tar.gz
+       gtar zxpf krb5-1.0.doc.tar.gz
 
+If you don't have GNU tar, you will need to get the FSF gzip
+distribution and use gzcat:
 
+       mkdir DIST
+       cd DIST
+       gzcat krb5-1.0.src.tar.gz | tar xpf -
+       gzcat krb5-1.0.crypto.tar.gz | tar xpf -
+       gzcat krb5-1.0.doc.tar.gz | tar xpf -
 
-Now, with that out of the way, let me point you to a few things:
+Both of these methods will extract the sources into DIST/krb5-1.0/src
+and the documentation into DIST/krb5-1.0/doc.
+
+Unpacking the Binary Distribution
+---------------------------------
+
+Binary distributions of Kerberos V5 are provided merely as convenience
+to those people who wish to try out Kerberos V5 without needing to do
+a full compile of Kerberos.
+
+MIT and the MIT Kerberos V5 development team make no guarantees that
+we will continue to supply binary distributions for future releases of
+Kerberos V5, or for any operating system/platform in particular.
+These binary distributions have been prepared by members of the MIT
+Kerberos V5 development team, or by volunteers who have graciously
+agreed to test the pre-release snapshot.  Each binary build is PGP
+signed by the person who prepared the binary distribution for that
+particular platform.  
+
+While the binary distribution is *supposed* to correspond exactly to
+the 1.0 Kerberos V5 source release, you have no way of knowing whether
+the person who prepared the binary release might have inserted a
+trojan horse, or a trapdoor.  For all you know, the binary
+distribution might be mailing all of your Kerberos keys to
+kremvax!boris.  (The same is true for the source distribution, but at
+least you can audit the code yourself!)
+
+For this reason, if you are planning on using Kerberos V5 in
+production, we strongly suggest that you obtain the source
+distribution and compile it from source yourself.
+
+The binary distributions have been compiled so that they will install
+in /usr/local.  To install, su to root and and type the command:
+
+       cd /usr/local
+       gunzip < /tmp/krb5-1.0.<platform>.tar.gz | tar xvf -
+
+
+Building and Installing Kerberos 5
+----------------------------------
 
 The first file you should look at is doc/install.ps; it contains the
 notes for building and installing Kerberos 5.  The info file
@@ -58,32 +87,168 @@ which contain the system administrator's guide, and the user's guide,
 respectively.  They are also available as info files
 kerberos-admin.info and krb5-user.info, respectively.
 
->>                                                                          <<
->> Please report any problems/bugs/comments to 'krb5-bugs@mit.edu'           <<
->>                                                                          <<
+Reporting Bugs
+--------------
+
+Please report any problems/bugs/comments using the krb5-send-pr
+program.  The krb5-send-pr program will be installed in the sbin
+directory once you have successfully compiled and installed Kerberos
+V5 (or if you have installed one of our binary distributions).
+
+If you are not able to use krb5-send-pr because you haven't been able
+compile and install Kerberos V5 on any platform, you may send mail to
+krb5-bugs@mit.edu.
+
+Notes and Major Changes
+-----------------------
+
+* We are now using the GNATS system to track bug reports for Kerberos
+V5.  It is therefore helpful for people to use the krb5-send-pr
+program when reporting bugs.  The old interface of sending mail to
+krb5-bugs@mit.edu will still work; however, bug reports sent in this
+fashion may experience a delay in being processed.
+
+* The default keytab name has changed from /etc/v5srvtab to
+/etc/krb5.keytab.
+
+* login.krb5 no longer defaults to getting krb4 tickets.
+
+* The Windows (win16) DLL, LIBKRB5.DLL, has been renamed to
+KRB5_16.DLL.  This change was necessary to distinguish it from the
+win32 version, which will be named KRB5_32.DLL.  Note that the
+GSSAPI.DLL file has not been renamed, because this name was specified
+in a draft standard for the Windows 16 GSSAPI bindings.  (The 32-bit
+version of the GSSAPI DLL will be named GSSAPI32.DLL.)
+
+* The directory structure used for installations has changed.  In
+particular, files previously located in $prefix/lib/krb5kdc are now
+normally located in $sysconfdir/krb5kdc.  With the normal configure
+options, this means the KDC database goes in /usr/local/var/krb5kdc by
+default.  If you wish to have the old behavior, then you would use a
+configure line like the following:
+
+       configure --prefix=/usr/local --sysconfdir=/usr/local/lib
 
+* kshd has been modified to accept krb4 encrypted rcp connections; for
+this to work, the v4rcp program must be in the bin directory.
 
+* The gssrpc library has symbol collisions with the rpc library in
+some of the libcs in certain operating systems without shared
+libraries, notably some ports of NetBSD and MkLinux.  For those
+platforms which have rpc in libc and also contain NIS in libc,
+compiling with static libraries will not work because of this
+conflict.  NetBSD users can either upgrade to the current tree, which
+includes shared libraries for more ports, choose not to build kadmind
+or kadmin, or recompile NetBSD without NIS support.  MkLinux users
+must either recompile without NIS or not build the administration
+system.
+
+Copyright Notice and Legal Administrivia
+----------------------------------------
+
+Copyright (C) 1996 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.  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.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+Individual source code files are copyright MIT, Cygnus Support,
+OpenVision, Oracle, Sun Soft, and others.
+
+Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
+and Zephyr are trademarks of the Massachusetts Institute of Technology
+(MIT).  No commercial use of these trademarks may be made without
+prior written permission of MIT.
+
+"Commercial use" means use of a name in a product or other for-profit
+manner.  It does NOT prevent a commercial firm from referring to the
+MIT trademarks in order to convey information (although in doing so,
+recognition of their trademark status should be given).
+
+The following copyright and permission notice applies to the
+OpenVision Kerberos Administration system located in kadmin/create,
+kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions
+of lib/rpc:
+
+   Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
+
+   WARNING: Retrieving the OpenVision Kerberos Administration system 
+   source code, as described below, indicates your acceptance of the 
+   following terms.  If you do not agree to the following terms, do not 
+   retrieve the OpenVision Kerberos administration system.
+
+   You may freely use and distribute the Source Code and Object Code
+   compiled from it, with or without modification, but this Source
+   Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY,
+   INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR
+   FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER
+   EXPRESS OR IMPLIED.  IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY
+   FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF 
+   SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR
+   CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, 
+   WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE 
+   CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY 
+   OTHER REASON.
+
+   OpenVision retains all copyrights in the donated Source Code. OpenVision
+   also retains copyright to derivative works of the Source Code, whether
+   created by OpenVision or by a third party. The OpenVision copyright 
+   notice must be preserved if derivative works are made based on the 
+   donated Source Code.
+
+   OpenVision Technologies, Inc. has donated this Kerberos 
+   Administration system to MIT for inclusion in the standard 
+   Kerberos 5 distribution.  This donation underscores our 
+   commitment to continuing Kerberos technology development 
+   and our gratitude for the valuable work which has been 
+   performed by MIT and the Kerberos community.
+
+Acknowledgements
+----------------
 
 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....  
+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 Paul Vixie and the Internet Software Consortium for
-supporting the OV administration server integration work.
-
-Thanks to Jeff Bigler, Mark Eichin, Mark Horowitz, Nancy Gilman, Ken
+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 ot Jeff Bigler, for the new user and system
+tree.  Thanks especially to Jeff Bigler, for the new user and system
 administrator's documentation.
 
 Thanks to Doug Engert from ANL for providing many bug fixes, as well
 as testing to ensure DCE interoperability.
 
+Thanks to Ken Hornstein at NRL for providing many bug fixes and
+suggestions.
+
 Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for
 their many suggestions and bug fixes.
 
@@ -92,15 +257,3 @@ past and present: Jay Berkenbilt, Richard Basch, John Carr, Don
 Davis, Nancy Gilman, Sam Hartman, Marc Horowitz, Barry Jaspan, John
 Kohl, Cliff Neuman, Kevin Mitchell, Paul Park, Ezra Peisach, Chris
 Provenzano, Jon Rochlis, Jeff Schiller, Harry Tsai, Ted Ts'o, Tom Yu.
-
-Note:
-
-Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, and 
-Zephyr are trademarks of the Massachusetts Institute of Technology (MIT).  No 
-commercial use of these trademarks may be made without prior written 
-permission of MIT.
-       
-FYI, "commercial use" means use of a name in a product or other for-profit 
-manner.  It does NOT prevent a commercial firm from referring to the MIT
-trademarks in order to convey information (although in doing so, recognition
-of their trademark status should be given).
index f89bb96bc8c6b4b0f222e854097e75288bd8e3fc..aadb2fd38a2511868c0a5073f889f705b7ba15a6 100644 (file)
@@ -1,3 +1,23 @@
+Mon Nov 25 19:42:53 1996  Tom Yu  <tlyu@mit.edu>
+
+       * Makefile.in: Comment out distclean and realclean so no one will
+       be tempted to use them. [PR 222]
+
+Fri Nov 22 23:51:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * Makefile.in: All changes for the Macintosh port.  Translate '%'
+               characters in Macfile.tmpl to '/' characters.  Include the
+               mac/SAP directory in the kerbsrc.mac.tar tarball.  Rename
+               the kerbsrc.tar tarball to kerbsrc.mac.tar, so that the
+               target name in the Makefile matches the taget which is
+               actually generated.  Use mac/mkbindirs.sh to build the
+               binary hierarchy for the Macintosh build process.
+
+Wed Nov 20 13:28:00 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * Makefile.in (awk-windows-mac): Copy gssapi.hin to gssapi.h to
+               make Win16 build work.
+
 Thu Nov  7 23:55:02 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>
 
        * aclocal.m4 (LinkFileDir, LinkFile): AC_REQUIRE the AC_LN_S macro
index 738aa409514495550d018525de98fe241cb079ca..810ba1e11c5a3935fde78d2edd242323bb3b3237 100644 (file)
@@ -63,11 +63,14 @@ clean-unix::
 
 mostlyclean: clean
 
-distclean: clean
-       rm -f Makefile config.status
-
-realclean: distclean
-       rm -f TAGS
+# This doesn't work; if you think you need it, you should use a
+# separate build directory.
+# 
+# distclean: clean
+#      rm -f Makefile config.status
+# 
+# realclean: distclean
+#      rm -f TAGS
 
 dist: $(DISTFILES)
        echo cpio-`sed -e '/version_string/!d' \
@@ -220,7 +223,7 @@ FILES= ./* \
 WINFILES= windows/* windows/cns/* windows/wintel/* windows/gss/*
 
 MACFILES= mac/* mac/kconfig/* mac/libraries/* mac/telnet-k5-auth/* \
-       mac/gss-sample/* config/* include/* include/krb5/* \
+       mac/gss-sample/* mac/SAP/* config/* include/* include/krb5/* \
        include/krb5/asn.1/* include/krb5/stock/* include/sys/* \
        ./patchlevel.h
 
@@ -235,7 +238,8 @@ CLEANUP= util/profile/profile.h util/profile/prof_err.[ch] \
        include/adm_err.h include/profile.h include/krb5.h \
        include/krb5/osconf.h \
        lib/gssapi/generic/gssapi_err_generic.[ch] \
-       lib/gssapi/krb5/gssapi_err_krb5.[ch] winfile.list macfile.list
+       lib/gssapi/krb5/gssapi_err_krb5.[ch] winfile.list macfile.list \
+       lib/gssapi/generic/gssapi.h
 
 kerbsrc.win: kerbsrc.zip
 
@@ -299,13 +303,22 @@ Macfile: macfile.list Makefile.sav
                -e 's/^/:bin:PPC:/' macsrcsk5` >> Macfile
        echo INCLUDES = `sed -n -e 's/\(.*:\)[^:]*\.h$$/-i \1/p' macfile.maclist | sort -u` >> Macfile
        echo "" >> Macfile
-       tr '/:\\' ':\304\266'< mac/Makefile.tmpl >> Macfile
+       tr '%/:\\' '/:\304\266'< mac/Makefile.tmpl >> Macfile
+
+mac-bin-dirs:
+       rm -rf bin
+       mkdir bin bin/68K bin/CFM-68K bin/PPC
+       sh mac/mkbindirs.sh bin/68K $(MAC_SUBDIRS)
+       sh mac/mkbindirs.sh bin/CFM-68K $(MAC_SUBDIRS)
+       sh mac/mkbindirs.sh bin/PPC $(MAC_SUBDIRS)
 
-kerbsrc.mac: awk-windows-mac macfile.list Macfile
+kerbsrc.mac.tar: awk-windows-mac macfile.list Macfile
        cp mac/libraries/autoconf.h include/autoconf.h
        mv Macfile Makefile
-       tar cvf kerbsrc.tar Makefile include/autoconf.h `cat macfile.list`
+       tar cvf kerbsrc.mac.tar Makefile include/autoconf.h bin \
+               `cat macfile.list`
        rm -f $(CLEANUP)
+       rm -rf bin
        rm -f include/autoconf.h Makefile macsrc* macfile.maclist
        mv Makefile.sav Makefile
 
@@ -343,3 +356,4 @@ awk-windows-mac:
        cat $(PR)/profile.hin $(PR)prof_err.h > $(PR)profile.h
        cp $(PR)profile.h include/profile.h
        cp $(INC)/krb5/stock/osconf.h $(INC)/krb5
+       cp $(GG)gssapi.hin $(GG)gssapi.h
index f9aa5ad882101669ba0edb544d498645254fead7..a0f9faf19c71c0e46daa84c6971994dcd719524d 100644 (file)
@@ -1,3 +1,30 @@
+Fri Dec  6 00:53:08 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * v4rcp.c: Extend the platform-specific braindamage so that
+               FreeBSD works.  This whole file is eventually going to
+               need serious rototilling to make it even vaguely correct.
+               [PR #284]
+
+Fri Dec  6 00:02:25 1996  Tom Yu  <tlyu@mit.edu>
+
+       * loginpaths.h: Add catch-all entries for LPATH and RPATH in case
+       we run across something that we haven't hardcoded paths for
+       yet. [267]
+
+Thu Dec  5 21:58:28 1996  Tom Yu  <tlyu@mit.edu>
+
+       * login.M: v5srvtab -> krb5.keytab [279]
+
+Sun Nov 24 23:35:22 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * login.c (try_afscall): Change to take pointer to function
+               instead of only calling setpag(). [krb5-appl/190]
+
+Fri Nov 22 15:46:46 1996  unknown  <bjaspan@mit.edu>
+
+       * kcmd.c (kcmd): use sizeof instead of h_length to determine
+       number of bytes of addr to copy from DNS response [krb5-misc/211]
+
 Thu Nov 14 14:30:28 1996  Barry Jaspan  <bjaspan@mit.edu>
 
        * krcp.c: don't print our own error message if kcmd returns -1 (it
index 4b66c3795383d922b384c07106d077add5b09bbc..6f4583596d39c7f038c7728848dc8d62fb2ea68d 100644 (file)
@@ -180,7 +180,7 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm,
            return (-1);
        }
        sin.sin_family = hp->h_addrtype;
-       memcpy((caddr_t)&sin.sin_addr,hp->h_addr, hp->h_length);
+       memcpy((caddr_t)&sin.sin_addr,hp->h_addr, sizeof(sin.sin_addr));
        sin.sin_port = rport;
        if (connect(s, (struct sockaddr *)&sin, sizeof (sin)) >= 0)
          break;
@@ -200,7 +200,7 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm,
            perror(0);
            hp->h_addr_list++;
            memcpy((caddr_t)&sin.sin_addr,hp->h_addr_list[0],
-                  hp->h_length);
+                  sizeof(sin.sin_addr));
            fprintf(stderr, "Trying %s...\n",
                    inet_ntoa(sin.sin_addr));
            continue;
index 0603d16bd2a752d3cbcb97db8a48b1a45cddce86..f48fd0c40b608308f1e746b6549b891962b6e938 100644 (file)
@@ -25,7 +25,7 @@ possible.) It will also attempt to run
 .I aklog
 to get \fIAFS\fP tokens for the user. The version 5 tickets will be
 tested against a local 
-.I v5srvtab
+.I krb5.keytab
 if it is available, in order to verify the tickets, before letting the
 user in. However, if the password matches the entry in
 \fI/etc/passwd\fP the user will be unconditionally allowed (permitting
index 7542a23a898ce4a70555f2e496acd7b0ea117de2..04045490d1aa2776442b44c683cc10e0255dd8a3 100644 (file)
@@ -1023,7 +1023,8 @@ static sigtype sigsys ()
     siglongjmp(setpag_buf, 1);
 }
 
-static int try_afscall ()
+static int try_afscall (scall)
+       int (*scall)();
 {
     handler sa, osa;
     volatile int retval = 0;
@@ -1032,7 +1033,7 @@ static int try_afscall ()
     handler_init (sa, sigsys);
     handler_swap (SIGSYS, sa, osa);
     if (sigsetjmp(setpag_buf, 1) == 0) {
-       setpag ();
+       (*scall)();
        retval = 1;
     }
     handler_set (SIGSYS, osa);
index 2f2de0bb81cd7000d6efdd2c817b7a73c8666a3b..99d28b091ad9694f98b002128c646135f63fef60 100644 (file)
 #define RPATH "/usr/bin:/bin"
 #endif
 #endif
+
+/* catch-all entries for operating systems we haven't looked up
+   hardcoded paths for */
+#ifndef LPATH
+#define LPATH "/usr/bin:/bin"
+#endif
+
+#ifndef RPATH
+#define RPATH "/usr/bin:/bin"
+#endif
index 0a1ad33a0e5c97d6bb60e70da77de9e87d461f94..56db95c8d4c24a2f3c410076ddcaa9472594d023 100644 (file)
@@ -310,7 +310,8 @@ void        lostconn();
 int    lostconn();
 #endif
 int    errno;
-#ifndef __NetBSD__
+/* Kludge!!!! */
+#if (!defined(__NetBSD__) && !defined(__FreeBSD__))
 extern char    *sys_errlist[];
 #endif
 int    iamremote, targetshouldbedirectory;
index 5da0236f05a0c814a63813d70f8967c2d3f34ec3..110e7224ad6a4267a8040eaed4ae660be101b607 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 22 15:48:02 1996  unknown  <bjaspan@mit.edu>
+
+       * gss-client.c (connect_to_server): use sizeof instead of h_length
+       to determine number of bytes of addr to copy from DNS response
+       [krb5-misc/211]
+
 Sun Oct 27 22:04:59 1996  Ezra Peisach  <epeisach@mit.edu>
 
        * configure.in: Add USE_GSSAPI_LIBRARY
index 170bc634050e0bb4d527a3c0472657bb81ce342c..b91ea87aa588abb01027209f85c16bfd6f138aad 100644 (file)
@@ -79,7 +79,7 @@ int connect_to_server(host, port)
      }
      
      saddr.sin_family = hp->h_addrtype;
-     memcpy((char *)&saddr.sin_addr, hp->h_addr, hp->h_length);
+     memcpy((char *)&saddr.sin_addr, hp->h_addr, sizeof(saddr.sin_addr));
      saddr.sin_port = htons(port);
 
      if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
index 3262141e9026cacf14be1678fee1592e05a94896..9d39c10aad2b96ec93598cd0adbd1b5040c02931 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 22 15:48:19 1996  unknown  <bjaspan@mit.edu>
+
+       * ftp.c (hookup): use sizeof instead of h_length to determine
+       number of bytes of addr to copy from DNS response [krb5-misc/211]
+
 Fri Sep 27 16:05:09 1996  Tom Yu  <tlyu@mit.edu>
 
        * cmds.c (setpeer): Apply jik's fix so "-n" actually works as
index fb6a5632b5a1355901f3257b707a0a880685607a..0641416bc8b98d62eba65ac605eb9792c76163b3 100644 (file)
@@ -155,7 +155,7 @@ hookup(host, port)
                }
                hisctladdr.sin_family = hp->h_addrtype;
                memcpy((caddr_t)&hisctladdr.sin_addr, hp->h_addr_list[0],
-                   hp->h_length);
+                      sizeof(hisctladdr.sin_addr));
                (void) strncpy(hostnamebuf, hp->h_name, sizeof(hostnamebuf));
        }
        hostname = hostnamebuf;
@@ -177,7 +177,8 @@ hookup(host, port)
                        perror((char *) 0);
                        hp->h_addr_list++;
                        memcpy((caddr_t)&hisctladdr.sin_addr,
-                            hp->h_addr_list[0], hp->h_length);
+                              hp->h_addr_list[0], 
+                              sizeof(hisctladdr.sin_addr));
                        fprintf(stdout, "Trying %s...\n",
                                inet_ntoa(hisctladdr.sin_addr));
                        (void) close(s);
index ba1d2974fe11dcbe3c51b50b4de3c6e07871eb73..be41b716c312dae0f663637ffb70569680da7c7d 100644 (file)
@@ -1,3 +1,10 @@
+Thu Dec  5 19:44:05 1996  Tom Yu  <tlyu@mit.edu>
+
+       * sserver.M: remove ref's to "/krb5" [PR 279]
+
+       * sserver.M: v5srvtab -> krb5.keytab; also kdb5_edit -> kadmin [PR
+       279]
+
 Thu Nov  7 15:24:43 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * sserver.c (main): Check the error return from
index f0ea721b0785faba7bafd68c8851e157f453d19f..e879067e68d22574766c8d7148876951ab2a7e65 100644 (file)
@@ -44,9 +44,8 @@ The service name used by \fIsserver\fP and \fIsclient\fP is
 \fBsample\fP.  Hence, \fIsserver\fP will require that there be a keytab
 entry for the service "sample/hostname.domain.name@REALM.NAME".  This
 keytab is generated using the
-.IR krb5_edit(8)
-program.  The keytab file is installed in whatever
-directory is defined by V5Srvtabdir (usually /etc) as "v5srvtab".
+.IR kadmin(8)
+program.  The keytab file is usually installed as "/etc/krb5.keytab".
 .PP
 The 
 .B \-S
@@ -57,7 +56,7 @@ option allows for a different keytab than the default.
 using a line in
 /etc/inetd.conf that looks like this:
 .PP
-sample  stream  tcp     nowait  root /krb5/sbin/sserver        sserver
+sample  stream  tcp     nowait  root /usr/local/sbin/sserver   sserver
 .PP
 Since \fBsample\fP is normally not a port defined in /etc/services, you will
 usually have to add a line to /etc/services which looks like this:
@@ -66,7 +65,7 @@ sample          13135/tcp
 .PP
 When using \fIsclient,\fP you will first have to have an entry in the Kerberos
 database, by using 
-.IR kdb5_edit(8),
+.IR kadmin(8),
 and then you have to get Kerberos
 tickets, by using 
 .IR kinit(8).  
@@ -109,10 +108,10 @@ didn't restart \fIinetd\fP after editing inetd.conf.
 .PP
 4)  \fIsclient\fP returns the error:
 .PP
-/krb5/bin/sclient: Server not found in Kerberos database while using sendauth
+sclient: Server not found in Kerberos database while using sendauth
 .PP
 This means that the "sample/hostname@LOCAL.REALM" service was not
-defined in the Kerberos database; it should be created using \fIkdb5_edit,\fP
+defined in the Kerberos database; it should be created using \fIkadmin,\fP
 and a keytab file needs to be generated to make the key for that service
 principal available for \fIssclient\fP.
 .PP
index 275d42bf205cf814dce4f85d6977b5d7aedacf2a..db1136c43ae26ea37b0b9c79d553d15e07a950d1 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 22 15:48:30 1996  unknown  <bjaspan@mit.edu>
+
+       * sim_client.c (main): use sizeof instead of h_length to determine
+       number of bytes of addr to copy from DNS response [krb5-misc/211]
+
 Thu Nov  7 15:26:10 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * sim_client.c (main): Check the error return from
index 9def2603ced80b01d56e8567d505c21046c4aef2..a573dfa54ad2158717723d7d6e962e2dac61a56d 100644 (file)
@@ -163,7 +163,7 @@ main(argc, argv)
     /* Set server's address */
     (void) memset((char *)&s_sock, 0, sizeof(s_sock));
 
-    memcpy((char *)&s_sock.sin_addr, host->h_addr, host->h_length);
+    memcpy((char *)&s_sock.sin_addr, host->h_addr, sizeof(s_sock.sin_addr));
 #ifdef DEBUG
     printf("s_sock.sin_addr is %s\n", inet_ntoa(s_sock.sin_addr));
 #endif
@@ -198,7 +198,7 @@ main(argc, argv)
        fprintf(stderr, "%s: unknown host\n", hostname);
        exit(1);
     }
-    memcpy((char *)&c_sock.sin_addr, host->h_addr, host->h_length);
+    memcpy((char *)&c_sock.sin_addr, host->h_addr, sizeof(c_sock.sin_addr));
 #endif
     
 
index 58042da37f6dcb8cac6f4345d1fa5fef26205726..6e30ce4a4cddb19c8349051d464563a4f24a8f88 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 22 15:48:42 1996  unknown  <bjaspan@mit.edu>
+
+       * sim_server.c (argv): use sizeof instead of h_length to determine
+       number of bytes of addr to copy from DNS response [krb5-misc/211]
+
 Thu Nov  7 15:26:44 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * sim_server.c (argv): Check the error return from
index 551a4f36cd43f6465a8382a1ed26887b62871925..255d786f25acccc6e6096a9a71775e70557dc3bd 100644 (file)
@@ -151,7 +151,7 @@ char *argv[];
        fprintf(stderr, "%s: host unknown\n", full_hname);
        exit(1);
     }
-    memcpy((char *)&s_sock.sin_addr, host->h_addr, host->h_length);
+    memcpy((char *)&s_sock.sin_addr, host->h_addr, sizeof(s_sock.sin_addr));
 
     /* Open socket */
     if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
index 8080dba471468d3c85cf84f984cf35f9ef5f0d4b..f58e8955f8419713961733ade00d27bead5e420e 100644 (file)
@@ -1,3 +1,25 @@
+Tue Nov 26 20:41:31 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>
+
+       * configure.in: Check for apra/inet.h
+
+       * commands.c: Remove explicit declaration of inet_addr, and
+       declare INADDR_NONE to be 0xffffffff again, but mask off the lower
+       32 bits while doing the compare.
+
+Sat Nov 23 00:33:58 1996  Sam Hartman  <hartmans@mit.edu>
+
+       * commands.c (tn): Patch from mycroft@mit.edu for Alpha NetBSD.
+       Comparing to -1 is not 64-bit clean.
+       [233]
+       (INADDR_NONE): Mycroft suggests using -1 not 0xffffffff if I have
+       to define it ourselves. [233]
+
+       Fri Nov 22 15:48:57 1996  unknown  <bjaspan@mit.edu>
+
+       * commands.c (sourceroute): use sizeof instead of h_length to
+       determine number of bytes of addr to copy from DNS response
+       [krb5-misc/211]
+
 Thu Nov 14 14:25:51 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * sys_bsd.c(intr): Added checks to intr_waiting and intr_happened
index cfd975e2fb3195554d5f6e8d09d822ba2b2b0bc1..0b42efe621dd757a251c009a350bc55db7ddba6f 100644 (file)
@@ -44,6 +44,9 @@
 #endif /* defined(unix) */
 #include <sys/socket.h>
 #include <netinet/in.h>
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif /* HAVE_ARPA_INET_H */
 #ifdef CRAY
 #include <fcntl.h>
 #endif /* CRAY */
@@ -89,6 +92,9 @@
 #ifndef MAXDNAME
 #define MAXDNAME 256 /*per the rfc*/
 #endif
+#ifndef INADDR_NONE
+#define INADDR_NONE 0xffffffff
+#endif
 
 #if    defined(IPPROTO_IP) && defined(IP_TOS)
 int tos = -1;
@@ -2352,8 +2358,6 @@ ayt_status()
 }
 #endif
 
-unsigned long inet_addr();
-
     int
 tn(argc, argv)
     int argc;
@@ -2443,10 +2447,10 @@ tn(argc, argv)
     } else {
 #endif
        temp = inet_addr(hostp);
-       if (temp != (unsigned long) -1) {
+       if (temp & 0xffffffff != INADDR_NONE) {
            sin.sin_addr.s_addr = temp;
            sin.sin_family = AF_INET;
-           (void) strcpy(_hostname, hostp);
+           (void) strcpy(_hostname, hostp);  
            hostname = _hostname;
        } else {
            host = gethostbyname(hostp);
@@ -2454,9 +2458,10 @@ tn(argc, argv)
                sin.sin_family = host->h_addrtype;
 #if    defined(h_addr)         /* In 4.3, this is a #define */
                memcpy((caddr_t)&sin.sin_addr,
-                               host->h_addr_list[0], host->h_length);
+                      host->h_addr_list[0], sizeof(sin.sin_addr));
 #else  /* defined(h_addr) */
-               memcpy((caddr_t)&sin.sin_addr, host->h_addr, host->h_length);
+               memcpy((caddr_t)&sin.sin_addr, host->h_addr, 
+                      sizeof(sin.sin_addr)); 
 #endif /* defined(h_addr) */
                strncpy(_hostname, host->h_name, sizeof(_hostname));
                _hostname[sizeof(_hostname)-1] = '\0';
@@ -2546,9 +2551,9 @@ tn(argc, argv)
                perror((char *)0);
                host->h_addr_list++;
                memcpy((caddr_t)&sin.sin_addr, 
-                       host->h_addr_list[0], host->h_length);
+                       host->h_addr_list[0], sizeof(sin.sin_addr));
                memcpy((caddr_t)&hostaddr,
-                       host->h_addr_list[0], host->h_length);
+                      host->h_addr_list[0], sizeof(sin.sin_addr));
                (void) NetClose(net);
                continue;
            }
@@ -3055,9 +3060,10 @@ sourceroute(arg, cpp, lenp)
                } else if (host = gethostbyname(cp)) {
 #if    defined(h_addr)
                        memcpy((caddr_t)&sin_addr,
-                               host->h_addr_list[0], host->h_length);
+                               host->h_addr_list[0], sizeof(sin_addr));
 #else
-                       memcpy((caddr_t)&sin_addr, host->h_addr, host->h_length);
+                       memcpy((caddr_t)&sin_addr, host->h_addr, 
+                              sizeof(sin_addr));
 #endif
                } else {
                        *cpp = cp;
index 619153f0379963345e34f4f8312adf7b23f26d5d..3d08e2f4a83f54a642b5ecf049ff83b06367ce17 100644 (file)
@@ -3,7 +3,7 @@ CONFIG_RULES
 AC_PROG_INSTALL
 AC_VFORK
 AC_CHECK_HEADERS(string.h arpa/nameser.h)
-AC_HAVE_HEADERS(unistd.h sys/select.h stdlib.h)
+AC_HAVE_HEADERS(unistd.h sys/select.h stdlib.h arpa/inet.h)
 AC_CHECK_LIB(termcap,main,AC_DEFINE(TERMCAP)
 LIBS="$LIBS -ltermcap",
   AC_CHECK_LIB(curses,setupterm,LIBS="$LIBS -lcurses")
index 62651d0cbc662b866c99837a0c703d70f3dbd8a4..e00507592dcf214426b4d8016cc4d4ab4f09988c 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 22 15:49:09 1996  unknown  <bjaspan@mit.edu>
+
+       * client.c (argv): use sizeof instead of h_length to determine
+       number of bytes of addr to copy from DNS response [krb5-misc/211]
+
 Thu Nov  7 15:36:15 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * client.c (argv): 
index 4bee7089cdf88915c714b799e22a53b06f225178..2cf85ae94103747edb6caf61d54f20edaa5e456f 100644 (file)
@@ -128,7 +128,8 @@ char *argv[];
          fprintf (stderr, "uu-client: unable to connect to \"%s\"\n", hname);
          return 5;
        }
-      memcpy ((char *)&serv_net_addr.sin_addr, host->h_addr_list[i++], host->h_length);
+      memcpy ((char *)&serv_net_addr.sin_addr, host->h_addr_list[i++], 
+             sizeof(serv_net_addr.sin_addr));
       if (connect(s, (struct sockaddr *)&serv_net_addr, sizeof (serv_net_addr)) == 0)
        break;
       com_err ("uu-client", errno, "connecting to \"%s\" (%s).",
index c3bbbeb3f9a1148c122396810dd001d98cf73190..f3d8f2d3f23cab405d71c461f0686d2f2a959945 100644 (file)
@@ -1,3 +1,7 @@
+Thu Dec  5 21:59:08 1996  Tom Yu  <tlyu@mit.edu>
+
+       * kinit.M: v5srvtab -> krb5.keytab [279]
+
 Wed Nov  6 09:31:35 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * kinit.c (main): Check the return code from krb5_init_context,
index 86465b9a0e5ac32a0c64f694845f842afe7f6fd5..6681967f4cbe84d276bba73a7383dd272ed352cc 100644 (file)
@@ -130,7 +130,7 @@ Location of the credentials (ticket) cache.
 /tmp/krb5cc_[uid]
 default credentials cache ([uid] is the decimal UID of the user).
 .TP
-/etc/v5srvtab
+/etc/krb5.keytab
 default location for the local host's
 .B keytab
 file.
index 8b0051b4cf06f9ef874a13a26edc498f0ef6a930..f72ff09cd4896513a307d302b8b70eb552934a28 100644 (file)
@@ -1,3 +1,7 @@
+Thu Dec  5 21:59:34 1996  Tom Yu  <tlyu@mit.edu>
+
+       * klist.M: v5srvtab -> krb5.keytab [279]
+
 Wed Nov  6 12:02:59 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * klist.c (main): Check the error return from krb5_init_context(),
index acf80ab465a81a2687600b6094996bd48168ec9c..99b42b985d4f1ca179a993354b5b542debbaf807 100644 (file)
@@ -107,7 +107,7 @@ Location of the credentials (ticket) cache.
 default location of the credentials cache ([uid] is the decimal UID of
 the user).
 .TP
-/etc/v5srvtab
+/etc/krb5.keytab
 default location of the
 .B keytab
 file.
index 26edc44787d10982c05bbe6ea63fbb9cfc68308a..fd73b3e5e37639b2f93ffdaf0a3abce3519c4a61 100644 (file)
@@ -1,3 +1,8 @@
+Tue Nov 26 19:24:34 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * kdc.conf: Fixed paths to use the GNU standard conventions.  
+               [PR#246]
+
 Thu Nov 14 23:08:37 1996  Tom Yu  <tlyu@mit.edu>
 
        * krb5.conf.M: Note change in default_keytab_name.
index c9856691d709046141775816fb4583f4fcbe3db0..cf8cbe1fd96b9d551f39132933b818ecbe1a0d65 100644 (file)
@@ -3,10 +3,10 @@
 
 [realms]
        ATHENA.MIT.EDU = {
-               database_name = /usr/local/lib/krb5kdc/principal
-               admin_keytab = FILE:/usr/local/lib/krb5kdc/kadm5.keytab
-               acl_file = /usr/local/lib/krb5kdc/kadm5.acl
-               key_stash_file = /usr/local/lib/krb5kdc/.k5stash
+               database_name = /usr/local/var/krb5kdc/principal
+               admin_keytab = FILE:/usr/local/var/krb5kdc/kadm5.keytab
+               acl_file = /usr/local/var/krb5kdc/kadm5.acl
+               key_stash_file = /usr/local/var/krb5kdc/.k5.ATHENA.MIT.EDU
                kdc_ports = 750,88
                max_life = 10h 0m 0s
                max_renewable_life = 7d 0h 0m 0s
index 3a2976d586c8787a7c102cec8faeab43a1404630..8ff29d5b0847be6b1b4de684453cdebc6bfcfd74 100644 (file)
@@ -1,3 +1,8 @@
+Sat Nov 23 00:16:46 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * k5-int.h: Remove DES3 and SHA support, since what's there isn't
+               fully correct.  [PR#231]
+
 Wed Nov 13 14:28:08 1996  Tom Yu  <tlyu@mit.edu>
 
        * k5-int.h, krb5.hin: Revert kt_default_name changes.
index f6f30ef5c99d071051493613bf15a632f1f5f73a..02cb5c22ffc4f80f856fc6bc874fc0f7a2bf3274 100644 (file)
 #define PROVIDE_DES_CBC_CRC
 #define PROVIDE_DES_CBC_RAW
 #define PROVIDE_DES_CBC_CKSUM
-#define PROVIDE_DES3_CBC_SHA
-#define PROVIDE_DES3_CBC_RAW
+/* #define PROVIDE_DES3_CBC_SHA */
+/* #define PROVIDE_DES3_CBC_RAW */
 #define PROVIDE_CRC32
 #define PROVIDE_RSA_MD4
 #define PROVIDE_RSA_MD5
-#define PROVIDE_NIST_SHA
+/* #define PROVIDE_NIST_SHA */
 
 #ifndef _SIZE_T_DEFINED
 typedef unsigned int size_t;
index 74755254d36e5448901863c07f4c8ca26859586c..694a6186bc1c8dc56fe4b6aef443a59a5c72a6e4 100644 (file)
@@ -1,3 +1,7 @@
+Fri Nov 22 11:34:46 1996  Sam Hartman  <hartmans@mit.edu>
+
+       * Makefile.in:  Install krb_err.h [218]
+
 Thu Oct 31 17:27:08 1996  Sam Hartman  <hartmans@mit.edu>
 
        * Makefile.in (install): Start installing headers again [36]
index 669e341c18caa9f020e8d2ddcd08e7690c8c8b34..0e4705ff2c5552529a8e60e1fe45da1d6093b46f 100644 (file)
@@ -1,4 +1,5 @@
-KRB4_HEADERS=krb.h des.h kadm.h mit-copyright.h
+KRB4_HEADERS=krb.h des.h kadm.h mit-copyright.h \
+       krb_err.h
 
 all::
 
index 1bb368af31801d1e4456bd9ba4e7d969ebefed11..b411bb8a183222fa374ed6b66888b038e914a6a1 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 22 15:49:35 1996  unknown  <bjaspan@mit.edu>
+
+       * kadm_ser_wrap.c (kadm_ser_init): use sizeof instead of h_length
+       to determine number of bytes of addr to copy from DNS response
+       [krb5-misc/211]
+
 Thu Jun 13 22:09:02 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>
 
        * configure.in: remove ref to ET_RULES
index 7c373b3d6b688e022ef60c4d18277017d9425ba8..bc8f0b5de7fee4dfb10ae7ad912d4b425edcea24 100644 (file)
@@ -72,7 +72,7 @@ kadm_ser_init(inter, realm)
     if ((hp = gethostbyname(hostname)) == NULL)
        return KADM_NO_HOSTNAME;
     memcpy((char *) &server_parm.admin_addr.sin_addr.s_addr, hp->h_addr,
-          hp->h_length);
+          sizeof(server_parm.admin_addr.sin_addr.s_addr));
     server_parm.admin_addr.sin_port = sep->s_port;
     /* setting up the database */
     mkey_name = KRB5_KDB_M_NAME;
index 9c28f25e1d2c17b4904ef3277dcab4246c1e0824..3f8f2ec48ebead5979203aa9969cc7ffc993a8ac 100644 (file)
@@ -3,6 +3,16 @@ Tue Dec  3 15:39:11 1996  Barry Jaspan  <bjaspan@mit.edu>
        * kadmin.c (kadmin_addprinc): print warning/notice about no policy
        and default policy [krb5-admin/252]
 
+Thu Dec  5 19:30:22 1996  Tom Yu  <tlyu@mit.edu>
+
+       * kadmin.M: Missed a ref to /krb5. [279]
+       
+       * kadmin.M: Change example to no longer use /krb5. [PR 279]
+
+       * kadmin.M: v5srvtab -> krb5.keytab [PR 279]
+
+       * kadmin.c (DEFAULT_KEYTAB): v5srvtab -> krb5.keytab [PR 278]
+
 Wed Nov 13 14:29:02 1996  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (clean-unix): Remove getdate.c and kadmin_ct.c.
index f0f8913f15975e82d33c49493800b62d53705f73..a74874ff96d194719febbb7ecfd47be049f774e8 100644 (file)
@@ -676,7 +676,7 @@ is added, ignoring multiple keys with the same encryption type but
 different salt types.  If the
 .B \-k
 argument is not specified, the default keytab
-.I /etc/v5srvtab
+.I /etc/krb5.keytab
 is used.  If the
 .B \-q
 option is specified, less verbose status information is displayed.
@@ -695,13 +695,10 @@ command.
 .RS
 .TP
 EXAMPLE:
-kadmin: ktadd -k /krb5/kadmind.keytab kadmin/admin kadmin/changepw
-Entry for principal kadmin/admin@ATHENA.MIT.EDU with
+kadmin: ktadd -k /tmp/foo-new-keytab host/foo.mit.edu
+Entry for principal host/foo.mit.edu@ATHENA.MIT.EDU with
        kvno 3, encryption type DES-CBC-CRC added to keytab
-       WRFILE:/krb5/kadmind.keytab.
-Entry for principal kadmin/changepw@ATHENA.MIT.EDU
-       with kvno 3, encryption type DES-CBC-CRC added to keytab
-       WRFILE:/krb5/kadmind.keytab.
+       WRFILE:/tmp/foo-new-keytab
 kadmin:
 .RE
 .fi
@@ -716,7 +713,7 @@ parsed as an integer, and all entries whose kvno match that integer are
 removed.  If the
 .B \-k
 argument is not specifeid, the default keytab
-.I /etc/v5srvtab
+.I /etc/krb5.keytab
 is used.  If the
 .B \-q
 option is specified, less verbose status information is displayed.
@@ -725,9 +722,9 @@ option is specified, less verbose status information is displayed.
 .RS
 .TP
 EXAMPLE:
-kadmin: ktremove -k /krb5/kadmind.keytab kadmin/admin
+kadmin: ktremove -k /usr/local/var/krb5kdc/kadmind.keytab kadmin/admin
 Entry for principal kadmin/admin with kvno 3 removed
-       from keytab WRFILE:/krb5/kadmind.keytab.
+       from keytab WRFILE:/usr/local/var/krb5kdc/kadmind.keytab.
 kadmin:
 .RE
 .fi
index a684a2e58a4047965a2829d60f9ab8ebe694c27e..b881681d2470818391c4a2dec18c49fad484bc0c 100644 (file)
@@ -428,7 +428,7 @@ char *kadmin_startup(argc, argv)
         exit(1);
     }
     {
-#define DEFAULT_KEYTAB "WRFILE:/etc/v5srvtab"
+#define DEFAULT_KEYTAB "WRFILE:/etc/krb5.keytab"
         /* XXX krb5_defkeyname is an internal library global and
             should go away */
         extern char *krb5_defkeyname;
index 5b50393154ebfe75aaae8a2d4f6c9c0f73756ae5..2436ec681a18370d19d69f5bd124fc129f747a15 100644 (file)
@@ -1,3 +1,23 @@
+Wed Nov 27 13:50:03 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * configure.in: Link against kdb5 explicitly on all systems except
+               BSD systems, due to hairy shared library issues.  [PR#257]
+               n.b., this is only a short-term fix for the 1.0 release.
+               The correct long-term fix is to not require kadm5 clients
+               to need to link against libkdb5 at all.
+       
+Fri Nov 22 18:42:02 1996  Sam Hartman  <hartmans@planet-zorp.MIT.EDU>
+
+       * configure.in: Do not link against kdb5 because this causes
+       NetBSD getpwuid to fail. [228]
+
+       * kpasswd.c (kpasswd): Remove cast from uid_t to int. [228]
+
+Wed Nov 20 16:00:49 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * unit-test/Makefile.in (unit-test-): warn more loudly about unrun
+       tests
+
 Wed Nov 13 19:23:15 1996  Tom Yu  <tlyu@mit.edu>
 
        * unit-test/Makefile.in (clean): Remove logfiles.
index 2331e44d0dd82f6c851dc35bd974d280d8cd3f1b..874f3385b5a50387d6187a658943643093d3d583 100644 (file)
@@ -7,8 +7,28 @@ AC_PROG_AWK
 USE_KADMCLNT_LIBRARY
 USE_GSSAPI_LIBRARY
 USE_GSSRPC_LIBRARY
-USE_KDB5_LIBRARY
 USE_DYN_LIBRARY
+
+dnl 
+dnl The following is a kludge to get around a shared library problem
+dnl for NetBSD and Linux.  We have to include -lkdb5 under Linux, and 
+dnl we can't include -lkdb5 under NetBSD, due to various breakages in
+dnl each system's shared library implementation
+dnl
+AC_MSG_CHECKING([for build host])
+AC_CACHE_VAL(krb5_cv_host, [export CC
+AC_CANONICAL_HOST
+krb5_cv_host=$host])
+AC_MSG_RESULT($krb5_cv_host)
+case $krb5_cv_host in
+*-*-*bsd*)
+  echo "Skipping USE KDB5 LIBRARY on BSD to avoid libdb incompatibilites"
+  ;;
+*)
+  USE_KDB5_LIBRARY
+  ;;
+esac
+
 KRB5_LIBRARIES
 V5_USE_SHARED_LIB
 V5_AC_OUTPUT_MAKEFILE
index e425280b6487ac1fe7fc77fd75aee22649e91b11..48cb4ccc598440533101c93a7a3a39584ea33c1b 100644 (file)
@@ -137,7 +137,7 @@ kpasswd(context, argc, argv)
 
     /* if either krb5_cc failed check the passwd file */
     if (code != 0) {
-      pw = getpwuid((int) getuid());
+      pw = getpwuid( getuid());
       if (pw == NULL) {
        com_err(whoami, 0, string_text(KPW_STR_NOT_IN_PASSWD_FILE));
        return(MISC_EXIT_STATUS);
index f2192df9420e990f20db18f9f36814ae0c811bcd..8ffc57f2cc7ceda6abb57916ddd4296e6fb62cb3 100644 (file)
@@ -1,8 +1,10 @@
 check unit-test:: unit-test-@DO_TEST@
 
 unit-test-:
-       @echo "The kpasswd tests require Perl, Tcl, and runtest"
-       @echo "No tests run here"
+       @echo "+++"
+       @echo "+++ WARNING: kpasswd unit tests not run."
+       @echo "+++ Either tcl, runtest, or Perl is unavailable."
+       @echo "+++"
 
 unit-test-ok:: unit-test-setup unit-test-body unit-test-cleanup
 
index a8b9acdbd59a09391a7ea3f39e744fd7dff28f7f..23897964a56077b9e3983ecc469ceeb58bc3f1c0 100644 (file)
@@ -3,6 +3,10 @@ Wed Dec  4 15:29:30 1996  Barry Jaspan  <bjaspan@mit.edu>
        * ovsec_kadmd.c (main): fix duplicated error strings
        [krb5-admin/234]
 
+Tue Nov 19 16:48:50 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * ovsec_kadmd.c: don't syslog \n's
+
 Wed Nov 13 14:29:34 1996  Tom Yu  <tlyu@mit.edu>
 
        * ovsec_kadmd.c (main): Note that krb5_defkeyname is an internal
index 0a0ff8002035352ba5f7afaece1da2cac5bb54c9..bcacd72cecdc20f9b973b6892d5260b86ca7badf 100644 (file)
@@ -183,7 +183,7 @@ int main(int argc, char *argv[])
      
      if (ret = kadm5_get_config_params(context, NULL, NULL, &params,
                                       &params)) {
-         krb5_klog_syslog(LOG_ERR, "%s: %s while initializing, aborting\n",
+         krb5_klog_syslog(LOG_ERR, "%s: %s while initializing, aborting",
                           whoami, error_message(ret));
          fprintf(stderr, "%s: %s while initializing, aborting\n",
                  whoami, error_message(ret));
@@ -197,7 +197,7 @@ int main(int argc, char *argv[])
 
      if ((params.mask & REQUIRED_PARAMS) != REQUIRED_PARAMS) {
          krb5_klog_syslog(LOG_ERR, "%s: Missing required configuration values "
-                          "while initializing, aborting\n", whoami,
+                          "while initializing, aborting", whoami,
                           (params.mask & REQUIRED_PARAMS) ^ REQUIRED_PARAMS);
          fprintf(stderr, "%s: Missing required configuration values "
                  "(%x) while initializing, aborting\n", whoami,
@@ -726,7 +726,7 @@ void log_badauth(OM_uint32 major, OM_uint32 minor,
      krb5_klog_syslog(LOG_NOTICE, "Authentication attempt failed: %s, GSS-API "
            "error strings are:", a);
      log_badauth_display_status("   ", major, minor);
-     krb5_klog_syslog(LOG_NOTICE, "   GSS-API error strings complete.\n");
+     krb5_klog_syslog(LOG_NOTICE, "   GSS-API error strings complete.");
 }
 
 void log_badauth_display_status(char *msg, OM_uint32 major, OM_uint32 minor)
@@ -754,11 +754,11 @@ void log_badauth_display_status_1(char *m, OM_uint32 code, int type,
                                                 GSS_C_MECH_CODE, 1);
               } else
                    krb5_klog_syslog(LOG_ERR, "GSS-API authentication error %s: "
-                          "recursive failure!\n", msg);
+                          "recursive failure!", msg);
               return;
          }
 
-         krb5_klog_syslog(LOG_NOTICE, "%s %s\n", m, (char *)msg.value); 
+         krb5_klog_syslog(LOG_NOTICE, "%s %s", m, (char *)msg.value); 
          (void) gss_release_buffer(&minor_stat, &msg);
          
          if (!msg_ctx)
index 73dcd5a80e8bec67358bfbf41ecfb8ebd2b4f86d..bfc97a89ea13686e5e0a1dd5d832c749fe61b172 100644 (file)
@@ -3,6 +3,10 @@ Tue Dec  3 15:28:53 1996  Barry Jaspan  <bjaspan@mit.edu>
        * init_db: be verbose when $SRVTCL doesn't exist, instead of just
        failing [krb5-admin/245]
 
+Thu Dec  5 19:34:09 1996  Tom Yu  <tlyu@mit.edu>
+
+       * save_files.sh (files): Also save /etc/krb5.keytab. [PR 278]
+
 Thu Nov 14 15:28:16 1996  Barry Jaspan  <bjaspan@mit.edu>
 
        * env-setup.shin, init_db, save_files.sh, start_servers,
index 14fe892d481df173a78d85e19f8b94451e2e8437..72182036f7c230cd98347275e0132e3209b242a1 100644 (file)
@@ -15,7 +15,7 @@ done
 #      /.secure/etc/passwd /etc/athena/inetd.conf"
 
 files="/etc/krb.conf /etc/krb.realms /etc/athena/krb.conf \
-       /etc/athena/krb.realms /etc/v5srvtab"
+       /etc/athena/krb.realms /etc/v5srvtab /etc/krb5.keytab"
 
 name=`basename $0`
 
index e324ed6e6c10e246166a73d88ff77cd425876d13..698414ab25f1c4742d4dc6fe97b55d6776cf11dd 100644 (file)
@@ -1,3 +1,16 @@
+Fri Dec  6 00:04:10 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * test.c: Change test looking for tcl 7.05 and greater to be tcl
+               7.04 and greater, since BSDI ships with tcl 7.04, and
+               needs this change.  [PR#282]
+
+Thu Dec  5 22:47:27 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * tcl_ovsec_kadm.c: 
+       * tcl_kadm5.c: Remove #include of <malloc.h>, which is not
+               guaranteed to be there.  #include of <stdlib.h> is all you
+               need for malloc(), per ANSI.  [PR#281]
+
 Wed Nov 13 09:55:05 1996  Ezra Peisach  <epeisach@mit.edu>
 
        * Makefile.in (clean): Remove built programs.
index 2aa36636d919eb7e961d70731ed23bbbbab9e936..409f02396c86a0aff3d23274c891c481ac8b9905 100644 (file)
@@ -4,7 +4,6 @@
 #define USE_KADM5_API_VERSION 2
 #include <kadm5/admin.h>
 #include <com_err.h>
-#include <malloc.h>
 #include <k5-int.h>
 #include <errno.h>
 #include <stdlib.h>
index 0c6aaac9cbf57fd69a21bfac99126e6a038c0cef..40a854e951d3704b3fe7e531bffce3ac0ebb7128 100644 (file)
@@ -4,7 +4,6 @@
 #define USE_KADM5_API_VERSION 1
 #include <kadm5/admin.h>
 #include <com_err.h>
-#include <malloc.h>
 #include <k5-int.h>
 #include <errno.h>
 #include <stdlib.h>
index 75a0fc25f90aff9974a0710faf2ca2b34fe2f64a..f9da0523890d56d8e71c629aade61c903bf75600 100644 (file)
@@ -1,8 +1,8 @@
 #include <tcl.h>
 
-#define IS_TCL_7_5 ((TCL_MAJOR_VERSION * 100 + TCL_MINOR_VERSION) >= 705)
+#define _TCL_MAIN ((TCL_MAJOR_VERSION * 100 + TCL_MINOR_VERSION) >= 704)
 
-#if IS_TCL_7_5
+#if _TCL_MAIN
 int
 main(argc, argv)
     int argc;                  /* Number of command-line arguments. */
index 7572a6380d143204f7de0645ee2752a00c9647e9..2966ad1004f54d08c0babbb4cbd7ba336ede95f1 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 22 15:49:27 1996  unknown  <bjaspan@mit.edu>
+
+       * kadm_ser_wrap.c (endif ): use sizeof instead of h_length to
+       determine number of bytes of addr to copy from DNS response
+       [krb5-misc/211]
+
 Wed Nov 13 19:24:00 1996  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (clean): Remove kadm_err.h and kadm_err.c.
index 3d4c045eda12637a39c408e59c4d594927a2a43b..7ea289f2414f66146d64d7b4641c90ac8e8d9019 100644 (file)
@@ -82,7 +82,7 @@ kadm_ser_init(inter, realm)
     if ((hp = gethostbyname(hostname)) == NULL)
        return KADM_NO_HOSTNAME;
     memcpy((char *) &server_parm.admin_addr.sin_addr.s_addr, hp->h_addr,
-          hp->h_length);
+          sizeof(server_parm.admin_addr.sin_addr.s_addr));
     server_parm.admin_addr.sin_port = sep->s_port;
     /* setting up the database */
     mkey_name = KRB5_KDB_M_NAME;
index c2b2074f3dc7992786620895229df2e7745da115..190c4f3c5d1398ef74446e0d3a979cc2a2d99b9e 100644 (file)
@@ -9,6 +9,13 @@ Sat Nov 23 17:26:22 1996  Mark Eichin  <eichin@kitten.gen.ma.us>
        return status and don't pass back hint if it failed.
        (get_etype_info): malloc one more word in entry for end marker.
 
+Wed Nov 20 11:25:05 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * main.c (initialize_realms): krb5_aprof_init can succeed while
+       leaving aprof == NULL, but krb5_aprof_finish will fail.  This is
+       just more grossness that needs to be redone when the kdc.conf
+       interface is reworked.
+
 Thu Nov  7 12:27:21 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * kdc_preauth.c (check_padata): Fixed error handling; in order for
index dd4ae76871c8e0dd14ec00ead3de84a2c45736ba..bc7a2fee1ae60f2a5915113f25e4560dbec0aa8f 100644 (file)
@@ -721,7 +721,9 @@ initialize_realms(kcontext, argc, argv)
        hierarchy[2] = (char *) NULL;
        if (krb5_aprof_get_string(aprof, hierarchy, TRUE, &default_ports))
            default_ports = 0;
-       krb5_aprof_finish(aprof);
+       /* aprof_init can return 0 with aprof == NULL */
+       if (aprof)
+            krb5_aprof_finish(aprof);
     }
     if (default_ports == 0)
        default_ports = strdup(DEFAULT_KDC_PORTLIST);
index dbc3c841d61da0ce541b2710c432bec82c9982d1..7f5856dbbb3d1b0359b41241d19dc96184243564 100644 (file)
@@ -1,3 +1,14 @@
+Thu Dec  5 23:27:00 1996  Tom Yu  <tlyu@mit.edu>
+
+       * krb524d.c (main): Ignore SIGHUP for now. [27]
+
+Thu Dec  5 23:12:29 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * cnv_tkt_skey.c (krb524_convert_tkt_skey): Change the issue time
+               of the V4 ticket to be the current time (since the
+               lifetime of the V4 ticket was calculated assuming that the
+               issue time would be the current time).  [PR#283,PR#22]
+
 Mon Nov 11 16:23:32 1996  Mark Eichin  <eichin@cygnus.com>
 
        * krb524d.c (do_connection): only free v4/v5 keyblock contents and
index a7d5e54ed5fbaebe23d121e31f1ba3f6ac9f7f25..19bb386f33b5a1f3291ede7a3db18b5aec8e8542 100644 (file)
@@ -161,7 +161,7 @@ int krb524_convert_tkt_skey(context, v5tkt, v4tkt, v5_skey, v4_skey)
                             (char *) v5etkt->session->contents,
                             lifetime,
                             /* issue_data */
-                            v5etkt->times.starttime,
+                            server_time,
                             sname,
                             sinst,
                             v4_skey->contents);
index 2c4d3f839e703c544902edfd35832381b877daa2..7d6e9ba162f542dcbddb92daa3936d87f6ea3519 100644 (file)
@@ -119,7 +119,7 @@ int main(argc, argv)
      }
      
      signal(SIGINT, request_exit);
-     signal(SIGHUP, request_exit);
+     signal(SIGHUP, SIG_IGN);
      signal(SIGTERM, request_exit);
 
      if (use_keytab)
index c7e7fb6b1a0fab17cf761214a8da156f291cc73a..791ed2b99614b418cd7d763b708de7c913870a1a 100644 (file)
@@ -1,3 +1,15 @@
+Sat Nov 23 00:25:25 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+       
+       * libkrb5.def: Renamed to krb5_16.def [PR#204]
+
+       * Makefile.in (all-windows): Change name of dll from krb5_16.dll,
+               which will be the final name of the DLL. [PR#204]
+
+Wed Nov 20 18:28:47 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * Makefile.in (clean-windows): Change the name of the Windows (16)
+               dll to be krb516.dll, instead of libkrb5.dll
+
 Fri Jul 12 20:32:29 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * win_glue.c: Added TIMEBOMB_INFO string which tells the user the
index f0eaef89fc4c26849929ebb6d2d748869c1331cb..b8cd3980a844c9d0f5f2ac8ed37c8e7c4ba2199b 100644 (file)
@@ -19,10 +19,10 @@ clean-unix::
        $(RM) $(CLEANLIBS)
 
 clean-windows::
-       $(RM) libkrb5.dll libkrb5.lib libkrb5.bak libkrb5.map winsock.lib
+       $(RM) krb5_16.dll krb5_16.lib krb5_16.bak krb5_16.map winsock.lib
        $(RM) gssapi.dll gssapi.lib gssapi.bak gssapi.map
 #
-# Windows stuff to make libkrb5.dll and libkrb5.lib. Currently it
+# Windows stuff to make krb5_16.dll and krb5_16.lib. Currently it
 # combines crypto, krb5, kadm and the util/et directories.
 #
 ALIB  = kadm\kadm.lib
@@ -34,7 +34,7 @@ PLIB  = $(BUILDTOP)\util\profile\profile.lib
 WLIB  = .\winsock.lib
 LIBS  = $(ALIB) $(CLIB) $(KLIB) $(GLIB) $(ETLIB) $(PLIB) $(WLIB)
 
-lib-windows: winsock.lib libkrb5.lib gssapi.lib 
+lib-windows: winsock.lib krb5_16.lib gssapi.lib 
 
 gssapi.lib:: gssapi.dll
        implib /nologo gssapi.lib gssapi.dll
@@ -44,13 +44,13 @@ gssapi.dll:: $(GLIB) $(LIBS) gssapi.def win_glue.obj
           $(LIBS) ldllcew libw oldnames, gssapi.def
        rc /nologo /p /k gssapi.dll
 
-libkrb5.lib:: libkrb5.dll
-       implib /nologo libkrb5.lib libkrb5.dll
+krb5_16.lib:: krb5_16.dll
+       implib /nologo krb5_16.lib krb5_16.dll
 
-libkrb5.dll:: $(LIBS) libkrb5.def win_glue.obj
-       link /co /seg:400 /noe /nod /nol win_glue, libkrb5.dll, libkrb5.map, \
-          $(LIBS) ldllcew libw oldnames, libkrb5.def
-       rc /nologo /p /k libkrb5.dll
+krb5_16.dll:: $(LIBS) krb5_16.def win_glue.obj
+       link /co /seg:400 /noe /nod /nol win_glue, krb5_16.dll, krb5_16.map, \
+          $(LIBS) ldllcew libw oldnames, krb5_16.def
+       rc /nologo /p /k krb5_16.dll
 
 sap_glue.obj: win_glue.c
        $(CC) $(CFLAGS) -DSAP_TIMEBOMB -I$(VERS_DIR) /c \
@@ -83,7 +83,7 @@ all-windows::
        @echo Making in lib
        cd ..
 
-all-windows:: libkrb5.lib gssapi.lib
+all-windows:: krb5_16.lib gssapi.lib
 
 clean-windows::
        @echo Making clean in lib\crypto
index 680319932034fd122db6a65aa1dd2dd01095885c..ecdb1d41e1744509fc779a34a5dfd464f001a20f 100644 (file)
@@ -1,3 +1,17 @@
+Sat Nov 23 00:22:20 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * cryptoconf.c: Also zero out the entries in cryptoconf, to make
+               sure no one tries to use triple DES and SHA.
+
+Fri Nov 22 20:49:13 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * configure.in (enableval): Disable triple DES and SHA, since
+               what's there isn't the final triple DES.  [PR#231]
+
+Mon Nov 18 20:38:24 1996  Ezra Peisach  <epeisach@mit.edu>
+ [krb5-libs/201]
+       * configure.in: Set shared library version to 1.0.
+
 Thu Jun  6 00:04:38 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * Makefile.in (all-windows): Don't pass $(LIBCMD) on the command
index 9e0451004c5eee58511e605389a59707f76636c4..53f9fcc39cbfb90507c8863dab8d77709b33dda2 100644 (file)
@@ -19,17 +19,17 @@ if test "$enableval" = yes; then
 else
        AC_MSG_RESULT(Disabling DES_CBC_MD5)
 fi
-AC_ARG_ENABLE([des3-cbc-sha],
-[ --enable-des3-cbc-sha                enable DES3_CBC_SHA (DEFAULT).
- --disable-des3-cbc-sha                disable DES3_CBC_SHA.],
-,
-enableval=yes)dnl
-if test "$enableval" = yes; then
-       AC_MSG_RESULT(Enabling DES3_CBC_SHA)
-       AC_DEFINE(PROVIDE_DES3_CBC_SHA)
-else
-       AC_MSG_RESULT(Disabling DES3_CBC_SHA)
-fi
+dnl AC_ARG_ENABLE([des3-cbc-sha],
+dnl [ --enable-des3-cbc-sha            enable DES3_CBC_SHA (DEFAULT).
+dnl  --disable-des3-cbc-sha            disable DES3_CBC_SHA.],
+dnl ,
+dnl enableval=yes)dnl
+dnl if test "$enableval" = yes; then
+dnl    AC_MSG_RESULT(Enabling DES3_CBC_SHA)
+dnl    AC_DEFINE(PROVIDE_DES3_CBC_SHA)
+dnl else
+dnl    AC_MSG_RESULT(Disabling DES3_CBC_SHA)
+dnl fi
 AC_ARG_WITH([des-cbc-crc],
 [ --enable-des-cbc-crc         enable DES_CBC_CRC (DEFAULT).
  --disable-des-cbc-crc         disable DES_CBC_CRC.],
@@ -52,17 +52,17 @@ if test "$enableval" = yes; then
 else
        AC_MSG_RESULT(Disabling DES_CBC_RAW)
 fi
-AC_ARG_WITH([des3-cbc-raw],
-[ --enable-des3-cbc-raw                enable DES3_CBC_RAW (DEFAULT).
- --disable-des3-cbc-raw                disable DES3_CBC_RAW.],
-,
-enableval=yes)dnl
-if test "$enableval" = yes; then
-       AC_MSG_RESULT(Enabling DES3_CBC_RAW)
-       AC_DEFINE(PROVIDE_DES3_CBC_RAW)
-else
-       AC_MSG_RESULT(Disabling DES3_CBC_RAW)
-fi
+dnl AC_ARG_WITH([des3-cbc-raw],
+dnl [ --enable-des3-cbc-raw            enable DES3_CBC_RAW (DEFAULT).
+dnl  --disable-des3-cbc-raw            disable DES3_CBC_RAW.],
+dnl ,
+dnl enableval=yes)dnl
+dnl if test "$enableval" = yes; then
+dnl    AC_MSG_RESULT(Enabling DES3_CBC_RAW)
+dnl    AC_DEFINE(PROVIDE_DES3_CBC_RAW)
+dnl else
+dnl    AC_MSG_RESULT(Disabling DES3_CBC_RAW)
+dnl fi
 AC_ARG_WITH([des-cbc-cksum],
 [ --enable-des-cbc-cksum               enable DES_CBC_CKSUM (DEFAULT).
  --disable-des-cbc-cksum       disable DES_CBC_CKSUM.],
@@ -107,20 +107,20 @@ if test "$enableval" = yes; then
 else
        AC_MSG_RESULT(Disabling RSA_MD5)
 fi
-AC_ARG_WITH([nist-sha],
-[ --enable-nist-sha            enable NIST_SHA (DEFAULT).
- --disable-nist-sha            disable NIST_SHA.],
-,
-enableval=yes)dnl
-if test "$enableval" = yes; then
-       AC_MSG_RESULT(Enabling NIST_SHA)
-       AC_DEFINE(PROVIDE_NIST_SHA)
-else
-       AC_MSG_RESULT(Disabling NIST_SHA)
-fi
+dnl AC_ARG_WITH([nist-sha],
+dnl [ --enable-nist-sha                enable NIST_SHA (DEFAULT).
+dnl  --disable-nist-sha                disable NIST_SHA.],
+dnl ,
+dnl enableval=yes)dnl
+dnl if test "$enableval" = yes; then
+dnl    AC_MSG_RESULT(Enabling NIST_SHA)
+dnl    AC_DEFINE(PROVIDE_NIST_SHA)
+dnl else
+dnl    AC_MSG_RESULT(Disabling NIST_SHA)
+dnl fi
 
 V5_SHARED_LIB_OBJS
 SubdirLibraryRule([${OBJS}])
 DO_SUBDIRS
-V5_MAKE_SHARED_LIB(libcrypto,0.1,.., ./crypto)
+V5_MAKE_SHARED_LIB(libcrypto,1.0,.., ./crypto)
 V5_AC_OUTPUT_MAKEFILE
index 768c6cf3cb7042806f69b3c02474fca3d08883ee..62be7458129d49710b1a7440291770bfc0b5fba3 100644 (file)
 
 #ifdef PROVIDE_NIST_SHA
 #include "shs.h"
-#define SHA_CKENTRY &nist_sha_cksumtable_entry
-#define HMAC_SHA_CKENTRY &hmac_sha_cksumtable_entry
+/* #define SHA_CKENTRY &nist_sha_cksumtable_entry */
+/* #define HMAC_SHA_CKENTRY &hmac_sha_cksumtable_entry */
+#define SHA_CKENTRY 0
+#define HMAC_SHA_CKENTRY 0
 #else
 #define SHA_CKENTRY 0
 #define HMAC_SHA_CKENTRY 0
 #include "des_int.h"
 #define _DES_DONE__
 #endif
-#define DES3_CBC_SHA_CSENTRY &krb5_des3_sha_cst_entry
+/* Don't try to enable triple DES unless you know what you are doing; */
+/* the current implementation of triple DES is NOT the final and */
+/* correct implementation.!!!  */
+/* #define DES3_CBC_SHA_CSENTRY &krb5_des3_sha_cst_entry */
+#define DES3_CBC_SHA_CSENTRY 0
 #else
 #define DES3_CBC_SHA_CSENTRY 0
 #endif
 #include "des_int.h"
 #define _DES_DONE__
 #endif
-#define DES3_CBC_RAW_CSENTRY &krb5_des3_raw_cst_entry
+/* #define DES3_CBC_RAW_CSENTRY &krb5_des3_raw_cst_entry */
+#define DES3_CBC_RAW_CSENTRY 0
 #else
 #define DES3_CBC_RAW_CSENTRY 0
 #endif
index c0c8faa43baa5484fb84b29eab241292e44a68e8..8b1457e07baed8a4aa2822eb59592272c632f8bf 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 18 20:39:02 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * configure.in: Set shared library version to 1.0. [krb5-libs/201]
+
 Wed Aug  7 12:50:36 1996  Ezra Peisach  <epeisach@mit.edu>
 
        * new_rnd_key.c (des_set_sequence_number): Change cast to
index 08126b06c176c0a8acbd14b1e97a85bd6bb5fd8a..07072c9f2959349ec011c9d7286eb20d316e5af5 100644 (file)
@@ -29,5 +29,5 @@ AC_SUBST(CRYPTO_SH_VERS)
 KRB5_SH_VERS=$krb5_cv_shlib_version_libkrb5
 AC_SUBST(KRB5_SH_VERS)
 KRB5_RUN_FLAGS
-V5_MAKE_SHARED_LIB(libdes425,0.1,.., ./des425)
+V5_MAKE_SHARED_LIB(libdes425,1.0,.., ./des425)
 V5_AC_OUTPUT_MAKEFILE
index 505b5d35522281c18afad2bb7566dbe2c77bb3ae..b29cc371b2119a2d11aad99c52c228faff515050 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 18 20:39:41 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * configure.in: Set shared library version to 1.0. [krb5-libs/201]
+
 Tue Jul 23 22:50:22 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * Makefile.in (MAC_SUBDIRS): Remove mechglue from the list of
index 164582c647945357ea35fc064e472ac4f31e8df3..f2bb704295f5480b7f557162e2fa9ff3b4c5cd3a 100644 (file)
@@ -7,7 +7,7 @@ AC_PROG_ARCHIVE_ADD
 AC_PROG_RANLIB
 AC_PROG_INSTALL
 DO_SUBDIRS
-V5_MAKE_SHARED_LIB(libgssapi_krb5,0.1,.., ./gssapi)
+V5_MAKE_SHARED_LIB(libgssapi_krb5,1.0,.., ./gssapi)
 CRYPTO_SH_VERS=$krb5_cv_shlib_version_libcrypto
 AC_SUBST(CRYPTO_SH_VERS)
 COMERR_SH_VERS=$krb5_cv_shlib_version_libcom_err
index 993470825ce2b07aa872d3dae8fc5d45ea22855a..30fd1c3c2cfa079422c7229ecd11cd2c55b1671e 100644 (file)
@@ -1,3 +1,12 @@
+Wed Nov 20 13:59:58 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * Makefile.in (install): Install gssapi.h from the build tree.
+
+Tue Nov 19 16:43:16 1996  Tom Yu  <tlyu@mit.edu>
+
+       * Makefile.in (gssapi.h): grep USE_.*_H out from autoconf.h as
+       well (some stuff was depending on USE_STRING_H).
+
 Mon Nov 18 12:38:34 1996  Tom Yu  <tlyu@mit.edu>
 
        *gssapi.h: Renamed to gssapi.hin.
index 1e1aa7ebb8ac767eb7c96f2d6b9a5b0f352f7f5e..87b414f47cfca495a834d8c7611293fb3a638f59 100644 (file)
@@ -37,6 +37,7 @@ gssapi.h: gssapi.hin
        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 >> $@
        echo "/* End of gssapi.h prologue. */"
        cat $(srcdir)/gssapi.hin >> $@
 
@@ -84,7 +85,8 @@ OBJS = \
 
 $(OBJS): $(HDRS) $(ETHDRS)
 
-EXPORTED_HEADERS= gssapi.h gssapi_generic.h
+EXPORTED_HEADERS= gssapi_generic.h
+EXPORTED_BUILT_HEADERS= gssapi.h
 
 all-unix:: shared $(SRCS) $(ETHDRS) $(OBJS)
 
@@ -116,5 +118,9 @@ install::
        do $(INSTALL_DATA) $(srcdir)/$$f        \
                $(DESTDIR)$(KRB5_INCDIR)/gssapi/$$f ; \
        done
+       @set -x; for f in $(EXPORTED_BUILT_HEADERS) ; \
+       do $(INSTALL_DATA) $$f  \
+               $(DESTDIR)$(KRB5_INCDIR)/gssapi/$$f ; \
+       done
 
 depend:: $(ETSRCS)
index e1c1d98491d8eec6398cd155030cd112dbe95c46..8f9ac2c0d46b3c963a7163f808c42bb3112cc094 100644 (file)
@@ -4,6 +4,30 @@ Wed Dec  4 13:06:13 1996  Barry Jaspan  <bjaspan@mit.edu>
        instead of scanning through keytab to find matching principal
        [krb5-libs/210]
 
+Wed Nov 20 19:55:29 1996  Marc Horowitz  <marc@cygnus.com>
+
+       * init_sec_context.c (make_ap_rep, krb5_gss_init_sec_context),
+       accept_sec_context.c (krb5_gss_accept_sec_context): fix up use of
+       gss flags.  under some circumstances, the context would not have
+       checked for replay or sequencing, even if those features were
+       requested.
+
+       * init_sec_context.c (make_ap_req), (krb5_gss_init_sec_context):
+       If delegation is requested, but forwarding the credentials fails,
+       instead of aborting the context setup, just don't forward
+       credentials.
+
+       * gssapiP_krb5.h (krb5_gss_ctx_id_t), ser_sctx.c
+       (kg_ctx_externalize, kg_ctx_internalize), init_sec_context.c
+       (krb5_gss_init_sec_context), get_tkt_flags.c
+       (gss_krb5_get_tkt_flags), accept_sec_context.c
+       (krb5_gss_accept_sec_context): rename ctx->flags to
+       ctx->krb_flags, to disambiguate it from ctx->gss_flags
+
+       * accept_sec_context.c (krb5_gss_accept_sec_context): If the subkey
+       isn't present in the authenticator, then use the session key
+       instead.
+
 Sat Oct 19 00:38:22 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * ser_sctx.c (kg_oid_externalize, kg_oid_internalize,
index 23460692131dd7a304ef163abd1d7143d5ee6973..1589835572178da044001a4b5c0ef0ba5f9e6184 100644 (file)
@@ -384,8 +384,7 @@ krb5_gss_accept_sec_context(minor_status, context_handle,
    ctx->mech_used = mech_used;
    ctx->auth_context = auth_context;
    ctx->initiate = 0;
-   ctx->gss_flags = GSS_C_CONF_FLAG | GSS_C_INTEG_FLAG |
-       (gss_flags & (GSS_C_MUTUAL_FLAG | GSS_C_DELEG_FLAG));
+   ctx->gss_flags = KG_IMPLFLAGS(gss_flags);
    ctx->seed_init = 0;
    ctx->big_endian = bigend;
 
@@ -417,6 +416,29 @@ krb5_gss_accept_sec_context(minor_status, context_handle,
       return(GSS_S_FAILURE);
    }
 
+   /* use the session key if the subkey isn't present */
+
+   if (ctx->subkey == NULL) {
+       if ((code = krb5_auth_con_getkey(context, auth_context,
+                                       &ctx->subkey))) {
+          krb5_free_principal(context, ctx->there);
+          krb5_free_principal(context, ctx->here);
+          xfree(ctx);
+          *minor_status = code;
+          return(GSS_S_FAILURE);
+       }
+   }
+
+   if (ctx->subkey == NULL) {
+       krb5_free_principal(context, ctx->there);
+       krb5_free_principal(context, ctx->here);
+       xfree(ctx);
+       /* this isn't a very good error, but it's not clear to me this
+         can actually happen */
+       *minor_status = KRB5KDC_ERR_NULL_KEY;
+       return(GSS_S_FAILURE);
+   }
+
    switch(ctx->subkey->enctype) {
    case ENCTYPE_DES_CBC_MD5:
    case ENCTYPE_DES_CBC_CRC:
@@ -464,7 +486,7 @@ krb5_gss_accept_sec_context(minor_status, context_handle,
    }
 
    ctx->endtime = ticket->enc_part2->times.endtime;
-   ctx->flags = ticket->enc_part2->flags;
+   ctx->krb_flags = ticket->enc_part2->flags;
 
    krb5_free_ticket(context, ticket); /* Done with ticket */
 
@@ -487,8 +509,8 @@ krb5_gss_accept_sec_context(minor_status, context_handle,
    }
 
    g_order_init(&(ctx->seqstate), ctx->seq_recv,
-               (gss_flags & GSS_C_REPLAY_FLAG) != 0,
-               (gss_flags & GSS_C_SEQUENCE_FLAG) != 0);
+               (ctx->gss_flags & GSS_C_REPLAY_FLAG) != 0,
+               (ctx->gss_flags & GSS_C_SEQUENCE_FLAG) != 0);
 
    /* at this point, the entire context structure is filled in, 
       so it can be released.  */
@@ -545,7 +567,7 @@ krb5_gss_accept_sec_context(minor_status, context_handle,
       *time_rec = ctx->endtime - now;
 
    if (ret_flags)
-      *ret_flags = KG_IMPLFLAGS(gss_flags);
+      *ret_flags = ctx->gss_flags;
 
    ctx->established = 1;
 
index 5dd91064f765459ebc8a5c7cd730bb62012d8f33..eebf06d815d7ee6be8158f9827e813a5b57357a0 100644 (file)
@@ -48,7 +48,7 @@ gss_krb5_get_tkt_flags(minor_status, context_handle, ticket_flags)
    }
 
    if (ticket_flags)
-      *ticket_flags = ctx->flags;
+      *ticket_flags = ctx->krb_flags;
 
    *minor_status = 0;
    return(GSS_S_COMPLETE);
index ee327baf6823f1d71aef79fa8a49b601d12110b6..97f2d51d51acf82a485d0712e1569561367b5baa 100644 (file)
@@ -113,7 +113,7 @@ typedef struct _krb5_gss_ctx_id_rec {
    krb5_gss_enc_desc enc;
    krb5_gss_enc_desc seq;
    krb5_timestamp endtime;
-   krb5_flags flags;
+   krb5_flags krb_flags;
    krb5_int32 seq_send;
    krb5_int32 seq_recv;
    void *seqstate;
index 690d5af2bcffb74cdc37eed3a50724e8b7e2fea5..3b8935fffb4cb31c1663da81b456b4f40173f877 100644 (file)
 
 static krb5_error_code
 make_ap_req(context, auth_context, cred, server, endtime, chan_bindings, 
-           req_flags, flags, mech_type, token)
+           req_flags, krb_flags, mech_type, token)
     krb5_context context;
     krb5_auth_context * auth_context;
     krb5_gss_cred_id_t cred;
     krb5_principal server;
     krb5_timestamp *endtime;
     gss_channel_bindings_t chan_bindings;
-    OM_uint32 req_flags;
-    krb5_flags *flags;
+    OM_uint32 *req_flags;
+    krb5_flags *krb_flags;
     gss_OID mech_type;
     gss_buffer_t token;
 {
@@ -74,8 +74,7 @@ make_ap_req(context, auth_context, cred, server, endtime, chan_bindings,
 
     /* build the checksum field */
 
-    if(*flags && GSS_C_DELEG_FLAG) {
-
+    if (*req_flags & GSS_C_DELEG_FLAG) {
        /* first get KRB_CRED message, so we know its length */
 
        /* clear the time check flag that was set in krb5_auth_con_init() */
@@ -83,20 +82,27 @@ make_ap_req(context, auth_context, cred, server, endtime, chan_bindings,
        krb5_auth_con_setflags(context, *auth_context,
                               con_flags & ~KRB5_AUTH_CONTEXT_DO_TIME);
 
-       if ((code = krb5_fwd_tgt_creds(context, *auth_context, 0,
+       code = krb5_fwd_tgt_creds(context, *auth_context, 0,
                                  cred->princ, server, cred->ccache, 1,
-                                 &credmsg)))
-           return(code);
+                                 &credmsg);
 
        /* turn KRB5_AUTH_CONTEXT_DO_TIME back on */
        krb5_auth_con_setflags(context, *auth_context, con_flags);
 
-       if(credmsg.length+28 > KRB5_INT16_MAX) {
-            krb5_xfree(credmsg.data);
-           return(KRB5KRB_ERR_FIELD_TOOLONG);
-       }
+       if (code) {
+           /* don't fail here; just don't accept/do the delegation
+               request */
+           *req_flags &= ~GSS_C_DELEG_FLAG;
 
-       checksum_data.length = 28+credmsg.length;
+           checksum_data.length = 24;
+       } else {
+           if (credmsg.length+28 > KRB5_INT16_MAX) {
+               krb5_xfree(credmsg.data);
+               return(KRB5KRB_ERR_FIELD_TOOLONG);
+           }
+
+           checksum_data.length = 28+credmsg.length;
+       }
     } else {
        checksum_data.length = 24;
     }
@@ -115,7 +121,7 @@ make_ap_req(context, auth_context, cred, server, endtime, chan_bindings,
 
     TWRITE_INT(ptr, md5.length, 0);
     TWRITE_STR(ptr, (unsigned char *) md5.contents, md5.length);
-    TWRITE_INT(ptr, KG_IMPLFLAGS(req_flags), 0);
+    TWRITE_INT(ptr, *req_flags, 0);
 
     /* done with this, free it */
     xfree(md5.contents);
@@ -151,7 +157,7 @@ make_ap_req(context, auth_context, cred, server, endtime, chan_bindings,
 
     mk_req_flags = AP_OPTS_USE_SUBKEY;
 
-    if (req_flags & GSS_C_MUTUAL_FLAG)
+    if (*req_flags & GSS_C_MUTUAL_FLAG)
        mk_req_flags |= AP_OPTS_MUTUAL_REQUIRED;
 
     if ((code = krb5_mk_req_extended(context, auth_context, mk_req_flags,
@@ -160,7 +166,7 @@ make_ap_req(context, auth_context, cred, server, endtime, chan_bindings,
 
    /* store the interesting stuff from creds and authent */
    *endtime = out_creds->times.endtime;
-   *flags = out_creds->ticket_flags;
+   *krb_flags = out_creds->ticket_flags;
 
    /* build up the token */
 
@@ -264,15 +270,15 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
 
    err = 0;
    if (mech_type == GSS_C_NULL_OID) {
-      mech_type = cred->rfc_mech?gss_mech_krb5:gss_mech_krb5_old;
-  } else if (g_OID_equal(mech_type, gss_mech_krb5)) {
-      if (!cred->rfc_mech)
-         err = 1;
-  } else if (g_OID_equal(mech_type, gss_mech_krb5_old)) {
-      if (!cred->prerfc_mech)
-         err = 1;
-  } else
-      err = 1;
+       mech_type = cred->rfc_mech?gss_mech_krb5:gss_mech_krb5_old;
+   } else if (g_OID_equal(mech_type, gss_mech_krb5)) {
+       if (!cred->rfc_mech)
+          err = 1;
+   } else if (g_OID_equal(mech_type, gss_mech_krb5_old)) {
+       if (!cred->prerfc_mech)
+          err = 1;
+   } else
+       err = 1;
    
    if (err) {
       *minor_status = 0;
@@ -318,9 +324,7 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
       ctx->mech_used = mech_type;
       ctx->auth_context = NULL;
       ctx->initiate = 1;
-      ctx->gss_flags = ((req_flags & (GSS_C_MUTUAL_FLAG | GSS_C_DELEG_FLAG)) |
-                       GSS_C_CONF_FLAG | GSS_C_INTEG_FLAG);
-      ctx->flags = req_flags & GSS_C_DELEG_FLAG;
+      ctx->gss_flags = KG_IMPLFLAGS(req_flags);
       ctx->seed_init = 0;
       ctx->big_endian = 0;  /* all initiators do little-endian, as per spec */
       ctx->seqstate = 0;
@@ -352,7 +356,8 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
 
       if ((code = make_ap_req(context, &(ctx->auth_context), cred, 
                              ctx->there, &ctx->endtime, input_chan_bindings, 
-                             req_flags, &ctx->flags, mech_type, &token))) {
+                             &ctx->gss_flags, &ctx->krb_flags, mech_type,
+                             &token))) {
         krb5_free_principal(context, ctx->here);
         krb5_free_principal(context, ctx->there);
         xfree(ctx);
@@ -438,7 +443,7 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
       *output_token = token;
 
       if (ret_flags)
-        *ret_flags = KG_IMPLFLAGS(req_flags);
+        *ret_flags = ctx->gss_flags;
 
       if (actual_mech_type)
         *actual_mech_type = mech_type;
@@ -452,8 +457,8 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
       } else {
         ctx->seq_recv = ctx->seq_send;
         g_order_init(&(ctx->seqstate), ctx->seq_recv,
-                     (req_flags & GSS_C_REPLAY_FLAG) != 0, 
-                     (req_flags & GSS_C_SEQUENCE_FLAG) != 0);
+                     (ctx->gss_flags & GSS_C_REPLAY_FLAG) != 0, 
+                     (ctx->gss_flags & GSS_C_SEQUENCE_FLAG) != 0);
         ctx->established = 1;
         /* fall through to GSS_S_COMPLETE */
       }
@@ -477,7 +482,7 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
 
       if ((ctx->established) ||
          (((gss_cred_id_t) cred) != claimant_cred_handle) ||
-         ((req_flags & GSS_C_MUTUAL_FLAG) == 0)) {
+         ((ctx->gss_flags & GSS_C_MUTUAL_FLAG) == 0)) {
         (void)krb5_gss_delete_sec_context(minor_status, 
                                           context_handle, NULL);
         /* XXX this minor status is wrong if an arg was changed */
@@ -534,8 +539,8 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle,
       /* store away the sequence number */
       ctx->seq_recv = ap_rep_data->seq_number;
       g_order_init(&(ctx->seqstate), ctx->seq_recv,
-                  (req_flags & GSS_C_REPLAY_FLAG) != 0,
-                  (req_flags & GSS_C_SEQUENCE_FLAG) !=0);
+                  (ctx->gss_flags & GSS_C_REPLAY_FLAG) != 0,
+                  (ctx->gss_flags & GSS_C_SEQUENCE_FLAG) !=0);
 
       /* free the ap_rep_data */
       krb5_free_ap_rep_enc_part(context, ap_rep_data);
index 259cce5b851286b7f720d1eb2596a19af1ccac56..22b5c367cece92db10af46d122748b224449e576 100644 (file)
@@ -515,7 +515,7 @@ kg_ctx_externalize(kcontext, arg, buffer, lenremain)
                                       &bp, &remain);
            (void) krb5_ser_pack_int32((krb5_int32) ctx->endtime,
                                       &bp, &remain);
-           (void) krb5_ser_pack_int32((krb5_int32) ctx->flags,
+           (void) krb5_ser_pack_int32((krb5_int32) ctx->krb_flags,
                                       &bp, &remain);
            (void) krb5_ser_pack_int32((krb5_int32) ctx->seq_send,
                                       &bp, &remain);
@@ -632,7 +632,7 @@ kg_ctx_internalize(kcontext, argp, buffer, lenremain)
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
            ctx->endtime = (krb5_timestamp) ibuf;
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
-           ctx->flags = (krb5_flags) ibuf;
+           ctx->krb_flags = (krb5_flags) ibuf;
            (void) krb5_ser_unpack_int32(&ctx->seq_send, &bp, &remain);
            (void) krb5_ser_unpack_int32(&ctx->seq_recv, &bp, &remain);
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
index 97558b1a2f44d3668b61af084db1d9ce7abf59e7..9f8fb1bc4a31261c62230fd80daf66b72f6b1582 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 18 20:43:54 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * configure.in: Shared library version number to 1.0. [krb5-libs/201]
+
 Wed Jun 12 00:50:32 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * Makefile.in: Remove include of config/windows.in; that's done
index 73cf30efd9acdd920ec93207b3c5607342bc2ec9..bd9b4db21df5ad2d470d89cc917aba4595d77db6 100644 (file)
@@ -13,7 +13,7 @@ case $host in
      *-*-aix*) # don't build libgssapi.a on AIX
        ;;
      *)
-       V5_MAKE_SHARED_LIB(libgssapi,0.1,.., ./mechglue)
+       V5_MAKE_SHARED_LIB(libgssapi,1.0,.., ./mechglue)
        AppendRule([install:: libgssapi.[$](LIBEXT)
               [$](INSTALL_DATA) libgssapi.[$](LIBEXT) [$](DESTDIR)[$](KRB5_LIBDIR)[$](S)libgssapi.[$](LIBEXT)])
        LinkFileDir([$](TOPLIBD)/libgssapi.[$](LIBEXT),libgssapi.[$](LIBEXT),./gssapi/mechglue)
index d9c5b76bd37bfcd03a0fc5917fd6a00eea0367b3..0a65eff000ff88eb7cbbf34056c8df9df5615e1c 100644 (file)
@@ -9,6 +9,18 @@ Fri Nov 22 11:11:34 1996  Sam Hartman  <hartmans@mit.edu>
 
        * Makefile.in (SHLIB_LIBS): Do not link shared against -ldb [224]
 
+Tue Nov 26 03:04:04 1996  Sam Hartman  <hartmans@mit.edu>
+
+       * server_acl.c (acl_load_acl_file): Fix coredump by allowing
+       catchall_entry to be null, but do not reference it if it is.
+       Thanks to marc.  [242]
+
+Mon Nov 25 17:53:20 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * server_acl.c: set acl_catchall_entry to "" instead of NULL,
+       since it is presumed to contain something, but we don't want any
+       default entry [krb5-admin/237]
+
 Wed Nov 13 19:20:36 1996  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (clean-unix): Remove shared/*.
index 0f95d8138756ac0f34ece34450a0399fa4b44d70..2fe5fb96d4a2592342eecfda5dddd52980b1d866 100644 (file)
@@ -3,6 +3,10 @@ Mon Dec  9 15:57:55 1996  Barry Jaspan  <bjaspan@mit.edu>
        * api.0/init.exp, api.2/init.exp: use spawn/expect instead of exec
        so tests don't fail when kadmin.local produces output
        
+Wed Nov 20 15:59:34 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * Makefile.in (check-): warn more loudly about unrun tests
+
 Mon Nov 11 20:51:27 1996  Tom Yu  <tlyu@mit.edu>
 
        * configure.in: Add AC_CANONICAL_HOST to deal with new pre.in.
index 455f42880c60326569edd3319ab5632f210cf47c..333c663e515f535cf7f4fc1d450cc5f60b40a368 100644 (file)
@@ -49,7 +49,10 @@ server-iter-test: iter-test.o $(SRVDEPLIBS)
 check:: check-@DO_TEST@
 
 check-::
-       @echo "Either tcl, runtest, or Perl is unavailable. Kadm5 unit tests not run"
+       @echo "+++"
+       @echo "+++ WARNING: lib/kadm5 unit tests not run."
+       @echo "+++ Either tcl, runtest, or Perl is unavailable."
+       @echo "+++"
 
 check-ok unit-test:: unit-test-client unit-test-server
 
index 3f74707fbbfa8e79120a1c4bdd13a3a5d543b09c..ca9b8308941d4fcb4c06cfec3df4204e161aa9b6 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 18 20:40:12 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * configure.in: Set shared library version to 1.0. [krb5-libs/201]
+
 Tue Nov 12 23:41:55 1996  Mark Eichin <eichin@cygnus.com>
 
        * kdb_dbm.c: Ditch DB_OPENCLOSE conditionals, and fix the real
index 75c4e40c869a1678a17f5f6171e6b9e75048cb3f..8f04d98242dc3ffb746e12623f66157eb6aa0a2f 100644 (file)
@@ -20,7 +20,7 @@ KRB5_RUN_FLAGS
 V5_USE_SHARED_LIB
 KRB5_LIBRARIES
 V5_SHARED_LIB_OBJS
-V5_MAKE_SHARED_LIB(libkdb5,0.1,.., ./kdb)
+V5_MAKE_SHARED_LIB(libkdb5,1.0,.., ./kdb)
 AppendRule([all-unix:: ../libkdb5.a])
 KRB5_SH_VERS=$krb5_cv_shlib_version_libkrb5
 AC_SUBST(KRB5_SH_VERS)
index 27ab65fe111bb409ef7521ab0ef517ea7ccbd7b7..1c7296b8c10d65d0ef0e198614a867b01c9ff2e2 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 18 20:40:39 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * configure.in: Set shared library version to 1.0. [krb5-libs/201]
+
 Thu Nov  7 12:33:06 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * g_in_tkt.c: 
index 4e3dd8c0f834a7bc305ff13c7877a05951df108e..2a4c8b3a75e476e5518f8d4cf0571a25a8348ca6 100644 (file)
@@ -44,7 +44,7 @@ AC_HAVE_FUNCS(strsave seteuid setreuid setresuid)
 AC_PROG_AWK
 V5_SHARED_LIB_OBJS
 SubdirLibraryRule([$(OBJS)])
-V5_MAKE_SHARED_LIB(libkrb4,0.1,.., ./krb4)
+V5_MAKE_SHARED_LIB(libkrb4,1.0,.., ./krb4)
 CopyHeader(krb_err.h,$(EHDRDIR))
 CRYPTO_SH_VERS=$krb5_cv_shlib_version_libcrypto
 AC_SUBST(CRYPTO_SH_VERS)
index 00b17c7d8f3c4b6722fde7ce364d5272bf335d50..e77f6b970f9b0761b53d279b8bcb7885b430a01e 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 18 20:42:39 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * configure.in: Set shared library version to 1.0. [krb5-libs/201]
+
 Wed Oct 23 01:15:40 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * configure.in, Makefile.in: Check to see if the -lgen library
index c612ed7c952a5f48ba0725e505473d51cf3270b4..2ac53bdfe9b6d38d90df5357b362a0b9dc52f499 100644 (file)
@@ -16,7 +16,7 @@ dnl
 AC_CHECK_LIB(gen,compile,SHLIB_GEN=-lgen,SHLIB_GEN='')
 AC_SUBST(SHLIB_GEN)
 dnl
-V5_MAKE_SHARED_LIB(libkrb5,0.1,.., ./krb5)
+V5_MAKE_SHARED_LIB(libkrb5,1.0,.., ./krb5)
 CRYPTO_SH_VERS=$krb5_cv_shlib_version_libcrypto
 AC_SUBST(CRYPTO_SH_VERS)
 COMERR_SH_VERS=$krb5_cv_shlib_version_libcom_err
index 0b60e42c59dc3ec9dd26f7d227373a7c7f324948..6eff8a21aa76f6a43c5957fca7b9948595addf24 100644 (file)
@@ -1,3 +1,7 @@
+Tue Nov 19 17:06:26 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * krb5_err.et: add KRB5_KT_KVNONOTFOUND [krb5-libs/198]
+
 Wed Nov  6 11:15:32 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * krb5_err.et: Make the KRB5_CONFIG_CANTOPEN and
index 06af95541605556527983708d8a86a9eab3f5c4f..1b42232425397db6e7031bfe8ea3a6e23390a962 100644 (file)
@@ -300,5 +300,6 @@ error_code KRB5_CONFIG_NODEFREALM,  "Configuration file does not specify default
 
 error_code KRB5_SAM_UNSUPPORTED,  "Bad SAM flags in obtain_sam_padata"
 error_code KRB5_KT_NAME_TOOLONG,       "Keytab name too long"
+error_code KRB5_KT_KVNONOTFOUND,       "Key version number for principal in key table is incorrect"
 
 end
index c37f70950b11b08c6e6b6629cd8ff5de793afbbb..f14e2a03014d58ee9aa527495dfebbebe5814b4f 100644 (file)
@@ -1,3 +1,8 @@
+Tue Nov 19 17:06:59 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * ktf_g_ent.c (krb5_ktfile_get_entry): return KRB5_KT_KVNONOTFOUND
+       when appropriate [krb5-libs/198]
+
 Wed Jul 24 17:10:11 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * ktf_g_name.c (krb5_ktfile_get_name): Use the error code
index 4805d5c6970e1d8ef8b75041dee14cdc1c85ec59..e42dcdbd44df89418714f223c178b51e30a0643e 100644 (file)
@@ -40,6 +40,7 @@ krb5_ktfile_get_entry(context, id, principal, kvno, enctype, entry)
 {
     krb5_keytab_entry cur_entry, new_entry;
     krb5_error_code kerror = 0;
+    int found_wrong_kvno = 0;
 
     /* Open the keyfile for reading */
     if ((kerror = krb5_ktfileint_openr(context, id)))
@@ -92,14 +93,21 @@ krb5_ktfile_get_entry(context, id, principal, kvno, enctype, entry)
                            krb5_kt_free_entry(context, &cur_entry);
                            cur_entry = new_entry;
                            break;
-                       }
+                       } else
+                            found_wrong_kvno++;
                }
        } else {
                krb5_kt_free_entry(context, &new_entry);
        }
     }
-    if (kerror == KRB5_KT_END)
-           kerror = cur_entry.principal ? 0 : KRB5_KT_NOTFOUND;
+    if (kerror == KRB5_KT_END) {
+        if (cur_entry.principal)
+             kerror = 0;
+        else if (found_wrong_kvno)
+             kerror = KRB5_KT_KVNONOTFOUND;
+        else
+             kerror = KRB5_KT_NOTFOUND;
+    }
     if (kerror) {
        (void) krb5_ktfileint_close(context, id);
        krb5_kt_free_entry(context, &cur_entry);
index c702d0aa972b5956055fbd7519164b6f301bac3f..18bf88594437adcbf03727c130a0e3c4b003d5be 100644 (file)
@@ -1,3 +1,10 @@
+Thu Nov 21 13:54:01 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * recvauth.c (krb5_recvauth): If there is an error, and the server
+               argument to krb5_recvauth is NULL, create a dummy server
+               entry for the krb5_error structure so that krb5_mk_error
+               will not die with missing required fields. [krb5-libs/209]
+
 Wed Nov 13 14:30:47 1996  Tom Yu  <tlyu@mit.edu>
 
        * init_ctx.c: Revert previous kt_default_name changes.
index d6d6772deebd1f3241e6fa6c2e9ca3fabf9706da..d5e7b5fc53b75f5accea12fbc7662c4d4ada794e 100644 (file)
@@ -57,6 +57,7 @@ krb5_recvauth(context, auth_context,
     krb5_rcache          rcache = 0;
     krb5_octet           response;
     krb5_data            null_server;
+    int                   need_error_free = 0;
        
        /*
         * Zero out problem variable.  If problem is set at the end of
@@ -173,7 +174,14 @@ krb5_recvauth(context, auth_context,
 
        memset((char *)&error, 0, sizeof(error));
        krb5_us_timeofday(context, &error.stime, &error.susec);
-       error.server = server;
+       if(server) 
+               error.server = server;
+       else {
+               /* If this fails - ie. ENOMEM we are hosed
+                  we cannot even send the error if we wanted to... */
+               (void) krb5_parse_name(context, "????", &error.server);
+               need_error_free = 1;
+       }
 
        error.error = problem - ERROR_TABLE_BASE_krb5;
        if (error.error > 127)
@@ -190,6 +198,9 @@ krb5_recvauth(context, auth_context,
            goto cleanup;
        }
        free(error.text.data);
+       if(need_error_free) 
+               krb5_free_principal(context, error.server);
+
     } else {
        outbuf.length = 0;
        outbuf.data = 0;
diff --git a/src/lib/krb5_16.def b/src/lib/krb5_16.def
new file mode 100644 (file)
index 0000000..9d9d5e5
--- /dev/null
@@ -0,0 +1,65 @@
+;----------------------------------------------------
+;   LIBKRB5.DEF - LIBKRB5.DLL module definition file
+;----------------------------------------------------
+
+LIBRARY        LIBKRB5
+DESCRIPTION    'DLL for Kerberos 5'
+EXETYPE        WINDOWS
+CODE           PRELOAD MOVEABLE DISCARDABLE
+DATA           PRELOAD MOVEABLE SINGLE
+HEAPSIZE       8192
+
+EXPORTS
+       WEP                                     @1001 RESIDENTNAME
+       LIBMAIN                                 @1002
+       GSS_ACQUIRE_CRED                        @1
+       GSS_RELEASE_CRED                        @2
+       GSS_INIT_SEC_CONTEXT                    @3
+       GSS_ACCEPT_SEC_CONTEXT                  @4
+       GSS_PROCESS_CONTEXT_TOKEN               @5
+       GSS_DELETE_SEC_CONTEXT                  @6
+       GSS_CONTEXT_TIME                        @7
+       GSS_SIGN                                @8
+       GSS_VERIFY                              @9
+       GSS_SEAL                                @10
+       GSS_UNSEAL                              @11
+       GSS_DISPLAY_STATUS                      @12
+       GSS_INDICATE_MECHS                      @13
+       GSS_COMPARE_NAME                        @14
+       GSS_DISPLAY_NAME                        @15
+       GSS_IMPORT_NAME                         @16
+       GSS_RELEASE_NAME                        @17
+       GSS_RELEASE_BUFFER                      @18
+       GSS_RELEASE_OID_SET                     @19
+       GSS_INQUIRE_CRED                        @20
+; Kerberos 5
+       _krb5_build_principal_ext
+       KRB5_CC_DEFAULT
+       KRB5_FREE_ADDRESSES
+       KRB5_FREE_AP_REP_ENC_PART
+       KRB5_FREE_CRED_CONTENTS
+       KRB5_FREE_CREDS
+       KRB5_FREE_PRINCIPAL
+       KRB5_GET_CREDENTIALS
+       KRB5_GET_DEFAULT_REALM
+       KRB5_GET_IN_TKT_WITH_PASSWORD
+       KRB5_GET_NOTIFICATION_MESSAGE
+       KRB5_INIT_CONTEXT
+       KRB5_INIT_ETS
+       KRB5_MK_REQ_EXTENDED
+       KRB5_OS_LOCALADDR
+       KRB5_PARSE_NAME
+       KRB5_RD_REP
+       KRB5_SNAME_TO_PRINCIPAL
+       KRB5_TIMEOFDAY
+       KRB5_US_TIMEOFDAY
+       KRB5_UNPARSE_NAME
+;Kadm routines
+       KRB5_ADM_CONNECT
+       KRB5_ADM_DISCONNECT
+       KRB5_FREE_ADM_DATA
+       KRB5_READ_ADM_REPLY
+       KRB5_SEND_ADM_CMD
+;Com_err routines
+        _com_err
+        ERROR_MESSAGE
index 1f815211b11dbae62e23203eca192c8eb3ae422d..904ca169ba45b1f5cd44ba69e217a5f04c5a3998 100644 (file)
@@ -19,6 +19,21 @@ Wed Dec  4 12:42:49 1996  Barry Jaspan  <bjaspan@mit.edu>
        recvfrom in order to determine both source and dest address on
        unconnected UDP socket, set xp_laddr and xp_laddrlen
 
+Fri Nov 22 15:50:42 1996  unknown  <bjaspan@mit.edu>
+
+       * get_myaddress.c (get_myaddress): use krb5_os_localaddr instead
+       of ioctl() to get local IP addresses [krb5-libs/227]
+
+       * clnt_generic.c, clnt_simple.c, getrpcport.c: use sizeof instead
+       of h_length to determine number of bytes of addr to copy from DNS
+       response [krb5-misc/211]
+
+Fri Nov 22 11:49:43 1996  Sam Hartman  <hartmans@mit.edu>
+
+       * types.hin: Include stdlib.h if found at config time [203]
+
+       * configure.in: Substitute STDLIB_INCLUDE into types.h. [203]
+
 Tue Nov 12 16:27:27 1996  Barry Jaspan  <bjaspan@mit.edu>
 
        * auth_gssapi.c (auth_gssapi_create): handle channel bindings
index f111c2e147132e9dbd1a320d514f8d946532da1e..9eeabe1529670e0d24601f23bc2012d6fa3d0315 100644 (file)
@@ -73,7 +73,7 @@ clnt_create(hostname, prog, vers, proto)
        sin.sin_family = h->h_addrtype;
        sin.sin_port = 0;
        memset(sin.sin_zero, 0, sizeof(sin.sin_zero));
-       memmove((char*)&sin.sin_addr, h->h_addr, h->h_length);
+       memmove((char*)&sin.sin_addr, h->h_addr, sizeof(sin.sin_addr));
        p = getprotobyname(proto);
        if (p == NULL) {
                rpc_createerr.cf_stat = RPC_UNKNOWNPROTO;
index 0d8f7a4df7e92c6d117ec91ab2f2b3f4e25e301d..9b5ba9fa68b006e393a9fdc3d0a9fb94732d811b 100644 (file)
@@ -88,7 +88,8 @@ callrpc(host, prognum, versnum, procnum, inproc, in, outproc, out)
                        return ((int) RPC_UNKNOWNHOST);
                timeout.tv_usec = 0;
                timeout.tv_sec = 5;
-               memmove((char *)&server_addr.sin_addr, hp->h_addr, hp->h_length);
+               memmove((char *)&server_addr.sin_addr, hp->h_addr, 
+                       sizeof(server_addr.sin_addr));
                server_addr.sin_family = AF_INET;
                server_addr.sin_port =  0;
                if ((crp->client = clntudp_create(&server_addr, (rpc_u_int32)prognum,
index c2217044f862478db47ccec3dd31b5c06c637f7a..dde9d53fa3a2909cafc690a0745aaab6302c6784 100644 (file)
@@ -6,7 +6,11 @@ AC_PROG_ARCHIVE
 AC_PROG_ARCHIVE_ADD
 AC_PROG_RANLIB
 AC_PROG_INSTALL
-
+dnl Arrange for types.hin to include stdlib.h
+AC_CHECK_HEADER(stdlib.h, [
+     STDLIB_INCLUDE="#include <stdlib.h>"],
+     [STDLIB_INCLUDE=""])
+AC_SUBST(STDLIB_INCLUDE) dnl
 ### Check where struct rpcent is declared.
 #
 # This is necessary to determine:
index fa4c54e7843f8c8717d489bf7f09c24a05b0a34a..7986a384c7e217ee951bd8af5f8135f1bf841379 100644 (file)
@@ -38,6 +38,46 @@ static char sccsid[] = "@(#)get_myaddress.c 1.4 87/08/11 Copyr 1984 Sun Micro";
  * Copyright (C) 1984, Sun Microsystems, Inc.
  */
 
+#ifdef GSSAPI_KRB5
+#include <rpc/types.h>
+#include <rpc/pmap_prot.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <krb5.h>
+/* 
+ * don't use gethostbyname, which would invoke yellow pages
+ */
+get_myaddress(addr)
+       struct sockaddr_in *addr;
+{
+     krb5_address **addrs, **a;
+     int ret;
+
+     /* Hack!  krb5_os_localaddr does not use the context arg! */
+     if (ret = krb5_os_localaddr(NULL, &addrs)) {
+         com_err("get_myaddress", ret, "calling krb5_os_localaddr");
+         exit(1);
+     }
+     a = addrs;
+     while (*a) {
+         if ((*a)->addrtype == ADDRTYPE_INET) {
+              memset(addr, 0, sizeof(*addr));
+              addr->sin_family = AF_INET;
+              addr->sin_port = htons(PMAPPORT);
+              memcpy(&addr->sin_addr, (*a)->contents, sizeof(addr->sin_addr));
+              break;
+         }
+         a++;
+     }
+     if (*a == NULL) {
+         com_err("get_myaddress", 0, "no local AF_INET address");
+         exit(1);
+     }
+     /* Hack!  krb5_free_addresses does not use the context arg! */
+     krb5_free_addresses(NULL, addrs);
+}
+
+#else /* !GSSAPI_KRB5 */
 #include <rpc/types.h>
 #include <rpc/pmap_prot.h>
 #include <sys/socket.h>
@@ -93,3 +133,4 @@ get_myaddress(addr)
        }
        (void) close(s);
 }
+#endif /* !GSSAPI_KRB5 */
index d209a152743c73f065060d878a147ffe6540c1c8..1bc239f94280884e091f6b29e4bf207ede41816b 100644 (file)
@@ -48,7 +48,7 @@ getrpcport(host, prognum, versnum, proto)
 
        if ((hp = gethostbyname(host)) == NULL)
                return (0);
-       memmove((char *) &addr.sin_addr, hp->h_addr, hp->h_length);
+       memmove((char *) &addr.sin_addr, hp->h_addr, sizeof(addr.sin_addr));
        addr.sin_family = AF_INET;
        addr.sin_port =  0;
        return (pmap_getport(&addr, prognum, versnum, proto));
index 9bd357d701d5c34023d935f2d75fac240251a255..8722759cc886adbbbb290ee1f2ddd7b84747e5a5 100644 (file)
@@ -61,9 +61,7 @@ typedef unsigned long rpc_u_int32;
 #      define NULL 0
 #endif
 
-#if defined(__osf__)
-#include <stdlib.h>
-#endif
+@STDLIB_INCLUDE@
 #define mem_alloc(bsize)       (char *) malloc(bsize)
 #define mem_free(ptr, bsize)   free(ptr)
 
index 05a3de54097a64c0cc2e463e9fc03bd8a5671343..0303efb292b4c3c9e6eac57a73fe07864564c992 100644 (file)
@@ -1,3 +1,7 @@
+Wed Nov 20 16:00:21 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * Makefile.in (unit-test-): warn more loudly about unrun tests
+
 Thu Nov 14 22:27:05 1996  Tom Yu  <tlyu@mit.edu>
 
        * server.c (main): Add declaration of optind for systems that
index 3690dc3493e32846ef8cbc5a129c710c106cee57..26c10c79d393a5fb0aed972068883dff25024cc8 100644 (file)
@@ -29,8 +29,10 @@ client.o server.o: rpc_test.h
 check unit-test:: unit-test-@DO_TEST@
 
 unit-test-:
-       @echo "The rpc tests require Perl, Tcl, and runtest"
-       @echo "No tests run here"
+       @echo "+++"
+       @echo "+++ WARNING: lib/rpc unit tests not run."
+       @echo "+++ Either tcl, runtest, or Perl is unavailable."
+       @echo "+++"
 
 unit-test-ok:: unit-test-setup unit-test-body unit-test-cleanup
 
index 654a0a8d9b111de7f1cfee530233145ea6868001..b3be53fc8f8a8ad312db0511e8f02775ac8a1b05 100644 (file)
@@ -1,3 +1,11 @@
+Fri Nov 22 07:54:57 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * Makefile.tmpl: Use '%' in Makefiles where you really want a '/'
+               character in the mpw Makefile.  (Translation in
+               src/Makefile.in)
+
+       * version.r: Fix typos, and set version resource for 1.0 release.
+
 Fri Nov  8 17:44:10 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * Makefile.tmpl: Add in version resource
index 84ebae4fdacd9aa56176cef1ed80c009b81ec157..5a42dd4ae6d0fac260e59b5a45e35e0b22c0889c 100644 (file)
@@ -3,11 +3,11 @@ KH68K = {KH}KerberosHeaders68K
 KHCFM-68K = {KH}KerberosHeadersCFM-68K
 KHPPC = {KH}KerberosHeadersPPC
 
-GSSRTLCFM68K = "{MW68KLibraries}ANSI (4i/8d) C.CFM68K.Lib" \
+GSSRTLCFM68K = "{MW68KLibraries}ANSI (4i%8d) C.CFM68K.Lib" \
        {MW68KLibraries}SIOUX.CFM68K.Lib \
        {MW68KLibraries}InterfaceLib \
        {MW68KLibraries}MWCFM68KRuntime.Lib \
-       "{MW68KLibraries}MathLibCFM68K (4i/8d).Lib"
+       "{MW68KLibraries}MathLibCFM68K (4i%8d).Lib"
 
 GSSRTLCFMPPC = "{MWPPCLibraries}ANSI C.PPC.Lib" \
        {MWPPCLibraries}SIOUX.PPC.Lib {MWPPCLibraries}MWCRuntime.Lib \
@@ -113,7 +113,6 @@ link-68KCFM-SAP :
                -sym fullpath -map libgss.68K.MAP -o GSSLibrarySAP.68K \
                {GSSRTLCFM68K} {GSSOBJS68KCFM-SAP} {GSSOBJS68KCFM}
        Rez "/mac/SAP/GSSforSAP.r" -a -o GSSLibrarySAP.68K
-       Rez "/mac/version.r" -a -o GSSLibrarySAP.68K
 
 link-PPC-SAP :
        MWLinkPPC -sharedlibrary -name GSSLibrary -m "" \
@@ -122,7 +121,6 @@ link-PPC-SAP :
                -sym fullpath -map libgss.PPC.MAP -o GSSLibrarySAP.PPC \
                {GSSRTLCFMPPC} {GSSOBJSPPC-SAP} {GSSOBJSPPC}
        Rez "/mac/SAP/GSSforSAP.r" -a -o GSSLibrarySAP.PPC
-       Rez "/mac/version.r" -a -o GSSLibrarySAP.PPC
        
 link-CFMFAT-SAP : 
        Duplicate -y GSSLibrarySAP.68K GSSLibSAP
index ca25a83846c706807edf61995982545400276a63..8910dd756b3bbbffe11f839cbb313ef30355aba2 100644 (file)
@@ -1,4 +1,17 @@
+#ifdef mw_rez
+#include <SysTypes.r>
+#include <Types.r>
+#else
+#include "SysTypes.r"
 #include "Types.r"
+#endif
+
+resource 'vers' (1) {
+       0x01, 0x00, final, 0x00,
+       verUS,
+       "1.0",
+       "1.0(SAP), Copyright 1996 Massachusetts Institute of Technology"
+};
 
 resource 'DITL' (135, nonpurgeable) {
        {       /* array DITLarray: 2 elements */
index 63f0612567db5e9d50537e4880224cb9977e591d..9975f8a929a06b06dfa9a09363dff31fe2dbe883 100644 (file)
@@ -1,3 +1,10 @@
+Fri Nov 22 15:51:55 1996  unknown  <bjaspan@mit.edu>
+
+       * gss-client.c (connect_to_server): use sizeof instead of h_length
+       to determine number of bytes of addr to copy from DNS response
+       [krb5-misc/211]
+
+
 Thu 26 12:00:00 1995  John Rivlin <jrivlin@fusion.com>
 
        * Created GSS Sample program
index d7dd26ebaa6597a86816a8cd96e98ab9a49c8762..b2be7c84c00062b5f0648e42ee299501777455b1 100644 (file)
@@ -336,7 +336,7 @@ SOCKET connect_to_server(char *host, u_short port)
      }
      
      saddr.sin_family = hp->h_addrtype;
-     memcpy((char *)&saddr.sin_addr, hp->h_addr, hp->h_length);
+     memcpy((char *)&saddr.sin_addr, hp->h_addr, sizeof(saddr.sin_addr));
      saddr.sin_port = htons(port);
 
      if ((s = socket(AF_INET, SOCK_STREAM, 0)) == (SOCKET) -1) {
index 1a8d737a86f22080654953e932f46aea416bcd8d..4388c5e7f2117af5724c8ac5aa8dd1901bf77585 100644 (file)
@@ -1,3 +1,9 @@
+Sat Nov 23 00:18:20 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * KerberosHeaders.h: Remove DES3 and SHA support for 1.0, since
+               what's there isn't the correct final algorithm.  (They
+               will be re-added later.)  [PR #231]
+       
 Tue Apr 30 14:53:54 1996    <tytso@rsts-11.mit.edu>
 
        * KerberosHeaders.h: Removed PROVIDE_SNEFRU (shouldn't be there)
index ac4e62da66457615fd84eb14ff447ce40fafb700..a25d001570d45c961839de4a55f581490331269a 100644 (file)
@@ -35,9 +35,9 @@ typedef unsigned int size_t;
 #define PROVIDE_DES_CBC_CRC
 #define PROVIDE_DES_CBC_MD5
 #define PROVIDE_DES_CBC_RAW
-#define PROVIDE_DES3_CBC_MD5
-#define PROVIDE_DES3_CBC_RAW
-
+/* #define PROVIDE_DES3_CBC_MD5 */
+/* #define PROVIDE_DES3_CBC_RAW */
+/* #define PROVIDE_NIST_SHA */
 
 #define NO_SYS_TYPES_H
 #define NO_SYS_STAT_H
diff --git a/src/mac/mkbindirs.sh b/src/mac/mkbindirs.sh
new file mode 100644 (file)
index 0000000..cdc2af2
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# This shell script creates the Macintosh binary hierarchies.
+
+topbin=$1
+shift
+
+for DIR do
+  mkdir $topbin/$DIR
+  for SDIR in `sed -n -e 's/MAC_SUBDIRS.*=//p' $DIR/Makefile.in`; do
+    /bin/sh mac/mkbindirs.sh $topbin $DIR/$SDIR;
+  done
+done
index 85ece8583eab773a367936ce1726f69536d6914b..a83d10ff201fe407cd83ff1b842bd7e3d9055569 100644 (file)
@@ -1,9 +1,14 @@
+#ifdef mw_rez
 #include <SysTypes.r>
 #include <Types.r>
+#else
+#include "SysTypes.r"
+#include "Types.r"
+#endif
 
 resource 'vers' (1) {
-       0x00, 0x07, beta, 0x01,
-       verUS
-       "Beta 7 Build 1",
-       "Beta 7 Build 1, Copyright 1996 Massachusetts Institute of Technology"
+       0x01, 0x00, final, 0x00,
+       verUS,
+       "1.0",
+       "1.0, Copyright 1996 Massachusetts Institute of Technology"
 };
index ab2b4e215444352a686e128d35c4507979ba598b..45d84f1946093fb951ff95874e02d581d93763d9 100644 (file)
@@ -1,2 +1,3 @@
-#define KRB5_MAJOR_RELEASE BETA_7
+#define KRB5_MAJOR_RELEASE 1
 #define KRB5_MINOR_RELEASE 0
+#define KRB5_PATCHLEVEL    0
index 60673e1dc34bf7c00bc2f53020e70f15eccd16dd..acaeb8a3d55341ef81a945e76b4d371ff1099d4a 100644 (file)
@@ -1,3 +1,20 @@
+Thu Dec  5 21:15:27 1996  Tom Yu  <tlyu@mit.edu>
+
+       * kslave_update: Update script for new filename conventions. [PR
+       280]
+
+       * kprop.M: Update outdated references to kdb5_edit and /krb5 [PR
+       279]
+
+       * kpropd.M: Update outdated references to kdb5_edit and /krb5 [PR
+       279]
+
+Fri Nov 22 15:52:07 1996  unknown  <bjaspan@mit.edu>
+
+       * kprop.c (open_connection): use sizeof instead of h_length to
+       determine number of bytes of addr to copy from DNS response
+       [krb5-misc/211]
+
 Thu Nov  7 15:18:01 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * kprop.c (main): 
index 7a25db6dfba1b3543f16a1a5e70f2e69ce951de2..a0b5ac840e3c7f0c0aa3a1aa4a3d3a6a97c82d19 100644 (file)
@@ -35,8 +35,8 @@ Kerberos server to a slave Kerberos server, which is specfied by
 .IR slave_host .  
 This is done by transmitting the dumped database file to the slave
 server over an encrypted, secure channel.  The dump file must be created
-by kdb5_edit, and is normally KPROP_DEFAULT_FILE
-(/krb5/slave_datatrans).
+by kdb5_util, and is normally KPROP_DEFAULT_FILE
+(/usr/local/var/krb5kdc/slave_datatrans).
 .SH OPTIONS
 .TP
 \fB\-r\fP \fIrealm\fP
@@ -48,7 +48,7 @@ is used.
 \fB\-f\fP \fIfile\fP
 specifies the filename where the dumped principal database file is to be
 found; by default the dumped database file is KPROP_DEFAULT_FILE
-(normally /krb5/slave_datatrans).
+(normally /usr/local/var/krb5kdc/slave_datatrans).
 .TP
 \fB\-P\fP \fIport\fP
 specifies the port to use to contact the
@@ -61,4 +61,4 @@ prints debugging information.
 \fB\-s\fP \fIkeytab\fP
 specifies the location of the keytab file.
 .SH SEE ALSO
-kpropd(8), kdb5_edit(8), krb5kdc(8)
+kpropd(8), kdb5_util(8), krb5kdc(8)
index 3c4848135af47fa85eed212cb886a1ca66e8c67a..0ddcc2fb13827ca639d0442cf1ca1200df527363 100644 (file)
@@ -324,7 +324,7 @@ open_connection(host, fd, Errmsg)
                return(0);
        }
        sin.sin_family = hp->h_addrtype;
-       memcpy((char *)&sin.sin_addr, hp->h_addr, hp->h_length);
+       memcpy((char *)&sin.sin_addr, hp->h_addr, sizeof(sin.sin_addr));
        if(!port) {
                sp = getservbyname(KPROP_SERVICE, "tcp");
                if (sp == 0) {
index 3228ed95326386ce0f4039c27fe03eb39b46a72b..e037a11210c1ff7c1c58306e3dba3bd23cf3e8ff 100644 (file)
@@ -35,7 +35,7 @@ kpropd \- Kerberos V5 slave KDC update server
 .I principal_database
 ] [
 .B \-p
-.I kdb5_edit_prog
+.I kdb5_util_prog
 ] [
 .B \-d
 ] [
@@ -52,7 +52,7 @@ is the server which accepts connections from the
 program.  
 .I kpropd 
 accepts the dumped KDC database and places it in a file, and then runs 
-.IR kdb5_edit (8)
+.IR kdb5_util (8)
 to load the dumped database into the active database which is used by 
 .IR krb5kdc (8).
 Thus, the master Kerberos server can use 
@@ -66,7 +66,7 @@ Normally, kpropd is invoked out of
 This is done by adding a line to the inetd.conf file which looks like
 this:
 
-kprop  stream  tcp     nowait  root    /krb5/bin/kpropd        kpropd
+kprop  stream  tcp     nowait  root    /usr/local/sbin/kpropd  kpropd
 
 However, kpropd can also run as a standalone deamon, if the
 .B \-S
@@ -84,13 +84,13 @@ is used.
 \fB\-f\fP \fIfile\fP
 specifies the filename where the dumped principal database file is to be
 stored; by default the dumped database file is KPROPD_DEFAULT_FILE
-(normally /krb5/from_master).
+(normally /usr/local/var/krb5kdc/from_master).
 .TP
 .B \-p
 allows the user to specify the pathname to the
-.IR kdb5_edit (8)
-program; by default the pathname used is KPROPD_DEFAULT_KDB5_EDIT
-(normally /krb5/bin/kdb5_edit).
+.IR kdb5_util (8)
+program; by default the pathname used is KPROPD_DEFAULT_KDB5_UTIL
+(normally /usr/local/sbin/kdb5_util).
 .TP
 .B \-S
 turn on standalone mode.  Normally, kpropd is invoked out of
@@ -124,4 +124,4 @@ Access file for
 Each entry is a line containing the principal of a host from which the
 local machine will allow Kerberos database propagation via kprop.
 .SH SEE ALSO
-kprop(8), kdb5_edit(8), krb5kdc(8), inetd(8)
+kprop(8), kdb5_util(8), krb5kdc(8), inetd(8)
index d6207de609c343102b866cc96702a1bd793b8f38..a4da274ff538e5127b74d8ec307aaaca5d3e2780 100644 (file)
@@ -1,16 +1,16 @@
 #!/bin/sh
 #
-# Propagate if database (principal.pag) has been modified since last dump
+# Propagate if database (principal.db) has been modified since last dump
 # (dumpfile.dump_ok) or if database has been dumped since last successful
 # propagation (dumpfile.<slave machine>.last_prop)
 
-KDB_DIR=/krb5
+KDB_DIR=/usr/local/var/krb5kdc
 
-KDB_FILE=$KDB_DIR/principal.page
+KDB_FILE=$KDB_DIR/principal.db
 DUMPFILE=$KDB_DIR/slave_datatrans
-KDB5_EDIT=/krb5/sbin/kdb5_edit
-KPROP=/krb5/sbin/kprop
+KDB5_UTIL=/usr/local/sbin/kdb5_util
+KPROP=/usr/local/sbin/kprop
+
 SLAVE=$1
 if [ -z "${SLAVE}" ]
 then 
@@ -23,7 +23,7 @@ if [ "`ls -t $DUMPFILE.dump_ok $KDB_FILE | sed -n 1p`"  = "$KDB_FILE" -o \
 then
 
        date
-       $KDB5_EDIT -R "ddb $DUMPFILE" >/dev/null
+       $KDB5_EDIT dump $DUMPFILE > /dev/null
 
        $KPROP -d -f $DUMPFILE ${SLAVE}
        rm $DUMPFILE
index 52b0d0d136dcbe667f58b7e5a85af2446c425c6e..619475c729e0781fc0a55ccf081c88efdddbc3a5 100644 (file)
@@ -1,3 +1,7 @@
+Wed Nov 20 16:01:34 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * Makefile.in (check-): warn more loudly about unrun tests
+
 Mon Oct  7 15:46:47 1996  Ezra Peisach  <epeisach@kangaroo.mit.edu>
 
        * Makefile.in (HAVE_RUNTEST): Renamed from RUNTEST as
index bab9ca766be048f8b91ca1c91880d71d282ee976..50b97e7d4352b82ad86ed94a24e799ea0573f668 100644 (file)
@@ -7,7 +7,10 @@ all install::
 check:: check-$(HAVE_RUNTEST)
 
 check-::
-       @echo "Dejagnu is not installed on this system. No tests run."
+       @echo "+++"
+       @echo "+++ WARNING: tests/dejagnu tests not run."
+       @echo "+++ runtest is unavailable."
+       @echo "+++"
 
 check-runtest:: t_inetd site.exp
        $(HAVE_RUNTEST) --tool krb --srcdir $(srcdir) $(RUNTESTFLAGS)
index 5416b6a5df6985212d525441b5e909dbc086428b..a037337561262942cd795c0763ecf38632088ea5 100644 (file)
@@ -1,3 +1,14 @@
+Mon Nov 25 14:23:06 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * defualt.exp: Ezra's fix so that the dejagnu tests don't bomb out
+               if KRB5_KTNAME is set for some reason.
+
+Tue Nov 19 15:13:30 1996  Tom Yu  <tlyu@mit.edu>
+
+       * default.exp (check_k5login): Check for principal
+       $env(USER)@$REALMNAME rather than simply $env(USER), so that
+       kuser_ok dtrt, hopefully.
+
 Mon Nov 11 20:52:27 1996  Mark Eichin  <eichin@cygnus.com>
 
        * dejagnu: set env(TERM) dumb, find ktutil
index 4e3ebeb07daa2f497faf55bdf34fc32a05e2551e..9e728ca5b9a2e09b787016ce53216be714274ff4 100644 (file)
@@ -134,6 +134,7 @@ if ![info exists SHELL_PROMPT] {
 
 proc check_k5login { testname } {
     global env
+    global REALMNAME
 
     if ![file exists ~/.k5login] {
        return 1
@@ -141,7 +142,7 @@ proc check_k5login { testname } {
 
     set file [open ~/.k5login r]
     while { [gets $file principal] != -1 } {
-       if { $principal == $env(USER) } {
+       if { $principal == "$env(USER)@$REALMNAME" } {
            close $file
            return 1
        }
@@ -760,6 +761,7 @@ proc start_kerberos_daemons { standalone } {
     global kadmind_pid
     global kadmind_spawn_id
     global tmppwd
+    global env
 
     if ![setup_kerberos_db 0] {
        return 0
@@ -818,6 +820,17 @@ proc start_kerberos_daemons { standalone } {
     # Give the kerberos daemon a few seconds to get set up.
     sleep 2
 
+
+    #
+    # Save setting of KRB5_KTNAME. We do not want to override kdc.conf
+    # file during kadmind startup. (this is in case user has KRB5_KTNAME
+    # set before starting make check)
+    #
+    if [info exists env(KRB5_KTNAME)] {
+       set start_save_ktname $env(KRB5_KTNAME)
+    }
+    catch "unset env(KRB5_KTNAME)"
+
     if ![file exists $kadmind_lfile] then {
        catch [touch $kadmind_lfile]
        sleep 1
@@ -841,10 +854,20 @@ proc start_kerberos_daemons { standalone } {
 
     if {$count >= $retry} {
        fail "kadmin5 (starting)"
+       if [info exists start_save_ktname] {
+          set env(KRB5_KTNAME) $start_save_ktname
+          unset start_save_ktname
+       }
        stop_kerberos_daemons
        return 0
     }
 
+    # Restore KRB5_KTNAME
+    if [info exists start_save_ktname] {
+        set env(KRB5_KTNAME) $start_save_ktname
+        unset start_save_ktname
+    }
+
     switch -regexp [tail1 $kadmind_lfile] {
        "cannot initialize network" {
            fail "kadmind (network init)"
index 12efa0641b8d40f4b5bca740dc29e9fe74bc517b..b4f6cb44d7630ba1928903d5022ca802a0351a3d 100644 (file)
@@ -46,7 +46,7 @@ main(argc, argv)
     /* Set server's address */
     (void) memset((char *)&s_sock, 0, sizeof(s_sock));
 
-    memcpy((char *)&s_sock.sin_addr, host->h_addr, host->h_length);
+    memcpy((char *)&s_sock.sin_addr, host->h_addr, sizeof(s_sock.sin_addr));
 #ifdef DEBUG
     printf("s_sock.sin_addr is %s\n", inet_ntoa(s_sock.sin_addr));
 #endif
index 9a3cb27f8d8188dc17ba6b32b8dfdad4dfcd9601..4c5f1c633009a1bd78ff2ba5fdc2e1bf0758c400 100644 (file)
@@ -1,3 +1,12 @@
+Mon Nov 25 21:00:24 1996  Tom Yu  <tlyu@mit.edu>
+
+       * mkrel: Add support for --srconly, --doconly, --nocheckout,
+       --repository, etc.  They do the obvious things.
+
+Fri Nov 22 11:08:16 1996  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * makeshlib.sh (VERSION): Fix SunOS shared libs [226]
+
 Tue Nov 12 17:32:08 1996  Barry Jaspan  <bjaspan@mit.edu>
 
        * send-pr/send-pr.sh (MAIL_AGENT): change "[-x" to "[ -x"
index d2c8bb8081ee58563f326d741587335cb29f03c7..6f09fcd60ed91a1f4f1f179aa68ea0e650d64705 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 25 16:20:35 1996  Sam Hartman  <hartmans@mit.edu>
+
+       * Makefile.in (check): Remove install rule to fix pmake problem. [236]
+
 Wed Sep 11 18:55:38 1996  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (memmove.o): add -DMEMMOVE to compile as memmove
index 4445e37c627ce0ac5ccfe59ca61bfc07679369f8..0c022e273dafac75c22e2b4c943f1354f2c3b240 100644 (file)
@@ -56,10 +56,6 @@ check:: dbtest
        TMPDIR=$(TMPDIR) $(FCTSH) $(top_srcdir)/test/run.test
 
 install::
-       cp $(LIBDB) $(libdir)
-       $(RANLIB) $(libdir)/$(LIBDB)
-       cp $(top_srcdir)/include/db.h $(includedir)
-       cp ../db-config.h $(includedir)
 
 clean::
        rm -f $(ALL_OBJS) $(LIBDB) \
index 38d80eb7aff583043cdc9108b56d1022e07c31db..227dc7cafc61032240a133acce7279cb2502ed22 100644 (file)
@@ -1,3 +1,7 @@
+Mon Nov 18 20:37:19 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * configure.in: Set shared library version to 1.0. [krb5-libs/201]
+
 Wed Nov 13 19:19:08 1996  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (clean-unix): Remove shared/*.
index 7b0cf00f7000bee040d426cabf8262e6e08ddbc5..15fd8d84dfb3967ffe2ece07f078f8959bf1e441 100644 (file)
@@ -25,5 +25,5 @@ AC_HEADER_STDARG
 AC_HAVE_HEADERS(stdlib.h)
 CopySrcHeader(com_err.h,$(BUILDTOP)/include)
 V5_SHARED_LIB_OBJS
-V5_MAKE_SHARED_LIB(libcom_err,0.1,[$](TOPLIBD), ../util/et)
+V5_MAKE_SHARED_LIB(libcom_err,1.0,[$](TOPLIBD), ../util/et)
 V5_AC_OUTPUT_MAKEFILE
index 74c73b70565785811a3b2c59bad761038b63f5fe..a8afb3b11b144b59db1280ba0d3cb87c7ed978f3 100644 (file)
@@ -96,15 +96,16 @@ mips-sni-sysv4)
  
        optflags=""
        if test "$HAVE_GCC"x = "x" ; then
-               optflags="-h $library"
+               optflags=""
+     CC=ld
        else
                # XXX assumes that we're either using
                # recent gld (binutils 2.7?) or else using native ld
-               optflags="-Wl,-h -Wl,$library"
+               optflags=""
        fi
 
        echo ld -dp -assert pure-text $ldflags -o $library $optflags $FILES $libdirfl
-       ld -dp -assert pure-text $ldflags -o $library $optflags $FILES $libdirfl
+ld      -dp -assert pure-text $ldflags -o $library $optflags $FILES $libdirfl
        stat=$?
        ;;
 *-*-aix*)
index 20b61a3af6863c78e2c17d0364b79f7ad6ee5895..d072dfc7f6b6977a7138f8eda31d7ec0356a88e5 100644 (file)
@@ -1,12 +1,25 @@
 #!/bin/sh
-: ${repository=/afs/athena.mit.edu/astaff/project/krbdev/.cvsroot}
-case $# in
-2);;
-*)
-       echo "usage: $0 release-tag release-dir"
+repository=/afs/athena.mit.edu/astaff/project/krbdev/.cvsroot
+dodoc=t
+dosrc=t
+checkout=t
+while test $# -gt 2; do
+       case $1 in
+       --srconly)
+               dodoc=nil;;
+       --doconly)
+               dosrc=nil;;
+       --repository)
+               shift; repository=$1;;
+       --nocheckout)
+               checkout=nil;;
+       esac
+       shift
+done
+if test $# -lt 2; then
+       echo "usage: $0 [opts] release-tag release-dir"
        exit 1
-       ;;
-esac
+fi
 
 reltag=$1
 reldir=$2
@@ -24,37 +37,48 @@ if test ! -d $reldir; then
 fi
 
 echo "Checking out krb5 with tag $reltag into directory $reldir..."
-(cd $reldir; cvs -q -d $repository export -r$reltag krb5)
+if test $checkout = t; then
+       (cd $reldir; cvs -q -d $repository export -r$reltag krb5)
+fi
 
-echo "Building autoconf..."
-(cd $reldir/src/util/autoconf
-       M4=gm4 ./configure
-       make)
+if test $dosrc = t; then
+       echo "Building autoconf..."
+       (cd $reldir/src/util/autoconf
+               M4=gm4 ./configure
+               make)
 
-echo "Creating configure scripts..."
-(cd $reldir/src; util/reconf)
+       echo "Creating configure scripts..."
+       (cd $reldir/src; util/reconf)
 
-echo "Cleaning src/util/autoconf..."
-(cd $reldir/src/util/autoconf; make distclean)
+       echo "Cleaning src/util/autoconf..."
+       (cd $reldir/src/util/autoconf; make distclean)
+fi
 
 echo "Nuking unneeded files..."
 find $reldir \( -name TODO -o -name todo -o -name .cvsignore \
        -o -name BADSYMS -o -name .Sanitize \) -print \
        | xargs rm -f
 
-echo "Building doc..."
-(cd $reldir/doc; make)
+if test $dodoc = t; then
+       echo "Building doc..."
+       (cd $reldir/doc; make)
+fi
 
 echo "Generating tarfiles..."
-gtar --exclude $reldir/src/lib/crypto \
-       --exclude $reldir/src/lib/des425 \
-       -zcf ${reldir}.src.tar.gz $reldir
+if test $dosrc = t; then
+       gtar --exclude $reldir/src/lib/crypto \
+               --exclude $reldir/src/lib/des425 \
+               --exclude $reldir/doc \
+               -zcf ${reldir}.src.tar.gz $reldir
 
-gtar zcf ${reldir}.crypto.tar.gz \
-       $reldir/src/lib/crypto \
-       $reldir/src/lib/des425
+       gtar zcf ${reldir}.crypto.tar.gz \
+               $reldir/src/lib/crypto \
+               $reldir/src/lib/des425
+fi
 
-gtar zcf ${reldir}.doc.tar.gz $reldir/doc $reldir/README
+if test $dodoc = t; then
+       gtar zcf ${reldir}.doc.tar.gz $reldir/doc $reldir/README
+fi
 
 ls -l ${reldir}.*.tar.gz
 
index 8816ca86ba7cb8f5eb1ee6203ea807450970d7b1..6482c6c233d72dc8b43461f5b1c31d32ddc52880 100644 (file)
@@ -1,3 +1,13 @@
+Thu Dec  5 22:43:35 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * update_utmp.c (pty_update_utmp): Apply platform specific patch
+               so that HPUX works.  (Kludge for 1.0 release) [PR#40]
+
+Fri Nov 22 11:52:52 1996  Sam Hartman  <hartmans@mit.edu>
+
+       * configure.in : Make sure time_t is define [203]
+       * update_wtmp.c (ptyint_update_wtmp): Use time_t for call to time(2). [203]
+
 Fri Nov 15 08:33:54 1996  Ezra Peisach  <epeisach@mit.edu>
 
        * update_utmp.c (pty_update_utmp): Handle case where utmp uses
index 2394debbe0e2fd43e906c3f69e1eb793010a3093..3c6386af73f4559c6df29710c77f8e9f0cdfcb09 100644 (file)
@@ -50,6 +50,7 @@ dnl
 AC_SUBST(LOGINLIBS)
 dnl
 AC_TYPE_MODE_T
+AC_CHECK_TYPE(time_t, int)
 AC_FUNC_CHECK(strsave,AC_DEFINE(HAS_STRSAVE))
 AC_HAVE_FUNCS(getutent setreuid gettosbyname setsid ttyname line_push ptsname grantpt openpty logwtmp getutmpx)
 AC_CHECK_HEADERS(unistd.h stdlib.h string.h utmpx.h utmp.h sys/filio.h sys/sockio.h sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h sys/ptyvar.h)
index 9effab134744151e9cb564e67054d4f191c150ed..3b1f74185843cd4382aab8bb8850b4728beb3596 100644 (file)
@@ -137,8 +137,14 @@ long pty_update_utmp (process_type, pid, username, line, host, flags)
     utx.ut_type = ent.ut_type;
 #ifdef UT_EXIT_STRUCTURE_DIFFER
     utx.ut_exit.ut_exit = ent.ut_exit.e_exit;
+#else
+/* KLUDGE for now; eventually this will be a feature test... See PR#[40] */
+#ifdef __hpux  
+    utx.ut_exit.__e_termination = ent.ut_exit.e_termination;
+    utx.ut_exit.__e_exit = ent.ut_exit.e_exit;
 #else
     utx.ut_exit = ent.ut_exit;
+#endif
 #endif
     utx.ut_tv.tv_sec = ent.ut_time;
     utx.ut_tv.tv_usec = 0;
index c2f9461ec14fc29246815bd5f89426cc8040dc13..7f6890230d278a6c2302b85d25d62017744d741f 100644 (file)
@@ -40,6 +40,7 @@ long ptyint_update_wtmp (ent , host, user)
     struct utmp ut;
     struct stat statb;
     int fd;
+    time_t uttime;
 #ifdef HAVE_UPDWTMPX
     struct utmpx utx;
 
@@ -71,7 +72,8 @@ long ptyint_update_wtmp (ent , host, user)
 #ifndef NO_UT_HOST
          (void)strncpy(ut.ut_host, ent->ut_host, sizeof(ut.ut_host));
 #endif
-         (void)time(&ut.ut_time);
+         (void)time(&uttime);
+         ut.ut_time = uttime;
 #if defined(HAVE_GETUTENT) && defined(USER_PROCESS)
          if (ent->ut_name) {
            if (!ut.ut_pid)
index c2fc7eb49835576696eed82217f39c5a6bb1adf2..82e6c79a25a968f98d65c99cfbc11deae3a28bb7 100644 (file)
@@ -1,4 +1,4 @@
-#
+#l
 # Makefile for building a standalone send-pr.
 #
 RELEASE=1.0
@@ -24,19 +24,19 @@ install-sid: install-sid.sh
        sed -e 's,@ADMIN_BINDIR@,$(ADMIN_BINDIR),g' $(srcdir)/install-sid.sh > install-sid
 
 install:: all
-       if [ -d $(prefix) ]; then true ; else mkdir $(prefix) ; fi
-       if [ -d $(ADMIN_BINDIR) ]; then true ; else mkdir $(ADMIN_BINDIR) ; fi
-       cp send-pr $(ADMIN_BINDIR)/$(sendprname)
-       chmod 755 $(ADMIN_BINDIR)/$(sendprname)
-       if [ -d $(datadir) ] ; then true ; else mkdir $(datadir) ; fi
-       if [ -d $(datadir)/gnats ] ; then true ; else mkdir $(datadir)/gnats ; fi
-       cp $(srcdir)/categories $(datadir)/gnats/mit
-       chmod 644 $(datadir)/gnats/mit
-       -parent=`echo $(man1dir)|sed -e 's@/[^/]*$$@@'`; \
+       if [ -d $(DESTDIR)$(prefix) ]; then true ; else mkdir $(DESTDIR)$(prefix) ; fi
+       if [ -d $(DESTDIR)$(ADMIN_BINDIR) ]; then true ; else mkdir $(DESTDIR)$(ADMIN_BINDIR) ; fi
+       cp send-pr $(DESTDIR)$(ADMIN_BINDIR)/$(sendprname)
+       chmod 755 $(DESTDIR)$(ADMIN_BINDIR)/$(sendprname)
+       if [ -d $(DESTDIR)$(datadir) ] ; then true ; else mkdir $(DESTDIR)$(datadir) ; fi
+       if [ -d $(DESTDIR)$(datadir)/gnats ] ; then true ; else mkdir $(DESTDIR)$(datadir)/gnats ; fi
+       cp $(srcdir)/categories $(DESTDIR)$(datadir)/gnats/mit
+       chmod 644 $(DESTDIR)$(datadir)/gnats/mit
+       -parent=`echo $(DESTDIR)$(man1dir)|sed -e 's@/[^/]*$$@@'`; \
        if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
-       if [ -d $(man1dir) ] ; then true ; else mkdir $(man1dir) ; fi
-       cp $(srcdir)/send-pr.1 $(man1dir)/$(sendprname).1
-       chmod 644 $(man1dir)/$(sendprname).1
+       if [ -d $(DESTDIR)$(man1dir) ] ; then true ; else mkdir $(DESTDIR)$(man1dir) ; fi
+       cp $(srcdir)/send-pr.1 $(DESTDIR)$(man1dir)/$(sendprname).1
+       chmod 644 $(DESTDIR)$(man1dir)/$(sendprname).1
 
 clean::
        rm -f install-sid send-pr send-pr.el*
index 3ca9e96074dd1f796b73aabc908088bad291703f..6526c65e0a6d1e427be73b758de96f9b2bca2e55 100644 (file)
@@ -1,3 +1,11 @@
+Sat Nov 23 00:26:44 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * Makefile.in (KLIB): Change krb516.dll to krb5_16.dll.  [PR#204]
+
+Wed Nov 20 18:32:06 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * Makefile.in (KLIB): Change libkrb5.dll to be krb516.dll
+
 Wed Jun 12 00:20:08 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * makefile: Renamed to Makefile.in, so that we can do WIN16/WIN32
index 3fae32b43e30a900862722c85d9892119418651d..6ef265c032301460b0948cdb9c47cfb57e86d674 100644 (file)
@@ -23,7 +23,7 @@ XOBJS    =
 !if $(KVERSION) == 5
 BUILDTOP =..\..
 LIBDIR  = $(BUILDTOP)\lib
-KLIB    = $(LIBDIR)\libkrb5.lib
+KLIB    = $(LIBDIR)\krb5_16.lib
 WLIB    = $(LIBDIR)\winsock.lib
 INCLUDES = /I$(BUILDTOP)\include /I$(BUILDTOP)\include\krb5
 XOBJS    = kpasswd.obj
index 5681c50faf5034efa5e699231b376b166b819cc9..b2fa4d7b3c0e61956bda952c9d9c9888c03e383b 100644 (file)
@@ -1,7 +1,13 @@
+Fri Nov 22 15:52:55 1996  unknown  <bjaspan@mit.edu>
+
+       * gss-client.c (connect_to_server): use sizeof instead of h_length
+       to determine number of bytes of addr to copy from DNS response
+       [krb5-misc/211]
+
 Tue Oct 29 10:17:25 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
        * gss-client.c (client_establish_context): Fix typo; service_name
-               really should be nt_service_name.
+               really should be nt_service_name.
 
 Thu Jul 25 02:16:56 1996  Theodore Y. Ts'o  <tytso@mit.edu>
 
index 0a98774b4fc4eeee2f2354318b580f36cd80a39f..d5e8972b311072fbfc6510b1a38bc308a997c42b 100644 (file)
@@ -154,7 +154,7 @@ connect_to_server (char *host, u_short port)
     }
         
     saddr.sin_family = hp->h_addrtype;
-    memcpy((char *)&saddr.sin_addr, hp->h_addr, hp->h_length);
+    memcpy((char *)&saddr.sin_addr, hp->h_addr, sizeof(saddr.sin_addr));
     saddr.sin_port = htons(port);
 
     if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
index 521c68f580cc80e2b02b6d138a13734fffac3b4c..ea8b75ff95de907e5d6523fe691c7dd41a88819b 100644 (file)
@@ -1,3 +1,11 @@
+Sat Nov 23 00:27:45 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * Makefile.in (KLIB): Change krb516.dll to krb5_16.dll.  [PR#204]
+
+Wed Nov 20 18:32:26 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * Makefile.in (KLIB): Change libkrb5.dll to be krb516.dll
+
 Wed Jun 12 00:22:02 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
        * makefile: Renamed to Makefile.in, so that we can do WIN16/WIN32
index 7134945df0ea3859c03bc922135ec6f7cc2cc030..5f49bcf6ead5ef764784187b661c9340b515fead 100644 (file)
@@ -24,7 +24,7 @@ XOBJS    =
 !if $(KVERSION) == 5
 BUILDTOP =..\..
 LIBDIR  = $(BUILDTOP)\lib
-KLIB    = $(LIBDIR)\libkrb5.lib
+KLIB    = $(LIBDIR)\krb5_16.lib
 WLIB    = $(LIBDIR)\winsock.lib
 INCLUDES = /I$(BUILDTOP)\include /I$(BUILDTOP)\include\krb5 \
        /I$(BUILDTOP)\lib\crypto\des