From 6ec01a86950d7d215d41411f060fb8c8463260db Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 23 Jul 2026 09:54:08 +0200 Subject: [PATCH 1/5] global-functions: $ScriptInstallUpdate: match in one regular expression --- global-functions.rsc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index f77b96ce..94dc4f70 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1449,9 +1449,7 @@ /system/script/set owner=($ScriptVal->"name") policy=($ScriptVal->"policy") \ dont-require-permissions=($ScriptVal->"dont-require-permissions") \ source=[ $IfThenElse ($ScriptUpdatesCRLF = true) $SourceCRLF $SourceNew ] $Script; - :if ($ScriptVal->"name" = "global-config" || \ - $ScriptVal->"name" = "global-functions" || \ - $ScriptVal->"name" ~ ("^(global-functions\\.d|mod)/.")) do={ + :if ($ScriptVal->"name" ~ ("^(global-config|global-functions(\\.d/.+)?|mod/.+)\$")) do={ :set ReloadGlobal true; } } on-error={ } From 03eef94c060fce3c5f647c1a6419e329fdd89f4e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 22 Jul 2026 22:12:11 +0200 Subject: [PATCH 2/5] mode-button: set dont-require-permissions --- mode-button.rsc | 1 + 1 file changed, 1 insertion(+) diff --git a/mode-button.rsc b/mode-button.rsc index 364fa33f..ee183b4d 100644 --- a/mode-button.rsc +++ b/mode-button.rsc @@ -5,6 +5,7 @@ # # requires RouterOS, version=7.21 # requires device-mode, scheduler +# requires policy, dont-require-permissions # # act on multiple mode and reset button presses # https://rsc.eworm.de/doc/mode-button.md From ba584e23a7fe5c5078d9b143866602b7a249a9db Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 23 Jul 2026 13:56:10 +0200 Subject: [PATCH 3/5] global-functions: $ScriptInstallUpdate: drop the check for matching policies... ... as this started to produce false positives. --- global-functions.rsc | 8 -------- 1 file changed, 8 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index f77b96ce..9c8d88fc 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1336,14 +1336,6 @@ :local ScriptInfo [ $ParseKeyValueStore ($ScriptVal->"comment") ]; :local SourceNew; - :foreach Scheduler in=[ /system/scheduler/find where on-event~("\\b" . $ScriptVal->"name" . "\\b") ] do={ - :local SchedulerVal [ /system/scheduler/get $Scheduler ]; - :if ($ScriptVal->"policy" != $SchedulerVal->"policy") do={ - $LogPrint warning $0 ("Policies differ for script '" . $ScriptVal->"name" . \ - "' and its scheduler '" . $SchedulerVal->"name" . "'!"); - } - } - :do { :if ($ScriptInfo->"ignore" = true) do={ $LogPrint debug $0 ("Ignoring script '" . $ScriptVal->"name" . "', as requested."); From 230d3421d3ded96b0c5c42fad60e3b02fc861481 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 23 Jul 2026 09:54:08 +0200 Subject: [PATCH 4/5] global-functions: $ScriptInstallUpdate: match in one regular expression --- global-functions.rsc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index 9c8d88fc..6da5e740 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1441,9 +1441,7 @@ /system/script/set owner=($ScriptVal->"name") policy=($ScriptVal->"policy") \ dont-require-permissions=($ScriptVal->"dont-require-permissions") \ source=[ $IfThenElse ($ScriptUpdatesCRLF = true) $SourceCRLF $SourceNew ] $Script; - :if ($ScriptVal->"name" = "global-config" || \ - $ScriptVal->"name" = "global-functions" || \ - $ScriptVal->"name" ~ ("^(global-functions\\.d|mod)/.")) do={ + :if ($ScriptVal->"name" ~ ("^(global-config|global-functions(\\.d/.+)?|mod/.+)\$")) do={ :set ReloadGlobal true; } } on-error={ } From 2a5da14d80f5368504f915640570d86ba43d5272 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 22 Jul 2026 22:12:11 +0200 Subject: [PATCH 5/5] mode-button: set dont-require-permissions Actually this is a fixup for the RouterOS 7.24 changes. --- mode-button.rsc | 1 + 1 file changed, 1 insertion(+) diff --git a/mode-button.rsc b/mode-button.rsc index 364fa33f..ee183b4d 100644 --- a/mode-button.rsc +++ b/mode-button.rsc @@ -5,6 +5,7 @@ # # requires RouterOS, version=7.21 # requires device-mode, scheduler +# requires policy, dont-require-permissions # # act on multiple mode and reset button presses # https://rsc.eworm.de/doc/mode-button.md