| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2011 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 SSLStreamAdapterTestBase( | 218 SSLStreamAdapterTestBase( |
| 219 const std::string& client_cert_pem, | 219 const std::string& client_cert_pem, |
| 220 const std::string& client_private_key_pem, | 220 const std::string& client_private_key_pem, |
| 221 bool dtls, | 221 bool dtls, |
| 222 rtc::KeyParams client_key_type = rtc::KeyParams(rtc::KT_DEFAULT), | 222 rtc::KeyParams client_key_type = rtc::KeyParams(rtc::KT_DEFAULT), |
| 223 rtc::KeyParams server_key_type = rtc::KeyParams(rtc::KT_DEFAULT)) | 223 rtc::KeyParams server_key_type = rtc::KeyParams(rtc::KT_DEFAULT)) |
| 224 : client_cert_pem_(client_cert_pem), | 224 : client_cert_pem_(client_cert_pem), |
| 225 client_private_key_pem_(client_private_key_pem), | 225 client_private_key_pem_(client_private_key_pem), |
| 226 client_key_type_(client_key_type), | 226 client_key_type_(client_key_type), |
| 227 server_key_type_(server_key_type), | 227 server_key_type_(server_key_type), |
| 228 client_stream_(NULL), | 228 client_stream_(nullptr), |
| 229 server_stream_(NULL), | 229 server_stream_(nullptr), |
| 230 client_identity_(NULL), | 230 client_identity_(nullptr), |
| 231 server_identity_(NULL), | 231 server_identity_(nullptr), |
| 232 delay_(0), | 232 delay_(0), |
| 233 mtu_(1460), | 233 mtu_(1460), |
| 234 loss_(0), | 234 loss_(0), |
| 235 lose_first_packet_(false), | 235 lose_first_packet_(false), |
| 236 damage_(false), | 236 damage_(false), |
| 237 dtls_(dtls), | 237 dtls_(dtls), |
| 238 handshake_wait_(5000), | 238 handshake_wait_(5000), |
| 239 identities_set_(false) { | 239 identities_set_(false) { |
| 240 // Set use of the test RNG to get predictable loss patterns. | 240 // Set use of the test RNG to get predictable loss patterns. |
| 241 rtc::SetRandomTestMode(true); | 241 rtc::SetRandomTestMode(true); |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 | 620 |
| 621 // Test data transfer for TLS | 621 // Test data transfer for TLS |
| 622 void TestTransfer(int size) override { | 622 void TestTransfer(int size) override { |
| 623 LOG(LS_INFO) << "Starting transfer test with " << size << " bytes"; | 623 LOG(LS_INFO) << "Starting transfer test with " << size << " bytes"; |
| 624 // Create some dummy data to send. | 624 // Create some dummy data to send. |
| 625 size_t received; | 625 size_t received; |
| 626 | 626 |
| 627 send_stream_.ReserveSize(size); | 627 send_stream_.ReserveSize(size); |
| 628 for (int i = 0; i < size; ++i) { | 628 for (int i = 0; i < size; ++i) { |
| 629 char ch = static_cast<char>(i); | 629 char ch = static_cast<char>(i); |
| 630 send_stream_.Write(&ch, 1, NULL, NULL); | 630 send_stream_.Write(&ch, 1, nullptr, nullptr); |
| 631 } | 631 } |
| 632 send_stream_.Rewind(); | 632 send_stream_.Rewind(); |
| 633 | 633 |
| 634 // Prepare the receive stream. | 634 // Prepare the receive stream. |
| 635 recv_stream_.ReserveSize(size); | 635 recv_stream_.ReserveSize(size); |
| 636 | 636 |
| 637 // Start sending | 637 // Start sending |
| 638 WriteData(); | 638 WriteData(); |
| 639 | 639 |
| 640 // Wait for the client to close | 640 // Wait for the client to close |
| (...skipping 12 matching lines...) Expand all Loading... |
| 653 rtc::StreamResult rv; | 653 rtc::StreamResult rv; |
| 654 size_t sent; | 654 size_t sent; |
| 655 char block[kBlockSize]; | 655 char block[kBlockSize]; |
| 656 | 656 |
| 657 send_stream_.GetSize(&size); | 657 send_stream_.GetSize(&size); |
| 658 if (!size) | 658 if (!size) |
| 659 return; | 659 return; |
| 660 | 660 |
| 661 for (;;) { | 661 for (;;) { |
| 662 send_stream_.GetPosition(&position); | 662 send_stream_.GetPosition(&position); |
| 663 if (send_stream_.Read(block, sizeof(block), &tosend, NULL) != | 663 if (send_stream_.Read(block, sizeof(block), &tosend, nullptr) != |
| 664 rtc::SR_EOS) { | 664 rtc::SR_EOS) { |
| 665 rv = client_ssl_->Write(block, tosend, &sent, 0); | 665 rv = client_ssl_->Write(block, tosend, &sent, 0); |
| 666 | 666 |
| 667 if (rv == rtc::SR_SUCCESS) { | 667 if (rv == rtc::SR_SUCCESS) { |
| 668 send_stream_.SetPosition(position + sent); | 668 send_stream_.SetPosition(position + sent); |
| 669 LOG(LS_VERBOSE) << "Sent: " << position + sent; | 669 LOG(LS_VERBOSE) << "Sent: " << position + sent; |
| 670 } else if (rv == rtc::SR_BLOCK) { | 670 } else if (rv == rtc::SR_BLOCK) { |
| 671 LOG(LS_VERBOSE) << "Blocked..."; | 671 LOG(LS_VERBOSE) << "Blocked..."; |
| 672 send_stream_.SetPosition(position); | 672 send_stream_.SetPosition(position); |
| 673 break; | 673 break; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 699 stream->Close(); | 699 stream->Close(); |
| 700 return; | 700 return; |
| 701 } | 701 } |
| 702 | 702 |
| 703 if (r == rtc::SR_BLOCK) | 703 if (r == rtc::SR_BLOCK) |
| 704 break; | 704 break; |
| 705 | 705 |
| 706 ASSERT_EQ(rtc::SR_SUCCESS, r); | 706 ASSERT_EQ(rtc::SR_SUCCESS, r); |
| 707 LOG(LS_VERBOSE) << "Read " << bread; | 707 LOG(LS_VERBOSE) << "Read " << bread; |
| 708 | 708 |
| 709 recv_stream_.Write(buffer, bread, NULL, NULL); | 709 recv_stream_.Write(buffer, bread, nullptr, nullptr); |
| 710 } | 710 } |
| 711 } | 711 } |
| 712 | 712 |
| 713 private: | 713 private: |
| 714 rtc::FifoBuffer client_buffer_; | 714 rtc::FifoBuffer client_buffer_; |
| 715 rtc::FifoBuffer server_buffer_; | 715 rtc::FifoBuffer server_buffer_; |
| 716 rtc::MemoryStream send_stream_; | 716 rtc::MemoryStream send_stream_; |
| 717 rtc::MemoryStream recv_stream_; | 717 rtc::MemoryStream recv_stream_; |
| 718 }; | 718 }; |
| 719 | 719 |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 889 TEST_P(SSLStreamAdapterTestTLS, ReadWriteAfterClose) { | 889 TEST_P(SSLStreamAdapterTestTLS, ReadWriteAfterClose) { |
| 890 TestHandshake(); | 890 TestHandshake(); |
| 891 TestTransfer(100000); | 891 TestTransfer(100000); |
| 892 client_ssl_->Close(); | 892 client_ssl_->Close(); |
| 893 | 893 |
| 894 rtc::StreamResult rv; | 894 rtc::StreamResult rv; |
| 895 char block[kBlockSize]; | 895 char block[kBlockSize]; |
| 896 size_t dummy; | 896 size_t dummy; |
| 897 | 897 |
| 898 // It's an error to write after closed. | 898 // It's an error to write after closed. |
| 899 rv = client_ssl_->Write(block, sizeof(block), &dummy, NULL); | 899 rv = client_ssl_->Write(block, sizeof(block), &dummy, nullptr); |
| 900 ASSERT_EQ(rtc::SR_ERROR, rv); | 900 ASSERT_EQ(rtc::SR_ERROR, rv); |
| 901 | 901 |
| 902 // But after closed read gives you EOS. | 902 // But after closed read gives you EOS. |
| 903 rv = client_ssl_->Read(block, sizeof(block), &dummy, NULL); | 903 rv = client_ssl_->Read(block, sizeof(block), &dummy, nullptr); |
| 904 ASSERT_EQ(rtc::SR_EOS, rv); | 904 ASSERT_EQ(rtc::SR_EOS, rv); |
| 905 }; | 905 }; |
| 906 | 906 |
| 907 // Test a handshake with a bogus peer digest | 907 // Test a handshake with a bogus peer digest |
| 908 TEST_P(SSLStreamAdapterTestTLS, TestTLSBogusDigest) { | 908 TEST_P(SSLStreamAdapterTestTLS, TestTLSBogusDigest) { |
| 909 SetPeerIdentitiesByDigest(false, true); | 909 SetPeerIdentitiesByDigest(false, true); |
| 910 TestHandshake(false); | 910 TestHandshake(false); |
| 911 }; | 911 }; |
| 912 | 912 |
| 913 TEST_P(SSLStreamAdapterTestTLS, TestTLSDelayedIdentity) { | 913 TEST_P(SSLStreamAdapterTestTLS, TestTLSDelayedIdentity) { |
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1343 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); | 1343 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); |
| 1344 INSTANTIATE_TEST_CASE_P( | 1344 INSTANTIATE_TEST_CASE_P( |
| 1345 SSLStreamAdapterTestsDTLS, | 1345 SSLStreamAdapterTestsDTLS, |
| 1346 SSLStreamAdapterTestDTLS, | 1346 SSLStreamAdapterTestDTLS, |
| 1347 Combine(Values(rtc::KeyParams::RSA(1024, 65537), | 1347 Combine(Values(rtc::KeyParams::RSA(1024, 65537), |
| 1348 rtc::KeyParams::RSA(1152, 65537), | 1348 rtc::KeyParams::RSA(1152, 65537), |
| 1349 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)), | 1349 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)), |
| 1350 Values(rtc::KeyParams::RSA(1024, 65537), | 1350 Values(rtc::KeyParams::RSA(1024, 65537), |
| 1351 rtc::KeyParams::RSA(1152, 65537), | 1351 rtc::KeyParams::RSA(1152, 65537), |
| 1352 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); | 1352 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); |
| OLD | NEW |