]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
libxt_conntrack: resolve erroneous rev-2 port range message
authorJan Engelhardt <jengelh@medozas.de>
Thu, 12 May 2011 23:13:35 +0000 (01:13 +0200)
committerJan Engelhardt <jengelh@medozas.de>
Fri, 13 May 2011 00:00:02 +0000 (02:00 +0200)
  --ctorigdstport 13
ip6tables-restore v1.4.10: conntrack rev 2 does not support port ranges

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
extensions/libxt_conntrack.c

index 0262b0190404175cbfc1cf3b0f7884c6b6a66aa2..ed0bd9398819278afe378125c656d9f3724cf126 100644 (file)
@@ -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 ||