From 2ea12d8b6d2a36c5d49df1ae97b86ba287835249 Mon Sep 17 00:00:00 2001 From: Jeremie Koenig Date: Thu, 27 May 2010 15:46:25 +0200 Subject: tcpsvd,udpsvd: conditionalize usage of SO_ORIGINAL_DST On systems without this call, $TCPORIGDSTADDR is not set. Signed-off-by: Jeremie Koenig Signed-off-by: Denys Vlasenko --- networking/tcpudp.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'networking/tcpudp.c') diff --git a/networking/tcpudp.c b/networking/tcpudp.c index 53e622b56..40f68258e 100644 --- a/networking/tcpudp.c +++ b/networking/tcpudp.c @@ -30,9 +30,12 @@ */ #include "libbb.h" + /* Wants etc, thus included after libbb.h: */ +#ifdef __linux__ #include /* for __be32 etc */ #include +#endif // TODO: move into this file: #include "tcpudp_perhost.h" @@ -464,6 +467,7 @@ int tcpudpsvd_main(int argc UNUSED_PARAM, char **argv) /* setup ucspi env */ const char *proto = tcp ? "TCP" : "UDP"; +#ifdef SO_ORIGINAL_DST /* Extract "original" destination addr:port * from Linux firewall. Useful when you redirect * an outbond connection to local handler, and it needs @@ -473,6 +477,7 @@ int tcpudpsvd_main(int argc UNUSED_PARAM, char **argv) xsetenv_plain("TCPORIGDSTADDR", addr); free(addr); } +#endif xsetenv_plain("PROTO", proto); xsetenv_proto(proto, "LOCALADDR", local_addr); xsetenv_proto(proto, "REMOTEADDR", remote_addr); -- cgit v1.2.3