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)