View | Details | Raw Unified | Return to bug 47744
Collapse All | Expand All

(-)apache-tomcat-6.0.20-src/java/org/apache/tomcat/util/net/jsse/JSSESupport.java (-2 / +6 lines)
Lines 23-28 Link Here
23
import java.net.SocketException;
23
import java.net.SocketException;
24
import java.security.cert.Certificate;
24
import java.security.cert.Certificate;
25
import java.security.cert.CertificateFactory;
25
import java.security.cert.CertificateFactory;
26
import java.util.Map;
27
import java.util.WeakHashMap;
26
28
27
import javax.net.ssl.HandshakeCompletedEvent;
29
import javax.net.ssl.HandshakeCompletedEvent;
28
import javax.net.ssl.HandshakeCompletedListener;
30
import javax.net.ssl.HandshakeCompletedListener;
Lines 52-57 Link Here
52
    
54
    
53
    private static org.apache.juli.logging.Log log =
55
    private static org.apache.juli.logging.Log log =
54
        org.apache.juli.logging.LogFactory.getLog(JSSESupport.class);
56
        org.apache.juli.logging.LogFactory.getLog(JSSESupport.class);
57
    private static final Map<SSLSession, Integer> keySizeCache =
58
        new WeakHashMap<SSLSession, Integer>(10);
55
59
56
    protected SSLSocket ssl;
60
    protected SSLSocket ssl;
57
    protected SSLSession session;
61
    protected SSLSession session;
Lines 186-192 Link Here
186
        SSLSupport.CipherData c_aux[]=ciphers;
190
        SSLSupport.CipherData c_aux[]=ciphers;
187
        if (session == null)
191
        if (session == null)
188
            return null;
192
            return null;
189
        Integer keySize = (Integer) session.getValue(KEY_SIZE_KEY);
193
        Integer keySize = (Integer) keySizeCache.get(session);
190
        if (keySize == null) {
194
        if (keySize == null) {
191
            int size = 0;
195
            int size = 0;
192
            String cipherSuite = session.getCipherSuite();
196
            String cipherSuite = session.getCipherSuite();
Lines 197-203 Link Here
197
                }
201
                }
198
            }
202
            }
199
            keySize = new Integer(size);
203
            keySize = new Integer(size);
200
            session.putValue(KEY_SIZE_KEY, keySize);
204
            keySizeCache.put(session, keySize);
201
        }
205
        }
202
        return keySize;
206
        return keySize;
203
    }
207
    }

Return to bug 47744