From 12e1ac58c3f4728079a9d5053c5d1fc722df2b8c Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Wed, 23 Dec 2009 13:57:45 +0100 Subject: [PATCH] Convert the network EAP string to uppercase wpa_supplicant only understands upper case string for the EAP definitions. --- plugins/supplicant.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/supplicant.c b/plugins/supplicant.c index 3aa629d..c90439b 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -918,6 +918,7 @@ static int set_network(struct supplicant_task *task, } else if (g_ascii_strcasecmp(security, "ieee8021x") == 0) { struct connman_network *network = task->network; const char *key_mgmt = "WPA-EAP", *eap, *identity; + char *eap_value; /* * If our private key password is unset, @@ -963,15 +964,21 @@ static int set_network(struct supplicant_task *task, goto invalid; } + /* wpa_supplicant only accepts upper case EAPs */ + eap_value = g_ascii_strup(eap, -1); + connman_dbus_dict_append_basic(&dict, "key_mgmt", DBUS_TYPE_STRING, &key_mgmt); connman_dbus_dict_append_basic(&dict, "eap", - DBUS_TYPE_STRING, &eap); + DBUS_TYPE_STRING, + &eap_value); connman_dbus_dict_append_basic(&dict, "identity", DBUS_TYPE_STRING, &identity); + g_free(eap_value); + } else if (g_ascii_strcasecmp(security, "wep") == 0) { const char *key_mgmt = "NONE"; const char *auth_alg = "OPEN"; -- 2.7.4