From e78509cc09e897ae6c56ee9a9f6cea93b0bdfdd6 Mon Sep 17 00:00:00 2001 From: Chris Buechler Date: Wed, 3 Dec 2014 12:42:05 -0600 Subject: fix IPv6 static routes, is_ipaddrv6 returns true for strings including a CIDR mask, which then ended up broken. --- etc/inc/system.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'etc') 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) . " "; -- cgit v1.1