Fix SIM/USIM determination to support EAP-AKA'

Both EAP-AKA and EAP-AKA' use USIM. Without this change, use of real
USIM card for EAP-AKA' was not allowed to proceed, i.e., only the
software simulated USIM operations were supported.

Signed-hostap: Jouni Malinen <j@w1.fi>
intended-for: hostap-1
This commit is contained in:
Jouni Malinen 2012-05-05 14:19:13 +03:00
parent 5daba48ca7
commit 3d332fe75e

View file

@ -238,7 +238,8 @@ int wpa_supplicant_scard_init(struct wpa_supplicant *wpa_s,
if (eap->vendor == EAP_VENDOR_IETF) { if (eap->vendor == EAP_VENDOR_IETF) {
if (eap->method == EAP_TYPE_SIM) if (eap->method == EAP_TYPE_SIM)
sim = 1; sim = 1;
else if (eap->method == EAP_TYPE_AKA) else if (eap->method == EAP_TYPE_AKA ||
eap->method == EAP_TYPE_AKA_PRIME)
aka = 1; aka = 1;
} }
eap++; eap++;
@ -247,7 +248,9 @@ int wpa_supplicant_scard_init(struct wpa_supplicant *wpa_s,
if (eap_peer_get_eap_method(EAP_VENDOR_IETF, EAP_TYPE_SIM) == NULL) if (eap_peer_get_eap_method(EAP_VENDOR_IETF, EAP_TYPE_SIM) == NULL)
sim = 0; sim = 0;
if (eap_peer_get_eap_method(EAP_VENDOR_IETF, EAP_TYPE_AKA) == NULL) if (eap_peer_get_eap_method(EAP_VENDOR_IETF, EAP_TYPE_AKA) == NULL &&
eap_peer_get_eap_method(EAP_VENDOR_IETF, EAP_TYPE_AKA_PRIME) ==
NULL)
aka = 0; aka = 0;
if (!sim && !aka) { if (!sim && !aka) {