diff options
Diffstat (limited to 'hotspot-to-wpa.capsman.rsc')
| -rw-r--r-- | hotspot-to-wpa.capsman.rsc | 25 | 
1 files changed, 16 insertions, 9 deletions
diff --git a/hotspot-to-wpa.capsman.rsc b/hotspot-to-wpa.capsman.rsc index b85c591..8977cee 100644 --- a/hotspot-to-wpa.capsman.rsc +++ b/hotspot-to-wpa.capsman.rsc @@ -1,19 +1,21 @@  #!rsc by RouterOS  # RouterOS script: hotspot-to-wpa.capsman -# Copyright (c) 2019-2024 Christian Hesse <mail@eworm.de> -# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md +# Copyright (c) 2019-2025 Christian Hesse <mail@eworm.de> +# https://rsc.eworm.de/COPYING.md  # -# requires RouterOS, version=7.14 +# requires RouterOS, version=7.15 +# requires device-mode, hotspot  #  # add private WPA passphrase after hotspot login -# https://git.eworm.de/cgit/routeros-scripts/about/doc/hotspot-to-wpa.md +# https://rsc.eworm.de/doc/hotspot-to-wpa.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 EitherOr; @@ -25,11 +27,13 @@    :local UserName $username;    :if ([ $ScriptLock $ScriptName ] = false) do={ +    :set ExitOK true;      :error false;    }    :if ([ :typeof $MacAddress ] = "nothing" || [ :typeof $UserName ] = "nothing") do={      $LogPrint error $ScriptName ("This script is supposed to run from hotspot on login."); +    :set ExitOK true;      :error false;    } @@ -57,6 +61,7 @@    :if ($Template->"action" = "reject") do={      $LogPrint info $ScriptName ("Ignoring login for hotspot '" . $Hotspot . "'."); +    :set ExitOK true;      :error true;    } @@ -95,4 +100,6 @@    :delay 2s;    /caps-man/access-list/set $Entry action=accept; -} on-error={ } +} do={ +  :global ExitError; $ExitError $ExitOK [ :jobname ] $Err; +}  |