OSDN Git Service

Accumulative patch from commit dc013f1e37df3462085cf01a13f0c432f146ad7a
[android-x86/external-wpa_supplicant_8.git] / src / eap_server / eap_server_aka.c
index 177b58d..469b9a0 100644 (file)
@@ -731,6 +731,17 @@ static void eap_aka_determine_identity(struct eap_sm *sm,
                return;
        }
 
+       if (((data->eap_method == EAP_TYPE_AKA_PRIME &&
+             username[0] == EAP_AKA_PRIME_REAUTH_ID_PREFIX) ||
+            (data->eap_method == EAP_TYPE_AKA &&
+             username[0] == EAP_AKA_REAUTH_ID_PREFIX)) &&
+           data->identity_round == 1) {
+               /* Remain in IDENTITY state for another round to request full
+                * auth identity since we did not recognize reauth id */
+               os_free(username);
+               return;
+       }
+
        if ((data->eap_method == EAP_TYPE_AKA_PRIME &&
             username[0] == EAP_AKA_PRIME_PSEUDONYM_PREFIX) ||
            (data->eap_method == EAP_TYPE_AKA &&