From 439cb93ce98ecc1d6a864d63d35baad9e761bb28 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 4 Oct 2011 18:46:51 +0200 Subject: [PATCH] Check for RTA_TABLE in configure. --- configure.in | 11 +++++++++++ .../plugins/kernel_netlink/kernel_netlink_net.c | 2 ++ 2 files changed, 13 insertions(+) diff --git a/configure.in b/configure.in index 1f6529c81..051b609b5 100644 --- a/configure.in +++ b/configure.in @@ -459,6 +459,17 @@ AC_TRY_COMPILE( [AC_MSG_RESULT([no])] ) +AC_MSG_CHECKING([for RTA_TABLE]) +AC_TRY_COMPILE( + [#include + #include + #include ], + [int rta_type = RTA_TABLE; + return rta_type;], + [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_RTA_TABLE])], + [AC_MSG_RESULT([no])] +) + AC_MSG_CHECKING([for gcc atomic operations]) AC_TRY_RUN( [ diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c b/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c index 9d67a6007..219657541 100644 --- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c +++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c @@ -933,12 +933,14 @@ static host_t *get_route(private_kernel_netlink_net_t *this, host_t *dest, rta_oif = *(u_int32_t*)RTA_DATA(rta); } break; +#ifdef HAVE_RTA_TABLE case RTA_TABLE: if (RTA_PAYLOAD(rta) == sizeof(rta_table)) { rta_table = *(u_int32_t*)RTA_DATA(rta); } break; +#endif /* HAVE_RTA_TABLE*/ } rta = RTA_NEXT(rta, rtasize); }