summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-08-07 19:41:54 +0000
committerNick Mathewson <nickm@torproject.org>2008-08-07 19:41:54 +0000
commit355d84d1225c8185b06ce251ffd2be0a8c884218 (patch)
tree671b02c6a4df006c35605e16461b50c56416def3
parent9250b0bd62f74940eb3d16ddebd50bd94f490acb (diff)
downloadtor-355d84d1225c8185b06ce251ffd2be0a8c884218.tar.gz
tor-355d84d1225c8185b06ce251ffd2be0a8c884218.zip
Backport: 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:r16461
-rw-r--r--ChangeLog2
-rw-r--r--configure.in11
-rw-r--r--src/or/connection_edge.c3
3 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e8e0e37d9c..87865dab95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@ Changes in version 0.2.0.31 - 2008-08-??
by rovv.
- Recover 3-7 bytes that were wasted per memory chunk. Fixes bug
794; bug spotted by rovv. Bugfix on 0.2.0.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.0.30 - 2008-07-15
diff --git a/configure.in b/configure.in
index 024881bb37..72ec2a312b 100644
--- a/configure.in
+++ b/configure.in
@@ -301,7 +301,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
@@ -336,6 +336,15 @@ AC_CHECK_HEADERS(linux/netfilter_ipv4.h,
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifdef HAVE_LINUX_TYPES_H
+#include <linux/types.h>
+#endif
+#ifdef HAVE_NETINET_IN6_H
+#include <netinet/in6.h>
+#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif])
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 161a70d0ae..64f8ceb9f4 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 <linux/types.h>
+#endif
#ifdef HAVE_LINUX_NETFILTER_IPV4_H
#include <linux/netfilter_ipv4.h>
#define TRANS_NETFILTER