| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 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 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 548 if ((filter & CF_REFLEXIVE) && !c.address().IsPrivateIP()) { | 548 if ((filter & CF_REFLEXIVE) && !c.address().IsPrivateIP()) { |
| 549 // We allow host candidates if the filter allows server-reflexive | 549 // We allow host candidates if the filter allows server-reflexive |
| 550 // candidates and the candidate is a public IP. Because we don't generate | 550 // candidates and the candidate is a public IP. Because we don't generate |
| 551 // server-reflexive candidates if they have the same IP as the host | 551 // server-reflexive candidates if they have the same IP as the host |
| 552 // candidate (i.e. when the host candidate is a public IP), filtering to | 552 // candidate (i.e. when the host candidate is a public IP), filtering to |
| 553 // only server-reflexive candidates won't work right when the host | 553 // only server-reflexive candidates won't work right when the host |
| 554 // candidates have public IPs. | 554 // candidates have public IPs. |
| 555 return true; | 555 return true; |
| 556 } | 556 } |
| 557 | 557 |
| 558 // If PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE is specified and it's | |
| 559 // loopback address, we should allow it as it's for demo page connectivity | |
| 560 // when no TURN/STUN specified. | |
| 561 if (c.address().IsLoopbackIP() && | |
| 562 (flags() & PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE) != 0) { | |
| 563 return true; | |
| 564 } | |
| 565 | |
| 566 // This is just to prevent the case when binding to any address (all 0s), if | 558 // This is just to prevent the case when binding to any address (all 0s), if |
| 567 // somehow the host candidate address is not all 0s. Either because local | 559 // somehow the host candidate address is not all 0s. Either because local |
| 568 // installed proxy changes the address or a packet has been sent for any | 560 // installed proxy changes the address or a packet has been sent for any |
| 569 // reason before getsockname is called. | 561 // reason before getsockname is called. |
| 570 if (flags() & PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION) { | 562 if (flags() & PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION) { |
| 571 LOG(LS_WARNING) << "Received non-0 host address: " | 563 LOG(LS_WARNING) << "Received non-0 host address: " |
| 572 << c.address().ToString() | 564 << c.address().ToString() |
| 573 << " when adapter enumeration is disabled"; | 565 << " when adapter enumeration is disabled"; |
| 574 return false; | 566 return false; |
| 575 } | 567 } |
| (...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 826 | 818 |
| 827 void AllocationSequence::CreateUDPPorts() { | 819 void AllocationSequence::CreateUDPPorts() { |
| 828 if (IsFlagSet(PORTALLOCATOR_DISABLE_UDP)) { | 820 if (IsFlagSet(PORTALLOCATOR_DISABLE_UDP)) { |
| 829 LOG(LS_VERBOSE) << "AllocationSequence: UDP ports disabled, skipping."; | 821 LOG(LS_VERBOSE) << "AllocationSequence: UDP ports disabled, skipping."; |
| 830 return; | 822 return; |
| 831 } | 823 } |
| 832 | 824 |
| 833 // TODO(mallinath) - Remove UDPPort creating socket after shared socket | 825 // TODO(mallinath) - Remove UDPPort creating socket after shared socket |
| 834 // is enabled completely. | 826 // is enabled completely. |
| 835 UDPPort* port = NULL; | 827 UDPPort* port = NULL; |
| 836 bool emit_localhost_for_anyaddress = | |
| 837 IsFlagSet(PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE); | |
| 838 if (IsFlagSet(PORTALLOCATOR_ENABLE_SHARED_SOCKET) && udp_socket_) { | 828 if (IsFlagSet(PORTALLOCATOR_ENABLE_SHARED_SOCKET) && udp_socket_) { |
| 839 port = UDPPort::Create( | 829 port = UDPPort::Create(session_->network_thread(), |
| 840 session_->network_thread(), session_->socket_factory(), network_, | 830 session_->socket_factory(), network_, |
| 841 udp_socket_.get(), session_->username(), session_->password(), | 831 udp_socket_.get(), |
| 842 session_->allocator()->origin(), emit_localhost_for_anyaddress); | 832 session_->username(), session_->password(), |
| 833 session_->allocator()->origin()); |
| 843 } else { | 834 } else { |
| 844 port = UDPPort::Create( | 835 port = UDPPort::Create(session_->network_thread(), |
| 845 session_->network_thread(), session_->socket_factory(), network_, ip_, | 836 session_->socket_factory(), |
| 846 session_->allocator()->min_port(), session_->allocator()->max_port(), | 837 network_, ip_, |
| 847 session_->username(), session_->password(), | 838 session_->allocator()->min_port(), |
| 848 session_->allocator()->origin(), emit_localhost_for_anyaddress); | 839 session_->allocator()->max_port(), |
| 840 session_->username(), session_->password(), |
| 841 session_->allocator()->origin()); |
| 849 } | 842 } |
| 850 | 843 |
| 851 if (port) { | 844 if (port) { |
| 852 // If shared socket is enabled, STUN candidate will be allocated by the | 845 // If shared socket is enabled, STUN candidate will be allocated by the |
| 853 // UDPPort. | 846 // UDPPort. |
| 854 if (IsFlagSet(PORTALLOCATOR_ENABLE_SHARED_SOCKET)) { | 847 if (IsFlagSet(PORTALLOCATOR_ENABLE_SHARED_SOCKET)) { |
| 855 udp_port_ = port; | 848 udp_port_ = port; |
| 856 port->SignalDestroyed.connect(this, &AllocationSequence::OnPortDestroyed); | 849 port->SignalDestroyed.connect(this, &AllocationSequence::OnPortDestroyed); |
| 857 | 850 |
| 858 // If STUN is not disabled, setting stun server address to port. | 851 // If STUN is not disabled, setting stun server address to port. |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1134 ServerAddresses servers; | 1127 ServerAddresses servers; |
| 1135 for (size_t i = 0; i < relays.size(); ++i) { | 1128 for (size_t i = 0; i < relays.size(); ++i) { |
| 1136 if (relays[i].type == turn_type && SupportsProtocol(relays[i], type)) { | 1129 if (relays[i].type == turn_type && SupportsProtocol(relays[i], type)) { |
| 1137 servers.insert(relays[i].ports.front().address); | 1130 servers.insert(relays[i].ports.front().address); |
| 1138 } | 1131 } |
| 1139 } | 1132 } |
| 1140 return servers; | 1133 return servers; |
| 1141 } | 1134 } |
| 1142 | 1135 |
| 1143 } // namespace cricket | 1136 } // namespace cricket |
| OLD | NEW |