Re: [PATCH 1/1] netfilter: Add helper array register/unregister functions

From: Liping Zhang
Date: Tue Jul 19 2016 - 20:51:29 EST


2016-07-18 11:39 GMT+08:00 <fgao@xxxxxxxxxx>:
> From: Gao Feng <fgao@xxxxxxxxxx>
>
> Add nf_ct_helper_init, nf_conntrack_helpers_register/unregister
> functions to enhance the conntrack helper codes.

I think this patch is breaking something ...

This irc:
> - if (ports[i] == IRC_PORT)
> - sprintf(irc[i].name, "irc");
> - else
> - sprintf(irc[i].name, "irc-%u", i);
> -
> - ret = nf_conntrack_helper_register(&irc[i]);
> + nf_ct_helper_init(&irc[i], AF_INET, IPPROTO_TCP, "irc",
> + IRC_PORT, ports[i], &irc_exp_policy, 0, 0,
> + help, NULL, THIS_MODULE);
> + }

This sip:
> - if (ports[i] == SIP_PORT)
> - sprintf(sip[i][j].name, "sip");
> - else
> - sprintf(sip[i][j].name, "sip-%u", i);

And this tftp:
> - if (ports[i] == TFTP_PORT)
> - sprintf(tftp[i][j].name, "tftp");
> - else
> - sprintf(tftp[i][j].name, "tftp-%u", i);

For example, if the user install the nf_conntrack_tftp module an
specify the ports to "69,10069",
then the helper name is "tftp" and "tftp-1".

But apply this patch, the helper name will be changed to "tftp" and
"tftp-10069", this may break the
existing iptables rules which used the helper match or CT target.

And this was already discussed at https://patchwork.ozlabs.org/patch/622238/