From 6cfee06bef722e99e7961c123000424c37550d6e Mon Sep 17 00:00:00 2001 From: Niraj Kumar Goit Date: Mon, 6 Aug 2018 17:16:13 +0530 Subject: [PATCH] Added config CAPI to get eap private-key file. Change-Id: I6377878c80cb06117edcb33d81412a0ba40a3464 Signed-off-by: Niraj Kumar Goit --- src/wifi_config.c | 25 +++++++++++++++++++++++++ src/wifi_internal.c | 2 ++ 2 files changed, 27 insertions(+) diff --git a/src/wifi_config.c b/src/wifi_config.c index a8e195b..c39fb42 100755 --- a/src/wifi_config.c +++ b/src/wifi_config.c @@ -60,6 +60,7 @@ EXPORT_API int wifi_manager_config_create(wifi_manager_h wifi, const char *name, h->eap_config->ca_cert = NULL; h->eap_config->client_cert = NULL; h->eap_config->private_key = NULL; + h->eap_config->private_key_password = NULL; h->eap_config->anonymous_identity = NULL; h->eap_config->identity = NULL; h->eap_config->subject_match = NULL; @@ -120,6 +121,7 @@ EXPORT_API int wifi_manager_config_clone(wifi_manager_config_h origin, wifi_mana h->eap_config->ca_cert = g_strdup(config->eap_config->ca_cert); h->eap_config->client_cert = g_strdup(config->eap_config->client_cert); h->eap_config->private_key = g_strdup(config->eap_config->private_key); + h->eap_config->private_key_password = g_strdup(config->eap_config->private_key_password); h->eap_config->anonymous_identity = g_strdup(config->eap_config->anonymous_identity); h->eap_config->identity = g_strdup(config->eap_config->identity); h->eap_config->subject_match = g_strdup(config->eap_config->subject_match); @@ -156,6 +158,7 @@ EXPORT_API int wifi_manager_config_destroy(wifi_manager_config_h config) g_free(h->eap_config->ca_cert); g_free(h->eap_config->client_cert); g_free(h->eap_config->private_key); + g_free(h->eap_config->private_key_password); g_free(h->eap_config->anonymous_identity); g_free(h->eap_config->identity); g_free(h->eap_config->subject_match); @@ -563,6 +566,28 @@ EXPORT_API int wifi_manager_config_set_eap_client_cert_file(wifi_manager_config_ return WIFI_MANAGER_ERROR_NONE; } +EXPORT_API int wifi_manager_config_get_eap_private_key_info(wifi_manager_config_h config, char **file) +{ + __NETWORK_CAPI_FUNC_ENTER__; + + CHECK_FEATURE_SUPPORTED(WIFI_FEATURE); + + wifi_config_s *h = (wifi_config_s *)config; + + if (_wifi_check_config_validity(config) == false || + h->eap_config == NULL || file == NULL) { + WIFI_LOG(WIFI_ERROR, "Invalid parameter"); //LCOV_EXCL_LINE + __NETWORK_CAPI_FUNC_EXIT__; //LCOV_EXCL_LINE + return WIFI_MANAGER_ERROR_INVALID_PARAMETER; //LCOV_EXCL_LINE + } + + *file = g_strdup(h->eap_config->private_key); + + __NETWORK_CAPI_FUNC_EXIT__; + + return WIFI_MANAGER_ERROR_NONE; +} + EXPORT_API int wifi_manager_config_set_eap_private_key_info(wifi_manager_config_h config, const char *file, const char *password) { diff --git a/src/wifi_internal.c b/src/wifi_internal.c index 1dfc6e7..55d158e 100755 --- a/src/wifi_internal.c +++ b/src/wifi_internal.c @@ -1527,6 +1527,7 @@ void config_free(gpointer data) g_free(h->eap_config->ca_cert); g_free(h->eap_config->client_cert); g_free(h->eap_config->private_key); + g_free(h->eap_config->private_key_password); g_free(h->eap_config->anonymous_identity); g_free(h->eap_config->identity); g_free(h->eap_config->subject_match); @@ -2871,6 +2872,7 @@ int _wifi_load_configurations(void) g_free(h->eap_config->ca_cert); g_free(h->eap_config->client_cert); g_free(h->eap_config->private_key); + g_free(h->eap_config->private_key_password); g_free(h->eap_config->anonymous_identity); g_free(h->eap_config->identity); g_free(h->eap_config->subject_match); -- 2.7.4