diff options
-rw-r--r-- | etc/inc/system.inc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc index 65484f6..76cbc0e 100644 --- a/etc/inc/system.inc +++ b/etc/inc/system.inc @@ -470,10 +470,10 @@ function system_routing_configure($interface = "") { if(preg_match("/^Null/i", $rtent['gateway'])) $blackhole = "-blackhole"; - if (is_ipaddr($gatewayip)) { + if (is_ipaddr($gatewayip) && ((is_ipaddrv6($gatewayip) && is_subnetv6($rtent['network'])) || (is_ipaddrv4($gatewayip) && is_subnetv4($rtent['network'])))) { mwexec("/sbin/route change {$inetfamily} {$blackhole} " . escapeshellarg($rtent['network']) . " " . escapeshellarg($gatewayip)); - } else if (!empty($interfacegw)) { + } else if (!empty($interfacegw) && ((is_ipaddrv6($gatewayip) && is_subnetv6($rtent['network'])) || (is_ipaddrv4($gatewayip) && is_subnetv4($rtent['network'])))) { mwexec("/sbin/route change {$inetfamily} {$blackhole} " . escapeshellarg($rtent['network']) . " -iface " . escapeshellarg($interfacegw)); } |