diff options
Diffstat (limited to 'src/share/classes/sun/security/ssl/SSLSessionContextImpl.java')
-rw-r--r-- | src/share/classes/sun/security/ssl/SSLSessionContextImpl.java | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java b/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java index 51fac9bc6e..d728821717 100644 --- a/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java +++ b/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,10 +33,13 @@ import java.util.Locale; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSessionContext; +import sun.security.action.GetIntegerAction; import sun.security.util.Cache; final class SSLSessionContextImpl implements SSLSessionContext { + private final static int DEFAULT_MAX_CACHE_SIZE = 20480; + private Cache<SessionId, SSLSessionImpl> sessionCache; // session cache, session id as key private Cache<String, SSLSessionImpl> sessionHostPortCache; @@ -197,21 +200,19 @@ final class SSLSessionContextImpl implements SSLSessionContext { } private int getDefaultCacheLimit() { - int cacheLimit = 0; try { - String s = java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction<String>() { - @Override - public String run() { - return System.getProperty( - "javax.net.ssl.sessionCacheSize"); - } - }); - cacheLimit = (s != null) ? Integer.valueOf(s).intValue() : 0; + int defaultCacheLimit = + java.security.AccessController.doPrivileged( + new GetIntegerAction("javax.net.ssl.sessionCacheSize", + DEFAULT_MAX_CACHE_SIZE)).intValue(); + + if (defaultCacheLimit >= 0) { + return defaultCacheLimit; + } } catch (Exception e) { } - return (cacheLimit > 0) ? cacheLimit : 0; + return DEFAULT_MAX_CACHE_SIZE; } boolean isTimedout(SSLSession sess) { |