summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-01-05 02:48:43 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-01-05 02:48:43 +0100
commit2959459da0a3bc085abf1ec2a523b4e444a580a3 (patch)
treeb8108839c6f910cebc710e5079cfbf1c5ec401a6 /plugins
parent0cd6ba6351d71f1a6738dd4fb1acc78cbc007c79 (diff)
downloadconnman-2959459da0a3bc085abf1ec2a523b4e444a580a3.tar.gz
connman-2959459da0a3bc085abf1ec2a523b4e444a580a3.tar.bz2
connman-2959459da0a3bc085abf1ec2a523b4e444a580a3.zip
Detect changes in WiFi security setting
Diffstat (limited to 'plugins')
-rw-r--r--plugins/supplicant.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c
index 5672f379..159288b6 100644
--- a/plugins/supplicant.c
+++ b/plugins/supplicant.c
@@ -756,7 +756,7 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
struct connman_network *network;
DBusMessage *reply;
DBusMessageIter array, dict;
- char *temp = NULL;
+ char *security, *temp = NULL;
unsigned char strength;
unsigned int i;
@@ -840,6 +840,15 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
strength = result.quality;
+ if (result.has_rsn == TRUE)
+ security = "wpa2";
+ else if (result.has_wpa == TRUE)
+ security = "wpa";
+ else if (result.has_wep == TRUE)
+ security = "wep";
+ else
+ security = "none";
+
network = connman_device_get_network(task->device, temp);
if (network == NULL) {
const char *mode, *security;
@@ -858,16 +867,6 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
mode = (result.adhoc == TRUE) ? "adhoc" : "managed";
connman_network_set_string(network, "WiFi.Mode", mode);
- if (result.has_rsn == TRUE)
- security = "wpa2";
- else if (result.has_wpa == TRUE)
- security = "wpa";
- else if (result.has_wep == TRUE)
- security = "wep";
- else
- security = "none";
- connman_network_set_string(network, "WiFi.Security", security);
-
DBG("%s (%s %s) strength %d", result.identifier, mode,
security, strength);
@@ -879,6 +878,8 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
connman_network_set_uint8(network, "Strength", strength);
+ connman_network_set_string(network, "WiFi.Security", security);
+
done:
g_free(result.identifier);
g_free(result.ssid);