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..552484a271a4832a5a3ccffb2609e6bc09bbb667 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())) { |
+ // Pepper socket API currently doesn't work with link-local IPv6 |
+ // addresses. See crbug.com/384854 . Skip them as Bind() will fail |
+ // anyway. |
Wez
2014/06/16 22:36:36
If Bind() fails in some well-defined way for this
Sergey Ulanov
2014/06/17 00:53:35
They won't just work in that case. Once scopeId su
|
+ continue; |
+ } |
+ |
talk_base::Network* network = new talk_base::Network( |
list.GetName(i), list.GetDisplayName(i), address.ipaddr(), 0); |
network->AddIP(address.ipaddr()); |