| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2009 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 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 638 for (size_t i = 0; i < candidates_.size(); ++i) { | 638 for (size_t i = 0; i < candidates_.size(); ++i) { |
| 639 EXPECT_EQ(std::string(cricket::RELAY_PORT_TYPE), candidates_[i].type()); | 639 EXPECT_EQ(std::string(cricket::RELAY_PORT_TYPE), candidates_[i].type()); |
| 640 EXPECT_EQ( | 640 EXPECT_EQ( |
| 641 candidates_[0].related_address(), | 641 candidates_[0].related_address(), |
| 642 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family())); | 642 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family())); |
| 643 } | 643 } |
| 644 } | 644 } |
| 645 | 645 |
| 646 TEST_F(PortAllocatorTest, TestCandidateFilterWithHostOnly) { | 646 TEST_F(PortAllocatorTest, TestCandidateFilterWithHostOnly) { |
| 647 AddInterface(kClientAddr); | 647 AddInterface(kClientAddr); |
| 648 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | 648 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |
| 649 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | |
| 650 allocator().set_candidate_filter(cricket::CF_HOST); | 649 allocator().set_candidate_filter(cricket::CF_HOST); |
| 651 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 650 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 652 session_->StartGettingPorts(); | 651 session_->StartGettingPorts(); |
| 653 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 652 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); |
| 654 EXPECT_EQ(2U, candidates_.size()); // Host UDP/TCP candidates only. | 653 EXPECT_EQ(2U, candidates_.size()); // Host UDP/TCP candidates only. |
| 655 EXPECT_EQ(2U, ports_.size()); // UDP/TCP ports only. | 654 EXPECT_EQ(2U, ports_.size()); // UDP/TCP ports only. |
| 656 for (size_t i = 0; i < candidates_.size(); ++i) { | 655 for (size_t i = 0; i < candidates_.size(); ++i) { |
| 657 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type()); | 656 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type()); |
| 658 } | 657 } |
| 659 } | 658 } |
| 660 | 659 |
| 661 // Host is behind the NAT. | 660 // Host is behind the NAT. |
| 662 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnly) { | 661 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnly) { |
| 663 AddInterface(kPrivateAddr); | 662 AddInterface(kPrivateAddr); |
| 664 ResetWithNatServer(kStunAddr); | 663 ResetWithNatServer(kStunAddr); |
| 665 | 664 |
| 666 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | 665 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |
| 667 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | |
| 668 allocator().set_candidate_filter(cricket::CF_REFLEXIVE); | 666 allocator().set_candidate_filter(cricket::CF_REFLEXIVE); |
| 669 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 667 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 670 session_->StartGettingPorts(); | 668 session_->StartGettingPorts(); |
| 671 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 669 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); |
| 672 // Host is behind NAT, no private address will be exposed. Hence only UDP | 670 // Host is behind NAT, no private address will be exposed. Hence only UDP |
| 673 // port with STUN candidate will be sent outside. | 671 // port with STUN candidate will be sent outside. |
| 674 EXPECT_EQ(1U, candidates_.size()); // Only STUN candidate. | 672 EXPECT_EQ(1U, candidates_.size()); // Only STUN candidate. |
| 675 EXPECT_EQ(1U, ports_.size()); // Only UDP port will be in ready state. | 673 EXPECT_EQ(1U, ports_.size()); // Only UDP port will be in ready state. |
| 676 for (size_t i = 0; i < candidates_.size(); ++i) { | 674 for (size_t i = 0; i < candidates_.size(); ++i) { |
| 677 EXPECT_EQ(std::string(cricket::STUN_PORT_TYPE), candidates_[i].type()); | 675 EXPECT_EQ(std::string(cricket::STUN_PORT_TYPE), candidates_[i].type()); |
| 678 EXPECT_EQ( | 676 EXPECT_EQ( |
| 679 candidates_[0].related_address(), | 677 candidates_[0].related_address(), |
| 680 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family())); | 678 rtc::EmptySocketAddressWithFamily(candidates_[0].address().family())); |
| 681 } | 679 } |
| 682 } | 680 } |
| 683 | 681 |
| 684 // Host is not behind the NAT. | 682 // Host is not behind the NAT. |
| 685 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnlyAndNoNAT) { | 683 TEST_F(PortAllocatorTest, TestCandidateFilterWithReflexiveOnlyAndNoNAT) { |
| 686 AddInterface(kClientAddr); | 684 AddInterface(kClientAddr); |
| 687 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | 685 allocator().set_flags(cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |
| 688 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | |
| 689 allocator().set_candidate_filter(cricket::CF_REFLEXIVE); | 686 allocator().set_candidate_filter(cricket::CF_REFLEXIVE); |
| 690 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 687 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 691 session_->StartGettingPorts(); | 688 session_->StartGettingPorts(); |
| 692 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 689 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); |
| 693 // Host has a public address, both UDP and TCP candidates will be exposed. | 690 // Host has a public address, both UDP and TCP candidates will be exposed. |
| 694 EXPECT_EQ(2U, candidates_.size()); // Local UDP + TCP candidate. | 691 EXPECT_EQ(2U, candidates_.size()); // Local UDP + TCP candidate. |
| 695 EXPECT_EQ(2U, ports_.size()); // UDP and TCP ports will be in ready state. | 692 EXPECT_EQ(2U, ports_.size()); // UDP and TCP ports will be in ready state. |
| 696 for (size_t i = 0; i < candidates_.size(); ++i) { | 693 for (size_t i = 0; i < candidates_.size(); ++i) { |
| 697 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type()); | 694 EXPECT_EQ(std::string(cricket::LOCAL_PORT_TYPE), candidates_[i].type()); |
| 698 } | 695 } |
| 699 } | 696 } |
| 700 | 697 |
| 701 // Test that when the PORTALLOCATOR_ENABLE_SHARED_UFRAG is enabled we got same | 698 // Test that we get the same ufrag and pwd for all candidates. |
| 702 // ufrag and pwd for the collected candidates. | |
| 703 TEST_F(PortAllocatorTest, TestEnableSharedUfrag) { | 699 TEST_F(PortAllocatorTest, TestEnableSharedUfrag) { |
| 704 allocator().set_flags(allocator().flags() | | |
| 705 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG); | |
| 706 AddInterface(kClientAddr); | 700 AddInterface(kClientAddr); |
| 707 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 701 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 708 session_->StartGettingPorts(); | 702 session_->StartGettingPorts(); |
| 709 ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout); | 703 ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout); |
| 710 EXPECT_PRED5(CheckCandidate, candidates_[0], | 704 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 711 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 705 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |
| 712 EXPECT_PRED5(CheckCandidate, candidates_[1], | 706 EXPECT_PRED5(CheckCandidate, candidates_[1], |
| 713 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", kClientAddr); | 707 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", kClientAddr); |
| 714 EXPECT_PRED5(CheckCandidate, candidates_[5], | 708 EXPECT_PRED5(CheckCandidate, candidates_[5], |
| 715 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp", kClientAddr); | 709 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "tcp", kClientAddr); |
| 716 EXPECT_EQ(4U, ports_.size()); | 710 EXPECT_EQ(4U, ports_.size()); |
| 717 EXPECT_EQ(kIceUfrag0, candidates_[0].username()); | 711 EXPECT_EQ(kIceUfrag0, candidates_[0].username()); |
| 718 EXPECT_EQ(kIceUfrag0, candidates_[1].username()); | 712 EXPECT_EQ(kIceUfrag0, candidates_[1].username()); |
| 719 EXPECT_EQ(kIceUfrag0, candidates_[2].username()); | 713 EXPECT_EQ(kIceUfrag0, candidates_[2].username()); |
| 720 EXPECT_EQ(kIcePwd0, candidates_[0].password()); | 714 EXPECT_EQ(kIcePwd0, candidates_[0].password()); |
| 721 EXPECT_EQ(kIcePwd0, candidates_[1].password()); | 715 EXPECT_EQ(kIcePwd0, candidates_[1].password()); |
| 722 EXPECT_TRUE(candidate_allocation_done_); | 716 EXPECT_TRUE(candidate_allocation_done_); |
| 723 } | 717 } |
| 724 | 718 |
| 725 // Test that when the PORTALLOCATOR_ENABLE_SHARED_UFRAG isn't enabled we got | |
| 726 // different ufrag and pwd for the collected candidates. | |
| 727 TEST_F(PortAllocatorTest, TestDisableSharedUfrag) { | |
| 728 allocator().set_flags(allocator().flags() & | |
| 729 ~cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG); | |
| 730 AddInterface(kClientAddr); | |
| 731 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | |
| 732 session_->StartGettingPorts(); | |
| 733 ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout); | |
| 734 EXPECT_PRED5(CheckCandidate, candidates_[0], | |
| 735 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | |
| 736 EXPECT_PRED5(CheckCandidate, candidates_[1], | |
| 737 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", kClientAddr); | |
| 738 EXPECT_EQ(4U, ports_.size()); | |
| 739 // Port should generate random ufrag and pwd. | |
| 740 EXPECT_NE(kIceUfrag0, candidates_[0].username()); | |
| 741 EXPECT_NE(kIceUfrag0, candidates_[1].username()); | |
| 742 EXPECT_NE(candidates_[0].username(), candidates_[1].username()); | |
| 743 EXPECT_NE(kIcePwd0, candidates_[0].password()); | |
| 744 EXPECT_NE(kIcePwd0, candidates_[1].password()); | |
| 745 EXPECT_NE(candidates_[0].password(), candidates_[1].password()); | |
| 746 EXPECT_TRUE(candidate_allocation_done_); | |
| 747 } | |
| 748 | |
| 749 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port | 719 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port |
| 750 // is allocated for udp and stun. Also verify there is only one candidate | 720 // is allocated for udp and stun. Also verify there is only one candidate |
| 751 // (local) if stun candidate is same as local candidate, which will be the case | 721 // (local) if stun candidate is same as local candidate, which will be the case |
| 752 // in a public network like the below test. | 722 // in a public network like the below test. |
| 753 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNat) { | 723 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNat) { |
| 754 AddInterface(kClientAddr); | 724 AddInterface(kClientAddr); |
| 755 allocator_->set_flags(allocator().flags() | | 725 allocator_->set_flags(allocator().flags() | |
| 756 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 757 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | 726 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |
| 758 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 727 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 759 session_->StartGettingPorts(); | 728 session_->StartGettingPorts(); |
| 760 ASSERT_EQ_WAIT(6U, candidates_.size(), kDefaultAllocationTimeout); | 729 ASSERT_EQ_WAIT(6U, candidates_.size(), kDefaultAllocationTimeout); |
| 761 EXPECT_EQ(3U, ports_.size()); | 730 EXPECT_EQ(3U, ports_.size()); |
| 762 EXPECT_PRED5(CheckCandidate, candidates_[0], | 731 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 763 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 732 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |
| 764 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 733 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); |
| 765 } | 734 } |
| 766 | 735 |
| 767 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port | 736 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port |
| 768 // is allocated for udp and stun. In this test we should expect both stun and | 737 // is allocated for udp and stun. In this test we should expect both stun and |
| 769 // local candidates as client behind a nat. | 738 // local candidates as client behind a nat. |
| 770 TEST_F(PortAllocatorTest, TestSharedSocketWithNat) { | 739 TEST_F(PortAllocatorTest, TestSharedSocketWithNat) { |
| 771 AddInterface(kClientAddr); | 740 AddInterface(kClientAddr); |
| 772 ResetWithNatServer(kStunAddr); | 741 ResetWithNatServer(kStunAddr); |
| 773 | 742 |
| 774 allocator_->set_flags(allocator().flags() | | 743 allocator_->set_flags(allocator().flags() | |
| 775 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 776 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | 744 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |
| 777 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 745 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 778 session_->StartGettingPorts(); | 746 session_->StartGettingPorts(); |
| 779 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); | 747 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); |
| 780 ASSERT_EQ(2U, ports_.size()); | 748 ASSERT_EQ(2U, ports_.size()); |
| 781 EXPECT_PRED5(CheckCandidate, candidates_[0], | 749 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 782 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 750 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |
| 783 EXPECT_PRED5(CheckCandidate, candidates_[1], | 751 EXPECT_PRED5(CheckCandidate, candidates_[1], |
| 784 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", | 752 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", |
| 785 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0)); | 753 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0)); |
| 786 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 754 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); |
| 787 EXPECT_EQ(3U, candidates_.size()); | 755 EXPECT_EQ(3U, candidates_.size()); |
| 788 } | 756 } |
| 789 | 757 |
| 790 // Test TURN port in shared socket mode with UDP and TCP TURN server addresses. | 758 // Test TURN port in shared socket mode with UDP and TCP TURN server addresses. |
| 791 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNatUsingTurn) { | 759 TEST_F(PortAllocatorTest, TestSharedSocketWithoutNatUsingTurn) { |
| 792 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); | 760 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); |
| 793 AddInterface(kClientAddr); | 761 AddInterface(kClientAddr); |
| 794 allocator_.reset(new cricket::BasicPortAllocator(&network_manager_)); | 762 allocator_.reset(new cricket::BasicPortAllocator(&network_manager_)); |
| 795 | 763 |
| 796 AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr); | 764 AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr); |
| 797 | 765 |
| 798 allocator_->set_step_delay(cricket::kMinimumStepDelay); | 766 allocator_->set_step_delay(cricket::kMinimumStepDelay); |
| 799 allocator_->set_flags(allocator().flags() | | 767 allocator_->set_flags(allocator().flags() | |
| 800 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 801 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | | 768 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | |
| 802 cricket::PORTALLOCATOR_DISABLE_TCP); | 769 cricket::PORTALLOCATOR_DISABLE_TCP); |
| 803 | 770 |
| 804 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 771 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 805 session_->StartGettingPorts(); | 772 session_->StartGettingPorts(); |
| 806 | 773 |
| 807 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); | 774 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); |
| 808 ASSERT_EQ(3U, ports_.size()); | 775 ASSERT_EQ(3U, ports_.size()); |
| 809 EXPECT_PRED5(CheckCandidate, candidates_[0], | 776 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 810 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 777 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 828 cricket::RelayServerConfig relay_server(cricket::RELAY_TURN); | 795 cricket::RelayServerConfig relay_server(cricket::RELAY_TURN); |
| 829 cricket::RelayCredentials credentials(kTurnUsername, kTurnPassword); | 796 cricket::RelayCredentials credentials(kTurnUsername, kTurnPassword); |
| 830 relay_server.credentials = credentials; | 797 relay_server.credentials = credentials; |
| 831 relay_server.ports.push_back(cricket::ProtocolAddress( | 798 relay_server.ports.push_back(cricket::ProtocolAddress( |
| 832 rtc::SocketAddress("localhost", 3478), | 799 rtc::SocketAddress("localhost", 3478), |
| 833 cricket::PROTO_UDP, false)); | 800 cricket::PROTO_UDP, false)); |
| 834 allocator_->AddRelay(relay_server); | 801 allocator_->AddRelay(relay_server); |
| 835 | 802 |
| 836 allocator_->set_step_delay(cricket::kMinimumStepDelay); | 803 allocator_->set_step_delay(cricket::kMinimumStepDelay); |
| 837 allocator_->set_flags(allocator().flags() | | 804 allocator_->set_flags(allocator().flags() | |
| 838 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 839 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | | 805 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | |
| 840 cricket::PORTALLOCATOR_DISABLE_TCP); | 806 cricket::PORTALLOCATOR_DISABLE_TCP); |
| 841 | 807 |
| 842 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 808 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 843 session_->StartGettingPorts(); | 809 session_->StartGettingPorts(); |
| 844 | 810 |
| 845 EXPECT_EQ_WAIT(2U, ports_.size(), kDefaultAllocationTimeout); | 811 EXPECT_EQ_WAIT(2U, ports_.size(), kDefaultAllocationTimeout); |
| 846 } | 812 } |
| 847 | 813 |
| 848 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port | 814 // Test that when PORTALLOCATOR_ENABLE_SHARED_SOCKET is enabled only one port |
| 849 // is allocated for udp/stun/turn. In this test we should expect all local, | 815 // is allocated for udp/stun/turn. In this test we should expect all local, |
| 850 // stun and turn candidates. | 816 // stun and turn candidates. |
| 851 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurn) { | 817 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurn) { |
| 852 AddInterface(kClientAddr); | 818 AddInterface(kClientAddr); |
| 853 ResetWithNatServer(kStunAddr); | 819 ResetWithNatServer(kStunAddr); |
| 854 | 820 |
| 855 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); | 821 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); |
| 856 | 822 |
| 857 allocator_->set_flags(allocator().flags() | | 823 allocator_->set_flags(allocator().flags() | |
| 858 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 859 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | | 824 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | |
| 860 cricket::PORTALLOCATOR_DISABLE_TCP); | 825 cricket::PORTALLOCATOR_DISABLE_TCP); |
| 861 | 826 |
| 862 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 827 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 863 session_->StartGettingPorts(); | 828 session_->StartGettingPorts(); |
| 864 | 829 |
| 865 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); | 830 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); |
| 866 ASSERT_EQ(2U, ports_.size()); | 831 ASSERT_EQ(2U, ports_.size()); |
| 867 EXPECT_PRED5(CheckCandidate, candidates_[0], | 832 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 868 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 833 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 887 // Use an empty SocketAddress to add a NAT without STUN server. | 852 // Use an empty SocketAddress to add a NAT without STUN server. |
| 888 ResetWithNatServer(SocketAddress()); | 853 ResetWithNatServer(SocketAddress()); |
| 889 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); | 854 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); |
| 890 | 855 |
| 891 // Must set the step delay to 0 to make sure the relay allocation phase is | 856 // Must set the step delay to 0 to make sure the relay allocation phase is |
| 892 // started before the STUN candidates are obtained, so that the STUN binding | 857 // started before the STUN candidates are obtained, so that the STUN binding |
| 893 // response is processed when both StunPort and TurnPort exist to reproduce | 858 // response is processed when both StunPort and TurnPort exist to reproduce |
| 894 // webrtc issue 3537. | 859 // webrtc issue 3537. |
| 895 allocator_->set_step_delay(0); | 860 allocator_->set_step_delay(0); |
| 896 allocator_->set_flags(allocator().flags() | | 861 allocator_->set_flags(allocator().flags() | |
| 897 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 898 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | | 862 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | |
| 899 cricket::PORTALLOCATOR_DISABLE_TCP); | 863 cricket::PORTALLOCATOR_DISABLE_TCP); |
| 900 | 864 |
| 901 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 865 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 902 session_->StartGettingPorts(); | 866 session_->StartGettingPorts(); |
| 903 | 867 |
| 904 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); | 868 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); |
| 905 EXPECT_PRED5(CheckCandidate, candidates_[0], | 869 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 906 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 870 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |
| 907 EXPECT_PRED5(CheckCandidate, candidates_[1], | 871 EXPECT_PRED5(CheckCandidate, candidates_[1], |
| (...skipping 14 matching lines...) Expand all Loading... |
| 922 // Test that when only a TCP TURN server is available, we do NOT use it as | 886 // Test that when only a TCP TURN server is available, we do NOT use it as |
| 923 // a UDP STUN server, as this could leak our IP address. Thus we should only | 887 // a UDP STUN server, as this could leak our IP address. Thus we should only |
| 924 // expect two ports, a UDPPort and TurnPort. | 888 // expect two ports, a UDPPort and TurnPort. |
| 925 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnTcpOnly) { | 889 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnTcpOnly) { |
| 926 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); | 890 turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); |
| 927 AddInterface(kClientAddr); | 891 AddInterface(kClientAddr); |
| 928 ResetWithNatServer(rtc::SocketAddress()); | 892 ResetWithNatServer(rtc::SocketAddress()); |
| 929 AddTurnServers(rtc::SocketAddress(), kTurnTcpIntAddr); | 893 AddTurnServers(rtc::SocketAddress(), kTurnTcpIntAddr); |
| 930 | 894 |
| 931 allocator_->set_flags(allocator().flags() | | 895 allocator_->set_flags(allocator().flags() | |
| 932 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 933 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | | 896 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | |
| 934 cricket::PORTALLOCATOR_DISABLE_TCP); | 897 cricket::PORTALLOCATOR_DISABLE_TCP); |
| 935 | 898 |
| 936 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 899 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 937 session_->StartGettingPorts(); | 900 session_->StartGettingPorts(); |
| 938 | 901 |
| 939 ASSERT_EQ_WAIT(2U, candidates_.size(), kDefaultAllocationTimeout); | 902 ASSERT_EQ_WAIT(2U, candidates_.size(), kDefaultAllocationTimeout); |
| 940 ASSERT_EQ(2U, ports_.size()); | 903 ASSERT_EQ(2U, ports_.size()); |
| 941 EXPECT_PRED5(CheckCandidate, candidates_[0], | 904 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 942 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", | 905 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", |
| (...skipping 12 matching lines...) Expand all Loading... |
| 955 // 'relay' candidates. | 918 // 'relay' candidates. |
| 956 // TODO(deadbeef): Remove this test when support for non-shared socket mode | 919 // TODO(deadbeef): Remove this test when support for non-shared socket mode |
| 957 // is removed. | 920 // is removed. |
| 958 TEST_F(PortAllocatorTest, TestNonSharedSocketWithNatUsingTurnAsStun) { | 921 TEST_F(PortAllocatorTest, TestNonSharedSocketWithNatUsingTurnAsStun) { |
| 959 AddInterface(kClientAddr); | 922 AddInterface(kClientAddr); |
| 960 // Use an empty SocketAddress to add a NAT without STUN server. | 923 // Use an empty SocketAddress to add a NAT without STUN server. |
| 961 ResetWithNatServer(SocketAddress()); | 924 ResetWithNatServer(SocketAddress()); |
| 962 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); | 925 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); |
| 963 | 926 |
| 964 allocator_->set_flags(allocator().flags() | | 927 allocator_->set_flags(allocator().flags() | |
| 965 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 966 cricket::PORTALLOCATOR_DISABLE_TCP); | 928 cricket::PORTALLOCATOR_DISABLE_TCP); |
| 967 | 929 |
| 968 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 930 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 969 session_->StartGettingPorts(); | 931 session_->StartGettingPorts(); |
| 970 | 932 |
| 971 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); | 933 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); |
| 972 ASSERT_EQ(3U, ports_.size()); | 934 ASSERT_EQ(3U, ports_.size()); |
| 973 EXPECT_PRED5(CheckCandidate, candidates_[0], | 935 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 974 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", | 936 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", |
| 975 kClientAddr); | 937 kClientAddr); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 994 // server is used as a STUN server and we get a 'stun' candidate. | 956 // server is used as a STUN server and we get a 'stun' candidate. |
| 995 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnAndStun) { | 957 TEST_F(PortAllocatorTest, TestSharedSocketWithNatUsingTurnAndStun) { |
| 996 AddInterface(kClientAddr); | 958 AddInterface(kClientAddr); |
| 997 // Configure with STUN server but destroy it, so we can ensure that it's | 959 // Configure with STUN server but destroy it, so we can ensure that it's |
| 998 // the TURN server actually being used as a STUN server. | 960 // the TURN server actually being used as a STUN server. |
| 999 ResetWithNatServer(kStunAddr); | 961 ResetWithNatServer(kStunAddr); |
| 1000 stun_server_.reset(); | 962 stun_server_.reset(); |
| 1001 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); | 963 AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); |
| 1002 | 964 |
| 1003 allocator_->set_flags(allocator().flags() | | 965 allocator_->set_flags(allocator().flags() | |
| 1004 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 1005 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | | 966 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET | |
| 1006 cricket::PORTALLOCATOR_DISABLE_TCP); | 967 cricket::PORTALLOCATOR_DISABLE_TCP); |
| 1007 | 968 |
| 1008 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 969 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 1009 session_->StartGettingPorts(); | 970 session_->StartGettingPorts(); |
| 1010 | 971 |
| 1011 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); | 972 ASSERT_EQ_WAIT(3U, candidates_.size(), kDefaultAllocationTimeout); |
| 1012 EXPECT_PRED5(CheckCandidate, candidates_[0], | 973 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 1013 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", | 974 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", |
| 1014 kClientAddr); | 975 kClientAddr); |
| 1015 EXPECT_PRED5(CheckCandidate, candidates_[1], | 976 EXPECT_PRED5(CheckCandidate, candidates_[1], |
| 1016 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", | 977 cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", |
| 1017 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0)); | 978 rtc::SocketAddress(kNatUdpAddr.ipaddr(), 0)); |
| 1018 EXPECT_PRED5(CheckCandidate, candidates_[2], | 979 EXPECT_PRED5(CheckCandidate, candidates_[2], |
| 1019 cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp", | 980 cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp", |
| 1020 rtc::SocketAddress(kTurnUdpExtAddr.ipaddr(), 0)); | 981 rtc::SocketAddress(kTurnUdpExtAddr.ipaddr(), 0)); |
| 1021 EXPECT_EQ(candidates_[2].related_address(), candidates_[1].address()); | 982 EXPECT_EQ(candidates_[2].related_address(), candidates_[1].address()); |
| 1022 | 983 |
| 1023 // Don't bother waiting for STUN timeout, since we already verified | 984 // Don't bother waiting for STUN timeout, since we already verified |
| 1024 // that we got a STUN candidate from the TURN server. | 985 // that we got a STUN candidate from the TURN server. |
| 1025 } | 986 } |
| 1026 | 987 |
| 1027 // This test verifies when PORTALLOCATOR_ENABLE_SHARED_SOCKET flag is enabled | 988 // This test verifies when PORTALLOCATOR_ENABLE_SHARED_SOCKET flag is enabled |
| 1028 // and fail to generate STUN candidate, local UDP candidate is generated | 989 // and fail to generate STUN candidate, local UDP candidate is generated |
| 1029 // properly. | 990 // properly. |
| 1030 TEST_F(PortAllocatorTest, TestSharedSocketNoUdpAllowed) { | 991 TEST_F(PortAllocatorTest, TestSharedSocketNoUdpAllowed) { |
| 1031 allocator().set_flags(allocator().flags() | | 992 allocator().set_flags(allocator().flags() | |
| 1032 cricket::PORTALLOCATOR_DISABLE_RELAY | | 993 cricket::PORTALLOCATOR_DISABLE_RELAY | |
| 1033 cricket::PORTALLOCATOR_DISABLE_TCP | | 994 cricket::PORTALLOCATOR_DISABLE_TCP | |
| 1034 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 1035 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | 995 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |
| 1036 fss_->AddRule(false, rtc::FP_UDP, rtc::FD_ANY, kClientAddr); | 996 fss_->AddRule(false, rtc::FP_UDP, rtc::FD_ANY, kClientAddr); |
| 1037 AddInterface(kClientAddr); | 997 AddInterface(kClientAddr); |
| 1038 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 998 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 1039 session_->StartGettingPorts(); | 999 session_->StartGettingPorts(); |
| 1040 ASSERT_EQ_WAIT(1U, ports_.size(), kDefaultAllocationTimeout); | 1000 ASSERT_EQ_WAIT(1U, ports_.size(), kDefaultAllocationTimeout); |
| 1041 EXPECT_EQ(1U, candidates_.size()); | 1001 EXPECT_EQ(1U, candidates_.size()); |
| 1042 EXPECT_PRED5(CheckCandidate, candidates_[0], | 1002 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| 1043 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 1003 cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |
| 1044 // STUN timeout is 9sec. We need to wait to get candidate done signal. | 1004 // STUN timeout is 9sec. We need to wait to get candidate done signal. |
| 1045 EXPECT_TRUE_WAIT(candidate_allocation_done_, 10000); | 1005 EXPECT_TRUE_WAIT(candidate_allocation_done_, 10000); |
| 1046 EXPECT_EQ(1U, candidates_.size()); | 1006 EXPECT_EQ(1U, candidates_.size()); |
| 1047 } | 1007 } |
| 1048 | 1008 |
| 1049 // This test verifies allocator can use IPv6 addresses along with IPv4. | 1009 // This test verifies allocator can use IPv6 addresses along with IPv4. |
| 1050 TEST_F(PortAllocatorTest, TestEnableIPv6Addresses) { | 1010 TEST_F(PortAllocatorTest, TestEnableIPv6Addresses) { |
| 1051 allocator().set_flags(allocator().flags() | | 1011 allocator().set_flags(allocator().flags() | |
| 1052 cricket::PORTALLOCATOR_DISABLE_RELAY | | 1012 cricket::PORTALLOCATOR_DISABLE_RELAY | |
| 1053 cricket::PORTALLOCATOR_ENABLE_IPV6 | | 1013 cricket::PORTALLOCATOR_ENABLE_IPV6 | |
| 1054 cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | |
| 1055 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | 1014 cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |
| 1056 AddInterface(kClientIPv6Addr); | 1015 AddInterface(kClientIPv6Addr); |
| 1057 AddInterface(kClientAddr); | 1016 AddInterface(kClientAddr); |
| 1058 allocator_->set_step_delay(cricket::kMinimumStepDelay); | 1017 allocator_->set_step_delay(cricket::kMinimumStepDelay); |
| 1059 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 1018 EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |
| 1060 session_->StartGettingPorts(); | 1019 session_->StartGettingPorts(); |
| 1061 ASSERT_EQ_WAIT(4U, ports_.size(), kDefaultAllocationTimeout); | 1020 ASSERT_EQ_WAIT(4U, ports_.size(), kDefaultAllocationTimeout); |
| 1062 EXPECT_EQ(4U, candidates_.size()); | 1021 EXPECT_EQ(4U, candidates_.size()); |
| 1063 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 1022 EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); |
| 1064 EXPECT_PRED5(CheckCandidate, candidates_[0], | 1023 EXPECT_PRED5(CheckCandidate, candidates_[0], |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1103 alloc.SetStunHosts(stun_servers); | 1062 alloc.SetStunHosts(stun_servers); |
| 1104 EXPECT_EQ(2U, alloc.relay_hosts().size()); | 1063 EXPECT_EQ(2U, alloc.relay_hosts().size()); |
| 1105 EXPECT_EQ(2U, alloc.stun_hosts().size()); | 1064 EXPECT_EQ(2U, alloc.stun_hosts().size()); |
| 1106 } | 1065 } |
| 1107 | 1066 |
| 1108 // Test that the HttpPortAllocator uses correct URL to create sessions. | 1067 // Test that the HttpPortAllocator uses correct URL to create sessions. |
| 1109 TEST(HttpPortAllocatorTest, TestSessionRequestUrl) { | 1068 TEST(HttpPortAllocatorTest, TestSessionRequestUrl) { |
| 1110 rtc::FakeNetworkManager network_manager; | 1069 rtc::FakeNetworkManager network_manager; |
| 1111 cricket::HttpPortAllocator alloc(&network_manager, "unit test agent"); | 1070 cricket::HttpPortAllocator alloc(&network_manager, "unit test agent"); |
| 1112 | 1071 |
| 1113 // Disable PORTALLOCATOR_ENABLE_SHARED_UFRAG. | |
| 1114 alloc.set_flags(alloc.flags() & ~cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG); | |
| 1115 rtc::scoped_ptr<cricket::HttpPortAllocatorSessionBase> session( | 1072 rtc::scoped_ptr<cricket::HttpPortAllocatorSessionBase> session( |
| 1116 static_cast<cricket::HttpPortAllocatorSession*>( | 1073 static_cast<cricket::HttpPortAllocatorSession*>( |
| 1117 alloc.CreateSessionInternal( | 1074 alloc.CreateSessionInternal( |
| 1118 "test content", 0, kIceUfrag0, kIcePwd0))); | 1075 "test content", 0, kIceUfrag0, kIcePwd0))); |
| 1119 std::string url = session->GetSessionRequestUrl(); | 1076 std::string url = session->GetSessionRequestUrl(); |
| 1120 LOG(LS_INFO) << "url: " << url; | 1077 LOG(LS_INFO) << "url: " << url; |
| 1121 EXPECT_EQ(std::string(cricket::HttpPortAllocator::kCreateSessionURL), url); | |
| 1122 | |
| 1123 // Enable PORTALLOCATOR_ENABLE_SHARED_UFRAG. | |
| 1124 alloc.set_flags(alloc.flags() | cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG); | |
| 1125 session.reset(static_cast<cricket::HttpPortAllocatorSession*>( | |
| 1126 alloc.CreateSessionInternal("test content", 0, kIceUfrag0, kIcePwd0))); | |
| 1127 url = session->GetSessionRequestUrl(); | |
| 1128 LOG(LS_INFO) << "url: " << url; | |
| 1129 std::vector<std::string> parts; | 1078 std::vector<std::string> parts; |
| 1130 rtc::split(url, '?', &parts); | 1079 rtc::split(url, '?', &parts); |
| 1131 ASSERT_EQ(2U, parts.size()); | 1080 ASSERT_EQ(2U, parts.size()); |
| 1132 | 1081 |
| 1133 std::vector<std::string> args_parts; | 1082 std::vector<std::string> args_parts; |
| 1134 rtc::split(parts[1], '&', &args_parts); | 1083 rtc::split(parts[1], '&', &args_parts); |
| 1135 | 1084 |
| 1136 std::map<std::string, std::string> args; | 1085 std::map<std::string, std::string> args; |
| 1137 for (std::vector<std::string>::iterator it = args_parts.begin(); | 1086 for (std::vector<std::string>::iterator it = args_parts.begin(); |
| 1138 it != args_parts.end(); ++it) { | 1087 it != args_parts.end(); ++it) { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1184 AllocationSequenceForTest alloc_sequence( | 1133 AllocationSequenceForTest alloc_sequence( |
| 1185 static_cast<cricket::BasicPortAllocatorSession*>(session_.get()), | 1134 static_cast<cricket::BasicPortAllocatorSession*>(session_.get()), |
| 1186 &network1, &config, flag); | 1135 &network1, &config, flag); |
| 1187 // This simply tests it will not crash if udp_socket_ in the | 1136 // This simply tests it will not crash if udp_socket_ in the |
| 1188 // AllocationSequence is null, which is chosen in the constructor. | 1137 // AllocationSequence is null, which is chosen in the constructor. |
| 1189 cricket::RelayServerConfig relay_server(cricket::RELAY_TURN); | 1138 cricket::RelayServerConfig relay_server(cricket::RELAY_TURN); |
| 1190 relay_server.ports.push_back( | 1139 relay_server.ports.push_back( |
| 1191 cricket::ProtocolAddress(kTurnUdpIntAddr, cricket::PROTO_UDP, false)); | 1140 cricket::ProtocolAddress(kTurnUdpIntAddr, cricket::PROTO_UDP, false)); |
| 1192 alloc_sequence.CreateTurnPort(relay_server); | 1141 alloc_sequence.CreateTurnPort(relay_server); |
| 1193 } | 1142 } |
| OLD | NEW |