From b81d70addb30985ca40f52a9ea53a5a002826861 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 7 Aug 2008 19:39:52 +0000 Subject: [PATCH] Oops. On recent linux kernels we were not detecting the linux/netfilter_ipv4.h header properly, since we needed to have in_addr and in6_addr and __u32 defined before trying to include it. Fix that. svn:r16460 --- ChangeLog | 2 ++ configure.in | 11 ++++++++++- src/or/connection_edge.c | 3 +++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4ff006f1e6..9866f593f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,8 @@ Changes in version 0.2.1.5-alpha - 2008-08-?? option to change UID and drop privileges, make sure to open /dev/pf before dropping privileges. Fixes bug 782. Patch from Christopher Davis. Bugfix on 0.1.2.1-alpha. + - Correctly detect the presence of the linux/netfilter_ipv4.h header + when building against recent kernels. Bugfix on 0.1.2.1-alpha. Changes in version 0.2.1.4-alpha - 2008-08-04 diff --git a/configure.in b/configure.in index d931ed4f6f..4872cb7a22 100644 --- a/configure.in +++ b/configure.in @@ -315,7 +315,7 @@ AC_CHECK_HEADERS(netdb.h sys/ioctl.h sys/socket.h arpa/inet.h netinet/in.h pwd.h dnl These headers are not essential -AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h limits.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h inttypes.h utime.h sys/utime.h sys/mman.h netinet/in6.h malloc.h sys/syslimits.h malloc/malloc.h) +AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h limits.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h inttypes.h utime.h sys/utime.h sys/mman.h netinet/in6.h malloc.h sys/syslimits.h malloc/malloc.h linux/types.h) TOR_CHECK_PROTOTYPE(malloc_good_size, HAVE_MALLOC_GOOD_SIZE_PROTOTYPE, [#ifdef HAVE_MALLOC_H @@ -350,6 +350,15 @@ AC_CHECK_HEADERS(linux/netfilter_ipv4.h, #ifdef HAVE_SYS_SOCKET_H #include #endif +#ifdef HAVE_LIMITS_H +#include +#endif +#ifdef HAVE_LINUX_TYPES_H +#include +#endif +#ifdef HAVE_NETINET_IN6_H +#include +#endif #ifdef HAVE_NETINET_IN_H #include #endif]) diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 7fac80e960..a2bbaa3ac1 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -14,6 +14,9 @@ const char connection_edge_c_id[] = #include "or.h" +#ifdef HAVE_LINUX_TYPES_H +#include +#endif #ifdef HAVE_LINUX_NETFILTER_IPV4_H #include #define TRANS_NETFILTER