aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/interworking.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2013-10-20 09:10:53 (GMT)
committerJouni Malinen <j@w1.fi>2013-10-20 10:12:04 (GMT)
commite241b1b4f24d8cb4943e4f5abcc779532cc65ccd (patch)
tree649bf0e8935ae41648288ccae38065d48ab49ff7 /wpa_supplicant/interworking.c
parentdb13605816d4ab1e15a05129e3f30316dffad67a (diff)
downloadhostap-e241b1b4f24d8cb4943e4f5abcc779532cc65ccd.zip
hostap-e241b1b4f24d8cb4943e4f5abcc779532cc65ccd.tar.gz
hostap-e241b1b4f24d8cb4943e4f5abcc779532cc65ccd.tar.bz2
eap_proxy: Fix IMSI fetch for home vs. visited network determination
Use similar mechanism to CONFIG_PCSC=y case to set the IMSI and MNC length for eap_proxy. This allows automatic 3GPP realm comparison against the domain list. Signed-hostap: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'wpa_supplicant/interworking.c')
-rw-r--r--wpa_supplicant/interworking.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c
index ec3d6ce..ba2b2fd 100644
--- a/wpa_supplicant/interworking.c
+++ b/wpa_supplicant/interworking.c
@@ -1564,6 +1564,12 @@ int interworking_home_sp_cred(struct wpa_supplicant *wpa_s,
mnc_len = wpa_s->mnc_len;
}
#endif /* CONFIG_PCSC */
+#ifdef CONFIG_EAP_PROXY
+ else if (cred->pcsc && wpa_s->mnc_len > 0 && wpa_s->imsi[0]) {
+ imsi = wpa_s->imsi;
+ mnc_len = wpa_s->mnc_len;
+ }
+#endif /* CONFIG_EAP_PROXY */
if (domain_names &&
imsi && build_root_nai(nai, sizeof(nai), imsi, mnc_len, 0) == 0) {
realm = os_strchr(nai, '@');