mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-28 19:53:46 +00:00
add checks for netfilter's headers
This commit is contained in:
+10
@@ -79,6 +79,16 @@
|
||||
/* Define to 1 if you have the `socket' library (-lsocket). */
|
||||
#undef HAVE_LIBSOCKET
|
||||
|
||||
/* Define to 1 if you have the <linux/if.h> header file. */
|
||||
#undef HAVE_LINUX_IF_H
|
||||
|
||||
/* Define to 1 if you have the <linux/netfilter_ipv4.h> header file. */
|
||||
#undef HAVE_LINUX_NETFILTER_IPV4_H
|
||||
|
||||
/* Define to 1 if you have the <linux/netfilter_ipv6/ip6_tables.h> header
|
||||
file. */
|
||||
#undef HAVE_LINUX_NETFILTER_IPV6_IP6_TABLES_H
|
||||
|
||||
/* Define to 1 if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
|
||||
@@ -13290,6 +13290,35 @@ else
|
||||
as_fn_error $? "Missing MinGW headers" "$LINENO" 5
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
;;
|
||||
*-linux*)
|
||||
for ac_header in linux/if.h linux/netfilter_ipv4.h linux/netfilter_ipv6/ip6_tables.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
|
||||
#if HAVE_LIMITS_H
|
||||
#include <limits.h>
|
||||
#endif
|
||||
/* Netfilter ip(6)tables v1.4.0 has broken headers */
|
||||
#if HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#if HAVE_LINUX_IF_H
|
||||
#include <net/if.h>
|
||||
#endif
|
||||
|
||||
"
|
||||
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||
_ACEOF
|
||||
|
||||
else
|
||||
as_fn_error $? "Missing netfilter headers" "$LINENO" 5
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
;;
|
||||
|
||||
@@ -119,6 +119,23 @@ case $host in
|
||||
*-mingw*)
|
||||
AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h], [], [AC_MSG_ERROR([Missing MinGW headers])], [])
|
||||
;;
|
||||
*-linux*)
|
||||
dnl Checks for netfilter headers
|
||||
AC_CHECK_HEADERS([linux/if.h linux/netfilter_ipv4.h linux/netfilter_ipv6/ip6_tables.h],
|
||||
[], [AC_MSG_ERROR([Missing netfilter headers])],
|
||||
[[
|
||||
#if HAVE_LIMITS_H
|
||||
#include <limits.h>
|
||||
#endif
|
||||
/* Netfilter ip(6)tables v1.4.0 has broken headers */
|
||||
#if HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#if HAVE_LINUX_IF_H
|
||||
#include <net/if.h>
|
||||
#endif
|
||||
]])
|
||||
;;
|
||||
*)
|
||||
# These are POSIX-like systems using BSD-like sockets API.
|
||||
;;
|
||||
|
||||
@@ -60,6 +60,10 @@
|
||||
#define BUF_SIZE 2048
|
||||
#endif
|
||||
|
||||
#ifndef IP6T_SO_ORIGINAL_DST
|
||||
#define IP6T_SO_ORIGINAL_DST 80
|
||||
#endif
|
||||
|
||||
int getdestaddr(int fd, struct sockaddr_storage *destaddr)
|
||||
{
|
||||
socklen_t socklen = sizeof(*destaddr);
|
||||
|
||||
Reference in New Issue
Block a user