diff options
author | Jan Engelhardt <jengelh@medozas.de> | 2011-05-13 01:13:35 +0200 |
---|---|---|
committer | Jan Engelhardt <jengelh@medozas.de> | 2011-05-13 02:00:02 +0200 |
commit | 9bfedca6347c2e079e569954197777813f4ef2fb (patch) | |
tree | e6bd779b4320908a63f1ee0c57938533a9059434 /extensions/libxt_conntrack.c | |
parent | fe9922cb4f1fb75072970dd09605fdc056b96195 (diff) |
libxt_conntrack: resolve erroneous rev-2 port range message
--ctorigdstport 13
ip6tables-restore v1.4.10: conntrack rev 2 does not support port ranges
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'extensions/libxt_conntrack.c')
-rw-r--r-- | extensions/libxt_conntrack.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/extensions/libxt_conntrack.c b/extensions/libxt_conntrack.c index 0262b019..ed0bd939 100644 --- a/extensions/libxt_conntrack.c +++ b/extensions/libxt_conntrack.c @@ -534,6 +534,10 @@ static void conntrack1_mt_parse(struct xt_option_call *cb) memset(&up, 0, sizeof(up)); cinfo_transform(&up, info); + up.origsrc_port_high = up.origsrc_port; + up.origdst_port_high = up.origdst_port; + up.replsrc_port_high = up.replsrc_port; + up.repldst_port_high = up.repldst_port; cb->data = &up; conntrack_mt_parse(cb, 3); if (up.origsrc_port != up.origsrc_port_high || @@ -556,6 +560,10 @@ static void conntrack2_mt_parse(struct xt_option_call *cb) memset(&up, 0, sizeof(up)); memcpy(&up, info, sizeof(*info)); + up.origsrc_port_high = up.origsrc_port; + up.origdst_port_high = up.origdst_port; + up.replsrc_port_high = up.replsrc_port; + up.repldst_port_high = up.repldst_port; cb->data = &up; conntrack_mt_parse(cb, 3); if (up.origsrc_port != up.origsrc_port_high || |