1
0
mirror of https://github.com/billz/raspap-webgui.git synced 2023-10-10 13:37:24 +02:00

Update fallback static profile, subnet mask

This commit is contained in:
billz 2020-11-30 12:09:22 +00:00
parent 2ff8f6f179
commit 5cc7794cb0

View File

@ -110,8 +110,13 @@ function ValidateDHCPInput()
if (!filter_var($_POST['StaticIP'], FILTER_VALIDATE_IP) && !empty($_POST['StaticIP'])) { if (!filter_var($_POST['StaticIP'], FILTER_VALIDATE_IP) && !empty($_POST['StaticIP'])) {
$errors .= _('Invalid static IP address.').'<br />'.PHP_EOL; $errors .= _('Invalid static IP address.').'<br />'.PHP_EOL;
} }
if (!filter_var($_POST['DefaultGateway'], FILTER_VALIDATE_IP)) { if (!filter_var($_POST['SubnetMask'], FILTER_VALIDATE_IP) && !empty($_POST['SubnetMask'])) {
$errors .= _('Invalid subnet mask.').'<br />'.PHP_EOL;
}
if (!filter_var($_POST['DefaultGateway'], FILTER_VALIDATE_IP) && !empty($_POST['DefaultGateway'])) {
$errors .= _('Invalid default gateway.').'<br />'.PHP_EOL; $errors .= _('Invalid default gateway.').'<br />'.PHP_EOL;
var_dump($_POST['DefaultGateway']);
die();
} }
if (($_POST['dhcp-iface'] == "1")) { if (($_POST['dhcp-iface'] == "1")) {
if (!filter_var($_POST['RangeStart'], FILTER_VALIDATE_IP) && !empty($_POST['RangeStart'])) { if (!filter_var($_POST['RangeStart'], FILTER_VALIDATE_IP) && !empty($_POST['RangeStart'])) {
@ -186,7 +191,9 @@ function UpdateDHCPConfig($iface,$status)
{ {
$cfg[] = '# RaspAP '.$iface.' configuration'; $cfg[] = '# RaspAP '.$iface.' configuration';
$cfg[] = 'interface '.$iface; $cfg[] = 'interface '.$iface;
$cfg[] = 'static ip_address='.$_POST['StaticIP']; if (isset($_POST['StaticIP'])) {
$cfg[] = 'static ip_address='.$_POST['StaticIP'].'/'.mask2cidr($_POST['SubnetMask']);
}
if (isset($_POST['DefaultGateway'])) { if (isset($_POST['DefaultGateway'])) {
$cfg[] = 'static routers='.$_POST['DefaultGateway']; $cfg[] = 'static routers='.$_POST['DefaultGateway'];
} }
@ -197,7 +204,8 @@ function UpdateDHCPConfig($iface,$status)
$cfg[] = 'metric '.$_POST['Metric']; $cfg[] = 'metric '.$_POST['Metric'];
} }
if ($_POST['Fallback'] == 1) { if ($_POST['Fallback'] == 1) {
$cfg[] = 'fallback static_'.$iface; $cfg[] = 'profile static_'.$iface;
$cfg[] = 'fallback static_'.$iface;
} }
$dhcp_cfg = file_get_contents(RASPI_DHCPCD_CONFIG); $dhcp_cfg = file_get_contents(RASPI_DHCPCD_CONFIG);
if (!preg_match('/^$\s*\z/m', $dhcp_cfg) && !preg_match('/^interface\s'.$iface.'$/m', $dhcp_cfg)) { if (!preg_match('/^$\s*\z/m', $dhcp_cfg) && !preg_match('/^interface\s'.$iface.'$/m', $dhcp_cfg)) {