diff --git a/scripts/pi-hole/php/savesettings.php b/scripts/pi-hole/php/savesettings.php index ad1b0eae..495bb076 100644 --- a/scripts/pi-hole/php/savesettings.php +++ b/scripts/pi-hole/php/savesettings.php @@ -234,6 +234,28 @@ function readAdlists() $extra .= "no-dnssec"; } + // Check if Conditional Forwarding is requested + if(isset($_POST["conditionalForwarding"])) + { + // Validate conditional forwarding IP + if (!validIP($_POST["conditionalForwardingIP"])) + { + $error .= "Conditional forwarding IP (".htmlspecialchars($_POST["conditionalForwardingIP"]).") is invalid!
"; + } + + // Validate conditional forwarding domain name + if(!validDomain($_POST["conditionalForwardingDomain"])) + { + $error .= "Conditional forwarding domain name (".htmlspecialchars($_POST["conditionalForwardingDomain"]).") is invalid!
"; + } + if(!$error) + { + $addressArray = explode(".", $_POST["conditionalForwardingIP"]); + $reverseAddress = $addressArray[2].".".$addressArray[1].".".$addressArray[0].".in-addr.arpa"; + $extra .= " conditional_forwarding ".$_POST["conditionalForwardingIP"]." ".$_POST["conditionalForwardingDomain"]." $reverseAddress"; + } + } + // Check if DNSinterface is set if(isset($_POST["DNSinterface"])) {