From 754c5be0f760dfdc68c38d5054a5618cb3f5867f Mon Sep 17 00:00:00 2001 From: Serik Beketayev Date: Sun, 6 Dec 2020 22:31:23 -0800 Subject: [PATCH] [Mainline Migration] Migrate NetworkUtils Migrating makeStrings(), numericToInetAddress() APIs Bug: 173089079 Test: atest FrameworksNetTests Change-Id: Ie914fd41bc3ce16d07f5d2768b89ce805b9245a9 --- core/java/android/net/NetworkUtils.java | 15 ------------- .../server/connectivity/DnsManager.java | 22 +++++++++++++++---- .../server/connectivity/KeepaliveTracker.java | 6 ++--- .../connectivity/NetworkDiagnostics.java | 6 ++--- .../java/android/net/LinkAddressTest.java | 8 +++---- .../server/ConnectivityServiceTest.java | 3 +-- .../server/IpSecServiceParameterizedTest.java | 4 ++-- 7 files changed, 31 insertions(+), 33 deletions(-) diff --git a/core/java/android/net/NetworkUtils.java b/core/java/android/net/NetworkUtils.java index a0faafa779..d84ee2a87b 100644 --- a/core/java/android/net/NetworkUtils.java +++ b/core/java/android/net/NetworkUtils.java @@ -35,7 +35,6 @@ import java.net.Inet4Address; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; -import java.util.Collection; import java.util.Locale; import java.util.TreeSet; @@ -341,20 +340,6 @@ public class NetworkUtils { } } - /** - * Create a string array of host addresses from a collection of InetAddresses - * @param addrs a Collection of InetAddresses - * @return an array of Strings containing their host addresses - */ - public static String[] makeStrings(Collection addrs) { - String[] result = new String[addrs.size()]; - int i = 0; - for (InetAddress addr : addrs) { - result[i++] = addr.getHostAddress(); - } - return result; - } - /** * Trim leading zeros from IPv4 address strings * Our base libraries will interpret that as octel.. diff --git a/services/core/java/com/android/server/connectivity/DnsManager.java b/services/core/java/com/android/server/connectivity/DnsManager.java index 1f0fb5e006..712ef76309 100644 --- a/services/core/java/com/android/server/connectivity/DnsManager.java +++ b/services/core/java/com/android/server/connectivity/DnsManager.java @@ -34,7 +34,6 @@ import android.content.Intent; import android.net.IDnsResolver; import android.net.LinkProperties; import android.net.Network; -import android.net.NetworkUtils; import android.net.ResolverOptionsParcel; import android.net.ResolverParamsParcel; import android.net.Uri; @@ -50,6 +49,7 @@ import android.util.Pair; import java.net.InetAddress; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -364,12 +364,11 @@ public class DnsManager { paramsParcel.successThreshold = mSuccessThreshold; paramsParcel.minSamples = mMinSamples; paramsParcel.maxSamples = mMaxSamples; - paramsParcel.servers = - NetworkUtils.makeStrings(lp.getDnsServers()); + paramsParcel.servers = makeStrings(lp.getDnsServers()); paramsParcel.domains = getDomainStrings(lp.getDomains()); paramsParcel.tlsName = strictMode ? privateDnsCfg.hostname : ""; paramsParcel.tlsServers = - strictMode ? NetworkUtils.makeStrings( + strictMode ? makeStrings( Arrays.stream(privateDnsCfg.ips) .filter((ip) -> lp.isReachable(ip)) .collect(Collectors.toList())) @@ -460,6 +459,21 @@ public class DnsManager { return Settings.Global.getInt(mContentResolver, which, dflt); } + /** + * Create a string array of host addresses from a collection of InetAddresses + * + * @param addrs a Collection of InetAddresses + * @return an array of Strings containing their host addresses + */ + private String[] makeStrings(Collection addrs) { + String[] result = new String[addrs.size()]; + int i = 0; + for (InetAddress addr : addrs) { + result[i++] = addr.getHostAddress(); + } + return result; + } + private static String getPrivateDnsMode(ContentResolver cr) { String mode = getStringSetting(cr, PRIVATE_DNS_MODE); if (TextUtils.isEmpty(mode)) mode = getStringSetting(cr, PRIVATE_DNS_DEFAULT_MODE); diff --git a/services/core/java/com/android/server/connectivity/KeepaliveTracker.java b/services/core/java/com/android/server/connectivity/KeepaliveTracker.java index 8625a6f470..96cbfde2a0 100644 --- a/services/core/java/com/android/server/connectivity/KeepaliveTracker.java +++ b/services/core/java/com/android/server/connectivity/KeepaliveTracker.java @@ -40,11 +40,11 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.net.ISocketKeepaliveCallback; +import android.net.InetAddresses; import android.net.InvalidPacketException; import android.net.KeepalivePacketData; import android.net.NattKeepalivePacketData; import android.net.NetworkAgent; -import android.net.NetworkUtils; import android.net.SocketKeepalive.InvalidSocketException; import android.net.TcpKeepalivePacketData; import android.net.util.KeepaliveUtils; @@ -625,8 +625,8 @@ public class KeepaliveTracker { InetAddress srcAddress, dstAddress; try { - srcAddress = NetworkUtils.numericToInetAddress(srcAddrString); - dstAddress = NetworkUtils.numericToInetAddress(dstAddrString); + srcAddress = InetAddresses.parseNumericAddress(srcAddrString); + dstAddress = InetAddresses.parseNumericAddress(dstAddrString); } catch (IllegalArgumentException e) { notifyErrorCallback(cb, ERROR_INVALID_IP_ADDRESS); return; diff --git a/services/core/java/com/android/server/connectivity/NetworkDiagnostics.java b/services/core/java/com/android/server/connectivity/NetworkDiagnostics.java index 49c16ad96e..a7be657ae7 100644 --- a/services/core/java/com/android/server/connectivity/NetworkDiagnostics.java +++ b/services/core/java/com/android/server/connectivity/NetworkDiagnostics.java @@ -20,10 +20,10 @@ import static android.system.OsConstants.*; import android.annotation.NonNull; import android.annotation.Nullable; +import android.net.InetAddresses; import android.net.LinkAddress; import android.net.LinkProperties; import android.net.Network; -import android.net.NetworkUtils; import android.net.RouteInfo; import android.net.TrafficStats; import android.net.shared.PrivateDnsConfig; @@ -97,8 +97,8 @@ import javax.net.ssl.SSLSocketFactory; public class NetworkDiagnostics { private static final String TAG = "NetworkDiagnostics"; - private static final InetAddress TEST_DNS4 = NetworkUtils.numericToInetAddress("8.8.8.8"); - private static final InetAddress TEST_DNS6 = NetworkUtils.numericToInetAddress( + private static final InetAddress TEST_DNS4 = InetAddresses.parseNumericAddress("8.8.8.8"); + private static final InetAddress TEST_DNS6 = InetAddresses.parseNumericAddress( "2001:4860:4860::8888"); // For brevity elsewhere. diff --git a/tests/net/common/java/android/net/LinkAddressTest.java b/tests/net/common/java/android/net/LinkAddressTest.java index 60308e32b8..1eaf30c5e0 100644 --- a/tests/net/common/java/android/net/LinkAddressTest.java +++ b/tests/net/common/java/android/net/LinkAddressTest.java @@ -68,8 +68,8 @@ public class LinkAddressTest { private static final String V4 = "192.0.2.1"; private static final String V6 = "2001:db8::1"; - private static final InetAddress V4_ADDRESS = NetworkUtils.numericToInetAddress(V4); - private static final InetAddress V6_ADDRESS = NetworkUtils.numericToInetAddress(V6); + private static final InetAddress V4_ADDRESS = InetAddresses.parseNumericAddress(V4); + private static final InetAddress V6_ADDRESS = InetAddresses.parseNumericAddress(V6); @Test public void testConstants() { @@ -131,10 +131,10 @@ public class LinkAddressTest { ipv6Loopback = new LinkAddress(addrs.get(0)); } - assertEquals(NetworkUtils.numericToInetAddress("127.0.0.1"), ipv4Loopback.getAddress()); + assertEquals(InetAddresses.parseNumericAddress("127.0.0.1"), ipv4Loopback.getAddress()); assertEquals(8, ipv4Loopback.getPrefixLength()); - assertEquals(NetworkUtils.numericToInetAddress("::1"), ipv6Loopback.getAddress()); + assertEquals(InetAddresses.parseNumericAddress("::1"), ipv6Loopback.getAddress()); assertEquals(128, ipv6Loopback.getPrefixLength()); // Null addresses are rejected. diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 7a1cb25b2d..3a210d3d71 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -181,7 +181,6 @@ import android.net.NetworkStack; import android.net.NetworkStackClient; import android.net.NetworkState; import android.net.NetworkTestResultParcelable; -import android.net.NetworkUtils; import android.net.ProxyInfo; import android.net.ResolverParamsParcel; import android.net.RouteInfo; @@ -4790,7 +4789,7 @@ public class ConnectivityServiceTest { lp.setInterfaceName(WIFI_IFNAME); LinkAddress myIpv4Address = new LinkAddress("192.168.12.3/24"); RouteInfo myIpv4DefaultRoute = new RouteInfo((IpPrefix) null, - NetworkUtils.numericToInetAddress("192.168.12.1"), lp.getInterfaceName()); + InetAddresses.parseNumericAddress("192.168.12.1"), lp.getInterfaceName()); lp.addLinkAddress(myIpv4Address); lp.addRoute(myIpv4DefaultRoute); diff --git a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java index 529d03c520..799bcc82d2 100644 --- a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java +++ b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java @@ -34,6 +34,7 @@ import android.app.AppOpsManager; import android.content.Context; import android.content.pm.PackageManager; import android.net.INetd; +import android.net.InetAddresses; import android.net.IpSecAlgorithm; import android.net.IpSecConfig; import android.net.IpSecManager; @@ -44,7 +45,6 @@ import android.net.IpSecTunnelInterfaceResponse; import android.net.IpSecUdpEncapResponse; import android.net.LinkAddress; import android.net.Network; -import android.net.NetworkUtils; import android.os.Binder; import android.os.INetworkManagementService; import android.os.ParcelFileDescriptor; @@ -272,7 +272,7 @@ public class IpSecServiceParameterizedTest { IpSecSpiResponse spi = mIpSecService.allocateSecurityParameterIndex( - NetworkUtils.numericToInetAddress(remoteAddress).getHostAddress(), + InetAddresses.parseNumericAddress(remoteAddress).getHostAddress(), IpSecManager.INVALID_SECURITY_PARAMETER_INDEX, new Binder()); return spi.resourceId;