diff options
author | Dan Williams <dcbw@redhat.com> | 2015-11-10 11:11:30 -0600 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-11-11 17:51:39 +0100 |
commit | ebe3320e62e6f4068467f2410b93be2a05ff6d53 (patch) | |
tree | 256721f2a19331882ea9497c018765303b9eee5f /src/devices | |
parent | ccc4b1dd548a4411ebfce1320cdb7aed58edafb9 (diff) |
wifi: don't accept any BSSes with missing BSSIDs (rh #1276426)
The supplicant should never be sending us BSSes without BSSIDs.
https://bugzilla.redhat.com/show_bug.cgi?id=1276426
(cherry picked from commit 7cb323d92303df8c87d0c40c1c67b4d3a065275c)
Diffstat (limited to 'src/devices')
-rw-r--r-- | src/devices/wifi/nm-device-wifi.c | 2 | ||||
-rw-r--r-- | src/devices/wifi/nm-wifi-ap.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c index 57d0a9d293..6f63756cbf 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c @@ -1875,7 +1875,7 @@ supplicant_iface_new_bss_cb (NMSupplicantInterface *iface, merge_scanned_ap (self, ap); g_object_unref (ap); } else - _LOGW (LOGD_WIFI_SCAN, "invalid AP properties received"); + _LOGD (LOGD_WIFI_SCAN, "invalid AP properties received for %s", object_path); /* Remove outdated access points */ schedule_scanlist_cull (self); diff --git a/src/devices/wifi/nm-wifi-ap.c b/src/devices/wifi/nm-wifi-ap.c index 1485f4c107..72430021b6 100644 --- a/src/devices/wifi/nm-wifi-ap.c +++ b/src/devices/wifi/nm-wifi-ap.c @@ -476,9 +476,10 @@ nm_ap_new_from_properties (const char *supplicant_path, GVariant *properties) nm_ap_set_supplicant_path (ap, supplicant_path); - /* ignore APs with invalid BSSIDs */ + /* ignore APs with invalid or missing BSSIDs */ addr = nm_ap_get_address (ap); - if ( nm_utils_hwaddr_matches (addr, -1, bad_bssid1, ETH_ALEN) + if ( !addr + || nm_utils_hwaddr_matches (addr, -1, bad_bssid1, ETH_ALEN) || nm_utils_hwaddr_matches (addr, -1, bad_bssid2, ETH_ALEN)) { g_object_unref (ap); return NULL; |