From 47052f6a0a7bb19823e239161d9672af1f9ba367 Mon Sep 17 00:00:00 2001 From: gregw Date: Tue, 7 Mar 2023 12:44:24 +0100 Subject: [PATCH] Fully decode #9444 getServletPath and getPathInfo will never return an encoded path segment. Instead, they will throw an IllegalArgumentException if they are called when there is a URI with violations. --- .../java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java index 4730d87d96ae..4c9b829659c0 100644 --- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java +++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java @@ -367,6 +367,8 @@ else if (req instanceof ServletApiRequest apiRequest) else pathInContext = URIUtil.addPaths(isPathInfoOnly() ? "/" : req.getServletPath(), req.getPathInfo()); + pathInContext = URIUtil.encodePath(pathInContext); + if (LOG.isDebugEnabled()) LOG.debug("doGet(req={}, resp={}) pathInContext={}, included={}", req, resp, pathInContext, included);