summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2013-11-01 10:43:40 -0400
committerjim-p <jimp@pfsense.org>2013-11-01 10:45:21 -0400
commit19b102161253ac33bdf26010e6e110d6e71cc06c (patch)
tree8c59752771aa99c6be199c5cc41074fdc402bacd
parent870608984c1d51850a8db5e0a3ab04d2986973d6 (diff)
downloadpfsense-19b102161253ac33bdf26010e6e110d6e71cc06c.zip
pfsense-19b102161253ac33bdf26010e6e110d6e71cc06c.tar.gz
Prevent a Fall Back Pool from being selected when the DNS protocol is in use. If one is present in the config, ignore it. Fixes #3300
-rw-r--r--etc/inc/vslb.inc4
-rwxr-xr-xusr/local/www/load_balancer_virtual_server_edit.php6
2 files changed, 7 insertions, 3 deletions
diff --git a/etc/inc/vslb.inc b/etc/inc/vslb.inc
index f2bf532..49089a2 100644
--- a/etc/inc/vslb.inc
+++ b/etc/inc/vslb.inc
@@ -337,7 +337,7 @@ function relayd_configure($kill_first=false) {
$conf .= " forward to <{$vs_a[$i]['poolname']}> port {$dest_port} {$lbmode} {$check_a[$pools[$vs_a[$i]['poolname']]['monitor']]} \n";
- if (isset($vs_a[$i]['sitedown']) && strlen($vs_a[$i]['sitedown']) > 0)
+ if (isset($vs_a[$i]['sitedown']) && strlen($vs_a[$i]['sitedown']) > 0 && ($vs_a[$i]['relay_protocol'] != 'dns'))
$conf .= " forward to <{$vs_a[$i]['sitedown']}> port {$dest_port} {$lbmode} {$check_a[$pools[$vs_a[$i]['poolname']]['monitor']]} \n";
$conf .= "}\n";
} else {
@@ -349,7 +349,7 @@ function relayd_configure($kill_first=false) {
$conf .= " sticky-address\n";
/* sitedown MUST use the same port as the primary pool - sucks, but it's a relayd thing */
- if (isset($vs_a[$i]['sitedown']) && strlen($vs_a[$i]['sitedown']) > 0)
+ if (isset($vs_a[$i]['sitedown']) && strlen($vs_a[$i]['sitedown']) > 0 && ($vs_a[$i]['relay_protocol'] != 'dns'))
$conf .= " forward to <{$vs_a[$i]['sitedown']}> port {$dest_port} {$check_a[$pools[$vs_a[$i]['sitedown']]['monitor']]} \n";
$conf .= "}\n";
diff --git a/usr/local/www/load_balancer_virtual_server_edit.php b/usr/local/www/load_balancer_virtual_server_edit.php
index 32d8cdd..4d7eb6a 100755
--- a/usr/local/www/load_balancer_virtual_server_edit.php
+++ b/usr/local/www/load_balancer_virtual_server_edit.php
@@ -96,6 +96,9 @@ if ($_POST) {
else if (is_subnetv4($_POST['ipaddr']) && subnet_size($_POST['ipaddr']) > 64)
$input_errors[] = sprintf(gettext("%s is a subnet containing more than 64 IP addresses."), $_POST['ipaddr']);
+ if ((strtolower($_POST['relay_protocol']) == "dns") && !empty($_POST['sitedown']))
+ $input_errors[] = gettext("You cannot select a Fall Back Pool when using the DNS relay protocol.");
+
if (!$input_errors) {
$vsent = array();
if(isset($id) && $a_vs[$id])
@@ -232,7 +235,8 @@ include("head.inc");
}
?>
</select>
- <br><b><?=gettext("NOTE:"); ?></b> <?=gettext("This is the server that clients will be redirected to if *ALL* servers in the pool are offline."); ?>
+ <br><?=gettext("The server pool to which clients will be redirected if *ALL* servers in the Virtual Server Pool are offline."); ?>
+ <br><?=gettext("This option is NOT compatible with the DNS relay protocol."); ?>
<?php endif; ?>
</td>
</tr>
OpenPOWER on IntegriCloud