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"]))
{