]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
dbus: Omit FT key mgmt capabilities without CONFIG_IEEE80211R
authorClemens Famulla-Conrad <cfamullaconrad@suse.de>
Sat, 25 Jun 2022 21:33:50 +0000 (23:33 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 16 Sep 2022 19:15:56 +0000 (22:15 +0300)
If wpa_supplicant was build without CONFIG_IEEE80211R, the
exposed key-management capabilities should not include one of the
FT protocols. If someone would use a FT protocol in such situation,
it would fail anyway.

Signed-off-by: Clemens Famulla-Conrad <cfamullaconrad@suse.de>
wpa_supplicant/dbus/dbus_new_handlers.c

index f170d110c58544d09dc8eb165f359784faaaedf4..26f7738d45c1b62b69c87ce27d94eac1dce1697f 100644 (file)
@@ -3135,11 +3135,15 @@ dbus_bool_t wpas_dbus_getter_capabilities(
                if (capa.key_mgmt & (WPA_DRIVER_CAPA_KEY_MGMT_WPA |
                                     WPA_DRIVER_CAPA_KEY_MGMT_WPA2)) {
                        if (!wpa_dbus_dict_string_array_add_element(
-                                   &iter_array, "wpa-eap") ||
-                           ((capa.key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_FT) &&
+                                   &iter_array, "wpa-eap"))
+                               goto nomem;
+
+#ifdef CONFIG_IEEE80211R
+                       if ((capa.key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_FT) &&
                             !wpa_dbus_dict_string_array_add_element(
-                                    &iter_array, "wpa-ft-eap")))
+                                    &iter_array, "wpa-ft-eap"))
                                goto nomem;
+#endif /* CONFIG_IEEE80211R */
 
 /* TODO: Ensure that driver actually supports sha256 encryption. */
                        if (!wpa_dbus_dict_string_array_add_element(
@@ -3150,12 +3154,16 @@ dbus_bool_t wpas_dbus_getter_capabilities(
                if (capa.key_mgmt & (WPA_DRIVER_CAPA_KEY_MGMT_WPA_PSK |
                                     WPA_DRIVER_CAPA_KEY_MGMT_WPA2_PSK)) {
                        if (!wpa_dbus_dict_string_array_add_element(
-                                   &iter_array, "wpa-psk") ||
-                           ((capa.key_mgmt &
+                                   &iter_array, "wpa-psk"))
+                               goto nomem;
+
+#ifdef CONFIG_IEEE80211R
+                       if ((capa.key_mgmt &
                              WPA_DRIVER_CAPA_KEY_MGMT_FT_PSK) &&
                             !wpa_dbus_dict_string_array_add_element(
-                                    &iter_array, "wpa-ft-psk")))
+                                    &iter_array, "wpa-ft-psk"))
                                goto nomem;
+#endif /* CONFIG_IEEE80211R */
 
 /* TODO: Ensure that driver actually supports sha256 encryption. */
                        if (!wpa_dbus_dict_string_array_add_element(