diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-02-20 04:31:51 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-02-20 04:31:51 +0000 |
commit | 9da6624d38326019ba4bb9d59fc1d1e8e7c895ad (patch) | |
tree | 1e8864d74abd824d6d33dddd0a1162008a587d4b /src/android/net/ip/IpClient.java | |
parent | a06c57b4239588045698d334951ae1b58a86973f (diff) | |
parent | 7bbb8f1b8510fa9fbc3b5c2af12aaf6fa7a3bd7c (diff) |
Merge "Add captive portal info to DhcpClient output" am: e1aa745f9f am: d477534798 am: 7bbb8f1b85
Change-Id: I999e7e993370359fb8f68b0380e61bb8b1aed038
Diffstat (limited to 'src/android/net/ip/IpClient.java')
-rw-r--r-- | src/android/net/ip/IpClient.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/android/net/ip/IpClient.java b/src/android/net/ip/IpClient.java index 47f955a..173f136 100644 --- a/src/android/net/ip/IpClient.java +++ b/src/android/net/ip/IpClient.java @@ -36,6 +36,7 @@ import android.net.ProvisioningConfigurationParcelable; import android.net.ProxyInfo; import android.net.RouteInfo; import android.net.TcpKeepalivePacketDataParcelable; +import android.net.Uri; import android.net.apf.ApfCapabilities; import android.net.apf.ApfFilter; import android.net.dhcp.DhcpClient; @@ -57,6 +58,7 @@ import android.text.TextUtils; import android.util.LocalLog; import android.util.Log; import android.util.Pair; +import android.util.Patterns; import android.util.SparseArray; import androidx.annotation.NonNull; @@ -1192,6 +1194,15 @@ public class IpClient extends StateMachine { if (mDhcpResults.mtu != 0) { newLp.setMtu(mDhcpResults.mtu); } + + final String capportUrl = mDhcpResults.captivePortalApiUrl; + // Uri.parse does no syntax check; do a simple regex check to eliminate garbage. + // If the URL is still incorrect data fetching will fail later, which is fine. + if (capportUrl != null && Patterns.WEB_URL.matcher(capportUrl).matches()) { + NetworkInformationShimImpl.newInstance() + .setCaptivePortalApiUrl(newLp, Uri.parse(capportUrl)); + } + // TODO: also look at the IPv6 RA (netlink) for captive portal URL } // [4] Add in TCP buffer sizes and HTTP Proxy config, if available. |