From 0f55d6e0a57cd01883e5637083c2b715438fc607 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Fri, 28 May 2021 15:02:36 +0200 Subject: [PATCH] dhcp: lock access like menu decides to show entry; closes #4406 --- src/www/services_dhcp.php | 4 +++- src/www/services_dhcpv6.php | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/www/services_dhcp.php b/src/www/services_dhcp.php index f46f4ac20..37d43de6d 100644 --- a/src/www/services_dhcp.php +++ b/src/www/services_dhcp.php @@ -101,7 +101,9 @@ $config_copy_fieldsnames = array('enable', 'staticarp', 'failover_peerip', 'fail if ($_SERVER['REQUEST_METHOD'] === 'GET') { // handle identifiers and action - if (!empty($_GET['if']) && !empty($config['interfaces'][$_GET['if']])) { + if (!empty($_GET['if']) && !empty($config['interfaces'][$_GET['if']]) && + isset($config['interfaces'][$_GET['if']]['enable']) && + is_ipaddr($config['interfaces'][$_GET['if']]['ipaddr'])) { $if = $_GET['if']; if (isset($_GET['pool']) && !empty($config['dhcpd'][$_GET['if']]['pool'][$_GET['pool']])) { $pool = $_GET['pool']; diff --git a/src/www/services_dhcpv6.php b/src/www/services_dhcpv6.php index 41af40bdf..d062df975 100644 --- a/src/www/services_dhcpv6.php +++ b/src/www/services_dhcpv6.php @@ -44,7 +44,10 @@ function reconfigure_dhcpd() if ($_SERVER['REQUEST_METHOD'] === 'GET') { // handle identifiers and action - if (!empty($_GET['if']) && !empty($config['interfaces'][$_GET['if']])) { + if (!empty($_GET['if']) && !empty($config['interfaces'][$_GET['if']]) && + isset($config['interfaces'][$_GET['if']]['enable']) && + (is_ipaddr($config['interfaces'][$_GET['if']]['ipaddrv6']) || + !empty($config['interfaces'][$_GET['if']]['dhcpd6track6allowoverride']))) { $if = $_GET['if']; } else { /* if no interface is provided this invoke is invalid */