Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Side by Side Diff: webrtc/p2p/base/dtlstransportchannel_unittest.cc

Issue 1455233005: Revert of Convert internal representation of Srtp cryptos from string to int. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/p2p/base/dtlstransportchannel.cc ('k') | webrtc/p2p/base/faketransportcontroller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 10 matching lines...) Expand all
21 #include "webrtc/base/sslidentity.h" 21 #include "webrtc/base/sslidentity.h"
22 #include "webrtc/base/sslstreamadapter.h" 22 #include "webrtc/base/sslstreamadapter.h"
23 #include "webrtc/base/stringutils.h" 23 #include "webrtc/base/stringutils.h"
24 24
25 #define MAYBE_SKIP_TEST(feature) \ 25 #define MAYBE_SKIP_TEST(feature) \
26 if (!(rtc::SSLStreamAdapter::feature())) { \ 26 if (!(rtc::SSLStreamAdapter::feature())) { \
27 LOG(LS_INFO) << "Feature disabled... skipping"; \ 27 LOG(LS_INFO) << "Feature disabled... skipping"; \
28 return; \ 28 return; \
29 } 29 }
30 30
31 static const char AES_CM_128_HMAC_SHA1_80[] = "AES_CM_128_HMAC_SHA1_80";
31 static const char kIceUfrag1[] = "TESTICEUFRAG0001"; 32 static const char kIceUfrag1[] = "TESTICEUFRAG0001";
32 static const char kIcePwd1[] = "TESTICEPWD00000000000001"; 33 static const char kIcePwd1[] = "TESTICEPWD00000000000001";
33 static const size_t kPacketNumOffset = 8; 34 static const size_t kPacketNumOffset = 8;
34 static const size_t kPacketHeaderLen = 12; 35 static const size_t kPacketHeaderLen = 12;
35 static const int kFakePacketId = 0x1234; 36 static const int kFakePacketId = 0x1234;
36 37
37 static bool IsRtpLeadByte(uint8_t b) { 38 static bool IsRtpLeadByte(uint8_t b) {
38 return ((b & 0xC0) == 0x80); 39 return ((b & 0xC0) == 0x80);
39 } 40 }
40 41
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 remote_fingerprint.reset(rtc::SSLFingerprint::Create( 143 remote_fingerprint.reset(rtc::SSLFingerprint::Create(
143 digest_algorithm, remote_cert->identity())); 144 digest_algorithm, remote_cert->identity()));
144 ASSERT_TRUE(remote_fingerprint.get() != NULL); 145 ASSERT_TRUE(remote_fingerprint.get() != NULL);
145 EXPECT_EQ(rtc::DIGEST_SHA_256, digest_algorithm); 146 EXPECT_EQ(rtc::DIGEST_SHA_256, digest_algorithm);
146 } 147 }
147 148
148 if (use_dtls_srtp_ && !(flags & NF_REOFFER)) { 149 if (use_dtls_srtp_ && !(flags & NF_REOFFER)) {
149 // SRTP ciphers will be set only in the beginning. 150 // SRTP ciphers will be set only in the beginning.
150 for (std::vector<cricket::DtlsTransportChannelWrapper*>::iterator it = 151 for (std::vector<cricket::DtlsTransportChannelWrapper*>::iterator it =
151 channels_.begin(); it != channels_.end(); ++it) { 152 channels_.begin(); it != channels_.end(); ++it) {
152 std::vector<int> ciphers; 153 std::vector<std::string> ciphers;
153 ciphers.push_back(rtc::SRTP_AES128_CM_SHA1_80); 154 ciphers.push_back(AES_CM_128_HMAC_SHA1_80);
154 ASSERT_TRUE((*it)->SetSrtpCryptoSuites(ciphers)); 155 ASSERT_TRUE((*it)->SetSrtpCiphers(ciphers));
155 } 156 }
156 } 157 }
157 158
158 cricket::TransportDescription local_desc( 159 cricket::TransportDescription local_desc(
159 std::vector<std::string>(), kIceUfrag1, kIcePwd1, cricket::ICEMODE_FULL, 160 std::vector<std::string>(), kIceUfrag1, kIcePwd1, cricket::ICEMODE_FULL,
160 local_role, 161 local_role,
161 // If remote if the offerer and has no DTLS support, answer will be 162 // If remote if the offerer and has no DTLS support, answer will be
162 // without any fingerprint. 163 // without any fingerprint.
163 (action == cricket::CA_ANSWER && !remote_cert) 164 (action == cricket::CA_ANSWER && !remote_cert)
164 ? nullptr 165 ? nullptr
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 void CheckRole(rtc::SSLRole role) { 208 void CheckRole(rtc::SSLRole role) {
208 if (role == rtc::SSL_CLIENT) { 209 if (role == rtc::SSL_CLIENT) {
209 ASSERT_FALSE(received_dtls_client_hello_); 210 ASSERT_FALSE(received_dtls_client_hello_);
210 ASSERT_TRUE(received_dtls_server_hello_); 211 ASSERT_TRUE(received_dtls_server_hello_);
211 } else { 212 } else {
212 ASSERT_TRUE(received_dtls_client_hello_); 213 ASSERT_TRUE(received_dtls_client_hello_);
213 ASSERT_FALSE(received_dtls_server_hello_); 214 ASSERT_FALSE(received_dtls_server_hello_);
214 } 215 }
215 } 216 }
216 217
217 void CheckSrtp(int expected_crypto_suite) { 218 void CheckSrtp(const std::string& expected_cipher) {
218 for (std::vector<cricket::DtlsTransportChannelWrapper*>::iterator it = 219 for (std::vector<cricket::DtlsTransportChannelWrapper*>::iterator it =
219 channels_.begin(); it != channels_.end(); ++it) { 220 channels_.begin(); it != channels_.end(); ++it) {
220 int crypto_suite; 221 std::string cipher;
221 222
222 bool rv = (*it)->GetSrtpCryptoSuite(&crypto_suite); 223 bool rv = (*it)->GetSrtpCryptoSuite(&cipher);
223 if (negotiated_dtls_ && expected_crypto_suite) { 224 if (negotiated_dtls_ && !expected_cipher.empty()) {
224 ASSERT_TRUE(rv); 225 ASSERT_TRUE(rv);
225 226
226 ASSERT_EQ(crypto_suite, expected_crypto_suite); 227 ASSERT_EQ(cipher, expected_cipher);
227 } else { 228 } else {
228 ASSERT_FALSE(rv); 229 ASSERT_FALSE(rv);
229 } 230 }
230 } 231 }
231 } 232 }
232 233
233 void CheckSsl(int expected_cipher) { 234 void CheckSsl(int expected_cipher) {
234 for (std::vector<cricket::DtlsTransportChannelWrapper*>::iterator it = 235 for (std::vector<cricket::DtlsTransportChannelWrapper*>::iterator it =
235 channels_.begin(); it != channels_.end(); ++it) { 236 channels_.begin(); it != channels_.end(); ++it) {
236 int cipher; 237 int cipher;
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 (client1_role == cricket::CONNECTIONROLE_PASSIVE && 462 (client1_role == cricket::CONNECTIONROLE_PASSIVE &&
462 client2_role == cricket::CONNECTIONROLE_ACTPASS)) ? 463 client2_role == cricket::CONNECTIONROLE_ACTPASS)) ?
463 rtc::SSL_CLIENT : rtc::SSL_SERVER; 464 rtc::SSL_CLIENT : rtc::SSL_SERVER;
464 465
465 client1_.CheckRole(client1_ssl_role); 466 client1_.CheckRole(client1_ssl_role);
466 client2_.CheckRole(client2_ssl_role); 467 client2_.CheckRole(client2_ssl_role);
467 } 468 }
468 469
469 // Check that we negotiated the right ciphers. 470 // Check that we negotiated the right ciphers.
470 if (use_dtls_srtp_) { 471 if (use_dtls_srtp_) {
471 client1_.CheckSrtp(rtc::SRTP_AES128_CM_SHA1_80); 472 client1_.CheckSrtp(AES_CM_128_HMAC_SHA1_80);
472 client2_.CheckSrtp(rtc::SRTP_AES128_CM_SHA1_80); 473 client2_.CheckSrtp(AES_CM_128_HMAC_SHA1_80);
473 } else { 474 } else {
474 client1_.CheckSrtp(rtc::SRTP_INVALID_CRYPTO_SUITE); 475 client1_.CheckSrtp("");
475 client2_.CheckSrtp(rtc::SRTP_INVALID_CRYPTO_SUITE); 476 client2_.CheckSrtp("");
476 } 477 }
477 client1_.CheckSsl(rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 478 client1_.CheckSsl(rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
478 ssl_expected_version_, rtc::KT_DEFAULT)); 479 ssl_expected_version_, rtc::KT_DEFAULT));
479 client2_.CheckSsl(rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 480 client2_.CheckSsl(rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
480 ssl_expected_version_, rtc::KT_DEFAULT)); 481 ssl_expected_version_, rtc::KT_DEFAULT));
481 482
482 return true; 483 return true;
483 } 484 }
484 485
485 bool Connect() { 486 bool Connect() {
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 // Each side's remote certificate is the other side's local certificate. 885 // Each side's remote certificate is the other side's local certificate.
885 ASSERT_TRUE( 886 ASSERT_TRUE(
886 client1_.transport()->GetRemoteSSLCertificate(remote_cert1.accept())); 887 client1_.transport()->GetRemoteSSLCertificate(remote_cert1.accept()));
887 ASSERT_EQ(remote_cert1->ToPEMString(), 888 ASSERT_EQ(remote_cert1->ToPEMString(),
888 certificate2->ssl_certificate().ToPEMString()); 889 certificate2->ssl_certificate().ToPEMString());
889 ASSERT_TRUE( 890 ASSERT_TRUE(
890 client2_.transport()->GetRemoteSSLCertificate(remote_cert2.accept())); 891 client2_.transport()->GetRemoteSSLCertificate(remote_cert2.accept()));
891 ASSERT_EQ(remote_cert2->ToPEMString(), 892 ASSERT_EQ(remote_cert2->ToPEMString(),
892 certificate1->ssl_certificate().ToPEMString()); 893 certificate1->ssl_certificate().ToPEMString());
893 } 894 }
OLDNEW
« no previous file with comments | « webrtc/p2p/base/dtlstransportchannel.cc ('k') | webrtc/p2p/base/faketransportcontroller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698