diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-10-18 09:38:01 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-10-18 09:52:54 +0200 |
commit | 8e8e97d10de8e7931d42a02c87536714749ee1c3 (patch) | |
tree | 0a64afd678092c38c32fece1332877b0b4996055 /src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c | |
parent | 3ea7165a278e824798a0af30a6927849b104dd5f (diff) | |
download | strongswan-8e8e97d10de8e7931d42a02c87536714749ee1c3.tar.bz2 strongswan-8e8e97d10de8e7931d42a02c87536714749ee1c3.tar.xz |
kernel-netlink: Check existence of linux/fib_rules.h, don't include it in distribution
This reverts commit b0761f1f0a5abd225edc291c8285f99a538e6a66.
Diffstat (limited to 'src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c')
-rw-r--r-- | src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c | 9 |
1 files changed, 8 insertions, 1 deletions
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 <unistd.h> #include <errno.h> #include <net/if.h> +#ifdef HAVE_LINUX_FIB_RULES_H #include <linux/fib_rules.h> +#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); } |