From 25f6730aed1e6af32c0cf4d628ece458e20b0094 Mon Sep 17 00:00:00 2001 From: Pierre POMES Date: Fri, 10 Dec 2010 20:42:45 -0500 Subject: [PATCH] Add IPSec 'ipalias' VIP support. Ticket #1041 --- etc/inc/ipsec.inc | 16 +++++++++++----- usr/local/www/vpn_ipsec.php | 5 ++++- usr/local/www/vpn_ipsec_phase1.php | 3 +++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/etc/inc/ipsec.inc b/etc/inc/ipsec.inc index a46e596606..332f300a24 100644 --- a/etc/inc/ipsec.inc +++ b/etc/inc/ipsec.inc @@ -123,12 +123,18 @@ function ipsec_ikeid_next() { */ function ipsec_get_phase1_src(& $ph1ent) { - if ($ph1ent['interface']) - $if = $ph1ent['interface']; - else + if ($ph1ent['interface']) { + if (!is_ipaddr($ph1ent['interface'])) { + $if = $ph1ent['interface']; + $interfaceip = get_interface_ip($if); + } else { + $interfaceip=$ph1ent['interface']; + } + } + else { $if = "wan"; - - $interfaceip = get_interface_ip($if); + $interfaceip = get_interface_ip($if); + } return $interfaceip; } diff --git a/usr/local/www/vpn_ipsec.php b/usr/local/www/vpn_ipsec.php index f9d374d77b..40879f6660 100755 --- a/usr/local/www/vpn_ipsec.php +++ b/usr/local/www/vpn_ipsec.php @@ -191,7 +191,10 @@ include("head.inc"); $iflabels = get_configured_interface_with_descr(); $carplist = get_configured_carp_interface_list(); foreach ($carplist as $cif => $carpip) - $iflabels[$cif] = strtoupper($cif) . " ({$carpip})"; + $iflabels[$cif] = $carpip." (".get_vip_descr($carpip).")"; + $aliaslist = get_configured_ip_aliases_list(); + foreach ($aliaslist as $aliasip => $aliasif) + $iflabels[$aliasip] = $aliasip." (".get_vip_descr($aliasip).")"; $if = htmlspecialchars($iflabels[$ph1ent['interface']]); } else diff --git a/usr/local/www/vpn_ipsec_phase1.php b/usr/local/www/vpn_ipsec_phase1.php index bb0d103da4..aef07f3f37 100644 --- a/usr/local/www/vpn_ipsec_phase1.php +++ b/usr/local/www/vpn_ipsec_phase1.php @@ -510,6 +510,9 @@ function dpdchkbox_change() { $carplist = get_configured_carp_interface_list(); foreach ($carplist as $cif => $carpip) $interfaces[$cif] = $carpip." (".get_vip_descr($carpip).")"; + $aliaslist = get_configured_ip_aliases_list(); + foreach ($aliaslist as $aliasip => $aliasif) + $interfaces[$aliasip] = $aliasip." (".get_vip_descr($aliasip).")" = $aliasip." (".get_vip_descr($aliasip).")" = $aliasip." (".get_vip_descr($aliasip).")"; foreach ($interfaces as $iface => $ifacename): ?>