From 8e8e97d10de8e7931d42a02c87536714749ee1c3 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 18 Oct 2013 09:38:01 +0200 Subject: kernel-netlink: Check existence of linux/fib_rules.h, don't include it in distribution This reverts commit b0761f1f0a5abd225edc291c8285f99a538e6a66. --- src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c') diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c b/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c index 04dc22c00..d27075082 100644 --- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c +++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c @@ -44,7 +44,9 @@ #include #include #include +#ifdef HAVE_LINUX_FIB_RULES_H #include +#endif #include "kernel_netlink_net.h" #include "kernel_netlink_shared.h" @@ -2098,7 +2100,6 @@ static status_t manage_rule(private_kernel_netlink_net_t *this, int nlmsg_type, struct rtmsg *msg; chunk_t chunk; char *fwmark; - mark_t mark; memset(&request, 0, sizeof(request)); hdr = (struct nlmsghdr*)request; @@ -2124,6 +2125,9 @@ static status_t manage_rule(private_kernel_netlink_net_t *this, int nlmsg_type, "%s.plugins.kernel-netlink.fwmark", NULL, hydra->daemon); if (fwmark) { +#ifdef HAVE_LINUX_FIB_RULES_H + mark_t mark; + if (fwmark[0] == '!') { msg->rtm_flags |= FIB_RULE_INVERT; @@ -2136,6 +2140,9 @@ static status_t manage_rule(private_kernel_netlink_net_t *this, int nlmsg_type, chunk = chunk_from_thing(mark.mask); netlink_add_attribute(hdr, FRA_FWMASK, chunk, sizeof(request)); } +#else + DBG1(DBG_KNL, "setting firewall mark on routing rule is not supported"); +#endif } return this->socket->send_ack(this->socket, hdr); } -- cgit v1.2.3