wifi: fixed disconnected wifi status on openbsd
authorTobias Tschinkowitz <tobias@he4d.net>
Thu, 31 May 2018 11:53:49 +0000 (13:53 +0200)
committerAaron Marcher <me@drkhsh.at>
Thu, 31 May 2018 13:10:04 +0000 (15:10 +0200)
components/wifi.c

index 7815c868172d1382a4493ab0f2e86eca3018d6eb..3751ae3fa5702a306d04f0deaee0b497f9f66046 100644 (file)
        {
                struct ieee80211_bssid bssid;
                int sockfd;
+               uint8_t zero_bssid[IEEE80211_ADDR_LEN];
 
                memset(&bssid, 0, sizeof(bssid));
                memset(nr, 0, sizeof(struct ieee80211_nodereq));
                        close(sockfd);
                        return 0;
                }
+               memset(&zero_bssid, 0, sizeof(zero_bssid));
+               if (memcmp(bssid.i_bssid, zero_bssid,
+                   IEEE80211_ADDR_LEN) == 0) {
+                       close(sockfd);
+                       return 0;
+               }
                strlcpy(nr->nr_ifname, iface, sizeof(nr->nr_ifname));
                memcpy(&nr->nr_macaddr, bssid.i_bssid, sizeof(nr->nr_macaddr));
                if ((ioctl(sockfd, SIOCG80211NODE, nr)) < 0 && nr->nr_rssi) {