Index: modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java =================================================================== --- modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java (revision 480856) +++ modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java (working copy) @@ -58,12 +58,10 @@ // client session context contains the set of reusable // client-side SSL sessions - private SSLSessionContextImpl clientSessionContext = - new SSLSessionContextImpl(); + private SSLSessionContextImpl clientSessionContext; // server session context contains the set of reusable // server-side SSL sessions - private SSLSessionContextImpl serverSessionContext = - new SSLSessionContextImpl(); + private SSLSessionContextImpl serverSessionContext; // source of authentication keys private X509KeyManager keyManager; // source of authentication trust decisions @@ -104,8 +102,12 @@ * for more information */ protected SSLParameters(KeyManager[] kms, TrustManager[] tms, - SecureRandom sr) throws KeyManagementException { + SecureRandom sr, SSLSessionContextImpl clientSessionContext, + SSLSessionContextImpl serverSessionContext) + throws KeyManagementException { this(); + this.serverSessionContext = serverSessionContext; + this.clientSessionContext = clientSessionContext; try { // initialize key manager boolean initialize_default = false; @@ -188,7 +190,8 @@ protected static SSLParameters getDefault() throws KeyManagementException { if (defaultParameters == null) { - defaultParameters = new SSLParameters(null, null, null); + defaultParameters = new SSLParameters(null, null, null, + new SSLSessionContextImpl(), new SSLSessionContextImpl()); } return (SSLParameters) defaultParameters.clone(); } Index: modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java =================================================================== --- modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java (revision 480856) +++ modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java (working copy) @@ -43,6 +43,15 @@ */ public class SSLContextImpl extends SSLContextSpi { + // client session context contains the set of reusable + // client-side SSL sessions + private SSLSessionContextImpl clientSessionContext = + new SSLSessionContextImpl(); + // server session context contains the set of reusable + // server-side SSL sessions + private SSLSessionContextImpl serverSessionContext = + new SSLSessionContextImpl(); + protected SSLParameters sslParameters; public SSLContextImpl() { @@ -51,7 +60,8 @@ public void engineInit(KeyManager[] kms, TrustManager[] tms, SecureRandom sr) throws KeyManagementException { - sslParameters = new SSLParameters(kms, tms, sr); + sslParameters = new SSLParameters(kms, tms, sr, clientSessionContext, + serverSessionContext); } public SSLSocketFactory engineGetSocketFactory() { @@ -84,11 +94,11 @@ } public SSLSessionContext engineGetServerSessionContext() { - return sslParameters.getServerSessionContext(); + return serverSessionContext; } public SSLSessionContext engineGetClientSessionContext() { - return sslParameters.getClientSessionContext(); + return clientSessionContext; } } Index: modules/x-net/build.xml =================================================================== --- modules/x-net/build.xml (revision 480856) +++ modules/x-net/build.xml (working copy) @@ -123,6 +123,7 @@ + @@ -199,7 +200,7 @@ - +