summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpierrepomes <pierre.pomes@interface-tech.com>2009-12-02 22:31:26 -0500
committerpierrepomes <pierre.pomes@interface-tech.com>2009-12-02 22:31:26 -0500
commit3d06e8f02f7df1a18350eebc86c35b1dfd1a9499 (patch)
tree56d8327e4a6c781f1743e670b8b58650ea16a2a4
parent7998c3f280370991beca62c6a99ae6dd6051228a (diff)
downloadpfsense-3d06e8f02f7df1a18350eebc86c35b1dfd1a9499.zip
pfsense-3d06e8f02f7df1a18350eebc86c35b1dfd1a9499.tar.gz
Add carp support for OpenVPN. Ticket #69
-rw-r--r--etc/inc/openvpn.inc8
-rw-r--r--usr/local/www/vpn_openvpn_client.php5
-rw-r--r--usr/local/www/vpn_openvpn_server.php3
3 files changed, 14 insertions, 2 deletions
diff --git a/etc/inc/openvpn.inc b/etc/inc/openvpn.inc
index 14286fa..9de908c 100644
--- a/etc/inc/openvpn.inc
+++ b/etc/inc/openvpn.inc
@@ -302,7 +302,13 @@ function openvpn_reconfigure($mode,& $settings) {
if (!$interface)
$interface = 'WAN';
- $iface = convert_friendly_interface_to_real_interface_name($interface);
+ /* For a carp interface, the name is well known:vip1, vip2, ...*/
+ if (!strncmp($interface, "vip", 3)) {
+ $iface=$interface;
+ } else {
+ $iface=convert_friendly_interface_to_real_interface_name($interface);
+ }
+
$lines = explode(' ', trim(shell_exec("ifconfig {$iface} | grep inet | grep -v inet6")));
$iface_ip = $lines[1];
diff --git a/usr/local/www/vpn_openvpn_client.php b/usr/local/www/vpn_openvpn_client.php
index 42f1de7..970efd2 100644
--- a/usr/local/www/vpn_openvpn_client.php
+++ b/usr/local/www/vpn_openvpn_client.php
@@ -387,7 +387,10 @@ function autotls_change() {
<select name="interface" class="formselect">
<?php
$interfaces = get_configured_interface_with_descr();
- foreach ($interfaces as $iface => $ifacename):
+ $carplist = get_configured_carp_interface_list();
+ foreach ($carplist as $cif => $carpip)
+ $interfaces[$cif] = strtoupper($cif) . " ({$carpip})";
+ foreach ($interfaces as $iface => $ifacename):
$selected = "";
if ($iface == $pconfig['interface'])
$selected = "selected";
diff --git a/usr/local/www/vpn_openvpn_server.php b/usr/local/www/vpn_openvpn_server.php
index 4524731..008fd47 100644
--- a/usr/local/www/vpn_openvpn_server.php
+++ b/usr/local/www/vpn_openvpn_server.php
@@ -548,6 +548,9 @@ function netbios_change() {
<select name="interface" class="formselect">
<?php
$interfaces = get_configured_interface_with_descr();
+ $carplist = get_configured_carp_interface_list();
+ foreach ($carplist as $cif => $carpip)
+ $interfaces[$cif] = strtoupper($cif) . " ({$carpip})";
foreach ($interfaces as $iface => $ifacename):
$selected = "";
if ($iface == $pconfig['interface'])
OpenPOWER on IntegriCloud