Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9e2215c authored by Chalard Jean's avatar Chalard Jean Committed by Maciej Żenczykowski
Browse files

Give apps access to the NAT64 prefix.

Apps that do their own DNS queries need to know the NAT64 prefix
to resolve v4 addresses on v6-only networks.

Test: FrameworksNetTests NetworkStackTests
Bug: 144877069
Change-Id: I5a255b7afc2038646b93a0ab893f8ad62d0fb34f
parent b578bdbe
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -28696,6 +28696,7 @@ package android.net {
    method @Nullable public String getInterfaceName();
    method @NonNull public java.util.List<android.net.LinkAddress> getLinkAddresses();
    method public int getMtu();
    method @Nullable public android.net.IpPrefix getNat64Prefix();
    method @Nullable public String getPrivateDnsServerName();
    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes();
    method public boolean isPrivateDnsActive();
@@ -28706,6 +28707,7 @@ package android.net {
    method public void setInterfaceName(@Nullable String);
    method public void setLinkAddresses(@NonNull java.util.Collection<android.net.LinkAddress>);
    method public void setMtu(int);
    method public void setNat64Prefix(@Nullable android.net.IpPrefix);
    method public void writeToParcel(android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR;
  }
+0 −2
Original line number Diff line number Diff line
@@ -4150,7 +4150,6 @@ package android.net {
    ctor public LinkProperties(@Nullable android.net.LinkProperties);
    method public boolean addDnsServer(@NonNull java.net.InetAddress);
    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
    method @Nullable public android.net.IpPrefix getNat64Prefix();
    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
    method @Nullable public String getTcpBufferSizes();
    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
@@ -4164,7 +4163,6 @@ package android.net {
    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
    method public boolean removeRoute(@NonNull android.net.RouteInfo);
    method public void setNat64Prefix(@Nullable android.net.IpPrefix);
    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
    method public void setPrivateDnsServerName(@Nullable String);
    method public void setTcpBufferSizes(@Nullable String);
+0 −2
Original line number Diff line number Diff line
@@ -1384,7 +1384,6 @@ package android.net {
    ctor public LinkProperties(@Nullable android.net.LinkProperties);
    method public boolean addDnsServer(@NonNull java.net.InetAddress);
    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
    method @Nullable public android.net.IpPrefix getNat64Prefix();
    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
    method @Nullable public String getTcpBufferSizes();
    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
@@ -1398,7 +1397,6 @@ package android.net {
    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
    method public boolean removeRoute(@NonNull android.net.RouteInfo);
    method public void setNat64Prefix(@Nullable android.net.IpPrefix);
    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
    method public void setPrivateDnsServerName(@Nullable String);
    method public void setTcpBufferSizes(@Nullable String);
+0 −6
Original line number Diff line number Diff line
@@ -762,10 +762,7 @@ public final class LinkProperties implements Parcelable {
     * Returns the NAT64 prefix in use on this link, if any.
     *
     * @return the NAT64 prefix or {@code null}.
     * @hide
     */
    @SystemApi
    @TestApi
    public @Nullable IpPrefix getNat64Prefix() {
        return mNat64Prefix;
    }
@@ -777,10 +774,7 @@ public final class LinkProperties implements Parcelable {
     * 128-bit IPv6 address) are supported or {@code null} for no prefix.
     *
     * @param prefix the NAT64 prefix.
     * @hide
     */
    @SystemApi
    @TestApi
    public void setNat64Prefix(@Nullable IpPrefix prefix) {
        if (prefix != null && prefix.getPrefixLength() != 96) {
            throw new IllegalArgumentException("Only 96-bit prefixes are supported: " + prefix);