Allow VPNs to add/remove link addresses dynamically.

Bug: 15409819
Change-Id: If91fc6891d7ce04060362c6cde8c57462394c4e8
This commit is contained in:
Sreeram Ramachandran
2014-07-27 14:18:26 -07:00
parent 00c1c93a3e
commit e458632059
2 changed files with 21 additions and 0 deletions

View File

@@ -163,4 +163,7 @@ interface IConnectivityManager
void releaseNetworkRequest(in NetworkRequest networkRequest);
int getRestoreDefaultNetworkDelay(int networkType);
boolean addVpnAddress(String address, int prefixLength);
boolean removeVpnAddress(String address, int prefixLength);
}

View File

@@ -5351,4 +5351,22 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
return new NetworkCapabilities();
}
@Override
public boolean addVpnAddress(String address, int prefixLength) {
throwIfLockdownEnabled();
int user = UserHandle.getUserId(Binder.getCallingUid());
synchronized (mVpns) {
return mVpns.get(user).addAddress(address, prefixLength);
}
}
@Override
public boolean removeVpnAddress(String address, int prefixLength) {
throwIfLockdownEnabled();
int user = UserHandle.getUserId(Binder.getCallingUid());
synchronized (mVpns) {
return mVpns.get(user).removeAddress(address, prefixLength);
}
}
}