wifi-scripts: fix ieee80211w override for psk-sae/sae-mixed

The ucode wifi-scripts unconditionally set ieee80211w=1 for psk-sae
and eap-eap2 auth types, ignoring any user-configured value. This
caused ieee80211w=2 (MFP required) to be silently downgraded to 1
(MFP optional) when using sae-mixed encryption.

Change the logic to only set the default of 1 when ieee80211w is not
already configured by the user.

Fixes: https://github.com/openwrt/openwrt/issues/21751
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 1bbb60184d)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Felix Fietkau 2026-01-31 16:56:53 +00:00 committed by Hauke Mehrtens
parent ba7cb3771b
commit b99c19835c
2 changed files with 3 additions and 2 deletions

View file

@ -90,7 +90,8 @@ function iface_auth_type(config) {
}
if (config.auth_type in [ 'psk-sae', 'eap-eap2' ]) {
config.ieee80211w = 1;
if (!config.ieee80211w)
config.ieee80211w = 1;
if (config.rsn_override)
config.rsn_override_mfp = 2;
config.sae_require_mfp = 1;

View file

@ -60,7 +60,7 @@ function setup_sta(data, config) {
if (config.auth_type in [ 'sae', 'owe', 'eap2', 'eap192' ])
config.ieee80211w = 2;
else if (config.auth_type in [ 'psk-sae' ])
else if (config.auth_type in [ 'psk-sae' ] && !config.ieee80211w)
config.ieee80211w = 1;
if ((wildcard(data.htmode, 'EHT*') || wildcard(data.htmode, 'HE*')) &&
config.rsn_override)