summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-07-08 21:52:39 -0500
committerChris Buechler <cmb@pfsense.org>2016-07-08 21:52:39 -0500
commitf8f8d1316cf3e5d1dceb8c262ebefd548dc777a2 (patch)
tree74ed97497b91fef7dbfb57c6d82af4a182afda96
parenta018cc36a3e953fe790e0ba5dd4faaee10678842 (diff)
downloadpfsense-f8f8d1316cf3e5d1dceb8c262ebefd548dc777a2.zip
pfsense-f8f8d1316cf3e5d1dceb8c262ebefd548dc777a2.tar.gz
Verify a valid IPv6 subnet is going to be used before including in radvd's config. Ticket #6581
-rw-r--r--src/etc/inc/services.inc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc
index f6fcf31..ce687e3 100644
--- a/src/etc/inc/services.inc
+++ b/src/etc/inc/services.inc
@@ -131,6 +131,10 @@ function services_radvd_configure($blacklist = array()) {
$ifcfgsnv6 = get_interface_subnetv6($dhcpv6if);
$subnetv6 = gen_subnetv6($ifcfgipv6, $ifcfgsnv6);
+ if (!is_subnetv6($subnetv6 . "/" . $ifcfgsnv6)) {
+ log_error("radvd: skipping configuration for interface $dhcpv6if because its subnet or prefix length is invalid.");
+ continue;
+ }
$radvdifs[$realif] = $realif;
$radvdconf .= "# Generated for DHCPv6 Server $dhcpv6if\n";
@@ -342,7 +346,7 @@ function services_radvd_configure($blacklist = array()) {
$radvdconf .= "\tAdvLinkMTU 1280;\n";
}
$radvdconf .= "\tAdvOtherConfigFlag on;\n";
- $radvdconf .= "\t\tprefix {$subnetv6}/{$ifcfgsnv6} {\n";
+ $radvdconf .= "\tprefix {$subnetv6}/{$ifcfgsnv6} {\n";
$radvdconf .= "\t\tAdvOnLink on;\n";
$radvdconf .= "\t\tAdvAutonomous on;\n";
$radvdconf .= "\t\tAdvRouterAddr on;\n";
OpenPOWER on IntegriCloud