www/nginx: 1.24.0 migration fix (#2755)

This commit is contained in:
kulikov-a
2022-01-17 09:27:15 +01:00
committed by GitHub
parent 874d2e393e
commit 6778f56508
@@ -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);
}
}