diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2008-04-27 19:05:07 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2008-04-27 19:05:07 +0000 |
commit | c2472fe9b990110d4ff5d1e16e4bae1432b412fc (patch) | |
tree | 1c559ac7319861f1ca9563bb90cd97c9493a6c1d /etc/inc/util.inc | |
parent | cd35a596aee3940d7c662dc1cc8511187b96ce9c (diff) | |
download | pfsense-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.inc | 25 |
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 |