From 831fcec40b6ff68ea76c14dc22947240795e6d47 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 10 Feb 2021 13:39:22 +0100 Subject: [PATCH] firmware: add a functional stub for connectivity audit #4500 pkg update -f is a good starting point, but we also need to check DNS etc. so that is still a subject to debate. --- plist | 1 + .../OPNsense/Core/Api/FirmwareController.php | 21 ++++++++++ .../mvc/app/views/OPNsense/Core/firmware.volt | 4 +- src/opnsense/scripts/firmware/connection.sh | 40 +++++++++++++++++++ src/opnsense/scripts/firmware/launcher.sh | 3 +- .../conf/actions.d/actions_firmware.conf | 6 +++ 6 files changed, 73 insertions(+), 2 deletions(-) create mode 100755 src/opnsense/scripts/firmware/connection.sh diff --git a/plist b/plist index f67dfb9b6..089d8fb56 100644 --- a/plist +++ b/plist @@ -692,6 +692,7 @@ /usr/local/opnsense/scripts/filter/update_tables.py /usr/local/opnsense/scripts/firmware/changelog.sh /usr/local/opnsense/scripts/firmware/check.sh +/usr/local/opnsense/scripts/firmware/connection.sh /usr/local/opnsense/scripts/firmware/health.sh /usr/local/opnsense/scripts/firmware/install.sh /usr/local/opnsense/scripts/firmware/launcher.sh diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php index 1e80bfae4..5c4a960f1 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php @@ -404,6 +404,27 @@ class FirmwareController extends ApiControllerBase return $response; } + /** + * run a connection check + * @return array status + * @throws \Exception + */ + public function connectionAction() + { + $this->sessionClose(); // long running action, close session + $backend = new Backend(); + $response = array(); + + if ($this->request->isPost()) { + $response['status'] = 'ok'; + $response['msg_uuid'] = trim($backend->configdRun("firmware connection", true)); + } else { + $response['status'] = 'failure'; + } + + return $response; + } + /** * run a health check * @return array status diff --git a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt index 90e32c5c7..6f9bcb9a2 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt @@ -604,6 +604,7 @@ $("#plugin_get").click(function () { audit('syncPlugins'); }); $("#plugin_set").click(function () { audit('resyncPlugins'); }); $('#audit_security').click(function () { audit('audit'); }); + $('#audit_connection').click(function () { audit('connection'); }); $('#audit_health').click(function () { audit('health'); }); $('#upgrade_maj').click(function () { $.upgrade_needs_reboot = 1; @@ -905,8 +906,9 @@ {{ lang._('Run an audit') }}