From 9187fe78bf0f0e2b97ae7c3c83dbf6c20c78ce76 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 8 Mar 2023 09:45:34 +0100 Subject: [PATCH] firmware: migrate old flavour entries #4881 While here tweak the GUI a little. --- plist | 1 + .../OPNsense/Core/Api/FirmwareController.php | 2 +- .../Core/Api/repositories/opnsense.xml | 6 +-- .../mvc/app/models/OPNsense/Core/Firmware.xml | 2 +- .../OPNsense/Core/Migrations/M1_0_0.php | 51 +++++++++---------- .../OPNsense/Core/Migrations/M1_0_1.php | 45 ++++++++++++++++ .../mvc/app/views/OPNsense/Core/firmware.volt | 42 +++++++-------- 7 files changed, 94 insertions(+), 55 deletions(-) create mode 100644 src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_1.php diff --git a/plist b/plist index e4b88e017..5df946dcf 100644 --- a/plist +++ b/plist @@ -553,6 +553,7 @@ /usr/local/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml /usr/local/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.xml /usr/local/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php +/usr/local/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_1.php /usr/local/opnsense/mvc/app/models/OPNsense/Cron/ACL/ACL.xml /usr/local/opnsense/mvc/app/models/OPNsense/Cron/Cron.php /usr/local/opnsense/mvc/app/models/OPNsense/Cron/Cron.xml 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 e492eb849..e637cf883 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php @@ -857,7 +857,7 @@ class FirmwareController extends ApiControllerBase /* package infos are flat lists with 3 pipes as delimiter */ foreach (array('remote', 'local') as $type) { $current = $backend->configdRun("firmware ${type}"); - $current = explode("\n", trim($current)); + $current = explode("\n", trim($current ?? '')); foreach ($current as $line) { $expanded = explode('|||', $line); diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/repositories/opnsense.xml b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/repositories/opnsense.xml index 621facd62..83ddda9f8 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/repositories/opnsense.xml +++ b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/repositories/opnsense.xml @@ -98,14 +98,10 @@ - + (default) - - latest - OpenSSL - diff --git a/src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml b/src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml index ac570ebfc..10dc248a7 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml @@ -1,6 +1,6 @@ //system/firmware - 1.0.0 + 1.0.1 OPNsense Firmware settings diff --git a/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php b/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php index fd6be5729..9d7a610c5 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php +++ b/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php @@ -1,31 +1,29 @@ type) || (string)$model->type == "devel") && !empty((string)$model->mirror)) { - $is_business = stripos((string)$model->mirror, "opnsense-update.deciso.com") > 1; + if ((empty((string)$model->type) || (string)$model->type == 'devel') && !empty((string)$model->mirror)) { + $is_business = stripos((string)$model->mirror, 'opnsense-update.deciso.com') > 1; if ($is_business) { - $model->type = "business"; - $model->flavour = "latest"; + $model->type = 'business'; + $model->flavour = 'latest'; } } } diff --git a/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_1.php b/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_1.php new file mode 100644 index 000000000..38f410ee9 --- /dev/null +++ b/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_1.php @@ -0,0 +1,45 @@ +flavour, ['latest', 'libressl'])) { + $model->flavour = null; + } + } +} diff --git a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt index ac3687606..4d8dcdb34 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt @@ -655,12 +655,12 @@ // handle firmware config options ajaxGet('/api/core/firmware/getFirmwareOptions', {}, function(firmwareoptions, status) { ajaxGet('/api/core/firmware/getFirmwareConfig', {}, function(firmwareconfig, status) { - var other_selected = true; + var custom_selected = true; $.each(firmwareoptions.mirrors, function(key, value) { var selected = false; if ((key != "" && firmwareconfig['mirror'].indexOf(key) != -1) || key == firmwareconfig['mirror']) { selected = true; - other_selected = false; + custom_selected = false; } $("#firmware_mirror").append($("