Index: webrtc/base/sslstreamadapter_unittest.cc |
diff --git a/webrtc/base/sslstreamadapter_unittest.cc b/webrtc/base/sslstreamadapter_unittest.cc |
index c70abe6192094344d1b165522d12e027be559ce0..67658ba6103ed8e6f4e0bf369ad5a1126cc07378 100644 |
--- a/webrtc/base/sslstreamadapter_unittest.cc |
+++ b/webrtc/base/sslstreamadapter_unittest.cc |
@@ -701,6 +701,24 @@ |
// Basic tests: TLS |
+// Test that we cannot read/write if we have not yet handshaked. |
+// This test only applies to NSS because OpenSSL has passthrough |
+// semantics for I/O before the handshake is started. |
+#if SSL_USE_NSS |
+TEST_P(SSLStreamAdapterTestTLS, TestNoReadWriteBeforeConnect) { |
+ rtc::StreamResult rv; |
+ char block[kBlockSize]; |
+ size_t dummy; |
+ |
+ rv = client_ssl_->Write(block, sizeof(block), &dummy, NULL); |
+ ASSERT_EQ(rtc::SR_BLOCK, rv); |
+ |
+ rv = client_ssl_->Read(block, sizeof(block), &dummy, NULL); |
+ ASSERT_EQ(rtc::SR_BLOCK, rv); |
+} |
+#endif |
+ |
+ |
// Test that we can make a handshake work |
TEST_P(SSLStreamAdapterTestTLS, TestTLSConnect) { |
TestHandshake(); |