diff --git a/src/usr/local/www/vpn_openvpn_client.php b/src/usr/local/www/vpn_openvpn_client.php
index f954b8098c..219ca200e6 100644
--- a/src/usr/local/www/vpn_openvpn_client.php
+++ b/src/usr/local/www/vpn_openvpn_client.php
@@ -102,7 +102,7 @@ if ($act == "new") {
global $simplefields;
$simplefields = array('auth_user', 'auth_pass');
-if ($act == "edit") {
+if (($act == "edit") || ($act == "dup")) {
if (isset($id) && $a_client[$id]) {
foreach ($simplefields as $stat) {
$pconfig[$stat] = $a_client[$id][$stat];
@@ -194,6 +194,12 @@ if ($act == "edit") {
}
}
+if ($act == "dup") {
+ $act = "new";
+ $vpnid = 0;
+ unset($id);
+}
+
if ($_POST['save']) {
unset($input_errors);
@@ -1133,8 +1139,9 @@ else:
=htmlspecialchars($client['description'])?>
-
-
+
+ " href="vpn_openvpn_client.php?act=dup&id==$i?>" usepost>
+
|
+ " href="vpn_openvpn_csc.php?act=dup&id==$i?>" usepost>
|
diff --git a/src/usr/local/www/vpn_openvpn_server.php b/src/usr/local/www/vpn_openvpn_server.php
index 77f2cc2e76..d9015eb378 100644
--- a/src/usr/local/www/vpn_openvpn_server.php
+++ b/src/usr/local/www/vpn_openvpn_server.php
@@ -111,7 +111,7 @@ if ($act == "new") {
$pconfig['compression'] = "none";
}
-if ($act == "edit") {
+if (($act == "edit") || ($act == "dup")) {
if (isset($id) && $a_server[$id]) {
$pconfig['disable'] = isset($a_server[$id]['disable']);
@@ -268,6 +268,13 @@ if ($act == "edit") {
}
}
+if ($act == "dup") {
+ $act = "new";
+ $pconfig['local_port'] = openvpn_port_next('UDP');
+ $vpnid = 0;
+ unset($id);
+}
+
if ($_POST['save']) {
unset($input_errors);
$pconfig = $_POST;
@@ -1568,8 +1575,9 @@ else:
=htmlspecialchars(sprintf('%1$s (%2$s)', $server['description'], $server['dev_mode']))?>
-
-
+
+ " href="vpn_openvpn_server.php?act=dup&id==$i?>" usepost>
+
|