| Index: net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| diff --git a/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java b/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| index 95752cca8b26a172f89ccd1d0b5b424261b9c8e6..ecbc69e73976fb17dcb2697984f298b79b5aff7a 100644
|
| --- a/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| +++ b/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java
|
| @@ -17,6 +17,7 @@ import org.chromium.net.CertificateMimeType;
|
|
|
| import java.net.Inet6Address;
|
| import java.net.InetAddress;
|
| +import java.net.InterfaceAddress;
|
| import java.net.NetworkInterface;
|
| import java.net.SocketException;
|
| import java.net.URLConnection;
|
| @@ -24,6 +25,7 @@ import java.security.KeyStoreException;
|
| import java.security.NoSuchAlgorithmException;
|
| import java.security.cert.CertificateException;
|
| import java.util.Enumeration;
|
| +import java.util.List;
|
|
|
| /**
|
| * This class implements net utilities required by the net component.
|
| @@ -165,21 +167,22 @@ class AndroidNetworkLibrary {
|
| // Skip loopback interfaces, and ones which are down.
|
| if (!netIf.isUp() || netIf.isLoopback())
|
| continue;
|
| - Enumeration<InetAddress> addressList = netIf.getInetAddresses();
|
| - while (addressList.hasMoreElements()) {
|
| - InetAddress address = addressList.nextElement();
|
| + for (InterfaceAddress interfaceAddress : netIf.getInterfaceAddresses()) {
|
| + InetAddress address = interfaceAddress.getAddress();
|
| // Skip loopback addresses configured on non-loopback interfaces.
|
| if (address.isLoopbackAddress())
|
| continue;
|
| StringBuilder addressString = new StringBuilder();
|
| addressString.append(netIf.getName());
|
| - addressString.append(",");
|
| + addressString.append("/");
|
|
|
| String ipAddress = address.getHostAddress();
|
| if (address instanceof Inet6Address && ipAddress.contains("%")) {
|
| ipAddress = ipAddress.substring(0, ipAddress.lastIndexOf("%"));
|
| }
|
| addressString.append(ipAddress);
|
| + addressString.append("/");
|
| + addressString.append(interfaceAddress.getNetworkPrefixLength());
|
|
|
| if (result.length() != 0)
|
| result.append(";");
|
|
|