[3061] in Kerberos

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

Kerberos 5.3 Ticket forwarding, K4 with rlogin with K5 rlogind

daemon@ATHENA.MIT.EDU (Doug Engert)
Fri Apr 1 13:01:29 1994

Date: Fri, 01 Apr 94 11:41:44 CST
From: "Doug Engert" <DEEngert@anl.gov>
To: <kerberos@MIT.EDU>

In response to Derrick J. Brashear's db74+@andrew.cmu.edu note:
> 1) has anyone got TGT forwarding to work with the Kerberized telnet
> found as telnet.94.02.07? It's supposed to support TGT forwarding, and
> while I got K5 autologin to work, it fails forwarding credentials with
> this error:
> [ Kerberos V5 refuses forwarded credentials because Read forwarded creds
> failed: isode (ps):End of file ]

I have been trying the rlogin version of this, and have put on
the fix to kcrep2crep.c as listed in a note last week. I am
now getting a failure in krlogind with a code of -1898291682
which is ISODE_50_LOCAL_ERR_BADCOMBO which looks like it is comming
from crep2kcrep.c Looks like there should be coresponding
change to crep2kcrep.c. This may be your telnet problem as well.


> 2) Does anyone have K5 krshd/krlogind working with K4 rsh/rlogin/rcp? I
> have rcmd.hostname set up with the K4 string-to-key and in the
> /etc/v5srvtab on the kr{sh,login}d side. I get the following:
> krshd[24621]: krshd: Authentication failed: Decrypt integrity check failed
> krlogind[23535]: Authentication failed from alycia.andrew.cmu.edu:
> Decrypt integrity check failed
> krlogind[23535]: Kerberos authentication failed
> The client succeeds in getting rcmd.alycia tickets, but the server I
> guess does something bogus....

I have the krlogind running which will accept either K4 or K5
client requests. Our v4 realm is using our AFS KDC , where as the
V5.3 realm is using a test 5.3 KDC on a different system.

I needed to add the following to krlogind:


*** ,krlogind.c Mon Mar  7 14:51:04 1994
--- krlogind.c  Fri Apr  1 10:25:47 1994
***************
*** 98,103 ****
--- 98,107 ----
   *              remote realms.
   *       Note:  Root logins are always logged.
   */
+ /* ANL - get the definitions of Krb4Compat from defines */
+ #ifdef Krb4Compat
+ #define KRB5_KRB4_COMPAT
+ #endif

  /*
   * This is usually done in the Makefile.  Actually, these sources may
***************
*** 1062,1069 ****

      /* OK we have authenticated this user - now check authorization. */
      /* The Kerberos authenticated programs must use krb5_kuserok or kuserok*/

!
! #ifdef SERVE_V4
      if (auth_sys == KRB5_RECVAUTH_V4) {
          fatal(netf, "This server does not support Kerberos V4");
    }
--- 1066,1073 ----

      /* OK we have authenticated this user - now check authorization. */
      /* The Kerberos authenticated programs must use krb5_kuserok or kuserok*/
! /* ANL - looks like this should be ifndef rather then ifdef */
! #ifndef SERVE_V4
      if (auth_sys == KRB5_RECVAUTH_V4) {
          fatal(netf, "This server does not support Kerberos V4");
    }
***************
*** 1514,1519 ****
--- 1518,1524 ----

      if (inbuf.length) { /* Forwarding being done, read creds */
        if (status = rd_and_store_for_creds(&inbuf, ticket, lusername))
+         syslog(LOG_INFO,"RD_ANL_ST %d",status);
            fatal(netf, "Can't get forwarded credentials");
      }
      return 0;

-----------------------------------------------------------------
Note the main changes are to change the #ifdef to a #ifndef,
define KRB5_KRB4_COMPAT, and do a syslog to find the problem with (1).

           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