diff --git a/global-functions.rsc b/global-functions.rsc index cd18cd6f..f42bb09b 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -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" || \ diff --git a/mode-button.rsc b/mode-button.rsc index 0870930b..3e2becdb 100644 --- a/mode-button.rsc +++ b/mode-button.rsc @@ -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