summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorStef Walter <stef@thewalter.net>2010-10-28 13:55:21 +0000
committerStef Walter <stef@thewalter.net>2011-01-23 15:47:45 -0600
commite4c5c1f56e27da22aa0cd7960eee723750d6f3fe (patch)
tree8cdd759b94bca96688bab3260e32dd3ae78718ac /common
parent4337c7c0506800ff662e55806eb1867812b9802b (diff)
Fix problem on linux not detecting netfilter header.
Diffstat (limited to 'common')
-rw-r--r--common/smtppass.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/common/smtppass.c b/common/smtppass.c
index 4119335..08ea5ef 100644
--- a/common/smtppass.c
+++ b/common/smtppass.c
@@ -45,6 +45,9 @@
#include <sys/socket.h>
#include <sys/param.h>
#include <sys/stat.h>
+#include <sys/socket.h>
+
+#include <netinet/in.h>
#include <ctype.h>
#include <stdlib.h>
@@ -60,7 +63,8 @@
#include "usuals.h"
-#ifdef LINUX_TRANSPARENT_PROXY
+#if LINUX_NETFILTER
+#include <linux/types.h>
#include <linux/netfilter_ipv4.h>
#endif
@@ -754,7 +758,7 @@ static int make_connections(spctx_t* ctx, int client)
memset(&addr, 0, sizeof(addr));
SANY_LEN(addr) = sizeof(addr);
-#ifdef LINUX_TRANSPARENT_PROXY
+#ifdef LINUX_NETFILTER
if(getsockopt(ctx->client.fd, SOL_IP, SO_ORIGINAL_DST, &SANY_ADDR(addr), &SANY_LEN(addr)) == -1)
#else
if(getsockname(ctx->client.fd, &SANY_ADDR(addr), &SANY_LEN(addr)) == -1)