From f11521d840551d192d259680888fb93bd9196825 Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Wed, 4 Dec 2024 13:49:50 +0900 Subject: [PATCH] Modified to support EAP in GetConfigPassphrase dbus method The dbus method that provides the existing wifi passphrase has been modified to support the EAP type as well. Change-Id: Idd9e2841e025cf2253c8035e9f57add845dac843 Signed-off-by: Jaehyun Kim --- src/wifi-config.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/wifi-config.c b/src/wifi-config.c index 88cda23..ab74512 100755 --- a/src/wifi-config.c +++ b/src/wifi-config.c @@ -628,6 +628,28 @@ static gboolean _set_field(const gchar *interface_name, return ret; } +static gchar *_check_passphrase_decryption(gchar *group_name, gchar *enc_pass) +{ + gchar *val = NULL; + gchar *security_type; + + __get_security_type(group_name, &security_type); + if (security_type == NULL) { + ERR("Fail to _get_security_type"); + return val; + } + + if (g_strcmp0(security_type, WIFI_SECURITY_NONE) == 0) + return val; + + if (g_strcmp0(security_type, WIFI_SECURITY_EAP) != 0) + val = _netconfig_decrypt_passphrase(enc_pass); + else + val = g_strdup(enc_pass); + + return val; +} + static gboolean _get_field(const gchar *interface_name, const gchar *config_id, const gchar *key, gchar **value) { @@ -657,7 +679,7 @@ static gboolean _get_field(const gchar *interface_name, } else if (g_strcmp0(key, WIFI_CONFIG_PASSPHRASE) == 0) { gchar *enc_pass = g_key_file_get_string(keyfile, group_name, WIFI_CONFIG_PASSPHRASE, NULL); if (enc_pass) { - val = _netconfig_decrypt_passphrase(enc_pass); + val = _check_passphrase_decryption(group_name, enc_pass); g_free(enc_pass); if (!val) -- 2.34.1