diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2010-06-12 00:06:37 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-06-12 00:23:32 +0200 |
commit | e4f5b9b550075490e06ec78a6fcab50a10356078 (patch) | |
tree | 761370f9971ef1fb65e2b8287524aab126b4ce9b /plugins | |
parent | f47673a2f1e72cda5ca0b14418fce0b18667c9ca (diff) | |
download | connman-e4f5b9b550075490e06ec78a6fcab50a10356078.tar.gz connman-e4f5b9b550075490e06ec78a6fcab50a10356078.tar.bz2 connman-e4f5b9b550075490e06ec78a6fcab50a10356078.zip |
Prevent wpa_supplicant from automatically associating to our hidden blocks
wpa_supplicant will never match a network block with an invalid BSSID
and an actual scan results, and thus will not select the latter for
association.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/supplicant.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c index 156257ec..8fe3d638 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -368,6 +368,7 @@ static int set_hidden_network(struct supplicant_task *task, const char *netpath, DBusMessageIter array, dict; DBusError error; dbus_uint32_t scan_ssid = 1; + const char *invalid_address = "ff:ff:ff:ff:ff:ff"; message = dbus_message_new_method_call(SUPPLICANT_NAME, netpath, SUPPLICANT_INTF ".Network", "set"); @@ -386,6 +387,13 @@ static int set_hidden_network(struct supplicant_task *task, const char *netpath, connman_dbus_dict_append_fixed_array(&dict, "ssid", DBUS_TYPE_BYTE, &ssid, ssid_len); + /* + * We're setting an invalid BSSID to prevent wpa_s from associating + * automatically to this block once it's found. + */ + connman_dbus_dict_append_basic(&dict, "bssid", + DBUS_TYPE_STRING, &invalid_address); + connman_dbus_dict_close(&array, &dict); dbus_error_init(&error); |