aboutsummaryrefslogtreecommitdiffstats
path: root/src/eap_server/eap_aka.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eap_server/eap_aka.c')
-rw-r--r--src/eap_server/eap_aka.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/eap_server/eap_aka.c b/src/eap_server/eap_aka.c
index df21a85..aba2c72 100644
--- a/src/eap_server/eap_aka.c
+++ b/src/eap_server/eap_aka.c
@@ -219,6 +219,14 @@ static struct wpabuf * eap_aka_build_identity(struct eap_sm *sm,
sm->identity_len)) {
wpa_printf(MSG_DEBUG, " AT_PERMANENT_ID_REQ");
eap_sim_msg_add(msg, EAP_SIM_AT_PERMANENT_ID_REQ, 0, NULL, 0);
+ } else {
+ /*
+ * RFC 4187, Chap. 4.1.4 recommends that identity from EAP is
+ * ignored and the AKA/Identity is used to request the
+ * identity.
+ */
+ wpa_printf(MSG_DEBUG, " AT_ANY_ID_REQ");
+ eap_sim_msg_add(msg, EAP_SIM_AT_ANY_ID_REQ, 0, NULL, 0);
}
buf = eap_sim_msg_finish(msg, NULL, NULL, 0);
if (eap_aka_add_id_msg(data, buf) < 0) {