[1330] in Kerberos-V5-bugs
v4 compat broken in rlogind
daemon@ATHENA.MIT.EDU (epeisach@MIT.EDU)
Wed Apr 12 22:01:10 1995
From: epeisach@MIT.EDU
Date: Wed, 12 Apr 1995 22:01:01 -0400
To: krb5-bugs@MIT.EDU, proven@MIT.EDU
This may have been caused by the compat_recvauth changes...
Essentially, when a V4 request is received, the return ticket is not
set. Trying to copy the address from a NULL pointer results in a core
dump...
I am not sure if this is the proper solution....
Also, the options to openlog are a little off...
Ezra
Index: krlogind.c
===================================================================
RCS file: /mit/krb5/.cvsroot/src/appl/bsd/krlogind.c,v
retrieving revision 5.48
diff -c -r5.48 krlogind.c
*** krlogind.c 1995/03/27 14:03:37 5.48
--- krlogind.c 1995/04/13 01:57:05
***************
*** 320,326 ****
#ifndef LOG_AUTH /* 4.2 syslog */
openlog(progname, LOG_PID | LOG_NDELAY);
#else
! openlog(progname, LOG_PID | LOG_AUTH | LOG_NDELAY, LOG_AUTH);
#endif /* 4.2 syslog */
if (argc == 1) { /* Get parameters from program name. */
--- 320,326 ----
#ifndef LOG_AUTH /* 4.2 syslog */
openlog(progname, LOG_PID | LOG_NDELAY);
#else
! openlog(progname, LOG_PID | LOG_NDELAY, LOG_AUTH);
#endif /* 4.2 syslog */
if (argc == 1) { /* Get parameters from program name. */
***************
*** 1562,1571 ****
getstr(netf, lusername, sizeof (lusername), "locuser");
getstr(netf, term, sizeof(term), "Terminal type");
- if (status = krb5_copy_principal(bsd_context, ticket->enc_part2->client,
- &client))
- return status;
-
#ifdef KRB5_KRB4_COMPAT
if (auth_sys == KRB5_RECVAUTH_V4) {
--- 1571,1576 ----
***************
*** 1591,1596 ****
--- 1596,1605 ----
/* Must be V5 */
+ if (status = krb5_copy_principal(bsd_context, ticket->enc_part2->client,
+ &client))
+ return status;
+
des_read = v5_des_read;
des_write = v5_des_write;