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

Side by Side Diff: webrtc/api/peerconnection_unittest.cc

Issue 1774583002: Add IsAcceptableCipher, use instead of GetDefaultCipher. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: List another cipher suite Created 4 years, 9 months 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 | « no previous file | webrtc/base/opensslstreamadapter.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 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2012 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 1430 matching lines...) Expand 10 before | Expand all | Expand 10 after
1441 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1441 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1442 PeerConnectionFactory::Options recv_options; 1442 PeerConnectionFactory::Options recv_options;
1443 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1443 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1444 ASSERT_TRUE( 1444 ASSERT_TRUE(
1445 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); 1445 CreateTestClients(nullptr, &init_options, nullptr, &recv_options));
1446 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1446 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1447 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1447 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1448 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1448 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1449 LocalP2PTest(); 1449 LocalP2PTest();
1450 1450
1451 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( 1451 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher(
tommi 2016/03/07 23:47:26 Just curious - Instead of using the "WAIT" macros,
torbjorng (webrtc) 2016/03/08 20:17:05 Perhaps. The present code is a bit odd, with timeo
1452 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1452 initializing_client()->GetDtlsCipherStats(),
1453 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)), 1453 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT),
1454 initializing_client()->GetDtlsCipherStats(), 1454 kMaxWaitForStatsMs);
1455 kMaxWaitForStatsMs); 1455 #if 0
tommi 2016/03/07 23:47:26 if this block should be deleted, let's just delete
torbjorng (webrtc) 2016/03/08 20:17:05 Done.
1456 EXPECT_EQ(1, init_observer->GetEnumCounter( 1456 EXPECT_EQ(1, init_observer->GetEnumCounter(
1457 webrtc::kEnumCounterAudioSslCipher, 1457 webrtc::kEnumCounterAudioSslCipher,
1458 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1458 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1459 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); 1459 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)));
1460 #endif
1460 1461
1461 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), 1462 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite),
1462 initializing_client()->GetSrtpCipherStats(), 1463 initializing_client()->GetSrtpCipherStats(),
1463 kMaxWaitForStatsMs); 1464 kMaxWaitForStatsMs);
1464 EXPECT_EQ(1, 1465 EXPECT_EQ(1,
1465 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, 1466 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher,
1466 kDefaultSrtpCryptoSuite)); 1467 kDefaultSrtpCryptoSuite));
1467 } 1468 }
1468 1469
1469 // Test that DTLS 1.2 is used if both ends support it. 1470 // Test that DTLS 1.2 is used if both ends support it.
1470 TEST_F(P2PTestConductor, GetDtls12Both) { 1471 TEST_F(P2PTestConductor, GetDtls12Both) {
1471 PeerConnectionFactory::Options init_options; 1472 PeerConnectionFactory::Options init_options;
1472 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1473 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1473 PeerConnectionFactory::Options recv_options; 1474 PeerConnectionFactory::Options recv_options;
1474 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1475 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1475 ASSERT_TRUE( 1476 ASSERT_TRUE(
1476 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); 1477 CreateTestClients(nullptr, &init_options, nullptr, &recv_options));
1477 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1478 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1478 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1479 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1479 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1480 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1480 LocalP2PTest(); 1481 LocalP2PTest();
1481 1482
1482 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( 1483 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher(
1483 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1484 initializing_client()->GetDtlsCipherStats(),
1484 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT)), 1485 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT),
1485 initializing_client()->GetDtlsCipherStats(), 1486 kMaxWaitForStatsMs);
1486 kMaxWaitForStatsMs); 1487 #if 0
1487 EXPECT_EQ(1, init_observer->GetEnumCounter( 1488 EXPECT_EQ(1, init_observer->GetEnumCounter(
1488 webrtc::kEnumCounterAudioSslCipher, 1489 webrtc::kEnumCounterAudioSslCipher,
1489 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1490 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1490 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT))); 1491 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT)));
1492 #endif
1491 1493
1492 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), 1494 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite),
1493 initializing_client()->GetSrtpCipherStats(), 1495 initializing_client()->GetSrtpCipherStats(),
1494 kMaxWaitForStatsMs); 1496 kMaxWaitForStatsMs);
1495 EXPECT_EQ(1, 1497 EXPECT_EQ(1,
1496 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, 1498 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher,
1497 kDefaultSrtpCryptoSuite)); 1499 kDefaultSrtpCryptoSuite));
1498 } 1500 }
1499 1501
1500 // Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the 1502 // Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the
1501 // received supports 1.0. 1503 // received supports 1.0.
1502 TEST_F(P2PTestConductor, GetDtls12Init) { 1504 TEST_F(P2PTestConductor, GetDtls12Init) {
1503 PeerConnectionFactory::Options init_options; 1505 PeerConnectionFactory::Options init_options;
1504 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1506 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1505 PeerConnectionFactory::Options recv_options; 1507 PeerConnectionFactory::Options recv_options;
1506 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1508 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1507 ASSERT_TRUE( 1509 ASSERT_TRUE(
1508 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); 1510 CreateTestClients(nullptr, &init_options, nullptr, &recv_options));
1509 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1511 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1510 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1512 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1511 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1513 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1512 LocalP2PTest(); 1514 LocalP2PTest();
1513 1515
1514 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( 1516 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher(
1515 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1517 initializing_client()->GetDtlsCipherStats(),
1516 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)), 1518 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT),
1517 initializing_client()->GetDtlsCipherStats(), 1519 kMaxWaitForStatsMs);
1518 kMaxWaitForStatsMs); 1520 #if 0
1519 EXPECT_EQ(1, init_observer->GetEnumCounter( 1521 EXPECT_EQ(1, init_observer->GetEnumCounter(
1520 webrtc::kEnumCounterAudioSslCipher, 1522 webrtc::kEnumCounterAudioSslCipher,
1521 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1523 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1522 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); 1524 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)));
1525 #endif
1523 1526
1524 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), 1527 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite),
1525 initializing_client()->GetSrtpCipherStats(), 1528 initializing_client()->GetSrtpCipherStats(),
1526 kMaxWaitForStatsMs); 1529 kMaxWaitForStatsMs);
1527 EXPECT_EQ(1, 1530 EXPECT_EQ(1,
1528 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, 1531 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher,
1529 kDefaultSrtpCryptoSuite)); 1532 kDefaultSrtpCryptoSuite));
1530 } 1533 }
1531 1534
1532 // Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the 1535 // Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the
1533 // received supports 1.2. 1536 // received supports 1.2.
1534 TEST_F(P2PTestConductor, GetDtls12Recv) { 1537 TEST_F(P2PTestConductor, GetDtls12Recv) {
1535 PeerConnectionFactory::Options init_options; 1538 PeerConnectionFactory::Options init_options;
1536 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1539 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1537 PeerConnectionFactory::Options recv_options; 1540 PeerConnectionFactory::Options recv_options;
1538 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1541 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1539 ASSERT_TRUE( 1542 ASSERT_TRUE(
1540 CreateTestClients(nullptr, &init_options, nullptr, &recv_options)); 1543 CreateTestClients(nullptr, &init_options, nullptr, &recv_options));
1541 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1544 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1542 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1545 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1543 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1546 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1544 LocalP2PTest(); 1547 LocalP2PTest();
1545 1548
1546 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::SslCipherSuiteToName( 1549 EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher(
1547 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1550 initializing_client()->GetDtlsCipherStats(),
1548 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)), 1551 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT),
1549 initializing_client()->GetDtlsCipherStats(), 1552 kMaxWaitForStatsMs);
1550 kMaxWaitForStatsMs); 1553 #if 0
1551 EXPECT_EQ(1, init_observer->GetEnumCounter( 1554 EXPECT_EQ(1, init_observer->GetEnumCounter(
1552 webrtc::kEnumCounterAudioSslCipher, 1555 webrtc::kEnumCounterAudioSslCipher,
1553 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( 1556 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1554 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT))); 1557 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)));
1558 #endif
1555 1559
1556 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite), 1560 EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite),
1557 initializing_client()->GetSrtpCipherStats(), 1561 initializing_client()->GetSrtpCipherStats(),
1558 kMaxWaitForStatsMs); 1562 kMaxWaitForStatsMs);
1559 EXPECT_EQ(1, 1563 EXPECT_EQ(1,
1560 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher, 1564 init_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher,
1561 kDefaultSrtpCryptoSuite)); 1565 kDefaultSrtpCryptoSuite));
1562 } 1566 }
1563 1567
1564 // This test sets up a call between two parties with audio, video and an RTP 1568 // This test sets up a call between two parties with audio, video and an RTP
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
2003 PeerConnectionInterface::IceServer server; 2007 PeerConnectionInterface::IceServer server;
2004 server.urls.push_back("turn:hostname"); 2008 server.urls.push_back("turn:hostname");
2005 server.urls.push_back("turn:hostname2"); 2009 server.urls.push_back("turn:hostname2");
2006 servers.push_back(server); 2010 servers.push_back(server);
2007 EXPECT_TRUE(webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_)); 2011 EXPECT_TRUE(webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_));
2008 EXPECT_EQ(2U, turn_servers_.size()); 2012 EXPECT_EQ(2U, turn_servers_.size());
2009 EXPECT_NE(turn_servers_[0].priority, turn_servers_[1].priority); 2013 EXPECT_NE(turn_servers_[0].priority, turn_servers_[1].priority);
2010 } 2014 }
2011 2015
2012 #endif // if !defined(THREAD_SANITIZER) 2016 #endif // if !defined(THREAD_SANITIZER)
OLDNEW
« no previous file with comments | « no previous file | webrtc/base/opensslstreamadapter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698