]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
netfilter: conntrack: add deprecation warnings for irc and pptp trackers
authorFlorian Westphal <fw@strlen.de>
Fri, 12 Jun 2026 06:03:50 +0000 (08:03 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 23 Jun 2026 11:10:34 +0000 (13:10 +0200)
IRC Direct client-to-client requires plaintext.  IRC over TLS should be
preferred, making this helper ineffective.  Add a deprecation warning and
update the help text to better reflect that this is needed for the DCC
extension, not IRC itself.

PPTP is esoteric these days and it is the only helper that requires the
destroy callback in the conntrack helper API.

Removal would simplify the conntrack core.

Both helpers are IPv4 only.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_conntrack_helper.h
net/netfilter/Kconfig
net/netfilter/nf_conntrack_irc.c
net/netfilter/nf_conntrack_pptp.c

index 81025101f86daa5328f991e4fdb743e48fe5974e..c761cd8158b2530f436ab117cd39b6c5b6524c9a 100644 (file)
@@ -114,6 +114,10 @@ int nf_conntrack_helpers_register(struct nf_conntrack_helper *, unsigned int,
 void nf_conntrack_helpers_unregister(struct nf_conntrack_helper **,
                                     unsigned int);
 
+#define nf_conntrack_helper_deprecated(name) \
+       pr_warn("The %s conntrack helper is scheduled for removal.\n"   \
+               "Please contact the netfilter-devel mailing list if you still need this.\n", name)
+
 struct nf_conn_help *nf_ct_helper_ext_add(struct nf_conn *ct, gfp_t gfp);
 
 int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
index 665f8008cc4b2774fbc7377112be84e99553f67d..4c04cd8d40a229ef1a4cc1471c053b338369f615 100644 (file)
@@ -256,8 +256,7 @@ config NF_CONNTRACK_H323
          To compile it as a module, choose M here.  If unsure, say N.
 
 config NF_CONNTRACK_IRC
-       tristate "IRC protocol support"
-       default m if NETFILTER_ADVANCED=n
+       tristate "IRC DCC protocol support (obsolete)"
        help
          There is a commonly-used extension to IRC called
          Direct Client-to-Client Protocol (DCC).  This enables users to send
@@ -267,6 +266,8 @@ config NF_CONNTRACK_IRC
          using NAT, this extension will enable you to send files and initiate
          chats.  Note that you do NOT need this extension to get files or
          have others initiate chats, or everything else in IRC.
+         DCC tracking behind NAT requires plaintext (unencrypted) IRC, so
+         this helper is of limited use these days.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
@@ -308,17 +309,17 @@ config NF_CONNTRACK_SNMP
          To compile it as a module, choose M here.  If unsure, say N.
 
 config NF_CONNTRACK_PPTP
-       tristate "PPtP protocol support"
+       tristate "PPtP protocol support (deprecated)"
        depends on NETFILTER_ADVANCED
        select NF_CT_PROTO_GRE
        help
          This module adds support for PPTP (Point to Point Tunnelling
          Protocol, RFC2637) connection tracking and NAT.
 
-         If you are running PPTP sessions over a stateful firewall or NAT
+         If you are still running PPTP sessions over a stateful firewall or NAT
          box, you may want to enable this feature.
 
-         Please note that not all PPTP modes of operation are supported yet.
+         Please note that not all PPTP modes of operation are supported.
          Specifically these limitations exist:
            - Blindly assumes that control connections are always established
              in PNS->PAC direction. This is a violation of RFC2637.
index 0c117b8492e992dbf0c2e312f35d011df6ca2826..193ab34db795f93b360c5e13d8313b3e02968d39 100644 (file)
@@ -262,6 +262,8 @@ static int __init nf_conntrack_irc_init(void)
 {
        int i, ret;
 
+       nf_conntrack_helper_deprecated(HELPER_NAME);
+
        if (max_dcc_channels < 1) {
                pr_err("max_dcc_channels must not be zero\n");
                return -EINVAL;
index 776505a78e645606bae9cebb63cb4664b1623925..80fc14c87ddc4b3d37fea006a8300e784a0f75d7 100644 (file)
@@ -545,6 +545,8 @@ static int __init nf_conntrack_pptp_init(void)
 
        pptp.destroy = gre_pptp_destroy_siblings;
 
+       nf_conntrack_helper_deprecated(pptp.name);
+
        return nf_conntrack_helper_register(&pptp, &pptp_ptr);
 }