Add support to wpa_supplicant configuring eap_peer for client cert and CA
authorDavid Smith <dds@google.com>
Fri, 23 May 2008 07:55:30 +0000 (10:55 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 23 May 2008 07:55:30 +0000 (10:55 +0300)
cert on smartcard, plus handling phase2 auth with smartcard same as phase1.

wpa_supplicant/config.c
wpa_supplicant/config_file.c
wpa_supplicant/config_winreg.c

index 8d616bb..22255d9 100644 (file)
@@ -1296,6 +1296,11 @@ static const struct parse_data ssid_fields[] = {
        { STR_KEYe(pin) },
        { STRe(engine_id) },
        { STRe(key_id) },
+       { STRe(cert_id) },
+       { STRe(ca_cert_id) },
+       { STRe(key2_id) },
+       { STRe(cert2_id) },
+       { STRe(ca_cert2_id) },
        { INTe(engine) },
        { INT(eapol_flags) },
 #endif /* IEEE8021X_EAPOL */
@@ -1453,6 +1458,11 @@ static void eap_peer_config_free(struct eap_peer_config *eap)
        os_free(eap->pin);
        os_free(eap->engine_id);
        os_free(eap->key_id);
+       os_free(eap->cert_id);
+       os_free(eap->ca_cert_id);
+       os_free(eap->key2_id);
+       os_free(eap->cert2_id);
+       os_free(eap->ca_cert2_id);
        os_free(eap->otp);
        os_free(eap->pending_req_otp);
        os_free(eap->pac_file);
index fa39f64..ce9f0b6 100644 (file)
@@ -754,6 +754,11 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
        STR(pin);
        STR(engine_id);
        STR(key_id);
+       STR(cert_id);
+       STR(ca_cert_id);
+       STR(key2_id);
+       STR(cert2_id);
+       STR(ca_cert2_id);
        INTe(engine);
        INT_DEF(eapol_flags, DEFAULT_EAPOL_FLAGS);
 #endif /* IEEE8021X_EAPOL */
index 1f1e548..fe43d78 100644 (file)
@@ -766,6 +766,11 @@ static int wpa_config_write_network(HKEY hk, struct wpa_ssid *ssid, int id)
        STR(pin);
        STR(engine_id);
        STR(key_id);
+       STR(cert_id);
+       STR(ca_cert_id);
+       STR(key2_id);
+       STR(cert2_id);
+       STR(ca_cert2_id);
        INTe(engine);
        INT_DEF(eapol_flags, DEFAULT_EAPOL_FLAGS);
 #endif /* IEEE8021X_EAPOL */