From 0a10070ce5cca63e18845e6193dcf158cb4f81a8 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:37:51 -0700 Subject: [PATCH 01/17] Upgrade to ActiveMQ 6.2.6 Closes gh-50652 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index c77954e2dcc4..50c9d970ed26 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -31,7 +31,7 @@ bom { ] } } - library("ActiveMQ", "6.2.5") { + library("ActiveMQ", "6.2.6") { group("org.apache.activemq") { modules = [ "activemq-console", From 672f36d053c56eafb0ff186bab128edc8aef4206 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:37:55 -0700 Subject: [PATCH 02/17] Upgrade to Byte Buddy 1.18.9 Closes gh-50653 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 50c9d970ed26..64f45ca72d3c 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -186,7 +186,7 @@ bom { releaseNotes("https://github.com/mojohaus/build-helper-maven-plugin/releases/tag/{version}") } } - library("Byte Buddy", "1.18.8") { + library("Byte Buddy", "1.18.9") { group("net.bytebuddy") { modules = [ "byte-buddy", From 9d60a76135e7e0cd4d1f63bf34df06a0d07a960d Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:00 -0700 Subject: [PATCH 03/17] Upgrade to Cassandra Driver 4.19.3 Closes gh-50654 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 64f45ca72d3c..78037cb6b2b5 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -231,7 +231,7 @@ bom { releaseNotes("https://github.com/ben-manes/caffeine/releases/tag/v{version}") } } - library("Cassandra Driver", "4.19.2") { + library("Cassandra Driver", "4.19.3") { group("org.apache.cassandra") { bom("java-driver-bom") { permit("com.datastax.oss:native-protocol") From 6b98cf3071129ef1d57f7ec6b2d859b2b306b56f Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:06 -0700 Subject: [PATCH 04/17] Upgrade to Elasticsearch Client 9.4.2 Closes gh-50655 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 78037cb6b2b5..7368b0cffd4e 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -401,7 +401,7 @@ bom { releaseNotes("https://github.com/ehcache/ehcache3/releases/tag/v{version}") } } - library("Elasticsearch Client", "9.4.1") { + library("Elasticsearch Client", "9.4.2") { prohibit { contains "-alpha" contains "-beta" From f7a89a77b53219a6c4fb77b606704c5fdd7a8d6a Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:12 -0700 Subject: [PATCH 05/17] Upgrade to Glassfish JAXB 4.0.9 Closes gh-50656 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 7368b0cffd4e..166fe9174f41 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -484,7 +484,7 @@ bom { releaseNotes("https://github.com/git-commit-id/git-commit-id-maven-plugin/releases/tag/v{version}") } } - library("Glassfish JAXB", "4.0.8") { + library("Glassfish JAXB", "4.0.9") { alignWith { dependencyManagementDeclaredIn("org.glassfish.jaxb:jaxb-bom") { excluding { candidate -> candidate.classifier().equals("sources") } From 130acc0389ac658f1cce301de15770bde35affa4 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:19 -0700 Subject: [PATCH 06/17] Upgrade to Jackson 2 Bom 2.21.4 Closes gh-50657 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 30aa3f0a755a..4749e85b085d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,7 @@ checkstyleToolVersion=10.12.4 commonsCodecVersion=1.21.0 graalVersion=25 hamcrestVersion=3.0 -jackson2Version=2.21.3 +jackson2Version=2.21.4 jacksonVersion=3.1.3 javaFormatVersion=0.0.47 junitJupiterVersion=6.0.3 From 24983e7f98a3808167fd5b8d2c89af3b5236b804 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:25 -0700 Subject: [PATCH 07/17] Upgrade to Jackson Bom 3.1.4 Closes gh-50658 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 4749e85b085d..4119558fc171 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ commonsCodecVersion=1.21.0 graalVersion=25 hamcrestVersion=3.0 jackson2Version=2.21.4 -jacksonVersion=3.1.3 +jacksonVersion=3.1.4 javaFormatVersion=0.0.47 junitJupiterVersion=6.0.3 kotlinVersion=2.3.21 From 3a60ac71c2b7757243a615bac0fd7778a2bb3a62 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:29 -0700 Subject: [PATCH 08/17] Upgrade to Jakarta Json Bind 3.0.2 Closes gh-50659 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 166fe9174f41..59f96dcaa1fd 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -854,7 +854,7 @@ bom { releaseNotes("https://github.com/jakartaee/jsonp-api/releases/tag/{version}-RELEASE") } } - library("Jakarta Json Bind", "3.0.1") { + library("Jakarta Json Bind", "3.0.2") { group("jakarta.json.bind") { modules = [ "jakarta.json.bind-api" From b5e32570ce376c34a37b2ef2d506cc46791eaefb Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:35 -0700 Subject: [PATCH 09/17] Upgrade to Jaxen 2.0.5 Closes gh-50660 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 59f96dcaa1fd..0039494fbe34 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1035,7 +1035,7 @@ bom { ] } } - library("Jaxen", "2.0.3") { + library("Jaxen", "2.0.5") { group("jaxen") { modules = [ "jaxen" From 4761d86dbbb1dbd77b08e31e84529f6f4eb13576 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:40 -0700 Subject: [PATCH 10/17] Upgrade to Jetty 12.1.10 Closes gh-50661 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 0039494fbe34..0e5348d39aef 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1115,7 +1115,7 @@ bom { ] } } - library("Jetty", "12.1.8") { + library("Jetty", "12.1.10") { prohibit { contains ".alpha" because "we don't want alpha dependencies" From ebdfa4189bce58715f06e16c31ea73db683f77e0 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:44 -0700 Subject: [PATCH 11/17] Upgrade to Kafka 4.2.1 Closes gh-50662 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 0e5348d39aef..ee81cab1b5e6 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1241,7 +1241,7 @@ bom { releaseNotes("https://junit.org/junit5/docs/{version}/release-notes") } } - library("Kafka", "4.2.0") { + library("Kafka", "4.2.1") { group("org.apache.kafka") { modules = [ "connect", From b858b772f4e49e3334e46db089bfe451a29623b3 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:49 -0700 Subject: [PATCH 12/17] Upgrade to Logback 1.5.34 Closes gh-50663 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index ee81cab1b5e6..6eea1b4131e2 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1373,7 +1373,7 @@ bom { releaseNotes("https://github.com/apache/logging-log4j2/releases/tag/rel%2F{version}") } } - library("Logback", "1.5.32") { + library("Logback", "1.5.34") { group("ch.qos.logback") { modules = [ "logback-classic", From e6bd2cce0449e2e2fe64d8080c9adc13b066cdd1 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:53 -0700 Subject: [PATCH 13/17] Upgrade to Maven Failsafe Plugin 3.5.6 Closes gh-50664 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 6eea1b4131e2..73bd51ebc673 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1490,7 +1490,7 @@ bom { releaseNotes("https://github.com/apache/maven-enforcer/releases/tag/enforcer-{version}") } } - library("Maven Failsafe Plugin", "3.5.5") { + library("Maven Failsafe Plugin", "3.5.6") { group("org.apache.maven.plugins") { plugins = [ "maven-failsafe-plugin" From 6ef004ec156947c4148cc591b19f35605c95e36f Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:38:58 -0700 Subject: [PATCH 14/17] Upgrade to Maven Surefire Plugin 3.5.6 Closes gh-50665 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 73bd51ebc673..4a71a92598ca 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1593,7 +1593,7 @@ bom { releaseNotes("https://github.com/apache/maven-source-plugin/releases/tag/maven-source-plugin-{version}") } } - library("Maven Surefire Plugin", "3.5.5") { + library("Maven Surefire Plugin", "3.5.6") { group("org.apache.maven.plugins") { plugins = [ "maven-surefire-plugin" From b973777703a21c78ced4cc28154d35b2a63f180a Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:39:04 -0700 Subject: [PATCH 15/17] Upgrade to Netty 4.2.15.Final Closes gh-50666 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 4a71a92598ca..fd7930d79e42 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1752,7 +1752,7 @@ bom { releaseNotes("https://github.com/neo4j/neo4j-java-driver/releases/tag/{version}") } } - library("Netty", "4.2.14.Final") { + library("Netty", "4.2.15.Final") { prohibit { contains ".Alpha" contains ".Beta" From f98f06388f21381d01b9e02039f0b89672eab130 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:39:08 -0700 Subject: [PATCH 16/17] Upgrade to Oracle Database 23.26.2.0.0 Closes gh-50667 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index fd7930d79e42..ac109d51a86b 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1791,7 +1791,7 @@ bom { releaseNotes("https://github.com/open-telemetry/opentelemetry-java/releases/tag/v{version}") } } - library("Oracle Database", "23.26.1.0.0") { + library("Oracle Database", "23.26.2.0.0") { alignWith { dependencyManagementDeclaredIn("com.oracle.database.jdbc:ojdbc-bom") } From 739daa7ba83b5f68da198d9049bccec96cbfb657 Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 09:52:02 -0700 Subject: [PATCH 17/17] Filter special purpose IPs (RFC 6890) in `externalAddresses()` Update `InetAddressFilter.externalAddresses()` to filter special purpose IP addresses as defined by RFC 6890. As a byproduct of this commit to additional factory methods (`specialPurpose()` and `multicast()`) have also been introduced. Closes gh-50668 --- .../boot/http/client/InetAddressFilter.java | 29 ++- .../http/client/InetAddressFilterTests.java | 216 ++++++++++++++++++ 2 files changed, 243 insertions(+), 2 deletions(-) diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/InetAddressFilter.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/InetAddressFilter.java index 2dfd54be6936..94ebc86ebe08 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/InetAddressFilter.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/InetAddressFilter.java @@ -185,12 +185,16 @@ default InetAddressFilter negate() { /** * Return a filter that will match external (non-private) IP addresses. External - * addresses are all non-{@link #internalAddresses() internal addresses} + * addresses are all {@link #routable() routable} addresses that are not: + *
    + *
  • {@link #multicast() multicast}
  • + *
  • {@link #specialPurpose() special purpose}
  • + *
* @return a filter for external IP addresses * @see #internalAddresses() */ static InetAddressFilter externalAddresses() { - return routable().andNot(InternalInetAddressFilter.instance); + return routable().andNot(multicast(), specialPurpose()); } /** @@ -224,6 +228,27 @@ static InetAddressFilter routable() { }; } + /** + * Returns a filter that will match all multicast addresses. + * @return a filter for multicast IP addresses + */ + static InetAddressFilter multicast() { + return InetAddress::isMulticastAddress; + } + + /** + * Returns a filter that will match special purpose IP addresses as defined by + * RFC 6890. + * @return a filter for this network + */ + static InetAddressFilter specialPurpose() { + return of("0.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "192.0.0.0/24", "192.0.0.0/29", + "192.0.2.0/24", "192.88.99.0/24", "198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "240.0.0.0/4", + "255.255.255.255/32", "::1/128", "::/128", "64:ff9b::/96", "100::/64", "2001::/23", "2001::/32", + "2001:2::/48", "2001:db8::/32", "2001:10::/28", "2002::/16", "fc00::/7", "fe80::/10") + .or(InternalInetAddressFilter.instance); + } + /** * Return a filter that is the negation of all the given addresses. * @param addresses the addresses to negate in any form supported by diff --git a/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/InetAddressFilterTests.java b/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/InetAddressFilterTests.java index 3eb8d4089138..31106bacb945 100644 --- a/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/InetAddressFilterTests.java +++ b/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/InetAddressFilterTests.java @@ -327,6 +327,65 @@ void ipv6NonRoutable() { assertThat(filter).doesNotMatch("::"); } + @Test + void ipv4CurrentLocalThisNetwork() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("0.0.0.4"); + } + + @Test + void ipv4Subnet() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("169.254.0.1"); + assertThat(filter).doesNotMatch("255.255.255.255"); + } + + @Test + void ipv4Documentation() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("192.0.2.1"); + assertThat(filter).doesNotMatch("203.0.113.1"); + } + + @Test + void ipv4Multicast() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("224.0.0.1"); + } + + @Test + void ipv4ReservedForFutureUse() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("240.0.0.1"); + } + + @Test + void ipv4SharedAddressSpace() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("100.64.0.1"); + assertThat(filter).doesNotMatch("100.127.255.254"); + } + + @Test + void ipv4PerformanceBenchmarking() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("198.18.0.1"); + assertThat(filter).doesNotMatch("198.19.255.255"); + } + + @Test + void ipv4AllHostsMulticastGroup() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("224.0.0.1"); + assertThat(filter).doesNotMatch("239.255.255.250"); + } + + @Test + void ipv6NodeLinkMulticastAddress() { + InetAddressFilter filter = InetAddressFilter.externalAddresses(); + assertThat(filter).doesNotMatch("ff02::1"); + } + } @Nested @@ -521,6 +580,163 @@ void routable() { } + @Nested + class Multicast { + + @Test + void multicast() { + InetAddressFilter filter = InetAddressFilter.multicast(); + assertThat(filter).matches("239.255.255.255"); + assertThat(filter).matches("FF00:0000:0000:0000:0000:0000:0000:0001"); + } + + } + + @Nested + class SpecialPurpose { + + @Test + void publicAddress() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).doesNotMatch("8.8.8.8"); + } + + @Test + void thisHostNetwork() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("0.0.0.1"); + } + + @Test + void privateUseNetwork() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("10.0.0.1"); + assertThat(filter).matches("172.16.0.1"); + assertThat(filter).matches("192.168.0.1"); + } + + @Test + void sharedAddressSpace() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("100.64.0.1"); + } + + @Test + void loopback() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("127.0.0.0"); + assertThat(filter).matches("::1"); + } + + @Test + void linkLocal() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("169.254.0.1"); + } + + @Test + void protocolAssignments() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("192.0.0.1"); + assertThat(filter).matches("2001:0000:0000:0000:0000:0000:0000:0001"); + } + + @Test + void dsLite() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("192.0.0.1"); + } + + @Test + void documentation() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("192.0.2.1"); + assertThat(filter).matches("198.51.100.1"); + assertThat(filter).matches("203.0.113.1"); + assertThat(filter).matches("2001:0db8:0000:0000:0000:0000:0000:0001"); + } + + @Test + void SixToFourRelay() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("192.88.99.1"); + } + + @Test + void deviceBenchmarking() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("198.18.0.1"); + assertThat(filter).matches("2001:0002:0000:0000:0000:0000:0000:0001"); + } + + @Test + void futureUse() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("240.0.0.1"); + } + + @Test + void limitedBroadcast() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("255.255.255.255"); + } + + @Test + void unspecifiedAddress() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("0000:0000:0000:0000:0000:0000:0000:0001"); + } + + @Test + void ipv4ToIpv6AddressTranslation() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("0064:ff9b:0000:0000:0000:0000:0000:0001"); + } + + @Test + void ipv4MappedAddress() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("0000:0000:0000:0000:0000:ffff:0000:0001"); + } + + @Test + void discardOnly() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("0100:0000:0000:0000:0000:0000:0000:0001"); + } + + @Test + void teredo() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("2001:0000:0000:0000:0000:0000:0000:0001"); + } + + @Test + void orchid() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("2001:10:0000:0000:0000:0000:0000:0001"); + } + + @Test + void sixToFour() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("2002:0000:0000:0000:0000:0000:0000:0001"); + } + + @Test + void uniqueLocal() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("fc00:0000:0000:0000:0000:0000:0000:0001"); + } + + @Test + void linkedScopedUnicast() { + InetAddressFilter filter = InetAddressFilter.specialPurpose(); + assertThat(filter).matches("fe80:0000:0000:0000:0000:0000:0000:0001"); + } + + } + @Nested class NotTests {