summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2012-09-30 22:52:04 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-30 22:52:05 -0700
commit77b2088858b199e60002bfb2acb7a883c6aba82a (patch)
tree2fc66f06cec91c26c5906f7b3bf6791d8b726113
parent51de62cf77a070e2a45ae397c391832b9a781d91 (diff)
parentdb611c5813f623ee0403aedd156bb15780ed6e69 (diff)
downloadlibcore-77b2088858b199e60002bfb2acb7a883c6aba82a.zip
libcore-77b2088858b199e60002bfb2acb7a883c6aba82a.tar.gz
libcore-77b2088858b199e60002bfb2acb7a883c6aba82a.tar.bz2
Merge "NativeCryptoTest#test_SSL_do_handshake_clientCertificateRequested_throws_after_renegotiate failure" into jb-mr1-dev
-rw-r--r--luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp7
-rw-r--r--luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java19
2 files changed, 16 insertions, 10 deletions
diff --git a/luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp b/luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
index 95dcbf5..cb82226 100644
--- a/luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
+++ b/luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
@@ -3958,7 +3958,8 @@ static jint NativeCrypto_SSL_read(JNIEnv* env, jclass, jint ssl_address, jobject
*/
static int sslWrite(JNIEnv* env, SSL* ssl, jobject fdObject, jobject shc, const char* buf, jint len,
int* sslReturnCode, int* sslErrorCode, int write_timeout_millis) {
- JNI_TRACE("ssl=%p sslWrite buf=%p len=%d", ssl, buf, len);
+ JNI_TRACE("ssl=%p sslWrite buf=%p len=%d write_timeout_millis=%d",
+ ssl, buf, len, write_timeout_millis);
if (len == 0) {
// Don't bother doing anything in this case.
@@ -4097,8 +4098,8 @@ static void NativeCrypto_SSL_write(JNIEnv* env, jclass, jint ssl_address, jobjec
jobject shc, jbyteArray b, jint offset, jint len, jint write_timeout_millis)
{
SSL* ssl = to_SSL(env, ssl_address, true);
- JNI_TRACE("ssl=%p NativeCrypto_SSL_write fd=%p shc=%p b=%p offset=%d len=%d",
- ssl, fdObject, shc, b, offset, len);
+ JNI_TRACE("ssl=%p NativeCrypto_SSL_write fd=%p shc=%p b=%p offset=%d len=%d write_timeout_millis=%d",
+ ssl, fdObject, shc, b, offset, len, write_timeout_millis);
if (ssl == NULL) {
return;
}
diff --git a/luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java b/luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java
index 5b90045..d4d9349 100644
--- a/luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java
+++ b/luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java
@@ -877,17 +877,21 @@ public class NativeCryptoTest extends TestCase {
Socket sock, FileDescriptor fd,
SSLHandshakeCallbacks callback)
throws Exception {
- NativeCrypto.SSL_set_verify(s, NativeCrypto.SSL_VERIFY_PEER);
- NativeCrypto.SSL_set_options(
- s, NativeCrypto.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
- NativeCrypto.SSL_renegotiate(s);
- NativeCrypto.SSL_write(s, fd, callback, new byte[] { 42 }, 0, 1, 0);
- super.afterHandshake(session, s, c, sock, fd, callback);
+ try {
+ NativeCrypto.SSL_set_verify(s, NativeCrypto.SSL_VERIFY_PEER);
+ NativeCrypto.SSL_set_options(
+ s, NativeCrypto.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
+ NativeCrypto.SSL_renegotiate(s);
+ NativeCrypto.SSL_write(s, fd, callback, new byte[] { 42 }, 0, 1,
+ (int) ((TIMEOUT_SECONDS * 1000) / 2));
+ } catch (SocketTimeoutException expected) {
+ } finally {
+ super.afterHandshake(session, s, c, sock, fd, callback);
+ }
}
};
Future<TestSSLHandshakeCallbacks> client = handshake(listener, 0, true, cHooks, null);
Future<TestSSLHandshakeCallbacks> server = handshake(listener, 0, false, sHooks, null);
- server.get(TIMEOUT_SECONDS, TimeUnit.SECONDS);
try {
client.get(TIMEOUT_SECONDS, TimeUnit.SECONDS);
} catch (ExecutionException e) {
@@ -895,6 +899,7 @@ public class NativeCryptoTest extends TestCase {
throw e;
}
}
+ server.get(TIMEOUT_SECONDS, TimeUnit.SECONDS);
}
public void test_SSL_do_handshake_client_timeout() throws Exception {