From 47ccdcc078f7a58432a7cf1350ec9700863416cb Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Fri, 10 Nov 2023 18:46:37 +0100 Subject: [PATCH] net/wireguard - minor regression in addClient, not adding created uuid. closes https://github.com/opnsense/plugins/issues/3663 --- net/wireguard/Makefile | 1 + .../OPNsense/Wireguard/Api/ClientController.php | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/net/wireguard/Makefile b/net/wireguard/Makefile index f77b3b923..f6ce57bbd 100644 --- a/net/wireguard/Makefile +++ b/net/wireguard/Makefile @@ -1,5 +1,6 @@ PLUGIN_NAME= wireguard PLUGIN_VERSION= 2.5 +PLUGIN_REVISION= 1 PLUGIN_COMMENT= WireGuard VPN service kernel implementation PLUGIN_DEPENDS= wireguard-kmod PLUGIN_CONFLICTS= wireguard-go diff --git a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php index 8299f6fe2..90e4ed4c5 100644 --- a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php +++ b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php @@ -73,6 +73,7 @@ class ClientController extends ApiMutableModelControllerBase public function setClientAction($uuid) { + $add_uuid = null; if (!empty($this->request->getPost(static::$internalModelName)) && $this->request->isPost()) { $servers = []; if (!empty($this->request->getPost(static::$internalModelName)['servers'])) { @@ -83,6 +84,7 @@ class ClientController extends ApiMutableModelControllerBase if (empty($uuid)) { // add new client, generate uuid $uuid = $mdl->servers->generateUUID(); + $add_uuid = $uuid; } foreach ($mdl->servers->server->iterateItems() as $key => $node) { $peers = array_filter(explode(',', (string)$node->peers)); @@ -99,7 +101,11 @@ class ClientController extends ApiMutableModelControllerBase */ $mdl->serializeToConfig(false, true); } - return $this->setBase('client', 'clients.client', $uuid); + $result = $this->setBase('client', 'clients.client', $uuid); + if (!empty($add_uuid) && $result['result'] == 'saved') { + $result['uuid'] = $add_uuid; + } + return $result; } public function toggleClientAction($uuid)