From 0e62049339624107f4c85bacef7498bfa50fab16 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Tue, 7 Dec 2021 06:15:04 +0100 Subject: [PATCH] wifiNetworks() fix empty issue (mac OS) --- CHANGELOG.md | 1 + docs/history.html | 5 ++++ docs/index.html | 2 +- lib/wifi.js | 74 ++++++++++++++++++++++++----------------------- 4 files changed, 45 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e3e780..9584ecf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.9.17 | 2021-12-07 | `wifiNetworks()` fix empty issue (mac OS) | | 5.9.16 | 2021-12-05 | `wifiNetworks()` adaption for Apple silicon (mac OS) | | 5.9.15 | 2021-11-19 | `cpuCache()` fix (windows) | | 5.9.14 | 2021-11-17 | `versions()` python 2 monterey (deprecated warning) fix (mac OS) | diff --git a/docs/history.html b/docs/history.html index e99a8cc..b5d19d0 100644 --- a/docs/history.html +++ b/docs/history.html @@ -57,6 +57,11 @@ + + 5.9.17 + 2021-12-07 + wifiNetworks() fix empty issue (mac OS) + 5.9.16 2021-12-05 diff --git a/docs/index.html b/docs/index.html index 849d2e2..651b383 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.9.16
+
New Version: 5.9.17
diff --git a/lib/wifi.js b/lib/wifi.js index bdc5465..742c317 100644 --- a/lib/wifi.js +++ b/lib/wifi.js @@ -341,46 +341,48 @@ function getWifiNetworkListIw(iface) { */ function parseWifiDarwin(wifiObj) { const result = []; - wifiObj.forEach(function (wifiItem) { - const signalLevel = wifiItem.RSSI; - let security = []; - let wpaFlags = []; - if (wifiItem.WPA_IE) { - security.push('WPA'); - if (wifiItem.WPA_IE.IE_KEY_WPA_UCIPHERS) { - wifiItem.WPA_IE.IE_KEY_WPA_UCIPHERS.forEach(function (ciphers) { - if (ciphers === 0 && wpaFlags.indexOf('unknown/TKIP') === -1) { wpaFlags.push('unknown/TKIP'); } - if (ciphers === 2 && wpaFlags.indexOf('PSK/TKIP') === -1) { wpaFlags.push('PSK/TKIP'); } - if (ciphers === 4 && wpaFlags.indexOf('PSK/AES') === -1) { wpaFlags.push('PSK/AES'); } - }); + if (wifiObj) { + wifiObj.forEach(function (wifiItem) { + const signalLevel = wifiItem.RSSI; + let security = []; + let wpaFlags = []; + if (wifiItem.WPA_IE) { + security.push('WPA'); + if (wifiItem.WPA_IE.IE_KEY_WPA_UCIPHERS) { + wifiItem.WPA_IE.IE_KEY_WPA_UCIPHERS.forEach(function (ciphers) { + if (ciphers === 0 && wpaFlags.indexOf('unknown/TKIP') === -1) { wpaFlags.push('unknown/TKIP'); } + if (ciphers === 2 && wpaFlags.indexOf('PSK/TKIP') === -1) { wpaFlags.push('PSK/TKIP'); } + if (ciphers === 4 && wpaFlags.indexOf('PSK/AES') === -1) { wpaFlags.push('PSK/AES'); } + }); + } } - } - if (wifiItem.RSN_IE) { - security.push('WPA2'); - if (wifiItem.RSN_IE.IE_KEY_RSN_UCIPHERS) { - wifiItem.RSN_IE.IE_KEY_RSN_UCIPHERS.forEach(function (ciphers) { - if (ciphers === 0 && wpaFlags.indexOf('unknown/TKIP') === -1) { wpaFlags.push('unknown/TKIP'); } - if (ciphers === 2 && wpaFlags.indexOf('TKIP/TKIP') === -1) { wpaFlags.push('TKIP/TKIP'); } - if (ciphers === 4 && wpaFlags.indexOf('PSK/AES') === -1) { wpaFlags.push('PSK/AES'); } - }); + if (wifiItem.RSN_IE) { + security.push('WPA2'); + if (wifiItem.RSN_IE.IE_KEY_RSN_UCIPHERS) { + wifiItem.RSN_IE.IE_KEY_RSN_UCIPHERS.forEach(function (ciphers) { + if (ciphers === 0 && wpaFlags.indexOf('unknown/TKIP') === -1) { wpaFlags.push('unknown/TKIP'); } + if (ciphers === 2 && wpaFlags.indexOf('TKIP/TKIP') === -1) { wpaFlags.push('TKIP/TKIP'); } + if (ciphers === 4 && wpaFlags.indexOf('PSK/AES') === -1) { wpaFlags.push('PSK/AES'); } + }); + } } - } - result.push({ - ssid: wifiItem.SSID_STR, - bssid: wifiItem.BSSID, - mode: '', - channel: wifiItem.CHANNEL, - frequency: wifiFrequencyFromChannel(wifiItem.CHANNEL), - signalLevel: signalLevel ? parseInt(signalLevel, 10) : null, - quality: wifiQualityFromDB(signalLevel), - security, - wpaFlags, - rsnFlags: [] + result.push({ + ssid: wifiItem.SSID_STR, + bssid: wifiItem.BSSID, + mode: '', + channel: wifiItem.CHANNEL, + frequency: wifiFrequencyFromChannel(wifiItem.CHANNEL), + signalLevel: signalLevel ? parseInt(signalLevel, 10) : null, + quality: wifiQualityFromDB(signalLevel), + security, + wpaFlags, + rsnFlags: [] + + }); + wifiItem.BSSID; }); - wifiItem.BSSID; - - }); + } return result; } function wifiNetworks(callback) {