summaryrefslogtreecommitdiffstats
path: root/etc/inc/util.inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2008-04-27 19:05:07 +0000
committerScott Ullrich <sullrich@pfsense.org>2008-04-27 19:05:07 +0000
commitc2472fe9b990110d4ff5d1e16e4bae1432b412fc (patch)
tree1c559ac7319861f1ca9563bb90cd97c9493a6c1d /etc/inc/util.inc
parentcd35a596aee3940d7c662dc1cc8511187b96ce9c (diff)
downloadpfsense-c2472fe9b990110d4ff5d1e16e4bae1432b412fc.zip
pfsense-c2472fe9b990110d4ff5d1e16e4bae1432b412fc.tar.gz
Return OpenVPN IP addresses when the alias type is openvpn.
Diffstat (limited to 'etc/inc/util.inc')
-rw-r--r--etc/inc/util.inc25
1 files changed, 21 insertions, 4 deletions
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index c003c7f..35d3600 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -428,12 +428,29 @@ function is_alias($name) {
function alias_expand_value($name) {
global $aliastable, $config;
+ $newaddress = "";
+ $firstentry = true;
if($config['aliases']['alias'])
foreach($config['aliases']['alias'] as $alias) {
- if($alias['name'] == $name)
- return $alias['address'];
+ if($alias['name'] == $name) {
+ if($alias['type'] == "openvpn") {
+ $vpn_address_split = split(" ", $alias['address']);
+ foreach($vpn_address_split as $vpnsplit) {
+ foreach($config['openvpn']['user'] as $openvpn) {
+ if($openvpn['name'] == $vpnsplit) {
+ if($firstentry == false)
+ $newaddress .= " ";
+ $newaddress .= $openvpn['ip'];
+ $firstentry = false;
+ }
+ }
+ }
+ } else {
+ $newaddress = $alias['address'];
+ }
+ }
}
-
+ return $newaddress;
}
/* expand a host or network alias, if necessary */
@@ -599,4 +616,4 @@ function resolve_retry($hostname, $retries = 5) {
return false;
}
-?>
+?> \ No newline at end of file
OpenPOWER on IntegriCloud