From 61b2ed701291e0240ec9172b75a50cd7e94e3508 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 16 Feb 2012 16:32:56 +0200 Subject: [PATCH] Interworking: Use anonymous NAI in EAP-TTLS Phase 1 Signed-hostap: Jouni Malinen --- wpa_supplicant/interworking.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c index 572e2ed7c..e3c7cc21b 100644 --- a/wpa_supplicant/interworking.c +++ b/wpa_supplicant/interworking.c @@ -690,6 +690,31 @@ int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss) eap->method), 0) < 0) goto fail; + if (eap->method == EAP_TYPE_TTLS && + wpa_s->conf->home_username && wpa_s->conf->home_username[0]) { + const char *pos; + char *anon; + /* Use anonymous NAI in Phase 1 */ + pos = os_strchr(wpa_s->conf->home_username, '@'); + if (pos) { + size_t buflen = 9 + os_strlen(pos) + 1; + anon = os_malloc(buflen); + if (anon == NULL) + goto fail; + os_snprintf(anon, buflen, "anonymous%s", pos); + } else { + anon = os_strdup("anonymous"); + if (anon == NULL) + goto fail; + } + if (wpa_config_set_quoted(ssid, "anonymous_identity", anon) < + 0) { + os_free(anon); + goto fail; + } + os_free(anon); + } + if (wpa_s->conf->home_username && wpa_s->conf->home_username[0] && wpa_config_set_quoted(ssid, "identity", wpa_s->conf->home_username) < 0)