summaryrefslogtreecommitdiffstats
path: root/src/conntrack/parse.c
diff options
context:
space:
mode:
author/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2007-09-12 12:48:04 +0000
committer/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2007-09-12 12:48:04 +0000
commit59796dd29f54477fd5afa3083b3722b0e390fc23 (patch)
tree402d3ad278a6557210f9adff0174bf8f861862a6 /src/conntrack/parse.c
parentb8ea431f5620e8fb2b9f4ee9f8ce16fa423ab572 (diff)
add support for TCP flagssvn_t_libnetfilter_conntrack-0.0.82
Diffstat (limited to 'src/conntrack/parse.c')
-rw-r--r--src/conntrack/parse.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/conntrack/parse.c b/src/conntrack/parse.c
index db04789..9fbada4 100644
--- a/src/conntrack/parse.c
+++ b/src/conntrack/parse.c
@@ -160,6 +160,22 @@ static void __parse_protoinfo_tcp(const struct nfattr *attr,
*(u_int8_t *)NFA_DATA(tb[CTA_PROTOINFO_TCP_STATE-1]);
set_bit(ATTR_TCP_STATE, ct->set);
}
+
+ if (tb[CTA_PROTOINFO_TCP_FLAGS_ORIGINAL-1]) {
+ memcpy(&ct->protoinfo.tcp.flags[0],
+ NFA_DATA(tb[CTA_PROTOINFO_TCP_FLAGS_ORIGINAL-1]),
+ sizeof(u_int16_t));
+ set_bit(ATTR_TCP_FLAGS_ORIG, ct->set);
+ set_bit(ATTR_TCP_MASK_ORIG, ct->set);
+ }
+
+ if (tb[CTA_PROTOINFO_TCP_FLAGS_REPLY-1]) {
+ memcpy(&ct->protoinfo.tcp.flags[1],
+ NFA_DATA(tb[CTA_PROTOINFO_TCP_FLAGS_REPLY-1]),
+ sizeof(u_int16_t));
+ set_bit(ATTR_TCP_FLAGS_REPL, ct->set);
+ set_bit(ATTR_TCP_MASK_REPL, ct->set);
+ }
}
static void __parse_protoinfo(const struct nfattr *attr,