aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--collect-wireless-mac.capsman21
-rw-r--r--collect-wireless-mac.local21
-rw-r--r--collect-wireless-mac.template21
3 files changed, 45 insertions, 18 deletions
diff --git a/collect-wireless-mac.capsman b/collect-wireless-mac.capsman
index 3137aa6..0e65dcd 100644
--- a/collect-wireless-mac.capsman
+++ b/collect-wireless-mac.capsman
@@ -31,9 +31,21 @@ $ScriptLock $0 false 10;
:local PlaceBefore ([ / caps-man access-list find where comment="--- collected above ---" disabled ]->0);
:foreach RegTbl in=[ / caps-man registration-table find ] do={
- :local Mac [ / caps-man registration-table get $RegTbl mac-address ];
- :local AccessList ([ / caps-man access-list find where mac-address=$Mac ]->0);
- :if ([ :len $AccessList ] = 0) do={
+ :local Mac;
+ :local AccessList;
+ :do {
+ :set Mac [ / caps-man registration-table get $RegTbl mac-address ];
+ :set AccessList ([ / caps-man access-list find where mac-address=$Mac ]->0);
+ } on-error={
+ $LogPrintExit2 debug $0 ("Device already gone... Ignoring.") false;
+ }
+
+ :if ([ :len $AccessList ] > 0) do={
+ $LogPrintExit2 debug $0 ("MAC address " . $Mac . " already known: " . \
+ [ / caps-man access-list get $AccessList comment ]) false;
+ }
+
+ :if ([ :typeof $Mac ] = "str" && [ :len $AccessList ] = 0) do={
:local Address "no dhcp lease";
:local DnsName "no dhcp lease";
:local HostName "no dhcp lease";
@@ -70,8 +82,5 @@ $ScriptLock $0 false 10;
"Address: " . $Address . "\n" . \
"DNS name: " . $DnsName . "\n" . \
"Date: " . $DateTime) });
- } else={
- $LogPrintExit2 debug $0 ("MAC address " . $Mac . " already known: " . \
- [ / caps-man access-list get $AccessList comment ]) false;
}
}
diff --git a/collect-wireless-mac.local b/collect-wireless-mac.local
index 0284acf..bb4cafe 100644
--- a/collect-wireless-mac.local
+++ b/collect-wireless-mac.local
@@ -31,9 +31,21 @@ $ScriptLock $0 false 10;
:local PlaceBefore ([ / interface wireless access-list find where comment="--- collected above ---" disabled ]->0);
:foreach RegTbl in=[ / interface wireless registration-table find ] do={
- :local Mac [ / interface wireless registration-table get $RegTbl mac-address ];
- :local AccessList ([ / interface wireless access-list find where mac-address=$Mac ]->0);
- :if ([ :len $AccessList ] = 0) do={
+ :local Mac;
+ :local AccessList;
+ :do {
+ :set Mac [ / interface wireless registration-table get $RegTbl mac-address ];
+ :set AccessList ([ / interface wireless access-list find where mac-address=$Mac ]->0);
+ } on-error={
+ $LogPrintExit2 debug $0 ("Device already gone... Ignoring.") false;
+ }
+
+ :if ([ :len $AccessList ] > 0) do={
+ $LogPrintExit2 debug $0 ("MAC address " . $Mac . " already known: " . \
+ [ / interface wireless access-list get $AccessList comment ]) false;
+ }
+
+ :if ([ :typeof $Mac ] = "str" && [ :len $AccessList ] = 0) do={
:local Address "no dhcp lease";
:local DnsName "no dhcp lease";
:local HostName "no dhcp lease";
@@ -70,8 +82,5 @@ $ScriptLock $0 false 10;
"Address: " . $Address . "\n" . \
"DNS name: " . $DnsName . "\n" . \
"Date: " . $DateTime) });
- } else={
- $LogPrintExit2 debug $0 ("MAC address " . $Mac . " already known: " . \
- [ / interface wireless access-list get $AccessList comment ]) false;
}
}
diff --git a/collect-wireless-mac.template b/collect-wireless-mac.template
index 8ccfeff..2be6447 100644
--- a/collect-wireless-mac.template
+++ b/collect-wireless-mac.template
@@ -32,9 +32,21 @@ $ScriptLock $0 false 10;
:local PlaceBefore ([ / %PATH% access-list find where comment="--- collected above ---" disabled ]->0);
:foreach RegTbl in=[ / %PATH% registration-table find ] do={
- :local Mac [ / %PATH% registration-table get $RegTbl mac-address ];
- :local AccessList ([ / %PATH% access-list find where mac-address=$Mac ]->0);
- :if ([ :len $AccessList ] = 0) do={
+ :local Mac;
+ :local AccessList;
+ :do {
+ :set Mac [ / %PATH% registration-table get $RegTbl mac-address ];
+ :set AccessList ([ / %PATH% access-list find where mac-address=$Mac ]->0);
+ } on-error={
+ $LogPrintExit2 debug $0 ("Device already gone... Ignoring.") false;
+ }
+
+ :if ([ :len $AccessList ] > 0) do={
+ $LogPrintExit2 debug $0 ("MAC address " . $Mac . " already known: " . \
+ [ / %PATH% access-list get $AccessList comment ]) false;
+ }
+
+ :if ([ :typeof $Mac ] = "str" && [ :len $AccessList ] = 0) do={
:local Address "no dhcp lease";
:local DnsName "no dhcp lease";
:local HostName "no dhcp lease";
@@ -72,8 +84,5 @@ $ScriptLock $0 false 10;
"Address: " . $Address . "\n" . \
"DNS name: " . $DnsName . "\n" . \
"Date: " . $DateTime) });
- } else={
- $LogPrintExit2 debug $0 ("MAC address " . $Mac . " already known: " . \
- [ / %PATH% access-list get $AccessList comment ]) false;
}
}