From 83c6e17970039898d7fc14ecb540341c164b6ab8 Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 6 Jun 2021 20:55:43 +0100 Subject: [PATCH] Refactor openvpn activate cfg ajax --- ajax/openvpn/activate_ovpncfg.php | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/ajax/openvpn/activate_ovpncfg.php b/ajax/openvpn/activate_ovpncfg.php index 2a8542a9..235f01eb 100644 --- a/ajax/openvpn/activate_ovpncfg.php +++ b/ajax/openvpn/activate_ovpncfg.php @@ -5,21 +5,14 @@ require_once '../../includes/functions.php'; if (isset($_POST['cfg_id'])) { $ovpncfg_id = $_POST['cfg_id']; - $ovpncfg_path = pathinfo(RASPI_OPENVPN_CLIENT_CONFIG, PATHINFO_DIRNAME).'/'; - $ovpncfg_files = $ovpncfg_path .$ovpncfg_id.'_*.conf'; + $ovpncfg_client = RASPI_OPENVPN_CLIENT_PATH.$ovpncfg_id.'_client.conf'; + $ovpncfg_login = RASPI_OPENVPN_CLIENT_PATH.$ovpncfg_id.'_login.conf'; - // move currently active profile - $meta = file_get_meta(RASPI_OPENVPN_CLIENT_CONFIG,'#\sfilename\s(.*)'); - $ovpncfg_client = $ovpncfg_path .$meta.'_client.conf'; - $ovpncfg_login = $ovpncfg_path .$meta.'_login.conf'; - exec("sudo mv ".RASPI_OPENVPN_CLIENT_CONFIG." $ovpncfg_client", $return); - exec("sudo mv ".RASPI_OPENVPN_CLIENT_LOGIN." $ovpncfg_login", $return); - - // replace with selected profile - $ovpncfg_client = $ovpncfg_path .$ovpncfg_id.'_client.conf'; - $ovpncfg_login = $ovpncfg_path .$ovpncfg_id.'_login.conf'; - exec("sudo mv $ovpncfg_client ".RASPI_OPENVPN_CLIENT_CONFIG, $return); - exec("sudo mv $ovpncfg_login ".RASPI_OPENVPN_CLIENT_LOGIN, $return); + // remove existing client config +login and symbolically link the selected one + system("sudo rm ".RASPI_OPENVPN_CLIENT_CONFIG, $return); + system("sudo ln -s $ovpncfg_client ".RASPI_OPENVPN_CLIENT_CONFIG, $return); + system("sudo rm ".RASPI_OPENVPN_CLIENT_LOGIN, $return); + system("sudo ln -s $ovpncfg_login ".RASPI_OPENVPN_CLIENT_LOGIN, $return); // restart service exec("sudo /bin/systemctl stop openvpn-client@client", $return);