Index: remoting/client/plugin/pepper_network_manager.cc |
diff --git a/remoting/client/plugin/pepper_network_manager.cc b/remoting/client/plugin/pepper_network_manager.cc |
index b4787ca7c836e61ef84ccefc9ea65fb7b0b10ccc..a60d3304b80b741a2fca0ed1eaf29232ebd609e0 100644 |
--- a/remoting/client/plugin/pepper_network_manager.cc |
+++ b/remoting/client/plugin/pepper_network_manager.cc |
@@ -76,6 +76,14 @@ void PepperNetworkManager::OnNetworkList(int32_t result, |
for (size_t i = 0; i < addresses.size(); ++i) { |
talk_base::SocketAddress address; |
PpNetAddressToSocketAddress(addresses[i], &address); |
+ |
+ if (address.family() == AF_INET6 && IPIsSiteLocal(address.ipaddr())) { |
+ // Link-local IPv6 addresses can't be bound via the current PPAPI |
+ // Bind() interface as designed (see crbug.com/384854); trying to do so |
+ // would fail. |
+ continue; |
+ } |
+ |
talk_base::Network* network = new talk_base::Network( |
list.GetName(i), list.GetDisplayName(i), address.ipaddr(), 0); |
network->AddIP(address.ipaddr()); |