From 572f6cccd47f72fe64e84731cf4d12ccbef46da6 Mon Sep 17 00:00:00 2001 From: jim-p Date: Tue, 9 Sep 2014 13:07:55 -0400 Subject: Fix guess_interface_from_ip() to account for differences in netstat output. Fixes #3853 --- etc/inc/interfaces.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'etc') diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 5490586..045ca17 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -4372,12 +4372,12 @@ function guess_interface_from_ip($ipaddress) { } if(is_ipaddrv4($ipaddress)) { /* create a route table we can search */ - exec("netstat -rnWf inet", $output, $ret); + exec("/usr/bin/netstat -rnWf inet", $output, $ret); foreach($output as $line) { if(preg_match("/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\/[0-9]+[ ]+link[#]/", $line)) { $fields = preg_split("/[ ]+/", $line); if(ip_in_subnet($ipaddress, $fields[0])) { - return $fields[6]; + return $fields[5]; } } } @@ -4385,12 +4385,12 @@ function guess_interface_from_ip($ipaddress) { /* FIXME: This works from cursory testing, regexp might need fine tuning */ if(is_ipaddrv6($ipaddress)) { /* create a route table we can search */ - exec("netstat -rnWf inet6", $output, $ret); + exec("/usr/bin/netstat -rnWf inet6", $output, $ret); foreach($output as $line) { if(preg_match("/[0-9a-f]+[:]+[0-9a-f]+[:]+[\/][0-9]+/", $line)) { $fields = preg_split("/[ ]+/", $line); if(ip_in_subnet($ipaddress, $fields[0])) { - return $fields[6]; + return $fields[5]; } } } -- cgit v1.1