[PATCH] gsupplicant: MFP optional for WPA2-Personal
Michael Trimarchi <[email protected]> Mon, 12 May 2025 10:52:23 +0200
| Newsgroups | dev.linux.lists.connman |
|---|---|
| Message-ID | <[email protected]> |
From: "Dembianny, Sven (GDE-EDSD5)" <[email protected]> Previous MFP support was restricted to WPA3, however it is also possible to set MFP to mandatory on APs with WPA2. wpa_supplicant config: * WPA2-Personal: key_mgmt="WPA-PSK-SHA256" ; iee80211w=1 It is important that the default value of MFPC bit is 1 on the final-commercial version of the device. It is a mandatory WFA requirement. --- gsupplicant/supplicant.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index f3be9e7b..2ebfa2c6 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -4955,6 +4955,7 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid) add_network_security_ciphers(dict, ssid); break; case G_SUPPLICANT_SECURITY_PSK: + ieee80211w = G_SUPPLICANT_MFP_OPTIONAL; if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_SAE) { if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_PSK) { /* @@ -4962,15 +4963,16 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid) * WPA2-Personal (PSK) and WPA3-Personal (SAE) */ key_mgmt = "SAE WPA-PSK"; - ieee80211w = G_SUPPLICANT_MFP_OPTIONAL; } else { key_mgmt = "SAE"; ieee80211w = G_SUPPLICANT_MFP_REQUIRED; } - add_network_ieee80211w(dict, ssid, ieee80211w); + } else if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_PSK_256) { + key_mgmt = "WPA-PSK-SHA256"; } else { key_mgmt = "WPA-PSK"; } + add_network_ieee80211w(dict, ssid, ieee80211w); add_network_security_psk(dict, ssid); add_network_security_ciphers(dict, ssid); add_network_security_proto(dict, ssid); -- 2.43.0