Fix: Add $wg boolean to ParseConfig()

This commit is contained in:
billz 2023-11-09 15:39:43 +00:00
parent e86e52f471
commit 0684c46b23
2 changed files with 15 additions and 7 deletions

View file

@ -435,18 +435,25 @@ function GetDistString($input, $string, $offset, $separator)
} }
/** /**
* * Parses a configuration file
* Options and values are mapped with "=" characters
* Optional $wg flag is used for parsing WireGuard .conf files
* @param array $arrConfig * @param array $arrConfig
* @param boolean $wg
* @return $config * @return $config
*/ */
function ParseConfig($arrConfig) function ParseConfig($arrConfig, $wg = false)
{ {
$config = array(); $config = array();
foreach ($arrConfig as $line) { foreach ($arrConfig as $line) {
$line = trim($line); $line = trim($line);
if ($line == "" || $line[0] == "#") { if ($line == "" || $line[0] == "#") {
if ($wg) {
$config[$option] = null; $config[$option] = null;
continue; continue;
} else {
continue;
}
} }
if (strpos($line, "=") !== false) { if (strpos($line, "=") !== false) {

View file

@ -8,6 +8,7 @@ require_once 'config.php';
function DisplayWireGuardConfig() function DisplayWireGuardConfig()
{ {
$status = new \RaspAP\Messages\StatusMessage; $status = new \RaspAP\Messages\StatusMessage;
$parseFlag = true;
if (!RASPI_MONITOR_ENABLED) { if (!RASPI_MONITOR_ENABLED) {
$optRules = $_POST['wgRules']; $optRules = $_POST['wgRules'];
$optConf = $_POST['wgCnfOpt']; $optConf = $_POST['wgCnfOpt'];
@ -37,7 +38,7 @@ function DisplayWireGuardConfig()
// fetch server config // fetch server config
exec('sudo cat '. RASPI_WIREGUARD_CONFIG, $return); exec('sudo cat '. RASPI_WIREGUARD_CONFIG, $return);
$conf = ParseConfig($return); $conf = ParseConfig($return, $parseFlag);
$wg_srvpubkey = exec('sudo cat '. RASPI_WIREGUARD_PATH .'wg-server-public.key', $return); $wg_srvpubkey = exec('sudo cat '. RASPI_WIREGUARD_PATH .'wg-server-public.key', $return);
$wg_srvport = ($conf['ListenPort'] == '') ? getDefaultNetValue('wireguard','server','ListenPort') : $conf['ListenPort']; $wg_srvport = ($conf['ListenPort'] == '') ? getDefaultNetValue('wireguard','server','ListenPort') : $conf['ListenPort'];
$wg_srvipaddress = ($conf['Address'] == '') ? getDefaultNetValue('wireguard','server','Address') : $conf['Address']; $wg_srvipaddress = ($conf['Address'] == '') ? getDefaultNetValue('wireguard','server','Address') : $conf['Address'];
@ -49,7 +50,7 @@ function DisplayWireGuardConfig()
// fetch client config // fetch client config
exec('sudo cat '. RASPI_WIREGUARD_PATH.'client.conf', $preturn); exec('sudo cat '. RASPI_WIREGUARD_PATH.'client.conf', $preturn);
$conf = ParseConfig($preturn); $conf = ParseConfig($preturn, $parseFlag);
$wg_pipaddress = ($conf['Address'] == '') ? getDefaultNetValue('wireguard','peer','Address') : $conf['Address']; $wg_pipaddress = ($conf['Address'] == '') ? getDefaultNetValue('wireguard','peer','Address') : $conf['Address'];
$wg_plistenport = ($conf['ListenPort'] == '') ? getDefaultNetValue('wireguard','peer','ListenPort') : $conf['ListenPort']; $wg_plistenport = ($conf['ListenPort'] == '') ? getDefaultNetValue('wireguard','peer','ListenPort') : $conf['ListenPort'];
$wg_pendpoint = ($conf['Endpoint'] == '') ? getDefaultNetValue('wireguard','peer','Endpoint') : $conf['Endpoint']; $wg_pendpoint = ($conf['Endpoint'] == '') ? getDefaultNetValue('wireguard','peer','Endpoint') : $conf['Endpoint'];