]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Interworking: Allow EAP-FAST to be used
authorJouni Malinen <j@w1.fi>
Thu, 26 Dec 2013 11:48:35 +0000 (13:48 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 26 Dec 2013 14:55:45 +0000 (16:55 +0200)
This behaves like PEAP as far as Interworking network selection is
concerned.

Signed-hostap: Jouni Malinen <j@w1.fi>

wpa_supplicant/interworking.c

index 93652d8fc2f26edc0cb865c3d945add112d20f5d..9f8842bbd84507f91caa9cc7b67ed8a87d6101aa 100644 (file)
@@ -520,12 +520,13 @@ static int nai_realm_cred_username(struct nai_realm_eap *eap)
        if (eap_get_name(EAP_VENDOR_IETF, eap->method) == NULL)
                return 0; /* method not supported */
 
-       if (eap->method != EAP_TYPE_TTLS && eap->method != EAP_TYPE_PEAP) {
+       if (eap->method != EAP_TYPE_TTLS && eap->method != EAP_TYPE_PEAP &&
+           eap->method != EAP_TYPE_FAST) {
                /* Only tunneled methods with username/password supported */
                return 0;
        }
 
-       if (eap->method == EAP_TYPE_PEAP) {
+       if (eap->method == EAP_TYPE_PEAP || eap->method == EAP_TYPE_FAST) {
                if (eap->inner_method &&
                    eap_get_name(EAP_VENDOR_IETF, eap->inner_method) == NULL)
                        return 0;
@@ -1416,6 +1417,13 @@ int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
                }
                break;
        case EAP_TYPE_PEAP:
+       case EAP_TYPE_FAST:
+               if (wpa_config_set(ssid, "phase1", "\"fast_provisioning=2\"",
+                                  0) < 0)
+                       goto fail;
+               if (wpa_config_set(ssid, "pac_file",
+                                  "\"blob://pac_interworking\"", 0) < 0)
+                       goto fail;
                os_snprintf(buf, sizeof(buf), "\"auth=%s\"",
                            eap_get_name(EAP_VENDOR_IETF,
                                         eap->inner_method ?