This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 676b3926ae Fix missing IllegalArgumentException
676b3926ae is described below

commit 676b3926ae6c969581ec088cc5cdf18a0e880793
Author: remm <r...@apache.org>
AuthorDate: Tue Apr 18 17:05:04 2023 +0200

    Fix missing IllegalArgumentException
    
    Regression when the Tomcat code was converted to using URI instead of
    URL. Only a few items really need it, but be somewhat cautious. Other
    instances of use seem fine.
---
 java/org/apache/catalina/connector/Response.java                  | 2 +-
 java/org/apache/catalina/core/NamingContextListener.java          | 4 ++--
 java/org/apache/catalina/startup/ContextConfig.java               | 4 ++--
 .../catalina/tribes/membership/cloud/AbstractStreamProvider.java  | 2 +-
 java/org/apache/catalina/valves/ProxyErrorReportValve.java        | 2 +-
 .../org/apache/catalina/webresources/AbstractArchiveResource.java | 2 +-
 java/org/apache/catalina/webresources/JarResourceRoot.java        | 2 +-
 webapps/docs/changelog.xml                                        | 8 ++++++++
 8 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/java/org/apache/catalina/connector/Response.java 
b/java/org/apache/catalina/connector/Response.java
index e96cd9298c..03d4afb4bc 100644
--- a/java/org/apache/catalina/connector/Response.java
+++ b/java/org/apache/catalina/connector/Response.java
@@ -1427,7 +1427,7 @@ public class Response implements HttpServletResponse {
         try {
             URI uri = new URI(location);
             url = uri.toURL();
-        } catch (MalformedURLException | URISyntaxException e) {
+        } catch (MalformedURLException | URISyntaxException | 
IllegalArgumentException e) {
             return false;
         }
 
diff --git a/java/org/apache/catalina/core/NamingContextListener.java 
b/java/org/apache/catalina/core/NamingContextListener.java
index e20d62c47a..30d00997a0 100644
--- a/java/org/apache/catalina/core/NamingContextListener.java
+++ b/java/org/apache/catalina/core/NamingContextListener.java
@@ -812,7 +812,7 @@ public class NamingContextListener implements 
LifecycleListener, PropertyChangeL
                 try {
                     URI wsdlURI = new URI(service.getWsdlfile());
                     wsdlURL = wsdlURI.toURL();
-                } catch (MalformedURLException | URISyntaxException e) {
+                } catch (MalformedURLException | URISyntaxException | 
IllegalArgumentException e) {
                     // Ignore and carry on
                 }
                 if (wsdlURL == null) {
@@ -843,7 +843,7 @@ public class NamingContextListener implements 
LifecycleListener, PropertyChangeL
                 try {
                     URI jaxrpcURI = new URI(service.getJaxrpcmappingfile());
                     jaxrpcURL = jaxrpcURI.toURL();
-                } catch (MalformedURLException | URISyntaxException e) {
+                } catch (MalformedURLException | URISyntaxException | 
IllegalArgumentException e) {
                     // Ignore and carry on
                 }
                 if (jaxrpcURL == null) {
diff --git a/java/org/apache/catalina/startup/ContextConfig.java 
b/java/org/apache/catalina/startup/ContextConfig.java
index 765f109689..55c4707c64 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -1677,7 +1677,7 @@ public class ContextConfig implements LifecycleListener {
                 URL url = uri.toURL();
                 uc = url.openConnection();
                 globalTimeStamp = uc.getLastModified();
-            } catch (IOException | URISyntaxException e) {
+            } catch (IOException | URISyntaxException | 
IllegalArgumentException e) {
                 globalTimeStamp = -1;
             } finally {
                 if (uc != null) {
@@ -1698,7 +1698,7 @@ public class ContextConfig implements LifecycleListener {
                 URL url = uri.toURL();
                 uc = url.openConnection();
                 hostTimeStamp = uc.getLastModified();
-            } catch (IOException | URISyntaxException e) {
+            } catch (IOException | URISyntaxException | 
IllegalArgumentException e) {
                 hostTimeStamp = -1;
             } finally {
                 if (uc != null) {
diff --git 
a/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java 
b/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java
index 2361169710..5996113496 100644
--- 
a/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java
+++ 
b/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java
@@ -81,7 +81,7 @@ public abstract class AbstractStreamProvider implements 
StreamProvider {
         URLConnection connection;
         try {
             connection = new URI(url).toURL().openConnection();
-        } catch (URISyntaxException e) {
+        } catch (URISyntaxException | IllegalArgumentException e) {
             // Not ideal but consistent with API
             throw new IOException(e);
         }
diff --git a/java/org/apache/catalina/valves/ProxyErrorReportValve.java 
b/java/org/apache/catalina/valves/ProxyErrorReportValve.java
index 93ad6b715a..949390bcf7 100644
--- a/java/org/apache/catalina/valves/ProxyErrorReportValve.java
+++ b/java/org/apache/catalina/valves/ProxyErrorReportValve.java
@@ -210,7 +210,7 @@ public class ProxyErrorReportValve extends ErrorReportValve 
{
                 OutputStream outputStream = response.getOutputStream();
                 InputStream inputStream = url.openStream();
                 IOUtils.copy(inputStream, outputStream);
-            } catch (URISyntaxException | IOException e) {
+            } catch (URISyntaxException | IOException | 
IllegalArgumentException e) {
                 if (log.isDebugEnabled()) {
                     log.debug("Proxy error to " + urlString, e);
                 }
diff --git a/java/org/apache/catalina/webresources/AbstractArchiveResource.java 
b/java/org/apache/catalina/webresources/AbstractArchiveResource.java
index aafc40f790..c6b45631b4 100644
--- a/java/org/apache/catalina/webresources/AbstractArchiveResource.java
+++ b/java/org/apache/catalina/webresources/AbstractArchiveResource.java
@@ -149,7 +149,7 @@ public abstract class AbstractArchiveResource extends 
AbstractResource {
         String url = baseUrl + URLEncoder.DEFAULT.encode(resource.getName(), 
StandardCharsets.UTF_8);
         try {
             return new URI(url).toURL();
-        } catch (MalformedURLException | URISyntaxException e) {
+        } catch (MalformedURLException | URISyntaxException | 
IllegalArgumentException e) {
             if (getLog().isDebugEnabled()) {
                 getLog().debug(sm.getString("fileResource.getUrlFail", url), 
e);
             }
diff --git a/java/org/apache/catalina/webresources/JarResourceRoot.java 
b/java/org/apache/catalina/webresources/JarResourceRoot.java
index 4730c6d0bd..7432515a95 100644
--- a/java/org/apache/catalina/webresources/JarResourceRoot.java
+++ b/java/org/apache/catalina/webresources/JarResourceRoot.java
@@ -125,7 +125,7 @@ public class JarResourceRoot extends AbstractResource {
         String url = baseUrl + "!/";
         try {
             return new URI(url).toURL();
-        } catch (MalformedURLException | URISyntaxException e) {
+        } catch (MalformedURLException | URISyntaxException | 
IllegalArgumentException e) {
             if (log.isDebugEnabled()) {
                 log.debug(sm.getString("fileResource.getUrlFail", url), e);
             }
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 1656142f06..85a3df244e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -105,6 +105,14 @@
   issues do not "pop up" wrt. others).
 -->
 <section name="Tomcat 11.0.0-M6 (markt)" rtext="in development">
+  <subsection name="Catalina">
+    <changelog>
+      <fix>
+        <bug>66567</bug>: Fix missing <code>IllegalArgumentException</code>
+        after the Tomcat code was converted to using URI instead of URL. (remm)
+      </fix>
+    </changelog>
+  </subsection>
 </section>
 <section name="Tomcat 11.0.0-M5 (markt)" rtext="release in progress">
   <subsection name="Catalina">


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to