[647] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

Seven Suggestions/Bug fixes for Kerberos 5.4.2

daemon@ATHENA.MIT.EDU (Doug Engert)
Tue Aug 16 12:39:52 1994

Date: Tue, 16 Aug 94 11:39:36 CDT
From: "Doug Engert" <DEEngert@anl.gov>
To: <krb5-bugs@MIT.EDU>
Cc: <auth-pilot@es.net>

Here is a list of ALL of my changes so far for 5.4.2.
I thought it might be easier to send one big note rather then
many small ones. Many of these changes I have reported before
with 5.4.1 but they were not included in 5.4.2.

A context diff file for ALL these changes can be found at:
/afs/anl.gov/appl/kerb-5.4.2/build/other/k542.cdiff.940816
or via FTP at achilles.ctd.anl.gov:pub/kerberos.v5/k542.cdiff.940816

I have 5.4.2 running on SunOS 4.1.3 and can cross realm authenticate
between 5.4.1 realms, and a 5.4.2 realm. I can also forward
credentials between these realms using rlogin.

Suggestions/fixes:

1.) 5.4.2 does not cross authenticate with 5.4.1

   Saturday, I reported a problem with cross realm
   authentication between kerberos 5.4.2 and 5.4.1. I have tracked
   it down to the failure of 5.4.1 to update the msg_type field of
   the KDC_REQ and the tighter checking done in 5.4.2 in
   asn1/asn1_decode_k.c and asn1/krb5_decode.c.

   This tighter checking of the msg_type field may cause
   compatibility problems with other versions as well.

   For at least testing, I would like to suggest changes to
   asn1/asn1_decode_k.c and asn1/krb5_decode.c to allow a msg_type
   of zero to mean set the msg_type to appropriate msg_type as would
   be expected.

2.) Fix appl/bsd/forward.c and appl/telnet/libtelnet/forward.c
    to allow credentials to be forward between realms.

3.) Fix srvname_match in lib/krb5/ccache/file/,fcc_retrv.c
    so it tests only the server name and not the realm name
    to allow credentials to be forward between realms.

4.) appl/bsd/Makefile.in has manny problems, including make clean
    deletes forward.c, and does not cleanup all the objects.
    It also define login.krb rather then login.krb5.
    (I have only changes some of these. It still needs the KRB4
     compatability mods.)

5.) Allow a specific kvno and key to be stuffed into the database.
    This can be used to add the afs@realm key for better AFS
    compatability.

6.) Add debug_decl.c and krb_err_txt.c from Krb4 to the krb425
    libs.

7.) Add the changes to walk_rtree.c which I have renamed to
    CONFIGURABLE_AUTHENTICATION_PATH as suggested by C. Neuman.
    This in effect implements the "database" as refered to in
    RFC1510 Section 1.1 Cross-Realm Operation Paragraph 4.
    The default name of this file would be /krb5/krb.capaths.


Comments for the diff file:

./admin/edit/kdb5_edit.c

   o Allow a v4 key and knvo to be stuffed into the database.
     This is used to add the afs@realm entry.

./appl/bsd/forward.c

   o Fix a problem with forwarding credentials between realms.

   o Put the forwarded credentials in /tmp with a name based on
     the process number, first step in session credentials.

./appl/bsd/Makefile.in

   o Fix a problem with make clean deleting forward.c

   o Add $(SETENVOBJ) to any module which uses forward.o since it
     now does a setenv()

   o Fix DEFINES to use login.krb5 rather then login.krb

./appl/telnet/libtelnet/forward.c

   o Fix a problem with forwarding credentials between realms.

./include/kerberosIV/,krb.h

   o Define ANL.GOV as the V4 realm, etc.

./include/krb5/stock/osconf.h

   o Define DEFAULT_CONFIGURABLE_AUTHENTICATION_PATH as
     @KRB5ROOT/krb.capaths This is the old shortcuts file.

./include/krb5/ext-proto.h

   o Comment out strdup since it is defined everywhere

./krb524/Makefile

   o Local changes to get it to complie from AFS

./lib/krb425/Makefile.in

   o Add entries for debug_decl.c and krb_err_txt.c

./lib/krb425/debug_decl.c

   o Copied from Krb4

./lib/krb425/krb_err_txt.c

   o Copied from Krb4

./lib/krb5/asn.1/asn1_decode_k.c

   o Allow msg_type == 0 to pass. Needed to get k5.4.2 to work
     with k5.4.1

./lib/krb5/asn.1/krb5_decode.c

   o If msg_type == 0 then set the expected msg_types

./lib/krb5/ccache/file/fcc_retrv.c

   o Fix the srvname_match so relam is not compared. Needed to
     get forwarding of credentials across realms to work.

./lib/krb5/ccache/file/fcc_maybe.c

   o On SunOS fcntl fails if the credentials are in /tmp in swap.
     This is a crude fix, which just returns without locking. It
     should probably try the old flock instead.

./lib/krb5/krb/walk_rtree.c

   o Fix tests if realm names are single names, i.e. no "." in
     names.

   o The old "shortcuts" code renamed to
     CONFIGURABLE_AUTHENTICATION_PATH as suggested by Cliff
     Neuman. Many of the variable names have been changed to
     remove references to short.



           Douglas E. Engert
           Systems Programming
           Argonne National Laboratory
           9700 South Cass Avenue
           Argonne, Illinois  60439
           (708) 252-5444

           Internet: DEEngert@anl.gov

home help back first fref pref prev next nref lref last post