diff options
author | jim-p <jimp@pfsense.org> | 2014-09-09 13:07:55 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2014-09-09 13:07:55 -0400 |
commit | 572f6cccd47f72fe64e84731cf4d12ccbef46da6 (patch) | |
tree | 9ceda087a696559ebd6d68af81854792b764561e /etc/inc | |
parent | 3b0bc8c34e2d9d5c5bb11819228c6cfd186444ed (diff) | |
download | pfsense-572f6cccd47f72fe64e84731cf4d12ccbef46da6.zip pfsense-572f6cccd47f72fe64e84731cf4d12ccbef46da6.tar.gz |
Fix guess_interface_from_ip() to account for differences in netstat output. Fixes #3853
Diffstat (limited to 'etc/inc')
-rw-r--r-- | etc/inc/interfaces.inc | 8 |
1 files changed, 4 insertions, 4 deletions
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]; } } } |