* Changes:
+ As title.
+ Add two new states to VpnState: UNKNOWN and UNUSABLE.
+ Add more debug messages when stopping a service and when DNS being
overridden.
* Changes
+ Add PptpProfile.java, PptpService.java.
+ Add L2tpIpsecPskProfile.java
+ Add PPTP and L2TP_IPSEC_PSK entries in VpnType.java.
+ Add the secret option to L2tpProfile.java and have L2tpIpsecProfile
extend it.
+ Add MtpdHelper to send common PPP options.
+ Add getGatewayIp() to VpnService().
+ Revise VpnService.reallyGetHostIp().
Patch Set 6, 7, 8:
+ Add L2TP secret flag in L2tpProfile.
Patch Set 9:
+ Add description to VpnType.
Patch Set 11:
+ Pass ipparam to mtpd.
Patch Set 12:
+ Add L2TP secret support
+ Fix string constants
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.