From 1ecd2ada33fa6fad1046a30da80a34bbc2f968d3 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 3 Aug 2012 22:13:32 +0300 Subject: [PATCH] Interworking: Set key_mgmt parameter for the temporary network block Previously, this was left to the default (WPA-EAP WPA-PSK) value which could potentially result in unexpected behavior if an AP were to enable both WPA2-Enterprise and WPA2-Personal in the same BSS. While this is not really that likely for APs supporting Interworking, it is good to get the PSK option removed to avoid any issues with missing passphrase/PSK configuration parameter. Signed-hostap: Jouni Malinen --- wpa_supplicant/interworking.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c index 04a508db0..e0e209c0f 100644 --- a/wpa_supplicant/interworking.c +++ b/wpa_supplicant/interworking.c @@ -689,6 +689,9 @@ static int interworking_connect_3gpp(struct wpa_supplicant *wpa_s, os_memcpy(ssid->ssid, ie + 2, ie[1]); ssid->ssid_len = ie[1]; + if (wpa_config_set(ssid, "key_mgmt", "WPA-EAP", 0) < 0) + goto fail; + /* TODO: figure out whether to use EAP-SIM, EAP-AKA, or EAP-AKA' */ if (wpa_config_set(ssid, "eap", "SIM", 0) < 0) { wpa_printf(MSG_DEBUG, "EAP-SIM not supported"); @@ -947,6 +950,9 @@ static int interworking_connect_roaming_consortium( os_memcpy(ssid->ssid, ssid_ie + 2, ssid_ie[1]); ssid->ssid_len = ssid_ie[1]; + if (wpa_config_set(ssid, "key_mgmt", "WPA-EAP", 0) < 0) + goto fail; + if (cred->eap_method == NULL) { wpa_printf(MSG_DEBUG, "Interworking: No EAP method set for " "credential using roaming consortium"); @@ -1047,6 +1053,9 @@ int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss) os_memcpy(ssid->ssid, ie + 2, ie[1]); ssid->ssid_len = ie[1]; + if (wpa_config_set(ssid, "key_mgmt", "WPA-EAP", 0) < 0) + goto fail; + if (wpa_config_set(ssid, "eap", eap_get_name(EAP_VENDOR_IETF, eap->method), 0) < 0) goto fail;