From 6778f56508f389c79acbe6148b0a469afdf6e3f8 Mon Sep 17 00:00:00 2001 From: kulikov-a <36099472+kulikov-a@users.noreply.github.com> Date: Mon, 17 Jan 2022 11:27:15 +0300 Subject: [PATCH] www/nginx: 1.24.0 migration fix (#2755) --- .../OPNsense/Nginx/Migrations/M1_24_0.php | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/www/nginx/src/opnsense/mvc/app/models/OPNsense/Nginx/Migrations/M1_24_0.php b/www/nginx/src/opnsense/mvc/app/models/OPNsense/Nginx/Migrations/M1_24_0.php index 981fbd99a..ef2817157 100644 --- a/www/nginx/src/opnsense/mvc/app/models/OPNsense/Nginx/Migrations/M1_24_0.php +++ b/www/nginx/src/opnsense/mvc/app/models/OPNsense/Nginx/Migrations/M1_24_0.php @@ -29,26 +29,33 @@ namespace OPNsense\Nginx\Migrations; use OPNsense\Base\BaseModelMigration; +use OPNsense\Core\Config; class M1_24_0 extends BaseModelMigration { + /** + * Listen ports to listen addresses movements + * @param Nginx $model + */ public function run($model) { - foreach ($model->getNodeByReference('http_server')->iterateItems() as $http_server) { - if ($http_server->listen_http_port != '') { - $http_server->listen_http_address = $http_server->listen_http_port . ',[::]:' . $http_server->listen_http_port; - $http_server->listen_http_port = null; - } - if ($http_server->listen_https_port != '') { - $http_server->listen_https_address = $http_server->listen_https_port . ',[::]:' . $http_server->listen_https_port; - $http_server->listen_https_port = null; - } + $cfgObj = Config::getInstance()->object(); + $ports = array(); + foreach ($cfgObj->OPNsense->Nginx->http_server as $cfg_http_server) { + $uuid = (string)$cfg_http_server->attributes()['uuid']; + $ports['http_port'] = (isset($cfg_http_server->listen_http_port) && $cfg_http_server->listen_http_port != '') ? $cfg_http_server->listen_http_port : null; + $ports['https_port'] = (isset($cfg_http_server->listen_https_port) && $cfg_http_server->listen_https_port != '') ? $cfg_http_server->listen_https_port : null; + $http_server = $model->getNodeByReference('http_server.' . $uuid); + $http_server->listen_http_address = (isset($ports['http_port'])) ? $ports['http_port'] . ',[::]:' . $ports['http_port'] : null; + $http_server->listen_https_address = (isset($ports['https_port'])) ? $ports['https_port'] . ',[::]:' . $ports['https_port'] : null; } - foreach ($model->getNodeByReference('stream_server')->iterateItems() as $server) { - if ($server->listen_port != '') { - $server->listen_address = $server->listen_port . ',[::]:' . $server->listen_port; - $server->listen_port = null; - } + foreach ($cfgObj->OPNsense->Nginx->stream_server as $cfg_stream_server) { + $uuid = (string)$cfg_stream_server->attributes()['uuid']; + $port = (isset($cfg_stream_server->listen_port) && $cfg_stream_server->listen_port != '') ? $cfg_stream_server->listen_port : null; + $server = $model->getNodeByReference('stream_server.' . $uuid); + $server->listen_address = (isset($port)) ? $port . ',[::]:' . $port : null; } + // run default migration actions + parent::run($model); } }