diff options
author | Kenny Root <kroot@google.com> | 2013-08-13 17:27:43 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-08-13 17:27:43 -0700 |
commit | 40ff03b8ad09a7452b6a4e0916ce404ad31afc34 (patch) | |
tree | b2fc598903c244a6a95082aa927314fd04c01c5e /src/org/apache/http/conn/ssl/SSLSocketFactory.java | |
parent | e6fe5ecbfb2977220a6f51ba4da7bd5f83d8d670 (diff) | |
parent | 8868084e528a9f77ebeee5b4c20416ca9939b471 (diff) | |
download | android_external_apache-http-40ff03b8ad09a7452b6a4e0916ce404ad31afc34.tar.gz android_external_apache-http-40ff03b8ad09a7452b6a4e0916ce404ad31afc34.tar.bz2 android_external_apache-http-40ff03b8ad09a7452b6a4e0916ce404ad31afc34.zip |
am 8868084e: Do not initialize SSLSocketFactory too early
* commit '8868084e528a9f77ebeee5b4c20416ca9939b471':
Do not initialize SSLSocketFactory too early
Diffstat (limited to 'src/org/apache/http/conn/ssl/SSLSocketFactory.java')
-rw-r--r-- | src/org/apache/http/conn/ssl/SSLSocketFactory.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/org/apache/http/conn/ssl/SSLSocketFactory.java b/src/org/apache/http/conn/ssl/SSLSocketFactory.java index 1be6c3a..9195b4f 100644 --- a/src/org/apache/http/conn/ssl/SSLSocketFactory.java +++ b/src/org/apache/http/conn/ssl/SSLSocketFactory.java @@ -150,19 +150,26 @@ public class SSLSocketFactory implements LayeredSocketFactory { public static final X509HostnameVerifier STRICT_HOSTNAME_VERIFIER = new StrictHostnameVerifier(); - /** - * The factory using the default JVM settings for secure connections. + + /* + * Put defaults into holder class to avoid class preloading creating an + * instance of the classes referenced. */ - private static final SSLSocketFactory DEFAULT_FACTORY = new SSLSocketFactory(); - + private static class NoPreloadHolder { + /** + * The factory using the default JVM settings for secure connections. + */ + private static final SSLSocketFactory DEFAULT_FACTORY = new SSLSocketFactory(); + } + /** * Gets an singleton instance of the SSLProtocolSocketFactory. * @return a SSLProtocolSocketFactory */ public static SSLSocketFactory getSocketFactory() { - return DEFAULT_FACTORY; + return NoPreloadHolder.DEFAULT_FACTORY; } - + private final SSLContext sslcontext; private final javax.net.ssl.SSLSocketFactory socketfactory; private final HostNameResolver nameResolver; |