From 94b07600baff987161e4f661ff14bddeef9a6174 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 12 Jun 2023 09:14:36 +0200 Subject: fw-addr-lists: support domain names in lists --- fw-addr-lists.rsc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'fw-addr-lists.rsc') diff --git a/fw-addr-lists.rsc b/fw-addr-lists.rsc index 5117c3e..b33638e 100644 --- a/fw-addr-lists.rsc +++ b/fw-addr-lists.rsc @@ -19,7 +19,7 @@ :global WaitFullyConnected; :local FindDelim do={ - :local ValidChars "0123456789./"; + :local ValidChars "0123456789./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-"; :for I from=0 to=[ :len $1 ] do={ :if ([ :typeof [ :find $ValidChars [ :pick ($1 . " ") $I ] ] ] != "num") do={ :return $I; @@ -28,7 +28,6 @@ } $ScriptLock $0; - $WaitFullyConnected; :local ListComment ("managed by " . $0); @@ -61,7 +60,8 @@ $WaitFullyConnected; :while ([ :len $Data ] != 0) do={ :local Line [ :pick $Data 0 [ :find $Data "\n" ] ]; :local Address ([ :pick $Line 0 [ $FindDelim $Line ] ] . ($List->"cidr")); - :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})?\$" || \ + $Address ~ "^[\\.a-zA-Z0-9-]+\\.[a-zA-Z]{2,}\$") do={ :set ($Addresses->$Address) 1; } :set Data [ :pick $Data ([ :len $Line ] + 1) [ :len $Data ] ]; -- cgit v1.2.3-54-g00ecf