summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2009-07-03 18:45:09 +0200
committerMarcel Holtmann <marcel@holtmann.org>2009-07-03 10:11:09 -0700
commit299c1c383072e28853f602d4e2bb1e509fa2924d (patch)
tree15de46cdfa68fdbf3df6a011f621942eec78e229 /plugins
parent959b5e1d3858649dd62b11700370162e6f0be6f1 (diff)
downloadconnman-299c1c383072e28853f602d4e2bb1e509fa2924d.tar.gz
connman-299c1c383072e28853f602d4e2bb1e509fa2924d.tar.bz2
connman-299c1c383072e28853f602d4e2bb1e509fa2924d.zip
Fix handling of WEP shared key
For WEP, we need to specify a list of allowed authentication algorithms. Without those, wpa_supplicant will tell the driver to use an open authtnetication only. But with this list of authentication algorithms, mac80211 based drivers will try each and every one of them until one succeeds. This way we can safely associate with open and shared key WEP networks. Note that non mac80211 drivers are on their own, but at least they will now be notified of the authentication algorithms we'd like to try.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/supplicant.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c
index d955f6f6..a9cc0562 100644
--- a/plugins/supplicant.c
+++ b/plugins/supplicant.c
@@ -747,9 +747,13 @@ static int set_network(struct supplicant_task *task,
DBUS_TYPE_STRING, &passphrase);
} else if (g_ascii_strcasecmp(security, "wep") == 0) {
const char *key_mgmt = "NONE", *index = "0";
+ const char *auth_alg = "OPEN SHARED";
connman_dbus_dict_append_variant(&dict, "key_mgmt",
DBUS_TYPE_STRING, &key_mgmt);
+ connman_dbus_dict_append_variant(&dict, "auth_alg",
+ DBUS_TYPE_STRING, &auth_alg);
+
if (passphrase) {
int size = strlen(passphrase);
if (size == 10 || size == 26) {