Firewall: Aliases - rename action ignored due to missing lock, closes https://github.com/opnsense/core/issues/8432

This commit is contained in:
Ad Schellevis 2025-03-13 13:49:15 +01:00
parent c7c0785e09
commit e702d4e1dd

View File

@ -138,18 +138,16 @@ class AliasController extends ApiMutableModelControllerBase
*/
public function setItemAction($uuid)
{
$node = $this->getModel()->getNodeByReference('aliases.alias.' . $uuid);
$old_name = $node != null ? (string)$node->name : null;
if (
$old_name !== null &&
$this->request->isPost() &&
$this->request->hasPost("alias") &&
!empty($this->request->getPost("alias")['name'])
) {
$new_name = $this->request->getPost("alias")['name'];
if ($new_name != $old_name) {
// replace aliases, setBase() will synchronise the changes to disk
$this->getModel()->refactor($old_name, $new_name);
if ($this->request->isPost() && $this->request->hasPost("alias")) {
Config::getInstance()->lock();
$node = $this->getModel()->getNodeByReference('aliases.alias.' . $uuid);
$old_name = $node != null ? (string)$node->name : null;
if ($old_name !== null && !empty($this->request->getPost("alias")['name'])) {
$new_name = $this->request->getPost("alias")['name'];
if ($new_name != $old_name) {
// replace aliases, setBase() will synchronise the changes to disk
$this->getModel()->refactor($old_name, $new_name);
}
}
}
return $this->setBase("alias", "aliases.alias", $uuid);