[1614] in Kerberos-V5-bugs

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

krb5b5 telnetd bus error

daemon@ATHENA.MIT.EDU (Rita Bettenhausen)
Thu Aug 31 20:15:02 1995

Date: 31 Aug 1995 17:21:59 -0800
From: "Rita Bettenhausen" <Rita.Bettenhausen@quickmail.llnl.gov>
To: "krb5-bugs" <krb5-bugs@MIT.EDU>

         Regarding:               krb5b5 telnetd bus error
              

In Kerberos 5 Beta 5 compiled without kerberos 4 compatibility, I get a
telnetd bus error when I run the client and server on the same machine (on
SunOS 4.1.3) and the client has an expired ticket.  I'm using the following
switches:
    telnetd -a debug -debug 1156
    telnet -d -a ritab 1156    (ritab is the name of my host)

For some reason which I haven't exactly figured out, telnetd does a second try
at getting authorization.  However, the first attempt freed the authentication
context and the second attempt results in the bus error.  I added a patch to
/lib/krb5/krb/rd_req.c to clear out the authorization context pointer after
freeing its context so the next go-around is fresh.  This is the patch:

*** rd_req.c.orig	Thu Apr 13 17:54:50 1995
--- rd_req.c	Thu Aug 31 15:27:58 1995
***************
*** 98,105 ****
          (void) krb5_kt_close(context, new_keytab);
  
  cleanup_auth_context:
!     if (new_auth_context && retval)
  	krb5_auth_con_free(context, new_auth_context);
  
  cleanup_request:
      krb5_free_ap_req(context, request);
--- 98,107 ----
          (void) krb5_kt_close(context, new_keytab);
  
  cleanup_auth_context:
!     if (new_auth_context && retval) {
  	krb5_auth_con_free(context, new_auth_context);
+ 	*auth_context = NULL;
+     }
  
  cleanup_request:
      krb5_free_ap_req(context, request);



-- Rita



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