From ee55ce7d9d2e70611ef9d0565905bcfe2fe478b0 Mon Sep 17 00:00:00 2001 From: jim-p Date: Tue, 22 Jan 2013 13:27:56 -0500 Subject: [PATCH] Add GUI option to use "topology subnet" for OpenVPN, since the OpenVPN Connect iOS client requires it for IPv6 --- etc/inc/openvpn.inc | 4 ++++ usr/local/www/vpn_openvpn_server.php | 30 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/etc/inc/openvpn.inc b/etc/inc/openvpn.inc index 2c078b236e..57e0469c8c 100644 --- a/etc/inc/openvpn.inc +++ b/etc/inc/openvpn.inc @@ -670,6 +670,10 @@ function openvpn_reconfigure($mode, $settings) { $conf .= "float\n"; } + if ($settings['topology_subnet']) { + $conf .= "topology subnet\n"; + } + openvpn_add_custom($settings, $conf); openvpn_create_dirs(); diff --git a/usr/local/www/vpn_openvpn_server.php b/usr/local/www/vpn_openvpn_server.php index 654cd5fa19..91c14c5022 100644 --- a/usr/local/www/vpn_openvpn_server.php +++ b/usr/local/www/vpn_openvpn_server.php @@ -150,6 +150,7 @@ if($_GET['act']=="edit"){ $pconfig['dynamic_ip'] = $a_server[$id]['dynamic_ip']; $pconfig['pool_enable'] = $a_server[$id]['pool_enable']; + $pconfig['topology_subnet'] = $a_server[$id]['topology_subnet']; $pconfig['serverbridge_dhcp'] = $a_server[$id]['serverbridge_dhcp']; $pconfig['serverbridge_interface'] = $a_server[$id]['serverbridge_interface']; @@ -378,6 +379,7 @@ if ($_POST) { $server['dynamic_ip'] = $pconfig['dynamic_ip']; $server['pool_enable'] = $pconfig['pool_enable']; + $server['topology_subnet'] = $pconfig['topology_subnet']; $server['serverbridge_dhcp'] = $pconfig['serverbridge_dhcp']; $server['serverbridge_interface'] = $pconfig['serverbridge_interface']; @@ -639,6 +641,7 @@ function tuntap_change() { document.getElementById("serverbridge_interface").style.display="none"; document.getElementById("serverbridge_dhcp_start").style.display="none"; document.getElementById("serverbridge_dhcp_end").style.display="none"; + document.getElementById("topology_subnet_opt").style.display=""; break; case "tap": document.getElementById("ipv4_tunnel_network").className="vncell"; @@ -647,6 +650,7 @@ function tuntap_change() { document.getElementById("serverbridge_interface").style.display=""; document.getElementById("serverbridge_dhcp_start").style.display=""; document.getElementById("serverbridge_dhcp_end").style.display=""; + document.getElementById("topology_subnet_opt").style.display="none"; if (document.iform.serverbridge_dhcp.checked) { document.iform.serverbridge_interface.disabled = false; document.iform.serverbridge_dhcp_start.disabled = false; @@ -657,6 +661,7 @@ function tuntap_change() { document.iform.serverbridge_dhcp_end.disabled = true; } } else { + document.getElementById("topology_subnet_opt").style.display="none"; document.iform.serverbridge_dhcp.disabled = true; document.iform.serverbridge_interface.disabled = true; document.iform.serverbridge_dhcp_start.disabled = true; @@ -1386,6 +1391,31 @@ if ($savemsg) + + + + + + + + + + + + +
+ + /> + + +
+
+
  +
+
+
+ +