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

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

Issue 1589493004: Update with new default boringssl no-aes cipher suites and re-enable many tests. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Merge https://codereview.webrtc.org/1550773002#2 Created 4 years, 11 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
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 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 } 593 }
594 594
595 // Create two channels without DTLS, and transfer SRTP data. 595 // Create two channels without DTLS, and transfer SRTP data.
596 TEST_F(DtlsTransportChannelTest, TestTransferSrtpTwoChannels) { 596 TEST_F(DtlsTransportChannelTest, TestTransferSrtpTwoChannels) {
597 SetChannelCount(2); 597 SetChannelCount(2);
598 ASSERT_TRUE(Connect()); 598 ASSERT_TRUE(Connect());
599 TestTransfer(0, 1000, 100, true); 599 TestTransfer(0, 1000, 100, true);
600 TestTransfer(1, 1000, 100, true); 600 TestTransfer(1, 1000, 100, true);
601 } 601 }
602 602
603 #if defined(MEMORY_SANITIZER)
604 // Fails under MemorySanitizer:
605 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
606 #define MAYBE_TestTransferDtls DISABLED_TestTransferDtls
607 #else
608 #define MAYBE_TestTransferDtls TestTransferDtls
609 #endif
610 // Connect with DTLS, and transfer some data. 603 // Connect with DTLS, and transfer some data.
611 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtls) { 604 TEST_F(DtlsTransportChannelTest, TestTransferDtls) {
612 MAYBE_SKIP_TEST(HaveDtls); 605 MAYBE_SKIP_TEST(HaveDtls);
613 PrepareDtls(true, true, rtc::KT_DEFAULT); 606 PrepareDtls(true, true, rtc::KT_DEFAULT);
614 ASSERT_TRUE(Connect()); 607 ASSERT_TRUE(Connect());
615 TestTransfer(0, 1000, 100, false); 608 TestTransfer(0, 1000, 100, false);
616 } 609 }
617 610
618 #if defined(MEMORY_SANITIZER)
619 // Fails under MemorySanitizer:
620 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
621 #define MAYBE_TestTransferDtlsTwoChannels DISABLED_TestTransferDtlsTwoChannels
622 #else
623 #define MAYBE_TestTransferDtlsTwoChannels TestTransferDtlsTwoChannels
624 #endif
625 // Create two channels with DTLS, and transfer some data. 611 // Create two channels with DTLS, and transfer some data.
626 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsTwoChannels) { 612 TEST_F(DtlsTransportChannelTest, TestTransferDtlsTwoChannels) {
627 MAYBE_SKIP_TEST(HaveDtls); 613 MAYBE_SKIP_TEST(HaveDtls);
628 SetChannelCount(2); 614 SetChannelCount(2);
629 PrepareDtls(true, true, rtc::KT_DEFAULT); 615 PrepareDtls(true, true, rtc::KT_DEFAULT);
630 ASSERT_TRUE(Connect()); 616 ASSERT_TRUE(Connect());
631 TestTransfer(0, 1000, 100, false); 617 TestTransfer(0, 1000, 100, false);
632 TestTransfer(1, 1000, 100, false); 618 TestTransfer(1, 1000, 100, false);
633 } 619 }
634 620
635 // Connect with A doing DTLS and B not, and transfer some data. 621 // Connect with A doing DTLS and B not, and transfer some data.
636 TEST_F(DtlsTransportChannelTest, TestTransferDtlsRejected) { 622 TEST_F(DtlsTransportChannelTest, TestTransferDtlsRejected) {
(...skipping 11 matching lines...) Expand all
648 634
649 // Create two channels with DTLS 1.0 and check ciphers. 635 // Create two channels with DTLS 1.0 and check ciphers.
650 TEST_F(DtlsTransportChannelTest, TestDtls12None) { 636 TEST_F(DtlsTransportChannelTest, TestDtls12None) {
651 MAYBE_SKIP_TEST(HaveDtls); 637 MAYBE_SKIP_TEST(HaveDtls);
652 SetChannelCount(2); 638 SetChannelCount(2);
653 PrepareDtls(true, true, rtc::KT_DEFAULT); 639 PrepareDtls(true, true, rtc::KT_DEFAULT);
654 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_10); 640 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_10);
655 ASSERT_TRUE(Connect()); 641 ASSERT_TRUE(Connect());
656 } 642 }
657 643
658 #if defined(MEMORY_SANITIZER)
659 // Fails under MemorySanitizer:
660 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
661 #define MAYBE_TestDtls12Both DISABLED_TestDtls12Both
662 #else
663 #define MAYBE_TestDtls12Both TestDtls12Both
664 #endif
665 // Create two channels with DTLS 1.2 and check ciphers. 644 // Create two channels with DTLS 1.2 and check ciphers.
666 TEST_F(DtlsTransportChannelTest, MAYBE_TestDtls12Both) { 645 TEST_F(DtlsTransportChannelTest, TestDtls12Both) {
667 MAYBE_SKIP_TEST(HaveDtls); 646 MAYBE_SKIP_TEST(HaveDtls);
668 SetChannelCount(2); 647 SetChannelCount(2);
669 PrepareDtls(true, true, rtc::KT_DEFAULT); 648 PrepareDtls(true, true, rtc::KT_DEFAULT);
670 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_12); 649 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_12);
671 ASSERT_TRUE(Connect()); 650 ASSERT_TRUE(Connect());
672 } 651 }
673 652
674 // Create two channels with DTLS 1.0 / DTLS 1.2 and check ciphers. 653 // Create two channels with DTLS 1.0 / DTLS 1.2 and check ciphers.
675 TEST_F(DtlsTransportChannelTest, TestDtls12Client1) { 654 TEST_F(DtlsTransportChannelTest, TestDtls12Client1) {
676 MAYBE_SKIP_TEST(HaveDtls); 655 MAYBE_SKIP_TEST(HaveDtls);
677 SetChannelCount(2); 656 SetChannelCount(2);
678 PrepareDtls(true, true, rtc::KT_DEFAULT); 657 PrepareDtls(true, true, rtc::KT_DEFAULT);
679 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_10); 658 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_10);
680 ASSERT_TRUE(Connect()); 659 ASSERT_TRUE(Connect());
681 } 660 }
682 661
683 // Create two channels with DTLS 1.2 / DTLS 1.0 and check ciphers. 662 // Create two channels with DTLS 1.2 / DTLS 1.0 and check ciphers.
684 TEST_F(DtlsTransportChannelTest, TestDtls12Client2) { 663 TEST_F(DtlsTransportChannelTest, TestDtls12Client2) {
685 MAYBE_SKIP_TEST(HaveDtls); 664 MAYBE_SKIP_TEST(HaveDtls);
686 SetChannelCount(2); 665 SetChannelCount(2);
687 PrepareDtls(true, true, rtc::KT_DEFAULT); 666 PrepareDtls(true, true, rtc::KT_DEFAULT);
688 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_12); 667 SetMaxProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_12);
689 ASSERT_TRUE(Connect()); 668 ASSERT_TRUE(Connect());
690 } 669 }
691 670
692 #if defined(MEMORY_SANITIZER)
693 // Fails under MemorySanitizer:
694 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
695 #define MAYBE_TestTransferDtlsSrtp DISABLED_TestTransferDtlsSrtp
696 #else
697 #define MAYBE_TestTransferDtlsSrtp TestTransferDtlsSrtp
698 #endif
699 // Connect with DTLS, negotiate DTLS-SRTP, and transfer SRTP using bypass. 671 // Connect with DTLS, negotiate DTLS-SRTP, and transfer SRTP using bypass.
700 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsSrtp) { 672 TEST_F(DtlsTransportChannelTest, TestTransferDtlsSrtp) {
701 MAYBE_SKIP_TEST(HaveDtlsSrtp); 673 MAYBE_SKIP_TEST(HaveDtlsSrtp);
702 PrepareDtls(true, true, rtc::KT_DEFAULT); 674 PrepareDtls(true, true, rtc::KT_DEFAULT);
703 PrepareDtlsSrtp(true, true); 675 PrepareDtlsSrtp(true, true);
704 ASSERT_TRUE(Connect()); 676 ASSERT_TRUE(Connect());
705 TestTransfer(0, 1000, 100, true); 677 TestTransfer(0, 1000, 100, true);
706 } 678 }
707 679
708 #if defined(MEMORY_SANITIZER)
709 // Fails under MemorySanitizer:
710 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
711 #define MAYBE_TestTransferDtlsInvalidSrtpPacket \
712 DISABLED_TestTransferDtlsInvalidSrtpPacket
713 #else
714 #define MAYBE_TestTransferDtlsInvalidSrtpPacket \
715 TestTransferDtlsInvalidSrtpPacket
716 #endif
717 // Connect with DTLS-SRTP, transfer an invalid SRTP packet, and expects -1 680 // Connect with DTLS-SRTP, transfer an invalid SRTP packet, and expects -1
718 // returned. 681 // returned.
719 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsInvalidSrtpPacket) { 682 TEST_F(DtlsTransportChannelTest, TestTransferDtlsInvalidSrtpPacket) {
720 MAYBE_SKIP_TEST(HaveDtls); 683 MAYBE_SKIP_TEST(HaveDtls);
721 PrepareDtls(true, true, rtc::KT_DEFAULT); 684 PrepareDtls(true, true, rtc::KT_DEFAULT);
722 PrepareDtlsSrtp(true, true); 685 PrepareDtlsSrtp(true, true);
723 ASSERT_TRUE(Connect()); 686 ASSERT_TRUE(Connect());
724 int result = client1_.SendInvalidSrtpPacket(0, 100); 687 int result = client1_.SendInvalidSrtpPacket(0, 100);
725 ASSERT_EQ(-1, result); 688 ASSERT_EQ(-1, result);
726 } 689 }
727 690
728 #if defined(MEMORY_SANITIZER)
729 // Fails under MemorySanitizer:
730 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
731 #define MAYBE_TestTransferDtlsSrtpRejected DISABLED_TestTransferDtlsSrtpRejected
732 #else
733 #define MAYBE_TestTransferDtlsSrtpRejected TestTransferDtlsSrtpRejected
734 #endif
735 // Connect with DTLS. A does DTLS-SRTP but B does not. 691 // Connect with DTLS. A does DTLS-SRTP but B does not.
736 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsSrtpRejected) { 692 TEST_F(DtlsTransportChannelTest, TestTransferDtlsSrtpRejected) {
737 MAYBE_SKIP_TEST(HaveDtlsSrtp); 693 MAYBE_SKIP_TEST(HaveDtlsSrtp);
738 PrepareDtls(true, true, rtc::KT_DEFAULT); 694 PrepareDtls(true, true, rtc::KT_DEFAULT);
739 PrepareDtlsSrtp(true, false); 695 PrepareDtlsSrtp(true, false);
740 ASSERT_TRUE(Connect()); 696 ASSERT_TRUE(Connect());
741 } 697 }
742 698
743 #if defined(MEMORY_SANITIZER)
744 // Fails under MemorySanitizer:
745 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
746 #define MAYBE_TestTransferDtlsSrtpNotOffered \
747 DISABLED_TestTransferDtlsSrtpNotOffered
748 #else
749 #define MAYBE_TestTransferDtlsSrtpNotOffered TestTransferDtlsSrtpNotOffered
750 #endif
751 // Connect with DTLS. B does DTLS-SRTP but A does not. 699 // Connect with DTLS. B does DTLS-SRTP but A does not.
752 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsSrtpNotOffered) { 700 TEST_F(DtlsTransportChannelTest, TestTransferDtlsSrtpNotOffered) {
753 MAYBE_SKIP_TEST(HaveDtlsSrtp); 701 MAYBE_SKIP_TEST(HaveDtlsSrtp);
754 PrepareDtls(true, true, rtc::KT_DEFAULT); 702 PrepareDtls(true, true, rtc::KT_DEFAULT);
755 PrepareDtlsSrtp(false, true); 703 PrepareDtlsSrtp(false, true);
756 ASSERT_TRUE(Connect()); 704 ASSERT_TRUE(Connect());
757 } 705 }
758 706
759 #if defined(MEMORY_SANITIZER)
760 // Fails under MemorySanitizer:
761 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
762 #define MAYBE_TestTransferDtlsSrtpTwoChannels \
763 DISABLED_TestTransferDtlsSrtpTwoChannels
764 #else
765 #define MAYBE_TestTransferDtlsSrtpTwoChannels TestTransferDtlsSrtpTwoChannels
766 #endif
767 // Create two channels with DTLS, negotiate DTLS-SRTP, and transfer bypass SRTP. 707 // Create two channels with DTLS, negotiate DTLS-SRTP, and transfer bypass SRTP.
768 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsSrtpTwoChannels) { 708 TEST_F(DtlsTransportChannelTest, TestTransferDtlsSrtpTwoChannels) {
769 MAYBE_SKIP_TEST(HaveDtlsSrtp); 709 MAYBE_SKIP_TEST(HaveDtlsSrtp);
770 SetChannelCount(2); 710 SetChannelCount(2);
771 PrepareDtls(true, true, rtc::KT_DEFAULT); 711 PrepareDtls(true, true, rtc::KT_DEFAULT);
772 PrepareDtlsSrtp(true, true); 712 PrepareDtlsSrtp(true, true);
773 ASSERT_TRUE(Connect()); 713 ASSERT_TRUE(Connect());
774 TestTransfer(0, 1000, 100, true); 714 TestTransfer(0, 1000, 100, true);
775 TestTransfer(1, 1000, 100, true); 715 TestTransfer(1, 1000, 100, true);
776 } 716 }
777 717
778 #if defined(MEMORY_SANITIZER)
779 // Fails under MemorySanitizer:
780 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
781 #define MAYBE_TestTransferDtlsSrtpDemux DISABLED_TestTransferDtlsSrtpDemux
782 #else
783 #define MAYBE_TestTransferDtlsSrtpDemux TestTransferDtlsSrtpDemux
784 #endif
785 // Create a single channel with DTLS, and send normal data and SRTP data on it. 718 // Create a single channel with DTLS, and send normal data and SRTP data on it.
786 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsSrtpDemux) { 719 TEST_F(DtlsTransportChannelTest, TestTransferDtlsSrtpDemux) {
787 MAYBE_SKIP_TEST(HaveDtlsSrtp); 720 MAYBE_SKIP_TEST(HaveDtlsSrtp);
788 PrepareDtls(true, true, rtc::KT_DEFAULT); 721 PrepareDtls(true, true, rtc::KT_DEFAULT);
789 PrepareDtlsSrtp(true, true); 722 PrepareDtlsSrtp(true, true);
790 ASSERT_TRUE(Connect()); 723 ASSERT_TRUE(Connect());
791 TestTransfer(0, 1000, 100, false); 724 TestTransfer(0, 1000, 100, false);
792 TestTransfer(0, 1000, 100, true); 725 TestTransfer(0, 1000, 100, true);
793 } 726 }
794 727
795 #if defined(MEMORY_SANITIZER)
796 // Fails under MemorySanitizer:
797 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
798 #define MAYBE_TestTransferDtlsAnswererIsPassive \
799 DISABLED_TestTransferDtlsAnswererIsPassive
800 #else
801 #define MAYBE_TestTransferDtlsAnswererIsPassive \
802 TestTransferDtlsAnswererIsPassive
803 #endif
804 // Testing when the remote is passive. 728 // Testing when the remote is passive.
805 TEST_F(DtlsTransportChannelTest, MAYBE_TestTransferDtlsAnswererIsPassive) { 729 TEST_F(DtlsTransportChannelTest, TestTransferDtlsAnswererIsPassive) {
806 MAYBE_SKIP_TEST(HaveDtlsSrtp); 730 MAYBE_SKIP_TEST(HaveDtlsSrtp);
807 SetChannelCount(2); 731 SetChannelCount(2);
808 PrepareDtls(true, true, rtc::KT_DEFAULT); 732 PrepareDtls(true, true, rtc::KT_DEFAULT);
809 PrepareDtlsSrtp(true, true); 733 PrepareDtlsSrtp(true, true);
810 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS, 734 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS,
811 cricket::CONNECTIONROLE_PASSIVE)); 735 cricket::CONNECTIONROLE_PASSIVE));
812 TestTransfer(0, 1000, 100, true); 736 TestTransfer(0, 1000, 100, true);
813 TestTransfer(1, 1000, 100, true); 737 TestTransfer(1, 1000, 100, true);
814 } 738 }
815 739
816 // Testing with the legacy DTLS client which doesn't use setup attribute. 740 // Testing with the legacy DTLS client which doesn't use setup attribute.
817 // In this case legacy is the answerer. 741 // In this case legacy is the answerer.
818 TEST_F(DtlsTransportChannelTest, TestDtlsSetupWithLegacyAsAnswerer) { 742 TEST_F(DtlsTransportChannelTest, TestDtlsSetupWithLegacyAsAnswerer) {
819 MAYBE_SKIP_TEST(HaveDtlsSrtp); 743 MAYBE_SKIP_TEST(HaveDtlsSrtp);
820 PrepareDtls(true, true, rtc::KT_DEFAULT); 744 PrepareDtls(true, true, rtc::KT_DEFAULT);
821 NegotiateWithLegacy(); 745 NegotiateWithLegacy();
822 rtc::SSLRole channel1_role; 746 rtc::SSLRole channel1_role;
823 rtc::SSLRole channel2_role; 747 rtc::SSLRole channel2_role;
824 EXPECT_TRUE(client1_.transport()->GetSslRole(&channel1_role)); 748 EXPECT_TRUE(client1_.transport()->GetSslRole(&channel1_role));
825 EXPECT_TRUE(client2_.transport()->GetSslRole(&channel2_role)); 749 EXPECT_TRUE(client2_.transport()->GetSslRole(&channel2_role));
826 EXPECT_EQ(rtc::SSL_SERVER, channel1_role); 750 EXPECT_EQ(rtc::SSL_SERVER, channel1_role);
827 EXPECT_EQ(rtc::SSL_CLIENT, channel2_role); 751 EXPECT_EQ(rtc::SSL_CLIENT, channel2_role);
828 } 752 }
829 753
830 #if defined(MEMORY_SANITIZER)
831 // Fails under MemorySanitizer:
832 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
833 #define MAYBE_TestDtlsReOfferFromOfferer DISABLED_TestDtlsReOfferFromOfferer
834 #else
835 #define MAYBE_TestDtlsReOfferFromOfferer TestDtlsReOfferFromOfferer
836 #endif
837 // Testing re offer/answer after the session is estbalished. Roles will be 754 // Testing re offer/answer after the session is estbalished. Roles will be
838 // kept same as of the previous negotiation. 755 // kept same as of the previous negotiation.
839 TEST_F(DtlsTransportChannelTest, MAYBE_TestDtlsReOfferFromOfferer) { 756 TEST_F(DtlsTransportChannelTest, TestDtlsReOfferFromOfferer) {
840 MAYBE_SKIP_TEST(HaveDtlsSrtp); 757 MAYBE_SKIP_TEST(HaveDtlsSrtp);
841 SetChannelCount(2); 758 SetChannelCount(2);
842 PrepareDtls(true, true, rtc::KT_DEFAULT); 759 PrepareDtls(true, true, rtc::KT_DEFAULT);
843 PrepareDtlsSrtp(true, true); 760 PrepareDtlsSrtp(true, true);
844 // Initial role for client1 is ACTPASS and client2 is ACTIVE. 761 // Initial role for client1 is ACTPASS and client2 is ACTIVE.
845 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS, 762 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS,
846 cricket::CONNECTIONROLE_ACTIVE)); 763 cricket::CONNECTIONROLE_ACTIVE));
847 TestTransfer(0, 1000, 100, true); 764 TestTransfer(0, 1000, 100, true);
848 TestTransfer(1, 1000, 100, true); 765 TestTransfer(1, 1000, 100, true);
849 // Using input roles for the re-offer. 766 // Using input roles for the re-offer.
850 Renegotiate(&client1_, cricket::CONNECTIONROLE_ACTPASS, 767 Renegotiate(&client1_, cricket::CONNECTIONROLE_ACTPASS,
851 cricket::CONNECTIONROLE_ACTIVE, NF_REOFFER); 768 cricket::CONNECTIONROLE_ACTIVE, NF_REOFFER);
852 TestTransfer(0, 1000, 100, true); 769 TestTransfer(0, 1000, 100, true);
853 TestTransfer(1, 1000, 100, true); 770 TestTransfer(1, 1000, 100, true);
854 } 771 }
855 772
856 #if defined(MEMORY_SANITIZER) 773 TEST_F(DtlsTransportChannelTest, TestDtlsReOfferFromAnswerer) {
857 // Fails under MemorySanitizer:
858 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
859 #define MAYBE_TestDtlsReOfferFromAnswerer DISABLED_TestDtlsReOfferFromAnswerer
860 #else
861 #define MAYBE_TestDtlsReOfferFromAnswerer TestDtlsReOfferFromAnswerer
862 #endif
863 TEST_F(DtlsTransportChannelTest, MAYBE_TestDtlsReOfferFromAnswerer) {
864 MAYBE_SKIP_TEST(HaveDtlsSrtp); 774 MAYBE_SKIP_TEST(HaveDtlsSrtp);
865 SetChannelCount(2); 775 SetChannelCount(2);
866 PrepareDtls(true, true, rtc::KT_DEFAULT); 776 PrepareDtls(true, true, rtc::KT_DEFAULT);
867 PrepareDtlsSrtp(true, true); 777 PrepareDtlsSrtp(true, true);
868 // Initial role for client1 is ACTPASS and client2 is ACTIVE. 778 // Initial role for client1 is ACTPASS and client2 is ACTIVE.
869 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS, 779 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS,
870 cricket::CONNECTIONROLE_ACTIVE)); 780 cricket::CONNECTIONROLE_ACTIVE));
871 TestTransfer(0, 1000, 100, true); 781 TestTransfer(0, 1000, 100, true);
872 TestTransfer(1, 1000, 100, true); 782 TestTransfer(1, 1000, 100, true);
873 // Using input roles for the re-offer. 783 // Using input roles for the re-offer.
874 Renegotiate(&client2_, cricket::CONNECTIONROLE_PASSIVE, 784 Renegotiate(&client2_, cricket::CONNECTIONROLE_PASSIVE,
875 cricket::CONNECTIONROLE_ACTPASS, NF_REOFFER); 785 cricket::CONNECTIONROLE_ACTPASS, NF_REOFFER);
876 TestTransfer(0, 1000, 100, true); 786 TestTransfer(0, 1000, 100, true);
877 TestTransfer(1, 1000, 100, true); 787 TestTransfer(1, 1000, 100, true);
878 } 788 }
879 789
880 #if defined(MEMORY_SANITIZER)
881 // Fails under MemorySanitizer:
882 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
883 #define MAYBE_TestDtlsRoleReversal DISABLED_TestDtlsRoleReversal
884 #else
885 #define MAYBE_TestDtlsRoleReversal TestDtlsRoleReversal
886 #endif
887 // Test that any change in role after the intial setup will result in failure. 790 // Test that any change in role after the intial setup will result in failure.
888 TEST_F(DtlsTransportChannelTest, MAYBE_TestDtlsRoleReversal) { 791 TEST_F(DtlsTransportChannelTest, TestDtlsRoleReversal) {
889 MAYBE_SKIP_TEST(HaveDtlsSrtp); 792 MAYBE_SKIP_TEST(HaveDtlsSrtp);
890 SetChannelCount(2); 793 SetChannelCount(2);
891 PrepareDtls(true, true, rtc::KT_DEFAULT); 794 PrepareDtls(true, true, rtc::KT_DEFAULT);
892 PrepareDtlsSrtp(true, true); 795 PrepareDtlsSrtp(true, true);
893 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS, 796 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS,
894 cricket::CONNECTIONROLE_PASSIVE)); 797 cricket::CONNECTIONROLE_PASSIVE));
895 798
896 // Renegotiate from client2 with actpass and client1 as active. 799 // Renegotiate from client2 with actpass and client1 as active.
897 Renegotiate(&client2_, cricket::CONNECTIONROLE_ACTPASS, 800 Renegotiate(&client2_, cricket::CONNECTIONROLE_ACTPASS,
898 cricket::CONNECTIONROLE_ACTIVE, 801 cricket::CONNECTIONROLE_ACTIVE,
899 NF_REOFFER | NF_EXPECT_FAILURE); 802 NF_REOFFER | NF_EXPECT_FAILURE);
900 } 803 }
901 804
902 #if defined(MEMORY_SANITIZER)
903 // Fails under MemorySanitizer:
904 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
905 #define MAYBE_TestDtlsReOfferWithDifferentSetupAttr \
906 DISABLED_TestDtlsReOfferWithDifferentSetupAttr
907 #else
908 #define MAYBE_TestDtlsReOfferWithDifferentSetupAttr \
909 TestDtlsReOfferWithDifferentSetupAttr
910 #endif
911 // Test that using different setup attributes which results in similar ssl 805 // Test that using different setup attributes which results in similar ssl
912 // role as the initial negotiation will result in success. 806 // role as the initial negotiation will result in success.
913 TEST_F(DtlsTransportChannelTest, MAYBE_TestDtlsReOfferWithDifferentSetupAttr) { 807 TEST_F(DtlsTransportChannelTest, TestDtlsReOfferWithDifferentSetupAttr) {
914 MAYBE_SKIP_TEST(HaveDtlsSrtp); 808 MAYBE_SKIP_TEST(HaveDtlsSrtp);
915 SetChannelCount(2); 809 SetChannelCount(2);
916 PrepareDtls(true, true, rtc::KT_DEFAULT); 810 PrepareDtls(true, true, rtc::KT_DEFAULT);
917 PrepareDtlsSrtp(true, true); 811 PrepareDtlsSrtp(true, true);
918 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS, 812 ASSERT_TRUE(Connect(cricket::CONNECTIONROLE_ACTPASS,
919 cricket::CONNECTIONROLE_PASSIVE)); 813 cricket::CONNECTIONROLE_PASSIVE));
920 // Renegotiate from client2 with actpass and client1 as active. 814 // Renegotiate from client2 with actpass and client1 as active.
921 Renegotiate(&client2_, cricket::CONNECTIONROLE_ACTIVE, 815 Renegotiate(&client2_, cricket::CONNECTIONROLE_ACTIVE,
922 cricket::CONNECTIONROLE_ACTPASS, NF_REOFFER); 816 cricket::CONNECTIONROLE_ACTPASS, NF_REOFFER);
923 TestTransfer(0, 1000, 100, true); 817 TestTransfer(0, 1000, 100, true);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 ASSERT_NE(certificate1->ssl_certificate().ToPEMString(), 857 ASSERT_NE(certificate1->ssl_certificate().ToPEMString(),
964 certificate2->ssl_certificate().ToPEMString()); 858 certificate2->ssl_certificate().ToPEMString());
965 ASSERT_FALSE( 859 ASSERT_FALSE(
966 client1_.transport()->GetRemoteSSLCertificate(remote_cert1.accept())); 860 client1_.transport()->GetRemoteSSLCertificate(remote_cert1.accept()));
967 ASSERT_FALSE(remote_cert1 != NULL); 861 ASSERT_FALSE(remote_cert1 != NULL);
968 ASSERT_FALSE( 862 ASSERT_FALSE(
969 client2_.transport()->GetRemoteSSLCertificate(remote_cert2.accept())); 863 client2_.transport()->GetRemoteSSLCertificate(remote_cert2.accept()));
970 ASSERT_FALSE(remote_cert2 != NULL); 864 ASSERT_FALSE(remote_cert2 != NULL);
971 } 865 }
972 866
973 #if defined(MEMORY_SANITIZER)
974 // Fails under MemorySanitizer:
975 // See https://code.google.com/p/webrtc/issues/detail?id=5381.
976 #define MAYBE_TestCertificatesAfterConnect DISABLED_TestCertificatesAfterConnect
977 #else
978 #define MAYBE_TestCertificatesAfterConnect TestCertificatesAfterConnect
979 #endif
980 // Test Certificates state after connection. 867 // Test Certificates state after connection.
981 TEST_F(DtlsTransportChannelTest, MAYBE_TestCertificatesAfterConnect) { 868 TEST_F(DtlsTransportChannelTest, TestCertificatesAfterConnect) {
982 MAYBE_SKIP_TEST(HaveDtls); 869 MAYBE_SKIP_TEST(HaveDtls);
983 PrepareDtls(true, true, rtc::KT_DEFAULT); 870 PrepareDtls(true, true, rtc::KT_DEFAULT);
984 ASSERT_TRUE(Connect()); 871 ASSERT_TRUE(Connect());
985 872
986 rtc::scoped_refptr<rtc::RTCCertificate> certificate1; 873 rtc::scoped_refptr<rtc::RTCCertificate> certificate1;
987 rtc::scoped_refptr<rtc::RTCCertificate> certificate2; 874 rtc::scoped_refptr<rtc::RTCCertificate> certificate2;
988 rtc::scoped_ptr<rtc::SSLCertificate> remote_cert1; 875 rtc::scoped_ptr<rtc::SSLCertificate> remote_cert1;
989 rtc::scoped_ptr<rtc::SSLCertificate> remote_cert2; 876 rtc::scoped_ptr<rtc::SSLCertificate> remote_cert2;
990 877
991 // After connection, each side has a distinct local certificate. 878 // After connection, each side has a distinct local certificate.
992 ASSERT_TRUE(client1_.transport()->GetLocalCertificate(&certificate1)); 879 ASSERT_TRUE(client1_.transport()->GetLocalCertificate(&certificate1));
993 ASSERT_TRUE(client2_.transport()->GetLocalCertificate(&certificate2)); 880 ASSERT_TRUE(client2_.transport()->GetLocalCertificate(&certificate2));
994 ASSERT_NE(certificate1->ssl_certificate().ToPEMString(), 881 ASSERT_NE(certificate1->ssl_certificate().ToPEMString(),
995 certificate2->ssl_certificate().ToPEMString()); 882 certificate2->ssl_certificate().ToPEMString());
996 883
997 // Each side's remote certificate is the other side's local certificate. 884 // Each side's remote certificate is the other side's local certificate.
998 ASSERT_TRUE( 885 ASSERT_TRUE(
999 client1_.transport()->GetRemoteSSLCertificate(remote_cert1.accept())); 886 client1_.transport()->GetRemoteSSLCertificate(remote_cert1.accept()));
1000 ASSERT_EQ(remote_cert1->ToPEMString(), 887 ASSERT_EQ(remote_cert1->ToPEMString(),
1001 certificate2->ssl_certificate().ToPEMString()); 888 certificate2->ssl_certificate().ToPEMString());
1002 ASSERT_TRUE( 889 ASSERT_TRUE(
1003 client2_.transport()->GetRemoteSSLCertificate(remote_cert2.accept())); 890 client2_.transport()->GetRemoteSSLCertificate(remote_cert2.accept()));
1004 ASSERT_EQ(remote_cert2->ToPEMString(), 891 ASSERT_EQ(remote_cert2->ToPEMString(),
1005 certificate1->ssl_certificate().ToPEMString()); 892 certificate1->ssl_certificate().ToPEMString());
1006 } 893 }
OLDNEW
« webrtc/base/opensslstreamadapter.cc ('K') | « webrtc/base/sslstreamadapter_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698