[1540] in Kerberos-V5-bugs

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

DCE 1.1 Interop bug and HPUX porting

daemon@ATHENA.MIT.EDU (John Brezak)
Tue Jul 11 22:11:33 1995

To: krb5-bugs@MIT.EDU
Cc: Douglas Engert <b17783@achilles.ctd.anl.gov>, tytso@MIT.EDU
Date: Tue, 11 Jul 1995 22:11:16 -0400
From: John Brezak <brezak@apollo.hp.com>


[ These changes are releative to krb5 beta5 + Doug's patches ]

This fix allows telnet cred forwarding to work with old format cred caches.

*** ./lib/krb5/ccache/file/fcc_read.c.orig      Tue Jul 11 21:48:42 1995
--- ./lib/krb5/ccache/file/fcc_read.c   Tue Jul 11 21:48:51 1995
***************
*** 208,214 ****
--- 208,222 ----
       CHECK(kret);
       if ((data->version == KRB5_FCC_FVNO_1) ||
         (data->version == KRB5_FCC_FVNO_2))
+ /*
+  * In this case previous versions of Kerberos (and DCE) defaulted to
+  * ETYPE_DES_CBC_CRC.
+  */
+ #if 0
             keyblock->etype = ETYPE_UNKNOWN;
+ #else
+            keyblock->etype = ETYPE_DES_CBC_CRC;
+ #endif
       else {
             kret = krb5_fcc_read_ui_2(context, id, &ui2);
             keyblock->etype = ui2;


If you want to have a cred cache that DCE 1.1 can read, use this patch.

[ DCE 1.0.3 will require that KRB5_FCC_DEFAULT_FVNO is KRB5_FCC_FVNO_1 ]

*** ./lib/krb5/ccache/file/fcc.h.orig   Tue Jul 11 21:04:52 1995
--- ./lib/krb5/ccache/file/fcc.h        Tue Jul 11 21:31:57 1995
***************
*** 56,62 ****
  #define KRB5_FCC_FVNO_2 0x0502                /* krb5 v5, fcc v2 */
  #define KRB5_FCC_FVNO_3 0x0503                /* krb5 v5, fcc v3 */
  
! #define KRB5_FCC_DEFAULT_FVNO KRB5_FCC_FVNO_3
  
  #define       FCC_OPEN_AND_ERASE      1
  #define       FCC_OPEN_RDWR           2
--- 56,62 ----
  #define KRB5_FCC_FVNO_2 0x0502                /* krb5 v5, fcc v2 */
  #define KRB5_FCC_FVNO_3 0x0503                /* krb5 v5, fcc v3 */
  
! #define KRB5_FCC_DEFAULT_FVNO KRB5_FCC_FVNO_2  /* Compat with DCE 1.1 */
  
  #define       FCC_OPEN_AND_ERASE      1
  #define       FCC_OPEN_RDWR           2


These are HPUX porting bugs -

- lib/krb4/tf_util.c need to have NEED_UTIMES=1 for HPUX 9.0 (not 10.0)

*** lib/krb4/kuserok.c~ Fri Apr 28 02:02:45 1995
--- lib/krb4/kuserok.c  Tue Jul 11 18:51:31 1995
***************
*** 27,33 ****
  #include <sys/unistd.h>
  #endif
  
! #ifdef hpux
  #define seteuid(e) setresuid(-1,e,-1)
  #define setegid(e) setresgid(-1,e,-1)
  #endif
--- 27,33 ----
  #include <sys/unistd.h>
  #endif
  
! #if defined(hpux) || defined(__hpux)
  #define seteuid(e) setresuid(-1,e,-1)
  #define setegid(e) setresgid(-1,e,-1)
  #endif

*** ./appl/telnet/telnetd/sys_term.c.orig	Tue Jul 11 18:53:28 1995
--- ./appl/telnet/telnetd/sys_term.c	Tue Jul 11 19:09:57 1995
***************
*** 1251,1257 ****
  		(void) signal(SIGHUP, SIG_IGN);
  		(void) ioctl(t, TCVHUP, (char *)0);
  		(void) signal(SIGHUP, SIG_DFL);
! 		setpgrp();
  
  #if		defined(_SC_CRAY_SECURE_SYS)
  		if (secflag) {
--- 1251,1257 ----
  		(void) signal(SIGHUP, SIG_IGN);
  		(void) ioctl(t, TCVHUP, (char *)0);
  		(void) signal(SIGHUP, SIG_DFL);
! 		setpgrp(0, 0);
  
  #if		defined(_SC_CRAY_SECURE_SYS)
  		if (secflag) {
***************
*** 1302,1308 ****
  #endif
  			fatalperror(net, "setsid()");
  	}
! # ifdef	TIOCSCTTY
  	if (ioctl(t, TIOCSCTTY, (char *)0) < 0)
  		fatalperror(net, "ioctl(sctty)");
  #  if defined(CRAY)
--- 1302,1308 ----
  #endif
  			fatalperror(net, "setsid()");
  	}
! # if defined(TIOCSCTTY) && !defined(__hpux)
  	if (ioctl(t, TIOCSCTTY, (char *)0) < 0)
  		fatalperror(net, "ioctl(sctty)");
  #  if defined(CRAY)
***************
*** 1315,1320 ****
--- 1315,1321 ----
  		fatalperror(net, "open(/dev/tty)");
  #  endif
  # else
+ #  ifndef __hpux
  	/*
  	 * We get our controlling tty assigned as a side-effect
  	 * of opening up a tty device.  But on BSD based systems,
***************
*** 1323,1328 ****
--- 1324,1330 ----
  	 * it out before opening the tty...
  	 */
  	(void) setpgrp(0, 0);
+ #  endif
  	close(open(line, O_RDWR));
  # endif
  	if (t != 0)
***************
*** 1390,1396 ****
  		register int pid = i;
  		void sigjob P((int));
  
! 		setpgrp();
  		utmp_sig_reset();		/* reset handler to default */
  		/*
  		 * Create utmp entry for child
--- 1392,1398 ----
  		register int pid = i;
  		void sigjob P((int));
  
! 		setpgrp(0, 0);
  		utmp_sig_reset();		/* reset handler to default */
  		/*
  		 * Create utmp entry for child
*** ./appl/telnet/telnetd/utility.c.orig	Tue Jul 11 19:23:12 1995
--- ./appl/telnet/telnetd/utility.c	Tue Jul 11 19:25:41 1995
***************
*** 33,38 ****
--- 33,41 ----
  
  /* based on @(#)utility.c	8.1 (Berkeley) 6/4/93 */
  
+ #ifdef	HAVE_UNAME
+ #include <sys/utsname.h>
+ #endif
  #define PRINTOPTIONS
  #include "telnetd.h"
  
***************
*** 445,451 ****
--- 448,460 ----
  	char *slash;
  	time_t t;
  	char db[100];
+ #ifdef	HAVE_UNAME
+ 	struct utsname utsinfo;
+ #endif
  
+ #ifdef	HAVE_UNAME
+ 	uname(&utsinfo);
+ #endif
  	putlocation = where;
  
  	while (*cp) {
***************
*** 481,486 ****
--- 490,512 ----
  		case '%':
  			putchr('%');
  			break;
+ #ifdef	HAVE_UNAME
+ 		case 's':
+ 			putstr(utsinfo.sysname);
+ 			break;
+ 
+ 		case 'm':
+ 			putstr(utsinfo.machine);
+ 			break;
+ 
+ 		case 'r':
+ 			putstr(utsinfo.release);
+ 			break;
+ 
+ 		case 'v':
+ 			puts(utsinfo.version);
+                         break;
+ #endif
  		}
  		cp++;
  	}
*** ./appl/telnet/telnetd/configure.in.orig	Tue Jul 11 19:40:06 1995
--- ./appl/telnet/telnetd/configure.in	Tue Jul 11 19:40:08 1995
***************
*** 29,34 ****
--- 29,35 ----
  AC_HEADER_TIME
  AC_CHECK_HEADERS(sys/time.h sys/tty.h)
  AC_HAVE_FUNCS(vhangup)
+ AC_HAVE_FUNCS(uname)
  AC_FUNC_CHECK(grantpt,AC_DEFINE(STREAMSPTY))
  AC_HEADER_CHECK(sac.h,AC_DEFINE(HAS_SAC))
  AC_HEADER_CHECK(sys/ptyvar.h,AC_DEFINE(HAS_PTYVAR))
*** ./appl/telnet/telnetd/ext.h.orig	Tue Jul 11 19:37:49 1995
--- ./appl/telnet/telnetd/ext.h	Tue Jul 11 19:38:37 1995
***************
*** 233,239 ****
--- 233,243 ----
  #   ifdef ultrix
  #    define DEFAULT_IM	"\r\n\r\nULTRIX (%h) (%t)\r\n\r\r\n\r"
  #   else
+ #    ifdef __hpux
+ #     define DEFAULT_IM	"\r\nHP-UX %h %r %v %m (%t)\r\n\r\r\n\r"
+ #    else
  #     define DEFAULT_IM	"\r\n\r\n4.4 BSD UNIX (%h) (%t)\r\n\r\r\n\r"
+ #    endif
  #   endif
  #  endif
  # endif


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 John Brezak                    Internet: brezak@ch.hp.com
 Hewlett Packard/Apollo         Phone:    (508) 436-4915
 300 Apollo Drive               Fax:      (508) 436-5140
 Chelmsford, Massachusetts, USA


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