Browse Source

Interworking: Default to TTLS/MSCHAPv2 for NAI Realm list matching

If the AP does not advertize EAP parameters, default to TTLS/MSCHAPv2
when using username/password credentials.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen 12 years ago
parent
commit
2047e596ec
1 changed files with 7 additions and 1 deletions
  1. 7 1
      wpa_supplicant/interworking.c

+ 7 - 1
wpa_supplicant/interworking.c

@@ -522,7 +522,7 @@ static int nai_realm_cred_username(struct nai_realm_eap *eap)
 
 
 	if (eap->method == EAP_TYPE_TTLS) {
 	if (eap->method == EAP_TYPE_TTLS) {
 		if (eap->inner_method == 0 && eap->inner_non_eap == 0)
 		if (eap->inner_method == 0 && eap->inner_non_eap == 0)
-			return 0;
+			return 1; /* Assume TTLS/MSCHAPv2 is used */
 		if (eap->inner_method &&
 		if (eap->inner_method &&
 		    eap_get_name(EAP_VENDOR_IETF, eap->inner_method) == NULL)
 		    eap_get_name(EAP_VENDOR_IETF, eap->inner_method) == NULL)
 			return 0;
 			return 0;
@@ -1263,6 +1263,12 @@ int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
 					   0) < 0)
 					   0) < 0)
 				goto fail;
 				goto fail;
 			break;
 			break;
+		default:
+			/* EAP params were not set - assume TTLS/MSCHAPv2 */
+			if (wpa_config_set(ssid, "phase2", "\"auth=MSCHAPV2\"",
+					   0) < 0)
+				goto fail;
+			break;
 		}
 		}
 		break;
 		break;
 	case EAP_TYPE_PEAP:
 	case EAP_TYPE_PEAP: