summaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/kdb/db2/ChangeLog5
-rw-r--r--src/modules/kdb/db2/policy_db.h15
2 files changed, 19 insertions, 1 deletions
diff --git a/src/modules/kdb/db2/ChangeLog b/src/modules/kdb/db2/ChangeLog
index 0e83bcb90..fe61913f8 100644
--- a/src/modules/kdb/db2/ChangeLog
+++ b/src/modules/kdb/db2/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-29 Ken Raeburn <raeburn@mit.edu>
+
+ * policy_db.h: Include db.h after gssrpc/types.h, to fix
+ compilation on Tru64.
+
2005-11-17 Ken Raeburn <raeburn@mit.edu>
* policy_db.h: Include errno.h and krb5.h instead of k5-int.h.
diff --git a/src/modules/kdb/db2/policy_db.h b/src/modules/kdb/db2/policy_db.h
index c3c16b9af..8bbef800b 100644
--- a/src/modules/kdb/db2/policy_db.h
+++ b/src/modules/kdb/db2/policy_db.h
@@ -14,9 +14,22 @@
#include <errno.h>
#include <krb5.h>
#include <krb5/kdb.h>
-#include <db.h>
+/* Okay, this is a bit obscure. The libdb2 configure script doesn't
+ detect it, but on Tru64 5.1, netinet/in.h causes sys/bittypes.h to
+ be included, and that has a typedef for u_int32_t. Because the
+ configure script doesn't detect it, it causes db-config.h to have a
+ #define for u_int32_t, so including db.h and then netinet/in.h
+ causes compilation to fail.
+
+ Since gssrpc/types.h includes netinet/in.h, including that first
+ will cause the typedef to be seen before the macro definition,
+ which still isn't quite right, but is close enough for now.
+
+ A better fix might be for db.h to include netinet/in.h if that's
+ where we find u_int32_t. */
#include <gssrpc/types.h>
#include <gssrpc/xdr.h>
+#include <db.h>
#include "adb_err.h"
#include <com_err.h>