Chromium Code Reviews| Index: webrtc/p2p/client/basicportallocator.cc |
| diff --git a/webrtc/p2p/client/basicportallocator.cc b/webrtc/p2p/client/basicportallocator.cc |
| index a14f85b6f289c0516ef732540b9081b5e6146d05..515661402232ffea61ccad84231ba91104aa02f1 100644 |
| --- a/webrtc/p2p/client/basicportallocator.cc |
| +++ b/webrtc/p2p/client/basicportallocator.cc |
| @@ -70,15 +70,16 @@ BasicPortAllocator::BasicPortAllocator( |
| : network_manager_(network_manager), |
| socket_factory_(socket_factory), |
| stun_servers_() { |
| - ASSERT(socket_factory_ != NULL); |
| + ASSERT(network_manager_ != nullptr); |
| + ASSERT(socket_factory_ != nullptr); |
| Construct(); |
| } |
| -BasicPortAllocator::BasicPortAllocator( |
| - rtc::NetworkManager* network_manager) |
| +BasicPortAllocator::BasicPortAllocator(rtc::NetworkManager* network_manager) |
| : network_manager_(network_manager), |
| - socket_factory_(NULL), |
| + socket_factory_(nullptr), |
| stun_servers_() { |
| + ASSERT(network_manager_ != nullptr); |
| Construct(); |
| } |
| @@ -318,14 +319,20 @@ void BasicPortAllocatorSession::GetNetworks( |
| rtc::NetworkManager::ENUMERATION_BLOCKED) { |
| set_flags(flags() | PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION); |
| } |
| + std::vector<rtc::Network*> unfiltered_networks; |
| // If the adapter enumeration is disabled, we'll just bind to any address |
| // instead of specific NIC. This is to ensure the same routing for http |
| // traffic by OS is also used here to avoid any local or public IP leakage |
| // during stun process. |
| if (flags() & PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION) { |
| - network_manager->GetAnyAddressNetworks(networks); |
| + network_manager->GetAnyAddressNetworks(&unfiltered_networks); |
| } else { |
| - network_manager->GetNetworks(networks); |
| + network_manager->GetNetworks(&unfiltered_networks); |
| + } |
| + for (rtc::Network* network : unfiltered_networks) { |
| + if (!(allocator_->network_ignore_mask() & network->type())) { |
|
pthatcher1
2015/12/15 23:53:18
Might be slightly more readable as:
bool ignored
|
| + networks->push_back(network); |
| + } |
| } |
| } |