mirror of
https://git.eworm.de/cgit/routeros-scripts
synced 2025-07-15 20:44:31 +02:00
fw-addr-lists: two characters for branch
Using one character for IPv4 is ok (1 to 9), but IPv6 global unicase (2000::/3) results in just two different characters (2 and 3). So let's use first two characters...
This commit is contained in:
parent
e148df9e57
commit
d71ea804b0
1 changed files with 3 additions and 3 deletions
|
@ -100,7 +100,7 @@
|
||||||
:set Address ([ :pick $Line 0 [ $FindDelim $Line ] ] . ($List->"cidr"));
|
:set Address ([ :pick $Line 0 [ $FindDelim $Line ] ] . ($List->"cidr"));
|
||||||
}
|
}
|
||||||
:do {
|
:do {
|
||||||
:local Branch [ :pick $Address 0 1 ];
|
:local Branch [ :pick $Address 0 2 ];
|
||||||
:if ($Address ~ "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}(/[0-9]{1,2})?\$") do={
|
:if ($Address ~ "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}(/[0-9]{1,2})?\$") do={
|
||||||
:if ($Address ~ "/32\$") do={
|
:if ($Address ~ "/32\$") do={
|
||||||
:set Address [ :pick $Address 0 ([ :len $Address ] - 3) ];
|
:set Address [ :pick $Address 0 ([ :len $Address ] - 3) ];
|
||||||
|
@ -127,7 +127,7 @@
|
||||||
:foreach Entry in=[ /ip/firewall/address-list/find where \
|
:foreach Entry in=[ /ip/firewall/address-list/find where \
|
||||||
list=$FwListName comment=$ListComment ] do={
|
list=$FwListName comment=$ListComment ] do={
|
||||||
:local Address [ /ip/firewall/address-list/get $Entry address ];
|
:local Address [ /ip/firewall/address-list/get $Entry address ];
|
||||||
:local Branch [ :pick $Address 0 1 ];
|
:local Branch [ :pick $Address 0 2 ];
|
||||||
:local TimeOut ($IPv4Addresses->$Branch->$Address);
|
:local TimeOut ($IPv4Addresses->$Branch->$Address);
|
||||||
:if ([ :typeof $TimeOut ] = "time") do={
|
:if ([ :typeof $TimeOut ] = "time") do={
|
||||||
$LogPrintVerbose debug $ScriptName ("Renewing IPv4 address in list '" . $FwListName . \
|
$LogPrintVerbose debug $ScriptName ("Renewing IPv4 address in list '" . $FwListName . \
|
||||||
|
@ -148,7 +148,7 @@
|
||||||
:foreach Entry in=[ /ipv6/firewall/address-list/find where \
|
:foreach Entry in=[ /ipv6/firewall/address-list/find where \
|
||||||
list=$FwListName comment=$ListComment ] do={
|
list=$FwListName comment=$ListComment ] do={
|
||||||
:local Address [ /ipv6/firewall/address-list/get $Entry address ];
|
:local Address [ /ipv6/firewall/address-list/get $Entry address ];
|
||||||
:local Branch [ :pick $Address 0 1 ];
|
:local Branch [ :pick $Address 0 2 ];
|
||||||
:local TimeOut ($IPv6Addresses->$Branch->$Address);
|
:local TimeOut ($IPv6Addresses->$Branch->$Address);
|
||||||
:if ([ :typeof $TimeOut ] = "time") do={
|
:if ([ :typeof $TimeOut ] = "time") do={
|
||||||
$LogPrintVerbose debug $ScriptName ("Renewing IPv6 address in list '" . $FwListName . \
|
$LogPrintVerbose debug $ScriptName ("Renewing IPv6 address in list '" . $FwListName . \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue