From: Jouni Malinen Date: Mon, 17 Dec 2012 21:27:15 +0000 (+0200) Subject: Interworking: Default to EAP-MSCHAPv2 with EAP-PEAP X-Git-Tag: hostap_2_0~52 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fhostap.git;a=commitdiff_plain;h=03c961e54267250a0f1a891296b78075fec67b2c Interworking: Default to EAP-MSCHAPv2 with EAP-PEAP If the NAI Realm list indicates that EAP-PEAP is used, use EAP-MSCHAPv2 as the Phase 2 method by default if the NAI Realm list does not specify the tunneled method. Signed-hostap: Jouni Malinen --- diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c index 64d6ae0ca..d26ca42b2 100644 --- a/wpa_supplicant/interworking.c +++ b/wpa_supplicant/interworking.c @@ -516,9 +516,14 @@ static int nai_realm_cred_username(struct nai_realm_eap *eap) return 0; } - if (eap->method == EAP_TYPE_PEAP && - eap_get_name(EAP_VENDOR_IETF, eap->inner_method) == NULL) - return 0; + if (eap->method == EAP_TYPE_PEAP) { + if (eap->inner_method && + eap_get_name(EAP_VENDOR_IETF, eap->inner_method) == NULL) + return 0; + if (!eap->inner_method && + eap_get_name(EAP_VENDOR_IETF, EAP_TYPE_MSCHAPV2) == NULL) + return 0; + } if (eap->method == EAP_TYPE_TTLS) { if (eap->inner_method == 0 && eap->inner_non_eap == 0) @@ -1294,7 +1299,10 @@ int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss) break; case EAP_TYPE_PEAP: os_snprintf(buf, sizeof(buf), "\"auth=%s\"", - eap_get_name(EAP_VENDOR_IETF, eap->inner_method)); + eap_get_name(EAP_VENDOR_IETF, + eap->inner_method ? + eap->inner_method : + EAP_TYPE_MSCHAPV2)); if (wpa_config_set(ssid, "phase2", buf, 0) < 0) goto fail; break;