aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2023-11-14 10:10:56 +0100
committerGravatar Christian Hesse <mail@eworm.de>2023-11-15 14:34:33 +0100
commit448b44cde664a5da65c3b8726e8f512483693eca (patch)
tree9aee3183f1081c6ad5a11f36bd30ff52ae091f29
parent3aec5d70c628003634fc413cdb00b2e1e0c9fca5 (diff)
Makefile: support new wifi package...
... introduced with RouterOS 7.13beta1.
-rw-r--r--Makefile23
-rw-r--r--capsman-download-packages.template.rsc8
-rw-r--r--capsman-rolling-upgrade.template.rsc4
-rw-r--r--daily-psk.template.rsc2
-rw-r--r--hotspot-to-wpa-cleanup.template.rsc4
-rw-r--r--hotspot-to-wpa.template.rsc8
6 files changed, 28 insertions, 21 deletions
diff --git a/Makefile b/Makefile
index 100aa78..b18b09a 100644
--- a/Makefile
+++ b/Makefile
@@ -4,31 +4,38 @@
CAPSMAN = $(wildcard *.capsman.rsc)
LOCAL = $(wildcard *.local.rsc)
+WIFI = $(wildcard *.wifi.rsc)
WIFIWAVE2 = $(wildcard *.wifiwave2.rsc)
MARKDOWN = $(wildcard *.md doc/*.md doc/mod/*.md)
HTML = $(MARKDOWN:.md=.html)
-all: $(CAPSMAN) $(LOCAL) $(WIFIWAVE2) $(HTML)
+all: $(CAPSMAN) $(LOCAL) $(WIFI) $(WIFIWAVE2) $(HTML)
%.html: %.md Makefile
markdown $< | sed 's/href="\([-_\./[:alnum:]]*\)\.md"/href="\1.html"/g' > $@
+%.capsman.rsc: %.template.rsc Makefile
+ sed -e '/\/interface\/wifi\//d' -e '/\/interface\/wifiwave2\//d' -e '/\/interface\/wireless\//d' -e 's|%TEMPL%|.capsman|' \
+ -e '/^# NOT \/caps-man\/ #$$/,/^# NOT \/caps-man\/ #$$/d' \
+ -e '/^# !!/,/^# !!/c # !! Do not edit this file, it is generated from template!' \
+ < $< > $@
+
%.local.rsc: %.template.rsc Makefile
- sed -e '/\/caps-man/d' -e '/\/interface\/wifiwave2/d' -e 's|%TEMPL%|.local|' \
- -e '/^# NOT \/interface\/wireless #$$/,/^# NOT \/interface\/wireless #$$/d' \
+ sed -e '/\/caps-man\//d' -e '/\/interface\/wifi\//d' -e '/\/interface\/wifiwave2\//d' -e 's|%TEMPL%|.local|' \
+ -e '/^# NOT \/interface\/wireless\/ #$$/,/^# NOT \/interface\/wireless\/ #$$/d' \
-e '/^# !!/,/^# !!/c # !! Do not edit this file, it is generated from template!' \
< $< > $@
-%.capsman.rsc: %.template.rsc Makefile
- sed -e '/\/interface\/wifiwave2/d' -e '/\/interface\/wireless/d' -e 's|%TEMPL%|.capsman|' \
- -e '/^# NOT \/caps-man #$$/,/^# NOT \/caps-man #$$/d' \
+%.wifi.rsc: %.template.rsc Makefile
+ sed -e '/\/caps-man\//d' -e '/\/interface\/wifiwave2\//d' -e '/\/interface\/wireless\//d' -e 's|%TEMPL%|.wifi|' \
+ -e '/^# NOT \/interface\/wifi\/ #$$/,/^# NOT \/interface\/wifi\/ #$$/d' \
-e '/^# !!/,/^# !!/c # !! Do not edit this file, it is generated from template!' \
< $< > $@
%.wifiwave2.rsc: %.template.rsc Makefile
- sed -e '/\/caps-man/d' -e '/\/interface\/wireless/d' -e 's|%TEMPL%|.wifiwave2|' \
- -e '/^# NOT \/interface\/wifiwave2 #$$/,/^# NOT \/interface\/wifiwave2 #$$/d' \
+ sed -e '/\/caps-man\//d' -e '/\/interface\/wifi\//d' -e '/\/interface\/wireless\//d' -e 's|%TEMPL%|.wifiwave2|' \
+ -e '/^# NOT \/interface\/wifiwave2\/ #$$/,/^# NOT \/interface\/wifiwave2\/ #$$/d' \
-e '/^# !!/,/^# !!/c # !! Do not edit this file, it is generated from template!' \
< $< > $@
diff --git a/capsman-download-packages.template.rsc b/capsman-download-packages.template.rsc
index 80f1988..88fda60 100644
--- a/capsman-download-packages.template.rsc
+++ b/capsman-download-packages.template.rsc
@@ -55,7 +55,7 @@ $WaitFullyConnected;
}
}
-# NOT /interface/wifiwave2 #
+# NOT /interface/wifiwave2/ #
:if ([ :len [ /system/logging/find where topics~"error" !(topics~"!error") \
!(topics~"!caps") action=memory !disabled !invalid ] ] < 1) do={
$LogPrintExit2 warning $0 ("Looks like error messages for 'caps' are not sent to memory. " . \
@@ -81,8 +81,8 @@ $WaitFullyConnected;
:set Updated true;
}
}
-# NOT /interface/wifiwave2 #
-# NOT /caps-man #
+# NOT /interface/wifiwave2/ #
+# NOT /caps-man/ #
:if ([ :len [ /file/find where type=package name~("^" . $PackagePath) ] ] = 0) do={
$LogPrintExit2 info $0 ("No packages available, downloading default set.") false;
:foreach Arch in={ "arm"; "arm64" } do={
@@ -93,7 +93,7 @@ $WaitFullyConnected;
}
}
}
-# NOT /caps-man #
+# NOT /caps-man/ #
:if ($Updated = true) do={
:local Script ([ /system/script/find where source~"\n# provides: capsman-rolling-upgrade\n" ]->0);
diff --git a/capsman-rolling-upgrade.template.rsc b/capsman-rolling-upgrade.template.rsc
index fc6872c..7800eec 100644
--- a/capsman-rolling-upgrade.template.rsc
+++ b/capsman-rolling-upgrade.template.rsc
@@ -33,9 +33,9 @@ $ScriptLock $0;
:local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
:local RemoteCapVal [ /interface/wifiwave2/capsman/remote-cap/get $RemoteCap ];
:if ([ :len $RemoteCapVal ] > 1) do={
-# NOT /caps-man #
+# NOT /caps-man/ #
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
-# NOT /caps-man #
+# NOT /caps-man/ #
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \
" (" . $RemoteCapVal->"identity" . ")...") false;
/caps-man/remote-cap/upgrade $RemoteCap;
diff --git a/daily-psk.template.rsc b/daily-psk.template.rsc
index ad9198a..1cb89d0 100644
--- a/daily-psk.template.rsc
+++ b/daily-psk.template.rsc
@@ -66,7 +66,7 @@ $WaitFullyConnected;
:local Ssid [ /interface/wifiwave2/configuration/get $Configuration ssid ];
:local OldPsk [ /caps-man/access-list/get $AccList private-passphrase ];
:local OldPsk [ /interface/wifiwave2/access-list/get $AccList passphrase ];
- # /caps-man /interface/wifiwave2 above - /interface/wireless below
+ # /caps-man/ /interface/wifiwave2/ above - /interface/wireless/ below
:local IntName [ /interface/wireless/access-list/get $AccList interface ];
:local Ssid [ /interface/wireless/get $IntName ssid ];
:local OldPsk [ /interface/wireless/access-list/get $AccList private-pre-shared-key ];
diff --git a/hotspot-to-wpa-cleanup.template.rsc b/hotspot-to-wpa-cleanup.template.rsc
index 8cc732b..d033b20 100644
--- a/hotspot-to-wpa-cleanup.template.rsc
+++ b/hotspot-to-wpa-cleanup.template.rsc
@@ -4,9 +4,9 @@
# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
#
# provides: lease-script, order=80
-# NOT /caps-man #
+# NOT /caps-man/ #
# requires RouterOS, version=7.12beta3
-# NOT /caps-man #
+# NOT /caps-man/ #
#
# manage and clean up private WPA passphrase after hotspot login
# https://git.eworm.de/cgit/routeros-scripts/about/doc/hotspot-to-wpa.md
diff --git a/hotspot-to-wpa.template.rsc b/hotspot-to-wpa.template.rsc
index c676fe6..5443271 100644
--- a/hotspot-to-wpa.template.rsc
+++ b/hotspot-to-wpa.template.rsc
@@ -74,9 +74,9 @@ $LogPrintExit2 info $0 ("Adding/updating access-list entry for mac address " . $
:local Entry [ /caps-man/access-list/find where mac-address=$MacAddress \
:local Entry [ /interface/wifiwave2/access-list/find where mac-address=$MacAddress \
comment=("hotspot-to-wpa: " . $UserName . ", " . $MacAddress . ", " . $Date) ];
-# NOT /caps-man #
+# NOT /caps-man/ #
:set ($Template->"private-passphrase") ($Template->"passphrase");
-# NOT /caps-man #
+# NOT /caps-man/ #
:local PrivatePassphrase [ $EitherOr ($UserInfo->"private-passphrase") ($Template->"private-passphrase") ];
:if ([ :len $PrivatePassphrase ] > 0) do={
:if ($PrivatePassphrase = "ignore") do={
@@ -97,12 +97,12 @@ $LogPrintExit2 info $0 ("Adding/updating access-list entry for mac address " . $
/caps-man/access-list/set $Entry vlan-id=$VlanId;
/interface/wifiwave2/access-list/set $Entry vlan-id=$VlanId;
}
-# NOT /interface/wifiwave2 #
+# NOT /interface/wifiwave2/ #
:local VlanMode [ $EitherOr ($UserInfo->"vlan-mode") ($Template->"vlan-mode") ];
:if ([ :len $VlanMode] > 0) do={
/caps-man/access-list/set $Entry vlan-mode=$VlanMode;
}
-# NOT /interface/wifiwave2 #
+# NOT /interface/wifiwave2/ #
:delay 2s;
/caps-man/access-list/set $Entry action=accept;