Compare commits

...

4 commits

Author SHA1 Message Date
Christian Hesse
2e4ab307b6 FIXUP 2026-07-22 22:17:25 +02:00
Christian Hesse
54e45287a0 FIXUP 2026-07-22 22:16:48 +02:00
Christian Hesse
f877830ed3 mode-button: set dont-require-permissions 2026-07-22 22:12:11 +02:00
Christian Hesse
38b357ced8 global-functions: $ScriptInstallUpdate: also support setting dont-require-permissions 2026-07-22 22:06:54 +02:00
2 changed files with 12 additions and 4 deletions

View file

@ -1377,14 +1377,21 @@
:continue;
}
:local RequirePolicy ([ $ParseKeyValueStore [ $Grep $SourceNew ("\23 requires policy, ") ] ]->"policy");
:if ([ :len $RequirePolicy ] > 0) do={
:set ($ScriptVal->"policy") [ :toarray delimiter=";" $RequirePolicy ];
$LogPrintOnce debug $0 ("New policy for script '" . $ScriptVal->"name" . "': " . $RequirePolicy);
:local RequirePolicy [ $ParseKeyValueStore [ $Grep $SourceNew ("\23 requires policy, ") ] ];
:if ([ :len ($RequirePolicy->"policy") ] > 0) do={
:set ($ScriptVal->"policy") [ :toarray delimiter=";" \
($RequirePolicy->"policy") ];
$LogPrintOnce debug $0 ("New policy for script '" . $ScriptVal->"name" . \
"': " . ($RequirePolicy->"policy"));
}
:if ([ :len ($RequirePolicy->"dont-require-permissions") ] > 0) do={
:set ($ScriptVal->"dont-require-permissions") ($RequirePolicy->"dont-require-permissions");
$LogPrintOnce debug $0 ("Setting dont-require-permissions for script '" . $ScriptVal->"name" . "'.");
}
$LogPrint info $0 ("Updating script: " . $ScriptVal->"name");
/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" || \

View file

@ -5,6 +5,7 @@
#
# requires RouterOS, version=7.22
# 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