[483] in Zephyr_Bugs

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

bugs installing Zephyr

daemon@ATHENA.MIT.EDU (Chris Metcalf)
Mon Jun 7 18:32:29 1993

Date: Mon, 7 Jun 93 18:32:25 -0400
From: metcalf@catfish.LCS.MIT.EDU (Chris Metcalf)
To: zephyr-bugs@Athena.MIT.EDU

This is a progress report on installing the current version of Zephyr
[gleaned from running Athena sources via AFS] at MIT's Lab for Computer
Science, and includes a number of bugs of varying severity.  

From worst to most minor:

  o server/kstuff.c passes a struct in_addr to a function expecting
    a long.  A little experimentation shows that the only platforms
    this makes a real difference on are SunOS 4.x with cc and SunOS 4.x 
    with gcc 2.x.  SunOS 4.x with gcc 1.x, as well as VAX BSD, MIPS Ultrix,
    NeXT, 386BSD, and the RT all happen to pass structs just right.
    This bug disables braindumps for Sun servers.

  o et/lib/internal.h declares perror() as returning int in
    non-ANSI environments.  This breaks under Ultrix 4.3 and is wrong
    though non-fatal under SunOS.  I changed it to return void.

  o clients/syslogd/syslogd.c tries to include <sys/msgbuf.h> if
    COMPAT42 is not set; if you are running Ultrix with a 4.3-aware
    syslogd, this will lose.  I redefine MSG_BSIZE as BUFSIZ in
    that case, since that's all that's coming from <sys/msgbuf.h>.
    Also note that sighandler_type needs to be void on sun as well
    as ultrix and _POSIX_SOURCE code.

  o in config/config.Imakefile, Ultrix doesn't understand the -z
    option to lint; I set it up to pass only -bh.

  o tools/makeconfig needs to have "tools" and "server/new_vers.sh"
    added to LINKDIRS or the build will fail.

  o tools/makepath needs to have an explicit "exit 0" at the end
    or it will exit non-zero on some machines with Hesiod undefined.

Altogether, a much more portable and configurable release than
the one in athena-dist:pub/zephyr/dist.  It's about time we upgraded
our servers from VAX-only zephyrd's running version 3.8 ...

Chris Metcalf
MIT CAG/LCS

*** 1.1	1993/06/06 04:36:39
--- server/kstuff.c	1993/06/06 04:36:54
***************
*** 96,102 ****
  	 */
  	(void) strcpy(instance,"*");	/* let Kerberos fill it in */
  
! 	return(krb_rd_req(&ticket,service,instance,haddr,kdata, srvtab ? srvtab : ""));
  }
  
  /*
--- 96,102 ----
  	 */
  	(void) strcpy(instance,"*");	/* let Kerberos fill it in */
  
! 	return(krb_rd_req(&ticket,service,instance,haddr.s_addr,kdata, srvtab ? srvtab : ""));
  }
  
  /*
*** 1.1	1993/06/06 05:01:25
--- et/lib/internal.h	1993/06/06 05:01:58
***************
*** 14,18 ****
  #ifdef __STDC__
  void perror (const char *);
  #else
! int perror ();
  #endif
--- 14,18 ----
  #ifdef __STDC__
  void perror (const char *);
  #else
! void perror ();
  #endif
*** 1.1	1993/06/06 04:38:10
--- clients/syslogd/syslogd.c	1993/06/06 05:32:38
***************
*** 77,84 ****
--- 77,88 ----
  #include <sys/socket.h>
  #include <sys/file.h>
  #ifndef COMPAT42
+ #ifdef ultrix
+ #define MSG_BSIZE BUFSIZ
+ #else
  #include <sys/msgbuf.h>
  #endif
+ #endif
  #include <sys/uio.h>
  #include <sys/un.h>
  #include <sys/time.h>
***************
*** 88,94 ****
  
  #include <zephyr/zephyr.h>
  
! #if defined(ultrix) || defined(_POSIX_SOURCE)
  #define sighandler_type void
  #else
  #define sighandler_type int
--- 92,98 ----
  
  #include <zephyr/zephyr.h>
  
! #if defined(ultrix) || defined(sun) || defined(_POSIX_SOURCE)
  #define sighandler_type void
  #else
  #define sighandler_type int
*** 1.1	1993/06/06 03:39:33
--- config/config.Imakefile	1993/06/06 05:14:38
***************
*** 215,221 ****
--- 217,227 ----
  #if defined(_IBMR2)
  #define GLOBAL_LINTFLAGS -b -h -wk
  #else
+ #if defined(ultrix) && defined(mips)
+ #define GLOBAL_LINTFLAGS -bh
+ #else
  #define GLOBAL_LINTFLAGS -bhz
+ #endif /* dec mips */
  #endif /* IBMR2 */
  #endif /* sun */
  
*** 1.1	1993/06/06 03:31:21
--- tools/makeconfig	1993/06/06 05:12:19
***************
*** 37,43 ****
  
  # Directories which need only be linked into the sources
  
! LINKDIR = server/acldir
  
  all:
  	rm -f ${DESTDIR}/Makefile ${DESTDIR}/Imakefile
--- 37,43 ----
  
  # Directories which need only be linked into the sources
  
! LINKDIR = server/acldir tools server/new_vers.sh
  
  all:
  	rm -f ${DESTDIR}/Makefile ${DESTDIR}/Imakefile
*** 1.1	1993/06/06 05:08:25
--- tools/makepaths	1993/06/06 05:08:38
***************
*** 14,16 ****
--- 14,17 ----
  if [ x"$HaveHesiod" != x ]; then
  	echo '#define Z_HaveHesiod'
  fi
+ exit 0

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