diff options
-rw-r--r-- | etc/inc/openvpn.inc | 7 | ||||
-rw-r--r-- | usr/local/www/vpn_openvpn_server.php | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/etc/inc/openvpn.inc b/etc/inc/openvpn.inc index bddb5c8..8416264 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 02d530d..d098f43 100644 --- a/usr/local/www/vpn_openvpn_server.php +++ b/usr/local/www/vpn_openvpn_server.php @@ -202,6 +202,9 @@ if ($_POST) { unset($input_errors); $pconfig = $_POST; + if ($pconfig['dev_mode'] <> $a_server[$id]['dev_mode']) + openvpn_delete('server', $a_server[$id]);// delete(rename) interface so a new TUN or TAP interface can be created. + if (isset($id) && $a_server[$id]) $vpnid = $a_server[$id]['vpnid']; else |