[593] in Kerberos-V5-bugs

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

Building for AIX 3.2

daemon@ATHENA.MIT.EDU (Kenneth Duda)
Thu Jul 21 14:48:10 1994

Date: Thu, 21 Jul 1994 11:47:08 -0700
From: Kenneth Duda <kjd@DSG.Stanford.EDU>
To: krb5-bugs@MIT.EDU
Cc: jonathan@Bump.Stanford.EDU


Hey folks,

I've been playing with Kerberos V5 --- pretty cool!  I tried building
Kerberos V5; it went fine for our DECstations, but for AIX 3.2.4, I
had to make the following minor changes.  Here's a description of
each; I've also included patches at the end of this message.

1) AIX <sys/types.h> doesn't define fd_set unless the macro _BSD is
   defined to some number (typically 43 or 44).  I added the
   appopriate define in <krb5/krb5.h> and <krb5/sysincl.h>.

2) AIX <time.h> declares struct tm (not <sys/time.h>).  I made the
   intuitive fix in kadmin/server/adm_fmt_inq.c.

3) slave/kprop.c includes <krb5/ans1.h> includes
   <krb5/asn.1/KRB5-types.h> includes <isode/psap.h> includes
   <isode/manifest.h>.  <isode/manifest.h> prototypes _signal(), and
   defines signal to _signal.  slave/kprop.c includes AIX <signal.h>,
   which attempts to prototype the real signal() function, but ends up
   re-prototyping _signal() (thanks to <isode/manifest.h>) and
   bombing.  I hacked it by moving the include of <signal.h> above
   <krb5/ans1.h>, but this seems to be against your coding style.
   I did the same for slave/kpropd.c.

4) slave/kpropd.c assumes that sys/param.h will define BSD if on a
   BSD-comptible system.  AIX does not seem to do this, so I made the
   intuitive fix.

It all seems to work great --- thanks!  

   -Ken
 
Kenneth J. Duda                http://www-dsg.stanford.edu/KennethDuda.html
<kjd@cs.stanford.edu>          Stanford University Distributed Systems Group
415-723-9429                   Building 460  /  Stanford, CA 94305


----------------------------------------------------------------------

*** krb5-beta4/src/include/krb5/krb5.h	Wed Dec  1 13:53:55 1993
--- krb5-beta4-hacked/src/include/krb5/krb5.h	Thu Jul 21 11:33:23 1994
***************
*** 31,36 ****
--- 31,37 ----
  
  #ifndef KRB5_SYSTYPES__
  #define KRB5_SYSTYPES__
+ #define _BSD 44				/* kjd -- added for rs6k's */
  #include <sys/types.h>
  #endif /* KRB5_SYSTYPES__ */
  
*** krb5-beta4/src/include/krb5/sysincl.h	Fri Jun 10 11:54:31 1994
--- krb5-beta4-hacked/src/include/krb5/sysincl.h	Thu Jul 21 11:33:27 1994
***************
*** 32,37 ****
--- 32,38 ----
  
  #ifndef KRB5_SYSTYPES__
  #define KRB5_SYSTYPES__
+ #define _BSD 44				/* kjd -- added for rs6k's */
  #include <sys/types.h>			/* needed for much of the reset */
  #endif /* KRB5_SYSTYPES__ */
  
*** krb5-beta4/src/kadmin/server/adm_fmt_inq.c	Tue Aug 31 20:03:02 1993
--- krb5-beta4-hacked/src/kadmin/server/adm_fmt_inq.c	Thu Jul 21 08:50:05 1994
***************
*** 42,48 ****
  #include <com_err.h>
  #include <stdio.h>
  
! #if defined (unicos61) || (defined(mips) && defined(SYSTYPE_BSD43)) || defined(sysvimp)
  #include <time.h>
  #else
  #include <sys/time.h>
--- 42,48 ----
  #include <com_err.h>
  #include <stdio.h>
  
! #if defined (unicos61) || (defined(mips) && defined(SYSTYPE_BSD43)) || defined(sysvimp) || defined(_AIX)
  #include <time.h>
  #else
  #include <sys/time.h>
*** krb5-beta4/src/slave/kprop.c	Wed Jun 15 16:46:13 1994
--- krb5-beta4-hacked/src/slave/kprop.c	Thu Jul 21 09:20:58 1994
***************
*** 29,34 ****
--- 29,36 ----
  "$Id: kprop.c,v 5.12 1994/06/15 23:46:13 eichin Exp $";
  #endif /* !lint && !SABER */
  
+ #include <signal.h>
+ 
  #include <krb5/krb5.h>
  #include <krb5/asn1.h>
  #include <krb5/osconf.h>
***************
*** 45,51 ****
  #include <stdio.h>
  #include <ctype.h>
  #include <sys/file.h>
- #include <signal.h>
  #include <string.h>
  #include <sys/types.h>
  #include <sys/time.h>
--- 47,52 ----
*** krb5-beta4/src/slave/kpropd.c	Wed Dec  1 14:28:34 1993
--- krb5-beta4-hacked/src/slave/kpropd.c	Thu Jul 21 09:27:19 1994
***************
*** 35,40 ****
--- 35,42 ----
  "$Id: kpropd.c,v 5.13 1993/12/01 22:28:34 tytso Exp $";
  #endif /* !lint && !SABER */
  
+ #include <signal.h>
+ 
  #include <krb5/krb5.h>
  #include <krb5/asn1.h>
  #include <krb5/osconf.h>
***************
*** 52,58 ****
  #endif
  #include <ctype.h>
  #include <sys/file.h>
- #include <signal.h>
  #include <string.h>
  #include <sgtty.h>
  #include <fcntl.h>
--- 54,59 ----
***************
*** 801,807 ****
  
  	/* <sys/param.h> has been included, so BSD will be defined on
  	   BSD systems */
! #if BSD > 0 && BSD <= 43
  #ifndef WEXITSTATUS
  #define	WEXITSTATUS(w) (w).w_retcode
  #endif
--- 802,808 ----
  
  	/* <sys/param.h> has been included, so BSD will be defined on
  	   BSD systems */
! #if (BSD > 0 && BSD <= 43) || defined(_AIX)
  #ifndef WEXITSTATUS
  #define	WEXITSTATUS(w) (w).w_retcode
  #endif

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