aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorCarolin Latze <carolin.latze@unifr.ch>2008-11-18 14:53:32 (GMT)
committerJouni Malinen <j@w1.fi>2008-11-18 14:53:32 (GMT)
commit98842d51ec1d4c6b124774b2c2fdaa6b312a1dc0 (patch)
tree1d2e93d192679298449470070b73dd3850d1cb7c /wpa_supplicant
parent9ef21b2fef7d32ee55d7ef00b867ea08dcf05cfb (diff)
downloadhostap-06-98842d51ec1d4c6b124774b2c2fdaa6b312a1dc0.zip
hostap-06-98842d51ec1d4c6b124774b2c2fdaa6b312a1dc0.tar.gz
hostap-06-98842d51ec1d4c6b124774b2c2fdaa6b312a1dc0.tar.bz2
Separate OpenSSL engine configuration for Phase 2
I fixed the engine issue in phase2 of EAP-TTLS. The problem was that you only defined one engine variable, which was read already in phase1. I defined some new variables: engine2 engine2_id pin2 and added support to read those in phase2 wheres all the engine variables without number are only read in phase1. That solved it and I am now able to use an engine also in EAP-TTLS phase2.
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/config.c5
-rw-r--r--wpa_supplicant/config_file.c3
-rw-r--r--wpa_supplicant/config_winreg.c3
3 files changed, 11 insertions, 0 deletions
diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
index 70b02c4..c95e7a0 100644
--- a/wpa_supplicant/config.c
+++ b/wpa_supplicant/config.c
@@ -1331,10 +1331,13 @@ static const struct parse_data ssid_fields[] = {
{ STRe(key_id) },
{ STRe(cert_id) },
{ STRe(ca_cert_id) },
+ { STR_KEYe(pin2) },
+ { STRe(engine2_id) },
{ STRe(key2_id) },
{ STRe(cert2_id) },
{ STRe(ca_cert2_id) },
{ INTe(engine) },
+ { INTe(engine2) },
{ INT(eapol_flags) },
#endif /* IEEE8021X_EAPOL */
{ FUNC_KEY(wep_key0) },
@@ -1497,6 +1500,8 @@ static void eap_peer_config_free(struct eap_peer_config *eap)
os_free(eap->key2_id);
os_free(eap->cert2_id);
os_free(eap->ca_cert2_id);
+ os_free(eap->pin2);
+ os_free(eap->engine2_id);
os_free(eap->otp);
os_free(eap->pending_req_otp);
os_free(eap->pac_file);
diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c
index 60650ae..359c5f1 100644
--- a/wpa_supplicant/config_file.c
+++ b/wpa_supplicant/config_file.c
@@ -758,9 +758,12 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
STR(cert_id);
STR(ca_cert_id);
STR(key2_id);
+ STR(pin2);
+ STR(engine2_id);
STR(cert2_id);
STR(ca_cert2_id);
INTe(engine);
+ INTe(engine2);
INT_DEF(eapol_flags, DEFAULT_EAPOL_FLAGS);
#endif /* IEEE8021X_EAPOL */
for (i = 0; i < 4; i++)
diff --git a/wpa_supplicant/config_winreg.c b/wpa_supplicant/config_winreg.c
index 9746727..4ec50f6 100644
--- a/wpa_supplicant/config_winreg.c
+++ b/wpa_supplicant/config_winreg.c
@@ -770,9 +770,12 @@ static int wpa_config_write_network(HKEY hk, struct wpa_ssid *ssid, int id)
STR(cert_id);
STR(ca_cert_id);
STR(key2_id);
+ STR(pin2);
+ STR(engine2_id);
STR(cert2_id);
STR(ca_cert2_id);
INTe(engine);
+ INTe(engine2);
INT_DEF(eapol_flags, DEFAULT_EAPOL_FLAGS);
#endif /* IEEE8021X_EAPOL */
for (i = 0; i < 4; i++)