summaryrefslogtreecommitdiff
path: root/src/devices
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2015-11-10 11:11:30 -0600
committerThomas Haller <thaller@redhat.com>2015-11-11 17:51:39 +0100
commitebe3320e62e6f4068467f2410b93be2a05ff6d53 (patch)
tree256721f2a19331882ea9497c018765303b9eee5f /src/devices
parentccc4b1dd548a4411ebfce1320cdb7aed58edafb9 (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.c2
-rw-r--r--src/devices/wifi/nm-wifi-ap.c5
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;