[593] in Kerberos-V5-bugs
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