From a1e06807eeb6587c3ea12778440226977d63b064 Mon Sep 17 00:00:00 2001 From: Sreeram Ramachandran Date: Thu, 11 Sep 2014 14:08:25 -0700 Subject: [PATCH] Hide mutable VpnService APIs to add/remove IP addresses dynamically. These APIs were added because we thought we needed them to provide seamless transition from one server backend to another using local IP addresses to distinguish between the backends. I.e., connections whose local IP address was old would be routed to the old backend; connections whose local IP address was new would be routed to the new backend. It turns out that's not needed. VpnService already supports seamless re-establishment, so VPNs just need to call establish() again with a different IP address. I've verified with a custom VPN app that this works, and can distinguish traffic based on the old and new addresses. Nobody is using these APIs at the moment, so we could even consider removing them altogether, but I prefer just hiding them, just in case. Bug: 15409819 Change-Id: I30949926a0f859c9d839981ccbc5d8e1e535a3a5 --- api/current.txt | 2 -- core/java/android/net/VpnService.java | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/api/current.txt b/api/current.txt index b6e600bd321da..ca4256981fde4 100644 --- a/api/current.txt +++ b/api/current.txt @@ -17537,14 +17537,12 @@ package android.net { public class VpnService extends android.app.Service { ctor public VpnService(); - method public boolean addAddress(java.net.InetAddress, int); method public android.os.IBinder onBind(android.content.Intent); method public void onRevoke(); method public static android.content.Intent prepare(android.content.Context); method public boolean protect(int); method public boolean protect(java.net.Socket); method public boolean protect(java.net.DatagramSocket); - method public boolean removeAddress(java.net.InetAddress, int); field public static final java.lang.String SERVICE_INTERFACE = "android.net.VpnService"; } diff --git a/core/java/android/net/VpnService.java b/core/java/android/net/VpnService.java index 050be40e41607..e6f5e32e727ff 100644 --- a/core/java/android/net/VpnService.java +++ b/core/java/android/net/VpnService.java @@ -212,6 +212,8 @@ public class VpnService extends Service { * * @return {@code true} on success. * @see Builder#addAddress + * + * @hide */ public boolean addAddress(InetAddress address, int prefixLength) { check(address, prefixLength); @@ -240,6 +242,8 @@ public class VpnService extends Service { * @param prefixLength The prefix length of the address. * * @return {@code true} on success. + * + * @hide */ public boolean removeAddress(InetAddress address, int prefixLength) { check(address, prefixLength);