From 14c1b3b447de38ab88bb37ce50b0ba613bdbb61c Mon Sep 17 00:00:00 2001 From: David Harrigan Date: Sat, 14 Oct 2017 07:11:49 +0900 Subject: [PATCH] net/zerotier: Prevent invalid 'local.conf' on initial save. There is potential for an invalid local.conf to be written out during first save. Whilst it doesn't stop Zerotier from starting, it does cause it to return a 1 as an error code, thus fooling configd that the service has failed to start. Adding in a default '{}' resolves this issue. -=david=- --- .../controllers/OPNsense/Zerotier/Api/SettingsController.php | 3 +++ .../opnsense/service/templates/OPNsense/zerotier/local.conf | 2 ++ 2 files changed, 5 insertions(+) diff --git a/net/zerotier/src/opnsense/mvc/app/controllers/OPNsense/Zerotier/Api/SettingsController.php b/net/zerotier/src/opnsense/mvc/app/controllers/OPNsense/Zerotier/Api/SettingsController.php index 6432d9ac5..8b0b3ebe6 100644 --- a/net/zerotier/src/opnsense/mvc/app/controllers/OPNsense/Zerotier/Api/SettingsController.php +++ b/net/zerotier/src/opnsense/mvc/app/controllers/OPNsense/Zerotier/Api/SettingsController.php @@ -48,6 +48,9 @@ class SettingsController extends ApiMutableModelControllerBase $result = array(); if ($this->request->isGet()) { $mdlZerotier = $this->getModel(); + if(empty($mdlZerotier->localconf->__toString())) { + $mdlZerotier->localconf = '{}'; + } $result = array("zerotier" => $mdlZerotier->getNodes()); } return $result; diff --git a/net/zerotier/src/opnsense/service/templates/OPNsense/zerotier/local.conf b/net/zerotier/src/opnsense/service/templates/OPNsense/zerotier/local.conf index f64cb264c..f5f9c44d8 100644 --- a/net/zerotier/src/opnsense/service/templates/OPNsense/zerotier/local.conf +++ b/net/zerotier/src/opnsense/service/templates/OPNsense/zerotier/local.conf @@ -1,3 +1,5 @@ {% if helpers.exists('OPNsense.zerotier.localconf') and OPNsense.zerotier.localconf|default("") != "" %} {{ OPNsense.zerotier.localconf }} +{% else %} +{} {% endif %}