You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2022/12/14 18:26:42 UTC
[tomcat] branch 8.5.x updated: Fix BZ 66388 - correct regression in removal of URL constructors
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push:
new cf2015c135 Fix BZ 66388 - correct regression in removal of URL constructors
cf2015c135 is described below
commit cf2015c1350a3f057182dd4c26c20f68df8b3400
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Dec 14 18:21:35 2022 +0000
Fix BZ 66388 - correct regression in removal of URL constructors
---
java/org/apache/catalina/webresources/AbstractArchiveResource.java | 5 ++++-
webapps/docs/changelog.xml | 6 ++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/java/org/apache/catalina/webresources/AbstractArchiveResource.java b/java/org/apache/catalina/webresources/AbstractArchiveResource.java
index 534a3db429..8e4daffddc 100644
--- a/java/org/apache/catalina/webresources/AbstractArchiveResource.java
+++ b/java/org/apache/catalina/webresources/AbstractArchiveResource.java
@@ -22,11 +22,14 @@ import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.security.cert.Certificate;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.jar.JarEntry;
import java.util.jar.Manifest;
+import org.apache.catalina.util.URLEncoder;
+
public abstract class AbstractArchiveResource extends AbstractResource {
private final AbstractArchiveResourceSet archiveResourceSet;
@@ -139,7 +142,7 @@ public abstract class AbstractArchiveResource extends AbstractResource {
@Override
public URL getURL() {
- String url = baseUrl + resource.getName();
+ String url = baseUrl + URLEncoder.DEFAULT.encode(resource.getName(), StandardCharsets.UTF_8);
try {
return new URI(url).toURL();
} catch (MalformedURLException | URISyntaxException e) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index b467321395..a5594a135f 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -117,6 +117,12 @@
correct <code>protocolHeader</code> default value of "X-Forwarded-Proto".
(lihan)
</fix>
+ <fix>
+ <bug>66388</bug>: Correct a regression in the refactoring that replaced
+ the use of the <code>URL</code> constructors. The regression broke
+ lookups for resources that contained one or more characters in their
+ name that required escaping when used in a URI path. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org