aboutsummaryrefslogtreecommitdiffstats
path: root/src/eapol_supp
diff options
context:
space:
mode:
authorVidyullatha Kanchanapally <vkanchan@qti.qualcomm.com>2017-06-02 13:08:20 (GMT)
committerJouni Malinen <j@w1.fi>2017-06-06 00:42:32 (GMT)
commitb5db6e5dc4426c6c7c6c0a5468d80493fd299626 (patch)
treed5f1a107980ef2baa1a5d083bd2b067e6985aebc /src/eapol_supp
parent002087651478644070673f4db2ef4218f00ce6a1 (diff)
downloadhostap-b5db6e5dc4426c6c7c6c0a5468d80493fd299626.zip
hostap-b5db6e5dc4426c6c7c6c0a5468d80493fd299626.tar.gz
hostap-b5db6e5dc4426c6c7c6c0a5468d80493fd299626.tar.bz2
eap_proxy: Support multiple SIMs in get_imsi()
This allows the eap_proxy mechanism to be used with multiple SIMs by following the configured sim_num to index which SIM to use for when fetching the IMSI through eap_proxy. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'src/eapol_supp')
-rw-r--r--src/eapol_supp/eapol_supp_sm.c4
-rw-r--r--src/eapol_supp/eapol_supp_sm.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/src/eapol_supp/eapol_supp_sm.c b/src/eapol_supp/eapol_supp_sm.c
index 75c3429..8e4f0e4 100644
--- a/src/eapol_supp/eapol_supp_sm.c
+++ b/src/eapol_supp/eapol_supp_sm.c
@@ -2174,13 +2174,13 @@ int eapol_sm_failed(struct eapol_sm *sm)
#ifdef CONFIG_EAP_PROXY
-int eapol_sm_get_eap_proxy_imsi(void *ctx, char *imsi, size_t *len)
+int eapol_sm_get_eap_proxy_imsi(void *ctx, int sim_num, char *imsi, size_t *len)
{
struct eapol_sm *sm = ctx;
if (sm->eap_proxy == NULL)
return -1;
- return eap_proxy_get_imsi(sm->eap_proxy, imsi, len);
+ return eap_proxy_get_imsi(sm->eap_proxy, sim_num, imsi, len);
}
#endif /* CONFIG_EAP_PROXY */
diff --git a/src/eapol_supp/eapol_supp_sm.h b/src/eapol_supp/eapol_supp_sm.h
index 458d51d..a25c799 100644
--- a/src/eapol_supp/eapol_supp_sm.h
+++ b/src/eapol_supp/eapol_supp_sm.h
@@ -339,7 +339,8 @@ void eapol_sm_erp_flush(struct eapol_sm *sm);
struct wpabuf * eapol_sm_build_erp_reauth_start(struct eapol_sm *sm);
void eapol_sm_process_erp_finish(struct eapol_sm *sm, const u8 *buf,
size_t len);
-int eapol_sm_get_eap_proxy_imsi(void *ctx, char *imsi, size_t *len);
+int eapol_sm_get_eap_proxy_imsi(void *ctx, int sim_num, char *imsi,
+ size_t *len);
int eapol_sm_update_erp_next_seq_num(struct eapol_sm *sm, u16 next_seq_num);
int eapol_sm_get_erp_info(struct eapol_sm *sm, struct eap_peer_config *config,
const u8 **username, size_t *username_len,