Hi, I haven't subscribed to the list, so please reply with cc to me.
While reading connection tracking source code I noticed something that seems to be a bug (at least a potential one). In the init() function, in the file ip_conntrack_ftp.c, after each successful registration of a helper, the counter ports_c in incremented. This counter is declared static but is not used elsewhere in the file. I presume it should be used in the fini() function when unregistering previously registered helpers. Instead of unregistering ports_c helpers, the fini() function attempts to unregister as many helpers as it intended initially to register. But in case of a failed registration, the init() function calls fini() to clean things up. The same problem is present in ip_conntrack_irc.c and ip_nat_ftp.c. The fini() function in the ip_nat_irc.c file seems to make correct use of ports_c, though. Ignacy Gawedzki -- I used to have a sig, but I've stopped smoking now.