hotspot-to-wpa: drop main function, use :do with on-error

This commit is contained in:
Christian Hesse 2024-03-06 15:28:55 +01:00
parent b622f47d65
commit 54638924e4
3 changed files with 27 additions and 30 deletions

View file

@ -13,21 +13,22 @@
:global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:local Main do={
:local ScriptName [ :tostr $1 ];
:local MacAddress [ :tostr $2 ];
:local UserName [ :tostr $3 ];
:do {
:local ScriptName [ :jobname ];
:global EitherOr;
:global LogPrintExit2;
:global ParseKeyValueStore;
:global ScriptLock;
:local MacAddress $"mac-address";
:local UserName $username;
:if ([ $ScriptLock $ScriptName ] = false) do={
:return false;
:error false;
}
:if ([ :len $MacAddress ] = 0 || [ :len $UserName ] = 0) do={
:if ([ :typeof $MacAddress ] = "nothing" || [ :typeof $UserName ] = "nothing") do={
$LogPrintExit2 error $ScriptName ("This script is supposed to run from hotspot on login.") true;
}
@ -55,7 +56,7 @@
:if ($Template->"action" = "reject") do={
$LogPrintExit2 info $ScriptName ("Ignoring login for hotspot '" . $Hotspot . "'.") false;
:return true;
:error true;
}
# allow login page to load
@ -93,6 +94,4 @@
:delay 2s;
/caps-man/access-list/set $Entry action=accept;
}
$Main [ :jobname ] $"mac-address" $username;
} on-error={ }

View file

@ -14,21 +14,22 @@
:global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:local Main do={
:local ScriptName [ :tostr $1 ];
:local MacAddress [ :tostr $2 ];
:local UserName [ :tostr $3 ];
:do {
:local ScriptName [ :jobname ];
:global EitherOr;
:global LogPrintExit2;
:global ParseKeyValueStore;
:global ScriptLock;
:local MacAddress $"mac-address";
:local UserName $username;
:if ([ $ScriptLock $ScriptName ] = false) do={
:return false;
:error false;
}
:if ([ :len $MacAddress ] = 0 || [ :len $UserName ] = 0) do={
:if ([ :typeof $MacAddress ] = "nothing" || [ :typeof $UserName ] = "nothing") do={
$LogPrintExit2 error $ScriptName ("This script is supposed to run from hotspot on login.") true;
}
@ -62,7 +63,7 @@
:if ($Template->"action" = "reject") do={
$LogPrintExit2 info $ScriptName ("Ignoring login for hotspot '" . $Hotspot . "'.") false;
:return true;
:error true;
}
# allow login page to load
@ -113,6 +114,4 @@
:delay 2s;
/caps-man/access-list/set $Entry action=accept;
/interface/wifi/access-list/set $Entry action=accept;
}
$Main [ :jobname ] $"mac-address" $username;
} on-error={ }

View file

@ -13,21 +13,22 @@
:global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:local Main do={
:local ScriptName [ :tostr $1 ];
:local MacAddress [ :tostr $2 ];
:local UserName [ :tostr $3 ];
:do {
:local ScriptName [ :jobname ];
:global EitherOr;
:global LogPrintExit2;
:global ParseKeyValueStore;
:global ScriptLock;
:local MacAddress $"mac-address";
:local UserName $username;
:if ([ $ScriptLock $ScriptName ] = false) do={
:return false;
:error false;
}
:if ([ :len $MacAddress ] = 0 || [ :len $UserName ] = 0) do={
:if ([ :typeof $MacAddress ] = "nothing" || [ :typeof $UserName ] = "nothing") do={
$LogPrintExit2 error $ScriptName ("This script is supposed to run from hotspot on login.") true;
}
@ -55,7 +56,7 @@
:if ($Template->"action" = "reject") do={
$LogPrintExit2 info $ScriptName ("Ignoring login for hotspot '" . $Hotspot . "'.") false;
:return true;
:error true;
}
# allow login page to load
@ -90,6 +91,4 @@
:delay 2s;
/interface/wifi/access-list/set $Entry action=accept;
}
$Main [ :jobname ] $"mac-address" $username;
} on-error={ }