From c9983354fa65c835643f85567f57cc8e9992cd29 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Sun, 5 Feb 2012 01:30:22 +0100 Subject: expect: add NAT support This patch adds ATTR_EXP_NAT_TUPLE and ATTR_EXP_NAT_DIR attributes. Signed-off-by: Pablo Neira Ayuso --- src/expect/parse.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/expect/parse.c') diff --git a/src/expect/parse.c b/src/expect/parse.c index 8b6dd5f..5796072 100644 --- a/src/expect/parse.c +++ b/src/expect/parse.c @@ -89,4 +89,24 @@ void __parse_expect(const struct nlmsghdr *nlh, ntohl(*(u_int32_t *)NFA_DATA(cda[CTA_EXPECT_CLASS-1])); set_bit(ATTR_EXP_CLASS, exp->set); } + if (cda[CTA_EXPECT_NAT-1]) { + struct nfattr *tb[CTA_EXPECT_NAT_MAX]; + + nfnl_parse_nested(tb, CTA_EXPECT_NAT_MAX, + cda[CTA_EXPECT_NAT-1]); + + if (tb[CTA_EXPECT_NAT_TUPLE-1]) { + __parse_tuple(tb[CTA_EXPECT_NAT_TUPLE-1], + &exp->nat.orig, + __DIR_ORIG, + exp->nat.set); + set_bit(ATTR_EXP_NAT_TUPLE, exp->set); + } + if (tb[CTA_EXPECT_NAT_DIR-1]) { + exp->nat_dir = + ntohl(*((u_int32_t *) + NFA_DATA(tb[CTA_EXPECT_NAT_DIR-1]))); + set_bit(ATTR_EXP_NAT_DIR, exp->set); + } + } } -- cgit v1.2.3