summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/openvpn.inc7
-rw-r--r--usr/local/www/vpn_openvpn_server.php3
2 files changed, 9 insertions, 1 deletions
diff --git a/etc/inc/openvpn.inc b/etc/inc/openvpn.inc
index bddb5c8..687c7ce 100644
--- a/etc/inc/openvpn.inc
+++ b/etc/inc/openvpn.inc
@@ -710,7 +710,12 @@ function openvpn_delete($mode, & $settings) {
$vpnid = $settings['vpnid'];
$mode_id = $mode.$vpnid;
- $tunname = "tun{$vpnid}";
+ if (isset($settings['dev_mode']))
+ $tunname = "{$settings['dev_mode']}{$vpnid}";
+ else { /* defaults to tun */
+ $tunname = "tun{$vpnid}";
+ }
+
if ($mode == "server")
$devname = "ovpns{$vpnid}";
else
diff --git a/usr/local/www/vpn_openvpn_server.php b/usr/local/www/vpn_openvpn_server.php
index c187878..7971478 100644
--- a/usr/local/www/vpn_openvpn_server.php
+++ b/usr/local/www/vpn_openvpn_server.php
@@ -314,6 +314,9 @@ if ($_POST) {
$server = array();
+ if ($id && $pconfig['dev_mode'] <> $a_server[$id]['dev_mode'])
+ openvpn_delete('server', $a_server[$id]);// delete(rename) old interface so a new TUN or TAP interface can be created.
+
if ($vpnid)
$server['vpnid'] = $vpnid;
else
OpenPOWER on IntegriCloud