From f8f8d1316cf3e5d1dceb8c262ebefd548dc777a2 Mon Sep 17 00:00:00 2001 From: Chris Buechler Date: Fri, 8 Jul 2016 21:52:39 -0500 Subject: Verify a valid IPv6 subnet is going to be used before including in radvd's config. Ticket #6581 --- src/etc/inc/services.inc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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"; -- cgit v1.1