diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2013-01-08 11:32:51 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2013-01-11 15:34:04 +0200 |
commit | b21b221772b4772ae3e9a885effda233cf79b997 (patch) | |
tree | 6f61964ffb7d5cecefe9bc998bc6d6eac5bdc9fb /gsupplicant | |
parent | c388d1adeb003f84a7439f8c53b3a159f6d2ffdd (diff) | |
download | connman-b21b221772b4772ae3e9a885effda233cf79b997.tar.gz connman-b21b221772b4772ae3e9a885effda233cf79b997.tar.bz2 connman-b21b221772b4772ae3e9a885effda233cf79b997.zip |
gsupplicant: Return max SSIDs to scan given by wpa_supplicant
Although it seems wpa_supplicant can handle 4 SSIDs in version 0.7.x
and 16 starting with 0.8.x, in practise this does not work. Return the
value reported without relying on wpa_supplicant internals to handle
the situation. In order for hidden scans to work properly, the minimum
value needs to be 1.
Diffstat (limited to 'gsupplicant')
-rw-r--r-- | gsupplicant/gsupplicant.h | 9 | ||||
-rw-r--r-- | gsupplicant/supplicant.c | 5 |
2 files changed, 2 insertions, 12 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 790cfedc..1b1fce25 100644 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -138,15 +138,6 @@ struct _GSupplicantSSID { typedef struct _GSupplicantSSID GSupplicantSSID; -/* - * Max number of SSIDs that can be scanned. - * In wpa_s 0.7x the limit is 4. - * In wps_s 0.8 or later it is 16. - * The value is only used if wpa_supplicant does not return any max limit - * for number of scannable SSIDs. - */ -#define WPAS_MAX_SCAN_SSIDS 4 - struct scan_ssid { unsigned char ssid[32]; uint8_t ssid_len; diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index d9dfdbb3..e298bb56 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -653,6 +653,8 @@ static void interface_capability(const char *key, DBusMessageIter *iter, dbus_int32_t max_scan_ssid; dbus_message_iter_get_basic(iter, &max_scan_ssid); + if (max_scan_ssid < 1) + max_scan_ssid = 1; interface->max_scan_ssids = max_scan_ssid; } else @@ -764,9 +766,6 @@ unsigned int g_supplicant_interface_get_max_scan_ssids( if (interface == NULL) return 0; - if (interface->max_scan_ssids == 0) - return WPAS_MAX_SCAN_SSIDS; - return interface->max_scan_ssids; } |