summaryrefslogtreecommitdiffstats
path: root/src/conntrack/parse.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2009-12-29 18:47:10 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2010-02-16 14:56:28 +0100
commitfb61c68dd0ba2e6ce98516ddbbd3b10638f4bcea (patch)
tree0ad4f9153439bd7cee3340dbe7c02fb2f3e3e0d4 /src/conntrack/parse.c
parent0d64ef303faf501398f0a241c3ab02855d8898b6 (diff)
src: add support for TCP window scale factor
This patch adds the missing bits to support the modification of the TCP window scale factor in a conntrack entry. The kernel support has been already there since 2.6.23. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/conntrack/parse.c')
-rw-r--r--src/conntrack/parse.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/conntrack/parse.c b/src/conntrack/parse.c
index bf72545..0e0cd58 100644
--- a/src/conntrack/parse.c
+++ b/src/conntrack/parse.c
@@ -200,6 +200,20 @@ static void __parse_protoinfo_tcp(const struct nfattr *attr,
set_bit(ATTR_TCP_STATE, ct->set);
}
+ if (tb[CTA_PROTOINFO_TCP_WSCALE_ORIGINAL-1]) {
+ memcpy(&ct->protoinfo.tcp.wscale[__DIR_ORIG],
+ NFA_DATA(tb[CTA_PROTOINFO_TCP_WSCALE_ORIGINAL-1]),
+ sizeof(u_int8_t));
+ set_bit(ATTR_TCP_WSCALE_ORIG, ct->set);
+ }
+
+ if (tb[CTA_PROTOINFO_TCP_WSCALE_REPLY-1]) {
+ memcpy(&ct->protoinfo.tcp.wscale[__DIR_REPL],
+ NFA_DATA(tb[CTA_PROTOINFO_TCP_WSCALE_REPLY-1]),
+ sizeof(u_int8_t));
+ set_bit(ATTR_TCP_WSCALE_REPL, 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]),