summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2014-12-03 12:42:05 -0600
committerChris Buechler <cmb@pfsense.org>2014-12-03 12:42:05 -0600
commite78509cc09e897ae6c56ee9a9f6cea93b0bdfdd6 (patch)
treebb29d78312303e9354c71d4ad603dccaf5e035a0 /etc
parent30640018232ddef480af0bd7a5bf23c69cf239df (diff)
downloadpfsense-e78509cc09e897ae6c56ee9a9f6cea93b0bdfdd6.zip
pfsense-e78509cc09e897ae6c56ee9a9f6cea93b0bdfdd6.tar.gz
fix IPv6 static routes, is_ipaddrv6 returns true for strings including a
CIDR mask, which then ended up broken.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/system.inc5
1 files changed, 2 insertions, 3 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc
index 85185c7..38b7b9a 100644
--- a/etc/inc/system.inc
+++ b/etc/inc/system.inc
@@ -612,9 +612,8 @@ function system_staticroutes_configure($interface = "", $update_dns = false) {
foreach ($ips as $ip) {
if (is_ipaddrv4($ip))
$ip .= "/32";
- else if (is_ipaddrv6($ip))
- $ip .= "/128";
-
+ // do NOT do the same check here on v6, is_ipaddrv6 returns true when including the CIDR mask. doing so breaks v6 routes
+
$inet = (is_subnetv6($ip) ? "-inet6" : "-inet");
$cmd = "/sbin/route change {$inet} {$blackhole} " . escapeshellarg($ip) . " ";
OpenPOWER on IntegriCloud