Xinqi Bao's Git
projects
/
slstatus.git
/ diff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
b0401b1
)
wifi: fixed disconnected wifi status on openbsd
author
Tobias Tschinkowitz <
[email protected]
>
Thu, 31 May 2018 11:53:49 +0000
(13:53 +0200)
committer
Aaron Marcher <
[email protected]
>
Thu, 31 May 2018 13:10:04 +0000
(15:10 +0200)
components/wifi.c
diff
|
blob
|
history
diff --git
a/components/wifi.c
b/components/wifi.c
index
7815c86
..
3751ae3
100644
(file)
--- a/
components/wifi.c
+++ b/
components/wifi.c
@@
-109,6
+109,7
@@
{
struct ieee80211_bssid bssid;
int sockfd;
{
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));
memset(&bssid, 0, sizeof(bssid));
memset(nr, 0, sizeof(struct ieee80211_nodereq));
@@
-122,6
+123,12
@@
close(sockfd);
return 0;
}
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) {
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) {