mirror of
https://github.com/eworm-de/routeros-scripts
synced 2024-05-14 08:04:19 +00:00
Makefile: support new wifi package...
... introduced with RouterOS 7.13beta1.
This commit is contained in:
parent
3aec5d70c6
commit
448b44cde6
6 changed files with 29 additions and 22 deletions
25
Makefile
25
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' > $@
|
||||
|
||||
%.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' \
|
||||
%.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!' \
|
||||
< $< > $@
|
||||
|
||||
%.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' \
|
||||
%.local.rsc: %.template.rsc Makefile
|
||||
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!' \
|
||||
< $< > $@
|
||||
|
||||
%.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!' \
|
||||
< $< > $@
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue