VPN: implement status report for legacy VPN.

Change-Id: I81c28dafd9588572df76cbc303b0d6a0f41f9bc6
This commit is contained in:
Chia-chi Yeh
2011-07-04 03:23:12 -07:00
parent 3e2e1da0a0
commit bded3eb138
2 changed files with 27 additions and 10 deletions

View File

@@ -23,6 +23,7 @@ import android.net.ProxyProperties;
import android.os.IBinder; import android.os.IBinder;
import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnConfig;
/** /**
@@ -105,5 +106,7 @@ interface IConnectivityManager
ParcelFileDescriptor establishVpn(in VpnConfig config); ParcelFileDescriptor establishVpn(in VpnConfig config);
void doLegacyVpn(in VpnConfig config, in String[] racoon, in String[] mtpd); void startLegacyVpn(in VpnConfig config, in String[] racoon, in String[] mtpd);
LegacyVpnInfo getLegacyVpnInfo();
} }

View File

@@ -64,6 +64,7 @@ import android.util.EventLog;
import android.util.Slog; import android.util.Slog;
import android.util.SparseIntArray; import android.util.SparseIntArray;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnConfig;
import com.android.internal.telephony.Phone; import com.android.internal.telephony.Phone;
import com.android.server.connectivity.Tethering; import com.android.server.connectivity.Tethering;
@@ -2469,8 +2470,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
/** /**
* Protect a socket from VPN routing rules. This method is used by * Protect a socket from VPN routing rules. This method is used by
* VpnBuilder and not available in ConnectivityManager. Permission * VpnBuilder and not available in ConnectivityManager. Permissions
* checks are done in Vpn class. * are checked in Vpn class.
* @hide * @hide
*/ */
@Override @Override
@@ -2480,8 +2481,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
/** /**
* Prepare for a VPN application. This method is used by VpnDialogs * Prepare for a VPN application. This method is used by VpnDialogs
* and not available in ConnectivityManager. Permission checks are * and not available in ConnectivityManager. Permissions are checked
* done in Vpn class. * in Vpn class.
* @hide * @hide
*/ */
@Override @Override
@@ -2492,8 +2493,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
/** /**
* Configure a TUN interface and return its file descriptor. Parameters * Configure a TUN interface and return its file descriptor. Parameters
* are encoded and opaque to this class. This method is used by VpnBuilder * are encoded and opaque to this class. This method is used by VpnBuilder
* and not available in ConnectivityManager. Permission checks are done * and not available in ConnectivityManager. Permissions are checked in
* in Vpn class. * Vpn class.
* @hide * @hide
*/ */
@Override @Override
@@ -2502,12 +2503,25 @@ public class ConnectivityService extends IConnectivityManager.Stub {
} }
/** /**
* Handle a legacy VPN request. * Start legacy VPN and return an intent to VpnDialogs. This method is
* used by VpnSettings and not available in ConnectivityManager.
* Permissions are checked in Vpn class.
* @hide * @hide
*/ */
@Override @Override
public void doLegacyVpn(VpnConfig config, String[] racoon, String[] mtpd) { public void startLegacyVpn(VpnConfig config, String[] racoon, String[] mtpd) {
mVpn.doLegacyVpn(config, racoon, mtpd); mVpn.startLegacyVpn(config, racoon, mtpd);
}
/**
* Return the information of the ongoing legacy VPN. This method is used
* by VpnSettings and not available in ConnectivityManager. Permissions
* are checked in Vpn class.
* @hide
*/
@Override
public LegacyVpnInfo getLegacyVpnInfo() {
return mVpn.getLegacyVpnInfo();
} }
private String getDefaultInterface() { private String getDefaultInterface() {