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 2016/10/05 09:30:09 UTC
svn commit: r1763372 -
/tomcat/trunk/java/org/apache/catalina/webresources/war/Handler.java
Author: markt
Date: Wed Oct 5 09:30:09 2016
New Revision: 1763372
URL: http://svn.apache.org/viewvc?rev=1763372&view=rev
Log:
Add a work-around for poorly constructed "war:..." URLs obtained from the security policy file.
Modified:
tomcat/trunk/java/org/apache/catalina/webresources/war/Handler.java
Modified: tomcat/trunk/java/org/apache/catalina/webresources/war/Handler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/war/Handler.java?rev=1763372&r1=1763371&r2=1763372&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/war/Handler.java (original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/war/Handler.java Wed Oct 5 09:30:09 2016
@@ -27,4 +27,20 @@ public class Handler extends URLStreamHa
protected URLConnection openConnection(URL u) throws IOException {
return new WarURLConnection(u);
}
+
+ @Override
+ protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path,
+ String query, String ref) {
+ if (path.startsWith("file:") && !path.startsWith("file:/")) {
+ // Work around a problem with the URLs in the security policy file.
+ // On Windows, the use of ${catalina.[home|base]} in the policy file
+ // results in codebase URLs of the form file:C:/... when they should
+ // be file:/C:/...
+ // For file: and jar: URLs, the JRE compensates for this. It does not
+ // compensate for this for war:file:... URLs. Therefore, we do that
+ // here
+ path = "file:/" + path.substring(5);
+ }
+ super.setURL(u, protocol, host, port, authority, userInfo, path, query, ref);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org