summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-11-06 22:28:34 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-11-06 22:28:34 +0000
commit89d1f0f27fb8cac4cbe56e38ffb988f147a35a66 (patch)
tree5771152a4fc06c8491f2bdfbaa0b2a13b8f74560
parent2fe54e179712f91607b881854b5bec97b868dfb2 (diff)
downloadpfsense-89d1f0f27fb8cac4cbe56e38ffb988f147a35a66.zip
pfsense-89d1f0f27fb8cac4cbe56e38ffb988f147a35a66.tar.gz
Sync get_interface_list() with HEAD
-rw-r--r--etc/inc/util.inc24
1 files changed, 19 insertions, 5 deletions
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index cbf1967..d24db95 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -258,9 +258,13 @@ function get_interface_list($mode = "active", $keyby = "physical") {
break;
}
/* build interface list with netstat */
- exec("/usr/bin/netstat -inW -f link | awk '{ print $1, $4 } '", $linkinfo);
+ exec("/usr/bin/netstat -inW -f link | awk '{ print $1, $4 }'", $linkinfo);
array_shift($linkinfo);
- foreach ($linkinfo as $link) {
+ /* build ip address list with netstat */
+ exec("/usr/bin/netstat -inW -f inet | awk '{ print $1, $4 }'", $ipinfo);
+ array_shift($ipinfo);
+ foreach($linkinfo as $link) {
+ $friendly = "";
$alink = explode(" ", $link);
$ifname = rtrim(trim($alink[0]), '*');
if (!in_array(substr($ifname, 0, -1), $vfaces)) {
@@ -268,17 +272,27 @@ function get_interface_list($mode = "active", $keyby = "physical") {
"mac" => trim($alink[1]),
"up" => in_array($ifname, $upints)
);
+ foreach($ipinfo as $ip) {
+ $aip = explode(" ", $ip);
+ if($aip[0] == $ifname) {
+ $toput['ipaddr'] = $aip[1];
+ }
+ }
foreach($config['interfaces'] as $name => $int) {
if($int['if'] == $ifname) $friendly = $name;
}
switch($keyby) {
case "physical":
- $toput['friendly'] = $friendly;
+ if($friendly != "") {
+ $toput['friendly'] = $friendly;
+ }
$iflist[$ifname] = $toput;
break;
case "friendly":
- $toput['if'] = $ifname;
- $iflist[$friendly] = $toput;
+ if($friendly != "") {
+ $toput['if'] = $ifname;
+ $iflist[$friendly] = $toput;
+ }
break;
}
}
OpenPOWER on IntegriCloud