Merge pull request #54 from RaspAP/workaround-nonASCII-ssid-names

Fix handling of non ASCII ssid names
This commit is contained in:
Bill Zimmerman
2021-11-24 16:59:18 +01:00
committed by GitHub
7 changed files with 27 additions and 7 deletions

View File

@@ -20,6 +20,7 @@ function knownWifiStations(&$networks)
switch (strtolower($lineArr[0])) {
case 'ssid':
$ssid = trim($lineArr[1], '"');
$ssid = str_replace('P"','',$ssid);
$network['ssid'] = $ssid;
break;
case 'psk':
@@ -80,7 +81,6 @@ function nearbyWifiStations(&$networks, $cached = true)
$arrNetwork = preg_split("/[\t]+/", $network); // split result into array
$ssid = trim($arrNetwork[4]);
$ssid = evalHexSequence($ssid);
// exclude raspap ssid
if (empty($ssid) || $ssid == $ap_ssid) {
@@ -125,7 +125,7 @@ function connectedWifiStations(&$networks)
exec('iwconfig ' .$_SESSION['wifi_client_interface'], $iwconfig_return);
foreach ($iwconfig_return as $line) {
if (preg_match('/ESSID:\"([^"]+)\"/i', $line, $iwconfig_ssid)) {
$networks[$iwconfig_ssid[1]]['connected'] = true;
$networks[hexSequence2lower($iwconfig_ssid[1])]['connected'] = true;
}
}
}
@@ -189,3 +189,12 @@ function reinitializeWPA($force)
return $result;
}
/*
* Replace escaped bytes (hex) by binary - assume UTF8 encoding
*
* @param string $ssid
*/
function ssid2utf8($ssid) {
return evalHexSequence($ssid);
}