From bca35cff4671b178584f677d4031ed40bbbd021a Mon Sep 17 00:00:00 2001 From: jim-p Date: Thu, 20 Jan 2011 12:33:39 -0500 Subject: [PATCH] Add a checkbox for duplicate-cn on OpenVPN servers. --- etc/inc/openvpn.inc | 2 ++ usr/local/www/vpn_openvpn_server.php | 25 +++++++++++++++++++++++- usr/local/www/wizards/openvpn_wizard.inc | 2 ++ usr/local/www/wizards/openvpn_wizard.xml | 8 ++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/etc/inc/openvpn.inc b/etc/inc/openvpn.inc index ca463e804f..fe8a4f51c7 100644 --- a/etc/inc/openvpn.inc +++ b/etc/inc/openvpn.inc @@ -431,6 +431,8 @@ function openvpn_reconfigure($mode,& $settings) { $conf .= "client-to-client\n"; break; } + if (isset($settings['duplicate_cn'])) + $conf .= "duplicate-cn\n"; } // client specific settings diff --git a/usr/local/www/vpn_openvpn_server.php b/usr/local/www/vpn_openvpn_server.php index 9d7c00d8ed..002702cfea 100644 --- a/usr/local/www/vpn_openvpn_server.php +++ b/usr/local/www/vpn_openvpn_server.php @@ -176,6 +176,8 @@ if($_GET['act']=="edit"){ // just in case the modes switch $pconfig['autokey_enable'] = "yes"; $pconfig['autotls_enable'] = "yes"; + + $pconfig['duplicate_cn'] = isset($a_server[$id]['duplicate_cn']); } } @@ -364,7 +366,10 @@ if ($_POST) { if ($pconfig['dns_server_enable']) $server['nbdd_server1'] = $pconfig['nbdd_server1']; } - + + if ($_POST['duplicate_cn'] == "yes") + $server['duplicate_cn'] = true; + if (isset($id) && $a_server[$id]) $a_server[$id] = $server; else @@ -1012,6 +1017,24 @@ if ($savemsg) + + + + + + + + +
+ + /> + + + NOTE: This is not generally recommended, but may be needed for some scenarios."); ?> + +
+ + diff --git a/usr/local/www/wizards/openvpn_wizard.inc b/usr/local/www/wizards/openvpn_wizard.inc index 35bca7c2bd..3d0906698a 100644 --- a/usr/local/www/wizards/openvpn_wizard.inc +++ b/usr/local/www/wizards/openvpn_wizard.inc @@ -550,6 +550,8 @@ function step12_submitphpaction() { $server['passtos'] = $pconfig['step10']['tos']; if (isset($pconfig['step10']['interclient'])) $server['client2client'] = $pconfig['step10']['interclient']; + if (isset($pconfig['step10']['duplicate_cn'])) + $server['duplicate_cn'] = $pconfig['step10']['duplicate_cn']; if (isset($pconfig['step10']['dynip'])) $server['dynamic_ip'] = $pconfig['step10']['dynip']; if (isset($pconfig['step10']['addrpool'])) diff --git a/usr/local/www/wizards/openvpn_wizard.xml b/usr/local/www/wizards/openvpn_wizard.xml index e60aa6e0f6..e28507b68f 100644 --- a/usr/local/www/wizards/openvpn_wizard.xml +++ b/usr/local/www/wizards/openvpn_wizard.xml @@ -747,6 +747,13 @@ Allow communication between clients connected to this server.ovpnserver->step10->interclient + + Duplicate Connections + duplicate_cn + checkbox + Allow multiple concurrent connections from clients using the same Common Name.<br/>NOTE: This is not generally recommended, but may be needed for some scenarios. + ovpnserver->step10->duplicate_cn + listtopic Client Settings @@ -943,3 +950,4 @@ /usr/local/www/wizards/openvpn_wizard.inc + \ No newline at end of file