diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2012-04-29 23:43:04 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2012-04-29 23:43:04 +0200 |
commit | d5b8311d81719f90a8f8d7f0b85ad320b9d7a0cd (patch) | |
tree | 21f97e4d1a53d35ded02a35c6fd587265ddff897 /src/conntrack/grp_setter.c | |
parent | 096567100178c1f2d49b0d3e7764e665d547c3fa (diff) |
conntrack: fix new ATTR_GRP_[ORIG|REPL]_ADDR_[SRC|DST]
The previous patch was incomplete. This fixes several issues with
it like the IPV4 and IPV6 address are mutually exclusive, thus,
the getter operation works. No sane way to support the setter
operation correctly, thus, it's been documented that it has no
effect.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/conntrack/grp_setter.c')
-rw-r--r-- | src/conntrack/grp_setter.c | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/src/conntrack/grp_setter.c b/src/conntrack/grp_setter.c index b451eef..0cc5f18 100644 --- a/src/conntrack/grp_setter.c +++ b/src/conntrack/grp_setter.c @@ -138,34 +138,6 @@ static void set_attr_grp_master_port(struct nf_conntrack *ct, const void *value) ct->master.l4dst.all = this->dport; } -static void -set_attr_grp_orig_addr_src(struct nf_conntrack *ct, const void *value) -{ - const union nfct_attr_grp_addr *this = value; - memcpy(&ct->head.orig.src, &this->addr, sizeof(&ct->head.orig.src)); -} - -static void -set_attr_grp_orig_addr_dst(struct nf_conntrack *ct, const void *value) -{ - const union nfct_attr_grp_addr *this = value; - memcpy(&ct->head.orig.dst, &this->addr, sizeof(&ct->head.orig.src)); -} - -static void -set_attr_grp_repl_addr_src(struct nf_conntrack *ct, const void *value) -{ - const union nfct_attr_grp_addr *this = value; - memcpy(&ct->repl.src, &this->addr, sizeof(&ct->repl.src)); -} - -static void -set_attr_grp_repl_addr_dst(struct nf_conntrack *ct, const void *value) -{ - const union nfct_attr_grp_addr *this = value; - memcpy(&ct->repl.dst, &this->addr, sizeof(&ct->repl.dst)); -} - static void set_attr_grp_do_nothing(struct nf_conntrack *ct, const void *value) { } @@ -183,8 +155,8 @@ const set_attr_grp set_attr_grp_array[ATTR_GRP_MAX] = { [ATTR_GRP_MASTER_PORT] = set_attr_grp_master_port, [ATTR_GRP_ORIG_COUNTERS] = set_attr_grp_do_nothing, [ATTR_GRP_REPL_COUNTERS] = set_attr_grp_do_nothing, - [ATTR_GRP_ORIG_ADDR_SRC] = set_attr_grp_orig_addr_src, - [ATTR_GRP_ORIG_ADDR_DST] = set_attr_grp_orig_addr_dst, - [ATTR_GRP_REPL_ADDR_SRC] = set_attr_grp_repl_addr_src, - [ATTR_GRP_REPL_ADDR_DST] = set_attr_grp_repl_addr_dst, + [ATTR_GRP_ORIG_ADDR_SRC] = set_attr_grp_do_nothing, + [ATTR_GRP_ORIG_ADDR_DST] = set_attr_grp_do_nothing, + [ATTR_GRP_REPL_ADDR_SRC] = set_attr_grp_do_nothing, + [ATTR_GRP_REPL_ADDR_DST] = set_attr_grp_do_nothing, }; |