From de1fcdcc72be03559c922f67087597432a66d1e3 Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Wed, 12 Nov 2025 10:27:11 +0100 Subject: [PATCH] build: deprecate Wireless Extensions Wireless Extensions is the legacy, ioctl-based kernel interface used to configure Wi-Fi cards. It has been deprecated and replaced by the cfg80211/nl80211 API since 2007, as it doesn't support modern Wi-Fi encryption and technologies. Mark it as deprecated, so that we can get rid of some unmaintained and untested code in a future release. --- NEWS | 3 +++ meson.build | 6 +++++- meson_options.txt | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index f720a1bda6..ef3d01d025 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,9 @@ USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE! the 802.1X certificates and keys set in the connection. * Introduce a libnm function that can be used by VPN plugins to check user permissions on certificate and keys. +* The support for Wireless Extensions is deprecated and will be + removed in a future release. Wireless Extensions are now disabled by + default. ============================================= NetworkManager-1.56 diff --git a/meson.build b/meson.build index 606d8c7a19..0ff7acbcdc 100644 --- a/meson.build +++ b/meson.build @@ -333,7 +333,11 @@ enable_iwd = get_option('iwd') assert((not enable_iwd) or enable_wifi, 'Enabling iwd support requires Wi-Fi support as well') config_h.set10('WITH_IWD', enable_iwd) -enable_wext = get_option('wext') +wext = get_option('wext') +if wext == 'true' + error('Wireless Extensions support is deprecated and will be removed in the future. Use -Dwext=force to keep using it') +endif +enable_wext = (wext == 'force') config_h.set10('HAVE_WEXT', enable_wext) # Checks for libdl - on certain platforms its part of libc diff --git a/meson_options.txt b/meson_options.txt index 6b5674443b..c015538705 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -30,7 +30,7 @@ option('hostname_persist', type: 'combo', choices: ['default', 'suse', 'gentoo', option('libaudit', type: 'combo', choices: ['yes', 'yes-disabled-by-default', 'no'], value: 'yes', description: 'Build with audit daemon support. yes-disabled-by-default enables support, but disables it unless explicitly configured via NetworkManager.conf') # features -option('wext', type: 'boolean', value: true, description: 'Enable or disable Linux Wireless Extensions') +option('wext', type: 'combo', choices: ['true', 'false', 'force' ], value: 'false', description: 'Enable or disable Linux Wireless Extensions (deprecated). wext support will be removed in a future release, don\'t rely on this.') option('wifi', type: 'boolean', value: true, description: 'enable Wi-Fi support') option('iwd', type: 'boolean', value: false, description: 'enable iwd support (experimental)') option('ppp', type: 'boolean', value: true, description: 'enable PPP/PPPoE support')