diff options
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> | 2008-02-09 20:28:50 +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> | 2008-02-09 20:28:50 +0000 |
commit | ef56ba7fa2103984eefce9eb01227feab6fa2898 (patch) | |
tree | 899de5a5ea41d21b409478165675f0c485734dae /src/build.c | |
parent | 7784ef33db4361269afe9b302fa9dbb4a65aaf35 (diff) | |
download | conntrack-tools-ef56ba7fa2103984eefce9eb01227feab6fa2898.tar.gz conntrack-tools-ef56ba7fa2103984eefce9eb01227feab6fa2898.zip |
add missing bits for NAT sequence adjusment support
Diffstat (limited to 'src/build.c')
-rw-r--r-- | src/build.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/build.c b/src/build.c index d6c8837..6363458 100644 --- a/src/build.c +++ b/src/build.c @@ -146,6 +146,20 @@ void build_netpld(struct nf_conntrack *ct, struct netpld *pld, int query) __nat_build_u16(data, pld, ATTR_DNAT_PORT); } + /* NAT sequence adjustment */ + if (nfct_attr_is_set(ct, ATTR_ORIG_NAT_SEQ_CORRECTION_POS)) + __build_u32(ct, pld, ATTR_ORIG_NAT_SEQ_CORRECTION_POS); + if (nfct_attr_is_set(ct, ATTR_ORIG_NAT_SEQ_OFFSET_BEFORE)) + __build_u32(ct, pld, ATTR_ORIG_NAT_SEQ_OFFSET_BEFORE); + if (nfct_attr_is_set(ct, ATTR_ORIG_NAT_SEQ_OFFSET_AFTER)) + __build_u32(ct, pld, ATTR_ORIG_NAT_SEQ_OFFSET_AFTER); + if (nfct_attr_is_set(ct, ATTR_REPL_NAT_SEQ_CORRECTION_POS)) + __build_u32(ct, pld, ATTR_REPL_NAT_SEQ_CORRECTION_POS); + if (nfct_attr_is_set(ct, ATTR_REPL_NAT_SEQ_OFFSET_BEFORE)) + __build_u32(ct, pld, ATTR_REPL_NAT_SEQ_OFFSET_BEFORE); + if (nfct_attr_is_set(ct, ATTR_REPL_NAT_SEQ_OFFSET_AFTER)) + __build_u32(ct, pld, ATTR_REPL_NAT_SEQ_OFFSET_AFTER); + pld->query = query; PLD_HOST2NETWORK(pld); |