From d5b8311d81719f90a8f8d7f0b85ad320b9d7a0cd Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Sun, 29 Apr 2012 23:43:04 +0200 Subject: 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 --- src/conntrack/grp_setter.c | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) (limited to 'src/conntrack/grp_setter.c') 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, }; -- cgit v1.2.3