| 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 18 matching lines...) Expand all  Loading... | 
|    29 #include "webrtc/base/socketaddress.h" |    29 #include "webrtc/base/socketaddress.h" | 
|    30 #include "webrtc/base/ssladapter.h" |    30 #include "webrtc/base/ssladapter.h" | 
|    31 #include "webrtc/base/thread.h" |    31 #include "webrtc/base/thread.h" | 
|    32 #include "webrtc/base/virtualsocketserver.h" |    32 #include "webrtc/base/virtualsocketserver.h" | 
|    33  |    33  | 
|    34 using cricket::ServerAddresses; |    34 using cricket::ServerAddresses; | 
|    35 using rtc::SocketAddress; |    35 using rtc::SocketAddress; | 
|    36 using rtc::Thread; |    36 using rtc::Thread; | 
|    37  |    37  | 
|    38 static const SocketAddress kClientAddr("11.11.11.11", 0); |    38 static const SocketAddress kClientAddr("11.11.11.11", 0); | 
 |    39 static const SocketAddress kLoopbackAddr("127.0.0.1", 0); | 
|    39 static const SocketAddress kPrivateAddr("192.168.1.11", 0); |    40 static const SocketAddress kPrivateAddr("192.168.1.11", 0); | 
|    40 static const SocketAddress kPrivateAddr2("192.168.1.12", 0); |    41 static const SocketAddress kPrivateAddr2("192.168.1.12", 0); | 
|    41 static const SocketAddress kClientIPv6Addr( |    42 static const SocketAddress kClientIPv6Addr( | 
|    42     "2401:fa00:4:1000:be30:5bff:fee5:c3", 0); |    43     "2401:fa00:4:1000:be30:5bff:fee5:c3", 0); | 
|    43 static const SocketAddress kClientAddr2("22.22.22.22", 0); |    44 static const SocketAddress kClientAddr2("22.22.22.22", 0); | 
|    44 static const SocketAddress kNatUdpAddr("77.77.77.77", rtc::NAT_SERVER_UDP_PORT); |    45 static const SocketAddress kNatUdpAddr("77.77.77.77", rtc::NAT_SERVER_UDP_PORT); | 
|    45 static const SocketAddress kNatTcpAddr("77.77.77.77", rtc::NAT_SERVER_TCP_PORT); |    46 static const SocketAddress kNatTcpAddr("77.77.77.77", rtc::NAT_SERVER_TCP_PORT); | 
|    46 static const SocketAddress kRemoteClientAddr("22.22.22.22", 0); |    47 static const SocketAddress kRemoteClientAddr("22.22.22.22", 0); | 
|    47 static const SocketAddress kStunAddr("99.99.99.1", cricket::STUN_SERVER_PORT); |    48 static const SocketAddress kStunAddr("99.99.99.1", cricket::STUN_SERVER_PORT); | 
|    48 static const SocketAddress kRelayUdpIntAddr("99.99.99.2", 5000); |    49 static const SocketAddress kRelayUdpIntAddr("99.99.99.2", 5000); | 
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   236     } |   237     } | 
|   237   } |   238   } | 
|   238  |   239  | 
|   239   // This function starts the port/address gathering and check the existence of |   240   // This function starts the port/address gathering and check the existence of | 
|   240   // candidates as specified. When |expect_stun_candidate| is true, |   241   // candidates as specified. When |expect_stun_candidate| is true, | 
|   241   // |stun_candidate_addr| carries the expected reflective address, which is |   242   // |stun_candidate_addr| carries the expected reflective address, which is | 
|   242   // also the related address for TURN candidate if it is expected. Otherwise, |   243   // also the related address for TURN candidate if it is expected. Otherwise, | 
|   243   // it should be ignore. |   244   // it should be ignore. | 
|   244   void CheckDisableAdapterEnumeration( |   245   void CheckDisableAdapterEnumeration( | 
|   245       uint32 total_ports, |   246       uint32 total_ports, | 
 |   247       const rtc::IPAddress& host_candidate_addr, | 
|   246       const rtc::IPAddress& stun_candidate_addr, |   248       const rtc::IPAddress& stun_candidate_addr, | 
|   247       const rtc::IPAddress& relay_candidate_udp_transport_addr, |   249       const rtc::IPAddress& relay_candidate_udp_transport_addr, | 
|   248       const rtc::IPAddress& relay_candidate_tcp_transport_addr) { |   250       const rtc::IPAddress& relay_candidate_tcp_transport_addr) { | 
|   249     EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |   251     if (!session_) { | 
|   250     session_->set_flags(cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION | |   252       EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 
 |   253     } | 
 |   254     session_->set_flags(session_->flags() | | 
 |   255                         cricket::PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION | | 
|   251                         cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | |   256                         cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | | 
|   252                         cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); |   257                         cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET); | 
|   253     allocator().set_allow_tcp_listen(false); |   258     allocator().set_allow_tcp_listen(false); | 
|   254     session_->StartGettingPorts(); |   259     session_->StartGettingPorts(); | 
|   255     EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); |   260     EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 
|   256  |   261  | 
|   257     uint32 total_candidates = 0; |   262     uint32 total_candidates = 0; | 
 |   263     if (!host_candidate_addr.IsNil()) { | 
 |   264       EXPECT_PRED5(CheckCandidate, candidates_[total_candidates], | 
 |   265                    cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", | 
 |   266                    rtc::SocketAddress(host_candidate_addr, 0)); | 
 |   267       ++total_candidates; | 
 |   268     } | 
|   258     if (!stun_candidate_addr.IsNil()) { |   269     if (!stun_candidate_addr.IsNil()) { | 
|   259       ++total_candidates; |   270       EXPECT_PRED5(CheckCandidate, candidates_[total_candidates], | 
|   260       EXPECT_PRED5(CheckCandidate, candidates_[0], |  | 
|   261                    cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", |   271                    cricket::ICE_CANDIDATE_COMPONENT_RTP, "stun", "udp", | 
|   262                    rtc::SocketAddress(stun_candidate_addr, 0)); |   272                    rtc::SocketAddress(stun_candidate_addr, 0)); | 
|   263       EXPECT_EQ( |   273       EXPECT_EQ(rtc::EmptySocketAddressWithFamily( | 
|   264           rtc::EmptySocketAddressWithFamily(candidates_[0].address().family()), |   274                     candidates_[total_candidates].address().family()), | 
|   265           candidates_[0].related_address()); |   275                 candidates_[total_candidates].related_address()); | 
 |   276       ++total_candidates; | 
|   266     } |   277     } | 
|   267     if (!relay_candidate_udp_transport_addr.IsNil()) { |   278     if (!relay_candidate_udp_transport_addr.IsNil()) { | 
|   268       ++total_candidates; |   279       EXPECT_PRED5(CheckCandidate, candidates_[total_candidates], | 
|   269       EXPECT_PRED5(CheckCandidate, candidates_[1], |  | 
|   270                    cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp", |   280                    cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp", | 
|   271                    rtc::SocketAddress(relay_candidate_udp_transport_addr, 0)); |   281                    rtc::SocketAddress(relay_candidate_udp_transport_addr, 0)); | 
|   272       EXPECT_EQ(stun_candidate_addr, candidates_[1].related_address().ipaddr()); |   282       EXPECT_EQ(stun_candidate_addr, | 
 |   283                 candidates_[total_candidates].related_address().ipaddr()); | 
 |   284       ++total_candidates; | 
|   273     } |   285     } | 
|   274     if (!relay_candidate_tcp_transport_addr.IsNil()) { |   286     if (!relay_candidate_tcp_transport_addr.IsNil()) { | 
|   275       ++total_candidates; |   287       EXPECT_PRED5(CheckCandidate, candidates_[total_candidates], | 
|   276       EXPECT_PRED5(CheckCandidate, candidates_[2], |  | 
|   277                    cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp", |   288                    cricket::ICE_CANDIDATE_COMPONENT_RTP, "relay", "udp", | 
|   278                    rtc::SocketAddress(relay_candidate_tcp_transport_addr, 0)); |   289                    rtc::SocketAddress(relay_candidate_tcp_transport_addr, 0)); | 
|   279       EXPECT_EQ(stun_candidate_addr, candidates_[2].related_address().ipaddr()); |   290       EXPECT_EQ(stun_candidate_addr, | 
 |   291                 candidates_[total_candidates].related_address().ipaddr()); | 
 |   292       ++total_candidates; | 
|   280     } |   293     } | 
|   281  |   294  | 
|   282     EXPECT_EQ(total_candidates, candidates_.size()); |   295     EXPECT_EQ(total_candidates, candidates_.size()); | 
|   283     EXPECT_EQ(total_ports, ports_.size()); |   296     EXPECT_EQ(total_ports, ports_.size()); | 
|   284   } |   297   } | 
|   285  |   298  | 
|   286  protected: |   299  protected: | 
|   287   cricket::BasicPortAllocator& allocator() { |   300   cricket::BasicPortAllocator& allocator() { | 
|   288     return *allocator_; |   301     return *allocator_; | 
|   289   } |   302   } | 
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   376   session_->StartGettingPorts(); |   389   session_->StartGettingPorts(); | 
|   377   // Waiting for one second to make sure BasicPortAllocatorSession has not |   390   // Waiting for one second to make sure BasicPortAllocatorSession has not | 
|   378   // called OnAllocate multiple times. In old behavior it's called every 250ms. |   391   // called OnAllocate multiple times. In old behavior it's called every 250ms. | 
|   379   // When there are no network interfaces, each execution of OnAllocate will |   392   // When there are no network interfaces, each execution of OnAllocate will | 
|   380   // result in SignalCandidatesAllocationDone signal. |   393   // result in SignalCandidatesAllocationDone signal. | 
|   381   rtc::Thread::Current()->ProcessMessages(1000); |   394   rtc::Thread::Current()->ProcessMessages(1000); | 
|   382   EXPECT_TRUE(candidate_allocation_done_); |   395   EXPECT_TRUE(candidate_allocation_done_); | 
|   383   EXPECT_EQ(0U, candidates_.size()); |   396   EXPECT_EQ(0U, candidates_.size()); | 
|   384 } |   397 } | 
|   385  |   398  | 
 |   399 // Test that we could use loopback interface as host candidate. | 
 |   400 TEST_F(PortAllocatorTest, TestLoopbackNetworkInterface) { | 
 |   401   AddInterface(kLoopbackAddr); | 
 |   402   EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 
 |   403   session_->set_flags(cricket::PORTALLOCATOR_DISABLE_STUN | | 
 |   404                       cricket::PORTALLOCATOR_DISABLE_RELAY | | 
 |   405                       cricket::PORTALLOCATOR_DISABLE_TCP); | 
 |   406   session_->StartGettingPorts(); | 
 |   407   EXPECT_TRUE_WAIT(candidate_allocation_done_, kDefaultAllocationTimeout); | 
 |   408   EXPECT_EQ(1U, candidates_.size()); | 
 |   409 } | 
 |   410  | 
|   386 // Tests that we can get all the desired addresses successfully. |   411 // Tests that we can get all the desired addresses successfully. | 
|   387 TEST_F(PortAllocatorTest, TestGetAllPortsWithMinimumStepDelay) { |   412 TEST_F(PortAllocatorTest, TestGetAllPortsWithMinimumStepDelay) { | 
|   388   AddInterface(kClientAddr); |   413   AddInterface(kClientAddr); | 
|   389   EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); |   414   EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 
|   390   session_->StartGettingPorts(); |   415   session_->StartGettingPorts(); | 
|   391   ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout); |   416   ASSERT_EQ_WAIT(7U, candidates_.size(), kDefaultAllocationTimeout); | 
|   392   EXPECT_EQ(4U, ports_.size()); |   417   EXPECT_EQ(4U, ports_.size()); | 
|   393   EXPECT_PRED5(CheckCandidate, candidates_[0], |   418   EXPECT_PRED5(CheckCandidate, candidates_[0], | 
|   394       cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); |   419       cricket::ICE_CANDIDATE_COMPONENT_RTP, "local", "udp", kClientAddr); | 
|   395   EXPECT_PRED5(CheckCandidate, candidates_[1], |   420   EXPECT_PRED5(CheckCandidate, candidates_[1], | 
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   502  |   527  | 
|   503 // Test that we should only get STUN and TURN candidates when adapter |   528 // Test that we should only get STUN and TURN candidates when adapter | 
|   504 // enumeration is disabled. |   529 // enumeration is disabled. | 
|   505 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationBehindNat) { |   530 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationBehindNat) { | 
|   506   AddInterface(kClientAddr); |   531   AddInterface(kClientAddr); | 
|   507   // GTURN is not configured here. |   532   // GTURN is not configured here. | 
|   508   ResetWithStunServerAndNat(kStunAddr); |   533   ResetWithStunServerAndNat(kStunAddr); | 
|   509   AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); |   534   AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); | 
|   510   // Expect to see 3 ports: STUN, TURN/UDP and TCP ports, and both STUN and |   535   // Expect to see 3 ports: STUN, TURN/UDP and TCP ports, and both STUN and | 
|   511   // TURN/UDP candidates. |   536   // TURN/UDP candidates. | 
|   512   CheckDisableAdapterEnumeration(3U, kNatUdpAddr.ipaddr(), |   537   CheckDisableAdapterEnumeration(3U, rtc::IPAddress(), kNatUdpAddr.ipaddr(), | 
|   513                                  kTurnUdpExtAddr.ipaddr(), rtc::IPAddress()); |   538                                  kTurnUdpExtAddr.ipaddr(), rtc::IPAddress()); | 
|   514 } |   539 } | 
|   515  |   540  | 
|   516 // Test that even with multiple interfaces, the result should still be one STUN |   541 // Test that even with multiple interfaces, the result should still be one STUN | 
|   517 // and one TURN candidate since we bind to any address (i.e. all 0s). |   542 // and one TURN candidate since we bind to any address (i.e. all 0s). | 
|   518 TEST_F(PortAllocatorTest, |   543 TEST_F(PortAllocatorTest, | 
|   519        TestDisableAdapterEnumerationBehindNatMultipleInterfaces) { |   544        TestDisableAdapterEnumerationBehindNatMultipleInterfaces) { | 
|   520   AddInterface(kPrivateAddr); |   545   AddInterface(kPrivateAddr); | 
|   521   AddInterface(kPrivateAddr2); |   546   AddInterface(kPrivateAddr2); | 
|   522   ResetWithStunServerAndNat(kStunAddr); |   547   ResetWithStunServerAndNat(kStunAddr); | 
|   523   AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); |   548   AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); | 
|   524   // Expect to see 3 ports: STUN, TURN/UDP and TCP ports, and both STUN and |   549   // Expect to see 3 ports: STUN, TURN/UDP and TCP ports, and both STUN and | 
|   525   // TURN/UDP candidates. |   550   // TURN/UDP candidates. | 
|   526   CheckDisableAdapterEnumeration(3U, kNatUdpAddr.ipaddr(), |   551   CheckDisableAdapterEnumeration(3U, rtc::IPAddress(), kNatUdpAddr.ipaddr(), | 
|   527                                  kTurnUdpExtAddr.ipaddr(), rtc::IPAddress()); |   552                                  kTurnUdpExtAddr.ipaddr(), rtc::IPAddress()); | 
|   528 } |   553 } | 
|   529  |   554  | 
|   530 // Test that we should get STUN, TURN/UDP and TURN/TCP candidates when a |   555 // Test that we should get STUN, TURN/UDP and TURN/TCP candidates when a | 
|   531 // TURN/TCP server is specified. |   556 // TURN/TCP server is specified. | 
|   532 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationBehindNatWithTcp) { |   557 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationBehindNatWithTcp) { | 
|   533   turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); |   558   turn_server_.AddInternalSocket(kTurnTcpIntAddr, cricket::PROTO_TCP); | 
|   534   AddInterface(kClientAddr); |   559   AddInterface(kClientAddr); | 
|   535   // GTURN is not configured here. |   560   // GTURN is not configured here. | 
|   536   ResetWithStunServerAndNat(kStunAddr); |   561   ResetWithStunServerAndNat(kStunAddr); | 
|   537   AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr); |   562   AddTurnServers(kTurnUdpIntAddr, kTurnTcpIntAddr); | 
|   538   // Expect to see 4 ports - STUN, TURN/UDP, TURN/TCP and TCP port. STUN, |   563   // Expect to see 4 ports - STUN, TURN/UDP, TURN/TCP and TCP port. STUN, | 
|   539   // TURN/UDP, and TURN/TCP candidates. |   564   // TURN/UDP, and TURN/TCP candidates. | 
|   540   CheckDisableAdapterEnumeration(4U, kNatUdpAddr.ipaddr(), |   565   CheckDisableAdapterEnumeration(4U, rtc::IPAddress(), kNatUdpAddr.ipaddr(), | 
|   541                                  kTurnUdpExtAddr.ipaddr(), |   566                                  kTurnUdpExtAddr.ipaddr(), | 
|   542                                  kTurnUdpExtAddr.ipaddr()); |   567                                  kTurnUdpExtAddr.ipaddr()); | 
|   543 } |   568 } | 
|   544  |   569  | 
|   545 // Test that we should only get STUN and TURN candidates when adapter |   570 // Test that we should only get STUN and TURN candidates when adapter | 
|   546 // enumeration is disabled. Since the endpoint is not behind NAT, the srflx |   571 // enumeration is disabled. Since the endpoint is not behind NAT, the srflx | 
|   547 // address should be the public client interface. |   572 // address should be the public client interface. | 
|   548 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationWithoutNat) { |   573 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationWithoutNat) { | 
|   549   AddInterfaceAsDefaultRoute(kClientAddr); |   574   AddInterfaceAsDefaultRoute(kClientAddr); | 
|   550   ResetWithStunServerNoNat(kStunAddr); |   575   ResetWithStunServerNoNat(kStunAddr); | 
|   551   AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); |   576   AddTurnServers(kTurnUdpIntAddr, rtc::SocketAddress()); | 
|   552   // Expect to see 3 ports: STUN, TURN/UDP and TCP ports, but only both STUN and |   577   // Expect to see 3 ports: STUN, TURN/UDP and TCP ports, but only both STUN and | 
|   553   // TURN candidates. The STUN candidate should have kClientAddr as srflx |   578   // TURN candidates. The STUN candidate should have kClientAddr as srflx | 
|   554   // address, and TURN candidate with kClientAddr as the related address. |   579   // address, and TURN candidate with kClientAddr as the related address. | 
|   555   CheckDisableAdapterEnumeration(3U, kClientAddr.ipaddr(), |   580   CheckDisableAdapterEnumeration(3U, rtc::IPAddress(), kClientAddr.ipaddr(), | 
|   556                                  kTurnUdpExtAddr.ipaddr(), rtc::IPAddress()); |   581                                  kTurnUdpExtAddr.ipaddr(), rtc::IPAddress()); | 
|   557 } |   582 } | 
|   558  |   583  | 
|   559 // Test that when adapter enumeration is disabled, for endpoints without |   584 // Test that when adapter enumeration is disabled, for endpoints without | 
|   560 // STUN/TURN specified, no candidate is generated. |   585 // STUN/TURN specified, no candidate is generated. | 
|   561 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationWithoutNatOrServers) { |   586 TEST_F(PortAllocatorTest, TestDisableAdapterEnumerationWithoutNatOrServers) { | 
|   562   AddInterfaceAsDefaultRoute(kClientAddr); |   587   AddInterfaceAsDefaultRoute(kClientAddr); | 
|   563   ResetWithNoServersOrNat(); |   588   ResetWithNoServersOrNat(); | 
|   564   // Expect to see 2 ports: STUN and TCP ports, but no candidate. |   589   // Expect to see 2 ports: STUN and TCP ports, but no candidate. | 
|   565   CheckDisableAdapterEnumeration(2U, rtc::IPAddress(), rtc::IPAddress(), |   590   CheckDisableAdapterEnumeration(2U, rtc::IPAddress(), rtc::IPAddress(), | 
 |   591                                  rtc::IPAddress(), rtc::IPAddress()); | 
 |   592 } | 
 |   593  | 
 |   594 // Test that when adapter enumeration is disabled, with | 
 |   595 // PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE specified, for endpoints not behind | 
 |   596 // a NAT, there are a localhost candidate in addition to a STUN candidate. | 
 |   597 TEST_F(PortAllocatorTest, | 
 |   598        TestDisableAdapterEnumerationWithoutNatLocalhostCandidateRequested) { | 
 |   599   AddInterfaceAsDefaultRoute(kClientAddr); | 
 |   600   ResetWithStunServerNoNat(kStunAddr); | 
 |   601   EXPECT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); | 
 |   602   session_->set_flags(cricket::PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE); | 
 |   603   // Expect to see 2 ports: STUN and TCP ports, localhost candidate and STUN | 
 |   604   // candidate. | 
 |   605   CheckDisableAdapterEnumeration(2U, rtc::GetLoopbackIP(AF_INET), | 
 |   606                                  kClientAddr.ipaddr(), rtc::IPAddress(), | 
|   566                                  rtc::IPAddress()); |   607                                  rtc::IPAddress()); | 
|   567 } |   608 } | 
|   568  |   609  | 
|   569 // Disable for asan, see |   610 // Disable for asan, see | 
|   570 // https://code.google.com/p/webrtc/issues/detail?id=4743 for details. |   611 // https://code.google.com/p/webrtc/issues/detail?id=4743 for details. | 
|   571 #if !defined(ADDRESS_SANITIZER) |   612 #if !defined(ADDRESS_SANITIZER) | 
|   572  |   613  | 
|   573 // Test that we can get OnCandidatesAllocationDone callback when all the ports |   614 // Test that we can get OnCandidatesAllocationDone callback when all the ports | 
|   574 // are disabled. |   615 // are disabled. | 
|   575 TEST_F(PortAllocatorTest, TestDisableAllPorts) { |   616 TEST_F(PortAllocatorTest, TestDisableAllPorts) { | 
| (...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1275   AllocationSequenceForTest alloc_sequence( |  1316   AllocationSequenceForTest alloc_sequence( | 
|  1276       static_cast<cricket::BasicPortAllocatorSession*>(session_.get()), |  1317       static_cast<cricket::BasicPortAllocatorSession*>(session_.get()), | 
|  1277       &network1, &config, flag); |  1318       &network1, &config, flag); | 
|  1278   // This simply tests it will not crash if udp_socket_ in the |  1319   // This simply tests it will not crash if udp_socket_ in the | 
|  1279   // AllocationSequence is null, which is chosen in the constructor. |  1320   // AllocationSequence is null, which is chosen in the constructor. | 
|  1280   cricket::RelayServerConfig relay_server(cricket::RELAY_TURN); |  1321   cricket::RelayServerConfig relay_server(cricket::RELAY_TURN); | 
|  1281   relay_server.ports.push_back( |  1322   relay_server.ports.push_back( | 
|  1282       cricket::ProtocolAddress(kTurnUdpIntAddr, cricket::PROTO_UDP, false)); |  1323       cricket::ProtocolAddress(kTurnUdpIntAddr, cricket::PROTO_UDP, false)); | 
|  1283   alloc_sequence.CreateTurnPort(relay_server); |  1324   alloc_sequence.CreateTurnPort(relay_server); | 
|  1284 } |  1325 } | 
| OLD | NEW |