Fix: handle 64 char passkey in absence of 8-63 char passhprase

This commit is contained in:
billz 2023-10-08 11:46:12 +02:00
parent 2ac5f94594
commit deac75af89
2 changed files with 9 additions and 3 deletions

View File

@ -77,6 +77,12 @@ function DisplayWPAConfig()
} }
} }
} }
} elseif (strlen($network['passphrase']) == 0 && strlen($network['passkey']) == 64) {
$line = "\tpsk=" . $network['passkey'];
fwrite($wpa_file, "network={".PHP_EOL);
fwrite($wpa_file, "\tssid=\"".$ssid."\"".PHP_EOL);
fwrite($wpa_file, $line.PHP_EOL);
fwrite($wpa_file, "}".PHP_EOL);
} else { } else {
$status->addMessage('WPA passphrase must be between 8 and 63 characters', 'danger'); $status->addMessage('WPA passphrase must be between 8 and 63 characters', 'danger');
$ok = false; $ok = false;

View File

@ -27,9 +27,9 @@ function knownWifiStations(&$networks)
$network['ssid'] = $ssid; $network['ssid'] = $ssid;
break; break;
case 'psk': case 'psk':
if (array_key_exists('passphrase', $network)) { $network['passkey'] = trim($lineArr[1]);
break; $network['protocol'] = 'WPA';
} break;
case '#psk': case '#psk':
$network['protocol'] = 'WPA'; $network['protocol'] = 'WPA';
case 'wep_key0': // Untested case 'wep_key0': // Untested