diff options
author | vitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-26 03:14:16 +0000 |
---|---|---|
committer | vitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-26 03:14:16 +0000 |
commit | 9f9a7b7175149bdd212109fbfcd995cb4249071a (patch) | |
tree | eca49d4b8561676dbf97b17b0ea804116c49fb6f /net/android | |
parent | 65bc0bf82b2b232891b1ef82c231ea849a651246 (diff) | |
download | chromium_src-9f9a7b7175149bdd212109fbfcd995cb4249071a.zip chromium_src-9f9a7b7175149bdd212109fbfcd995cb4249071a.tar.gz chromium_src-9f9a7b7175149bdd212109fbfcd995cb4249071a.tar.bz2 |
Added NetworkInterface::network_prefix.
BUG=295997
NOTRY=true
Review URL: https://codereview.chromium.org/23726043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225303 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/android')
-rw-r--r-- | net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java b/net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java index 95752cc..49b6634 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,24 +167,25 @@ 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("\t"); 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(";"); + result.append("\n"); result.append(addressString.toString()); } } catch (SocketException e) { |