aboutsummaryrefslogtreecommitdiffstats
path: root/daily-psk.local.rsc
diff options
context:
space:
mode:
Diffstat (limited to 'daily-psk.local.rsc')
-rw-r--r--daily-psk.local.rsc30
1 files changed, 17 insertions, 13 deletions
diff --git a/daily-psk.local.rsc b/daily-psk.local.rsc
index 48e2b8d..d496350 100644
--- a/daily-psk.local.rsc
+++ b/daily-psk.local.rsc
@@ -1,20 +1,21 @@
#!rsc by RouterOS
# RouterOS script: daily-psk.local
-# Copyright (c) 2013-2024 Christian Hesse <mail@eworm.de>
+# Copyright (c) 2013-2025 Christian Hesse <mail@eworm.de>
# Michael Gisbers <michael@gisbers.de>
-# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
+# https://rsc.eworm.de/COPYING.md
#
-# requires RouterOS, version=7.13
+# requires RouterOS, version=7.15
#
# update daily PSK (pre shared key)
-# https://git.eworm.de/cgit/routeros-scripts/about/doc/daily-psk.md
+# https://rsc.eworm.de/doc/daily-psk.md
#
# !! Do not edit this file, it is generated from template!
-:global GlobalFunctionsReady;
-:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
-
-:do {
+:local ExitOK false;
+:onerror Err {
+ :global GlobalConfigReady; :global GlobalFunctionsReady;
+ :retry { :if ($GlobalConfigReady != true || $GlobalFunctionsReady != true) \
+ do={ :error ("Global config and/or functions not ready."); }; } delay=500ms max=50;
:local ScriptName [ :jobname ];
:global DailyPskMatchComment;
@@ -31,6 +32,7 @@
:global WaitFullyConnected;
:if ([ $ScriptLock $ScriptName ] = false) do={
+ :set ExitOK true;
:error false;
}
$WaitFullyConnected;
@@ -67,7 +69,7 @@
:local Skip 0;
:if ($NewPsk != $OldPsk) do={
- $LogPrint info $ScriptName ("Updating daily PSK for " . $Ssid . " to " . $NewPsk . " (was " . $OldPsk . ")");
+ $LogPrint info $ScriptName ("Updating daily PSK for '" . $Ssid . "' to '" . $NewPsk . "' (was '" . $OldPsk . "')");
/interface/wireless/access-list/set $AccList private-pre-shared-key=$NewPsk;
:if ([ :len [ /interface/wireless/find where name=$IntName !disabled ] ] = 1) do={
@@ -79,13 +81,15 @@
$SendNotification2 ({ origin=$ScriptName; \
subject=([ $SymbolForNotification "calendar" ] . "daily PSK " . $Ssid); \
message=("This is the daily PSK on " . $Identity . ":\n\n" . \
- [ $FormatLine "SSID" $Ssid ] . "\n" . \
- [ $FormatLine "PSK" $NewPsk ] . "\n" . \
- [ $FormatLine "Date" $Date ] . "\n\n" . \
+ [ $FormatLine "SSID" $Ssid 8 ] . "\n" . \
+ [ $FormatLine "PSK" $NewPsk 8 ] . "\n" . \
+ [ $FormatLine "Date" $Date 8 ] . "\n\n" . \
"A client device specific rule must not exist!"); link=$Link });
:set ($Seen->$Ssid) 1;
}
}
}
}
-} on-error={ }
+} do={
+ :global ExitError; $ExitError $ExitOK [ :jobname ] $Err;
+}