From b82b46243de516746623ce87a75bfed8f27d4a68 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Thu, 1 Jul 2021 17:27:17 +1000 Subject: [PATCH 1/2] Issue #6489 - fix RFC3986_UNAMBIGUOUS and UNSAFE UriCompliance modes. Signed-off-by: Lachlan Roberts --- .../src/main/java/org/eclipse/jetty/http/UriCompliance.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java b/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java index f9d0504283ab..63d01ad557da 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java @@ -159,7 +159,7 @@ public String getDescription() public static UriCompliance valueOf(String name) { - for (UriCompliance compliance : Arrays.asList(DEFAULT, LEGACY, RFC3986, STRICT, SAFE)) + for (UriCompliance compliance : Arrays.asList(DEFAULT, LEGACY, RFC3986, RFC3986_UNAMBIGUOUS, UNSAFE, SAFE, STRICT)) { if (compliance.getName().equals(name)) return compliance; From 76ab749acafc8b5c11983aef1fd83d458610bfe9 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Thu, 1 Jul 2021 17:52:07 +1000 Subject: [PATCH 2/2] Issue #6489 - fix RFC3986_UNAMBIGUOUS and UNSAFE UriCompliance modes. Signed-off-by: Lachlan Roberts --- .../src/main/java/org/eclipse/jetty/http/UriCompliance.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java b/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java index 63d01ad557da..25b169a5afba 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/UriCompliance.java @@ -13,8 +13,8 @@ package org.eclipse.jetty.http; -import java.util.Arrays; import java.util.EnumSet; +import java.util.List; import java.util.Objects; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; @@ -156,10 +156,11 @@ public String getDescription() public static final UriCompliance STRICT = new UriCompliance("STRICT", RFC3986.getAllowed()); private static final AtomicInteger __custom = new AtomicInteger(); + private static final List KNOWN_MODES = List.of(DEFAULT, LEGACY, RFC3986, RFC3986_UNAMBIGUOUS, UNSAFE, SAFE, STRICT); public static UriCompliance valueOf(String name) { - for (UriCompliance compliance : Arrays.asList(DEFAULT, LEGACY, RFC3986, RFC3986_UNAMBIGUOUS, UNSAFE, SAFE, STRICT)) + for (UriCompliance compliance : KNOWN_MODES) { if (compliance.getName().equals(name)) return compliance;