Add the VPN services package, VPN service base classes and L2tpIpsecService.
Also add android.security.Keystore. This is a quick solution. Will be
evolved to a more mature implementation.
PATCH SET 2:
+ Add VpnServiceBinder to hide VpnService and its subclasses.
+ Add sendCommand2() to AndroidServiceProxy to work with the latest mtpd.
PATCH SET 3:
+ Rebase to catch up with new commits; no changes made.
PATCH SET 4:
+ Remove/comment out @Override on interface methods to be compilable for Java 1.5.
PATCH SET 5:
+ Add L2tpService.java.
+ Make VpnService to work on SingleServerProfile; add serverIp to
connect(); set system property "net.vpn.server_ip"; and move
getPppOptionFilePath() from L2tpIpsecService to VpnService
+ Revise VpnManager to start VpnService without worrying about which
type (as the type info is in VpnProfile)
+ Remove installation stuff from VpnManager
PATCH SET 6:
+ Fix PATCH SET 5 (the patch was messed up). Please ignore PATCH SET 5.
PATCH SET 7:
+ Fix styles.
PATCH SET 8:
+ Add CANCELLED to VpnState.
PATCH SET 9:
+ Make VpnProfile serializable (in order to save them to persistent storage)
PATCH SET 10:
+ Remove Keystore.java as it's added in another CL.
diff --git a/packages/VpnServices/AndroidManifest.xml b/packages/VpnServices/AndroidManifest.xml
new file mode 100644
index 0000000..e48b2da
--- /dev/null
+++ b/packages/VpnServices/AndroidManifest.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.server.vpn"
+ android:sharedUserId="android.uid.system"
+ >
+ <application android:label="VPN Services">
+
+ <service android:name=".VpnServiceBinder" android:process=":remote">
+ <intent-filter>
+ <!-- These are the interfaces supported by the service, which
+ you can bind to. -->
+ <action android:name="android.net.vpn.IVpnService" />
+ <!-- This is an action code you can use to select the service
+ without explicitly supplying the implementation class. -->
+ <action android:name="android.net.vpn.SERVICE" />
+ </intent-filter>
+ </service>
+
+ </application>
+
+ <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+</manifest>