email-daily-psk: send for active interfaces only

... and handle missing interface for accesslist entry.
This commit is contained in:
Christian Hesse 2018-08-17 09:01:52 +02:00
parent 81a125471a
commit 8c2c738ec5

View file

@ -8,20 +8,31 @@
:global "email-general-cc"; :global "email-general-cc";
:global "daily-psk-match-comment"; :global "daily-psk-match-comment";
:local "seen-ssids" { "" }; :local seen { "" };
:foreach acclist in=[ / interface wireless access-list find where comment~$"daily-psk-match-comment" ] do={ :foreach acclist in=[ / interface wireless access-list find where comment~$"daily-psk-match-comment" ] do={
:local interface [ / interface wireless access-list get $acclist interface ]; :local skip 0;
:local ssid [ / interface wireless get $interface ssid ]; :local intname [ / interface wireless access-list get $acclist interface ];
:local psk [ / interface wireless access-list get $acclist private-pre-shared-key ]; :local psk [ / interface wireless access-list get $acclist private-pre-shared-key ];
:local interface [ / interface wireless find where name=$intname disabled=no ];
:local ssid;
:local seen 0; :if ([ :len $interface ] = 1) do={
:foreach "seen-ssid" in=$"seen-ssids" do={ :set ssid [ / interface wireless get $interface ssid ];
:if ($"seen-ssid" = $ssid) do={ :set seen 1; } } else={
:log debug "Missing active interface for access list entry, skipping.";
:set skip 1;
} }
:if ($seen = 0) do={ :foreach "seen-ssid" in=$seen do={
:set $"seen-ssids" { $"seen-ssids"; $ssid }; :if ($"seen-ssid" = $ssid) do={
:log debug ("Already sent a mail for SSID " . $ssid . ", skipping.");
:set skip 1;
}
}
:if ($skip = 0) do={
:set $seen { $seen; $ssid };
:local host "www.eworm.de" :local host "www.eworm.de"
:local srcpath ("/cgi-bin/cqrlogo-wifi.cgi" . \ :local srcpath ("/cgi-bin/cqrlogo-wifi.cgi" . \