Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/JreCompat.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/JreCompat.java?rev=1810589&r1=1810588&r2=1810589&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/JreCompat.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/JreCompat.java Mon 
Oct  2 20:02:25 2017
@@ -16,6 +16,9 @@
  */
 package org.apache.tomcat.util.compat;
 
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
 import java.util.Locale;
 
 import javax.net.ssl.SSLEngine;
@@ -36,8 +39,8 @@ public class JreCompat {
     private static final boolean jre9Available;
     private static final boolean jre8Available;
     private static final boolean jre7Available;
-    
-    
+
+
     static {
         // This is Tomcat 7 with a minimum Java version of Java 6. The latest
         // Java version the optional features require is Java 9.
@@ -65,20 +68,20 @@ public class JreCompat {
             jre7Available = false;
         }
     }
-    
-    
+
+
     public static JreCompat getInstance() {
         return instance;
     }
-    
-    
+
+
     // Java 6 implementation of Java 7 methods
-    
+
     public static boolean isJre7Available() {
         return jre7Available;
     }
-    
-    
+
+
     public Locale forLanguageTag(String languageTag) {
         // Extract the language and country for this entry
         String language = null;
@@ -107,8 +110,8 @@ public class JreCompat {
 
         return new Locale(language, country, variant);
     }
-    
-    
+
+
     private static final boolean isAlpha(String value) {
         for (int i = 0; i < value.length(); i++) {
             char c = value.charAt(i);
@@ -118,22 +121,22 @@ public class JreCompat {
         }
         return true;
     }
-   
-    
+
+
     // Java 6 implementation of Java 8 methods
-    
+
     public static boolean isJre8Available() {
         return jre8Available;
     }
-    
-    
+
+
     @SuppressWarnings("unused")
     public void setUseServerCipherSuitesOrder(SSLServerSocket socket,
             boolean useCipherSuitesOrder) {
         throw new 
UnsupportedOperationException(sm.getString("jreCompat.noServerCipherSuiteOrder"));
     }
-    
-    
+
+
     @SuppressWarnings("unused")
     public void setUseServerCipherSuitesOrder(SSLEngine engine,
             boolean useCipherSuitesOrder) {
@@ -161,4 +164,19 @@ public class JreCompat {
         // Exception does not exist prior to Java 9
         return false;
     }
+
+
+    /**
+     * Disables caching for JAR URL connections. For Java 8 and earlier, this 
also disables
+     * caching for ALL URL connections.
+     *
+     * @throws IOException If a dummy JAR URLConnection can not be created
+     */
+    public void disableCachingForJarUrlConnections() throws IOException {
+        // Doesn't matter that this JAR doesn't exist - just as
+        // long as the URL is well-formed
+        URL url = new URL("jar:file://dummy.jar!/");
+        URLConnection uConn = url.openConnection();
+        uConn.setDefaultUseCaches(false);
+    }
 }

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1810589&r1=1810588&r2=1810589&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Oct  2 20:02:25 2017
@@ -58,6 +58,17 @@
   issues do not "pop up" wrt. others).
 -->
 <section name="Tomcat 7.0.83 (violetagg)">
+  <subsection name="Catalina">
+    <changelog>
+      <add>
+        When running under Java 9 or later, and the
+        <code>urlCacheProtection</code> option of the
+        <code>JreMemoryLeakPreventionListener</code> is enabled, use the API
+        added in Java 9 to only disable the caching for JAR URL connections.
+        (markt)
+      </add>
+    </changelog>
+  </subsection>
   <subsection name="Other">
     <changelog>
       <fix>
@@ -100,11 +111,24 @@
         <bug>61452</bug>: Fix a copy paste error that caused an
         <code>UnsupportedEncodingException</code> when using WebDAV. (markt)
       </fix>
+<<<<<<< .working
       <fix>
         Correct regression in 7.0.80 that broke the use of relative paths with
         the <code>extraResourcePaths</code> attribute of a
         <code>VirtualDirContext</code>. (markt)
       </fix>
+||||||| .merge-left.r1810587
+      <fix>
+        <bug>61437</bug>: Fix a possible <code>AccessControlException</code>
+        accessing the WebSocket examples when running under a
+        <code>SecurityManager</code>. (markt)
+      </fix>
+      <fix>
+        <bug>61452</bug>: Fix a copy paste error that caused an
+        <code>UnsupportedEncodingException</code> when using WebDAV. (markt)
+      </fix>
+=======
+>>>>>>> .merge-right.r1810588
       <add>
         <bug>61489</bug>: When using the CGI servlet, make the generation of
         command line arguments from the query string (as per section 4.4 of RFC



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

Reply via email to