diff options
author | Henri Bragge <henri.bragge@ixonos.com> | 2011-07-28 17:20:30 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-07-29 18:04:40 +0200 |
commit | a7407552a942dc85ab285fb80bedddb3cb2b1010 (patch) | |
tree | aaf07019970e08cfb1a61a6a3be0900cd1ab1f70 /src/network.c | |
parent | be131cf7aeac819b23a69d63cf70c41b8fea368c (diff) | |
download | connman-a7407552a942dc85ab285fb80bedddb3cb2b1010.tar.gz connman-a7407552a942dc85ab285fb80bedddb3cb2b1010.tar.bz2 connman-a7407552a942dc85ab285fb80bedddb3cb2b1010.zip |
service: Store agent provided credentials separately
Add new fields for agent provided identity/passphrase in service struct
(agent_identity/agent_passphrase) and network ("WiFi.AgentIdentity" and
"WiFi.AgentPassphrase").
Preparing these values in prepare_8021x() is left out because the same
thing is done in request_input_cb(), which is where the values always
come from.
Diffstat (limited to 'src/network.c')
-rw-r--r-- | src/network.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c index 41f9188d..b2177db8 100644 --- a/src/network.c +++ b/src/network.c @@ -63,8 +63,10 @@ struct connman_network { unsigned short channel; char *security; char *passphrase; + char *agent_passphrase; char *eap; char *identity; + char *agent_identity; char *ca_cert_path; char *client_cert_path; char *private_key_path; @@ -317,8 +319,10 @@ static void network_destruct(struct connman_network *network) g_free(network->wifi.mode); g_free(network->wifi.security); g_free(network->wifi.passphrase); + g_free(network->wifi.agent_passphrase); g_free(network->wifi.eap); g_free(network->wifi.identity); + g_free(network->wifi.agent_identity); g_free(network->wifi.ca_cert_path); g_free(network->wifi.client_cert_path); g_free(network->wifi.private_key_path); @@ -1550,12 +1554,18 @@ int connman_network_set_string(struct connman_network *network, } else if (g_str_equal(key, "WiFi.Passphrase") == TRUE) { g_free(network->wifi.passphrase); network->wifi.passphrase = g_strdup(value); + } else if (g_str_equal(key, "WiFi.AgentPassphrase") == TRUE) { + g_free(network->wifi.agent_passphrase); + network->wifi.agent_passphrase = g_strdup(value); } else if (g_str_equal(key, "WiFi.EAP") == TRUE) { g_free(network->wifi.eap); network->wifi.eap = g_strdup(value); } else if (g_str_equal(key, "WiFi.Identity") == TRUE) { g_free(network->wifi.identity); network->wifi.identity = g_strdup(value); + } else if (g_str_equal(key, "WiFi.AgentIdentity") == TRUE) { + g_free(network->wifi.agent_identity); + network->wifi.agent_identity = g_strdup(value); } else if (g_str_equal(key, "WiFi.CACertFile") == TRUE) { g_free(network->wifi.ca_cert_path); network->wifi.ca_cert_path = g_strdup(value); @@ -1605,10 +1615,14 @@ const char *connman_network_get_string(struct connman_network *network, return network->wifi.security; else if (g_str_equal(key, "WiFi.Passphrase") == TRUE) return network->wifi.passphrase; + else if (g_str_equal(key, "WiFi.AgentPassphrase") == TRUE) + return network->wifi.agent_passphrase; else if (g_str_equal(key, "WiFi.EAP") == TRUE) return network->wifi.eap; else if (g_str_equal(key, "WiFi.Identity") == TRUE) return network->wifi.identity; + else if (g_str_equal(key, "WiFi.AgentIdentity") == TRUE) + return network->wifi.agent_identity; else if (g_str_equal(key, "WiFi.CACertFile") == TRUE) return network->wifi.ca_cert_path; else if (g_str_equal(key, "WiFi.ClientCertFile") == TRUE) |