Author: kkolinko
Date: Wed Jan 27 09:19:38 2010
New Revision: 903577

URL: http://svn.apache.org/viewvc?rev=903577&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47744
Prevent medium term memory leak if using SSL under a security manager
Based on a patch by Greg Vanore

Modified:
    tomcat/tc5.5.x/trunk/STATUS.txt
    
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java
    tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml

Modified: tomcat/tc5.5.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=903577&r1=903576&r2=903577&view=diff
==============================================================================
--- tomcat/tc5.5.x/trunk/STATUS.txt (original)
+++ tomcat/tc5.5.x/trunk/STATUS.txt Wed Jan 27 09:19:38 2010
@@ -174,13 +174,6 @@
   +1: markt, rjung
   -1: 
 
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47744
-  Prevent medium term memory leak if using SSL under a security manager
-  Based on a patch by Greg Vanore
-  http://svn.apache.org/viewvc?rev=890350&view=rev
-  +1: markt, rjung, kkolinko
-  -1: 
-
 * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47963
   Prevent use of non-RFC2616 compliant custom status messages
   http://svn.apache.org/viewvc?rev=892612&view=rev

Modified: 
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java?rev=903577&r1=903576&r2=903577&view=diff
==============================================================================
--- 
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java
 (original)
+++ 
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java
 Wed Jan 27 09:19:38 2010
@@ -20,6 +20,8 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.security.cert.CertificateFactory;
+import java.util.Map;
+import java.util.WeakHashMap;
 
 import javax.net.ssl.SSLSession;
 import javax.net.ssl.SSLSocket;
@@ -45,6 +47,10 @@
     private static org.apache.commons.logging.Log log =
        org.apache.commons.logging.LogFactory.getLog(JSSESupport.class);
 
+    // Map<SSLSession,Integer>
+    private static final Map keySizeCache = 
+        new WeakHashMap();
+
     protected SSLSocket ssl;
 
 
@@ -138,7 +144,12 @@
         SSLSupport.CipherData c_aux[]=ciphers;
         if (session == null)
             return null;
-        Integer keySize = (Integer) session.getValue(KEY_SIZE_KEY);
+
+        Integer keySize = null;
+        synchronized(keySizeCache) {
+            keySize = (Integer) keySizeCache.get(session);
+        }
+
         if (keySize == null) {
             int size = 0;
             String cipherSuite = session.getCipherSuite();
@@ -149,7 +160,9 @@
                 }
             }
             keySize = new Integer(size);
-            session.putValue(KEY_SIZE_KEY, keySize);
+            synchronized(keySizeCache) {
+                keySizeCache.put(session, keySize);
+            }
         }
         return keySize;
     }

Modified: tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml?rev=903577&r1=903576&r2=903577&view=diff
==============================================================================
--- tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml (original)
+++ tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml Wed Jan 27 
09:19:38 2010
@@ -156,6 +156,11 @@
         mapper. (markt)
       </fix>
       <fix>
+        <bug>47744</bug>: Prevent a medium term memory leak if using SSl with
+        the JSSE provider and also using a security manager. Based on a patch 
by
+        Greg Vanore. (markt)
+      </fix>
+      <fix>
         CVE-2009-3555. Provide option to disable legacy SSL renegotiation.
         (markt/costin) 
       </fix>



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

Reply via email to