From d52a24f20a71c646a4346140f3656d55d17192f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20K=C3=BCthe?= Date: Fri, 24 Oct 2025 19:53:53 +0000 Subject: [PATCH 1/5] Replace Word-Boundary with negative lookup to allow a . at the end of the domain and : for IPv6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marek Küthe --- src/net/azib/ipscan/util/InetAddressUtils.java | 2 +- test/net/azib/ipscan/util/InetAddressUtilsTest.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/net/azib/ipscan/util/InetAddressUtils.java b/src/net/azib/ipscan/util/InetAddressUtils.java index 3f5ab545..df85a2ad 100644 --- a/src/net/azib/ipscan/util/InetAddressUtils.java +++ b/src/net/azib/ipscan/util/InetAddressUtils.java @@ -31,7 +31,7 @@ public class InetAddressUtils { static final Logger LOG = LoggerFactory.getLogger(); // Warning! IPv4 specific code - public static final Pattern HOSTNAME_REGEX = Pattern.compile("\\b((([a-z]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)+([a-z]{2,})|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})\\b", CASE_INSENSITIVE); + public static final Pattern HOSTNAME_REGEX = Pattern.compile("(? Date: Fri, 24 Oct 2025 20:05:26 +0000 Subject: [PATCH 2/5] Allow numbers in TLD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit see https://stackoverflow.com/questions/9071279/number-in-the-top-level-domain#53875771 Signed-off-by: Marek Küthe --- src/net/azib/ipscan/util/InetAddressUtils.java | 2 +- test/net/azib/ipscan/util/InetAddressUtilsTest.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/net/azib/ipscan/util/InetAddressUtils.java b/src/net/azib/ipscan/util/InetAddressUtils.java index df85a2ad..93f8cc1b 100644 --- a/src/net/azib/ipscan/util/InetAddressUtils.java +++ b/src/net/azib/ipscan/util/InetAddressUtils.java @@ -31,7 +31,7 @@ public class InetAddressUtils { static final Logger LOG = LoggerFactory.getLogger(); // Warning! IPv4 specific code - public static final Pattern HOSTNAME_REGEX = Pattern.compile("(? Date: Fri, 24 Oct 2025 20:12:19 +0000 Subject: [PATCH 3/5] Allow IPv6 addresses in host files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes https://github.com/angryip/ipscan/issues/481 See https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses Signed-off-by: Marek Küthe --- src/net/azib/ipscan/util/InetAddressUtils.java | 3 +-- .../azib/ipscan/util/InetAddressUtilsTest.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/net/azib/ipscan/util/InetAddressUtils.java b/src/net/azib/ipscan/util/InetAddressUtils.java index 93f8cc1b..3b2090da 100644 --- a/src/net/azib/ipscan/util/InetAddressUtils.java +++ b/src/net/azib/ipscan/util/InetAddressUtils.java @@ -30,8 +30,7 @@ public class InetAddressUtils { static final Logger LOG = LoggerFactory.getLogger(); - // Warning! IPv4 specific code - public static final Pattern HOSTNAME_REGEX = Pattern.compile("(\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b)|(\\b(([a-z]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)+([a-z0-9]{2,})\\.?(?!(\\w|\\.)))", CASE_INSENSITIVE); + public static final Pattern HOSTNAME_REGEX = Pattern.compile("(\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b)|(? Date: Fri, 24 Oct 2025 20:15:52 +0000 Subject: [PATCH 4/5] Improve IPv4 regex see https://stackoverflow.com/questions/5284147/validating-ipv4-addresses-with-regexp --- src/net/azib/ipscan/util/InetAddressUtils.java | 2 +- test/net/azib/ipscan/util/InetAddressUtilsTest.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/net/azib/ipscan/util/InetAddressUtils.java b/src/net/azib/ipscan/util/InetAddressUtils.java index 3b2090da..80b2d131 100644 --- a/src/net/azib/ipscan/util/InetAddressUtils.java +++ b/src/net/azib/ipscan/util/InetAddressUtils.java @@ -30,7 +30,7 @@ public class InetAddressUtils { static final Logger LOG = LoggerFactory.getLogger(); - public static final Pattern HOSTNAME_REGEX = Pattern.compile("(\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b)|(? Date: Fri, 31 Oct 2025 21:31:58 +0000 Subject: [PATCH 5/5] Add changelog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marek Küthe --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index ec3a63cb..8e32c390 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ Changes in 3.9.3: - Updated SWT for all platforms, improved loading of correct SWT library on Linux - Add support for plugin jars containing their own messages.properties +- Recognition of FQDNs (with trailing dots and numbers in TLDs) in IP list files +- Recognition of IPv6 addresses in IP list files Changes in 3.9.2: - Linux: specify Java 17 as minimum required version in .deb and .rpm packages