Commit Graph

12 Commits

Author SHA1 Message Date
Hung-ying Tyan
be8b0fc7c1 Simplifies err code propagation.
* Other changes
  + Re-assign err codes in VpnManager.
  + Add new err codes: REMOTE_PPP_HUNG_UP, PPP_NEGOTIATION_FAILED.
  + Delete the state file only if it exists (to prevent logging an
    unable-to-unlink error).
  + Extend timeout to 40 seconds.
2009-08-28 09:59:39 +08:00
Hung-ying Tyan
b064458185 Issue an error when VPN connection is lost.
+ Add new error code CONNECTION_LOST to VpnManager.
+ Make VpnService call onError() instead of onDisconnect() when
connection is lost.
+ Make VpnService broadcast CONNECTION_LOST when that happens.
2009-08-03 16:22:24 +08:00
Hung-ying Tyan
907a880fa2 Add the encryption option to PptpProfile parcel. 2009-07-30 20:36:27 +08:00
Hung-ying Tyan
0bd458b9f5 Add state saving mechanism to support proc restart
Also...
+ stop daemons before getting server IP;
+ remove setForeground();
+ add the DBG flag for Log.d calls.

PatchSet 3:
+ add CHALLENGE_ERROR and REMOTE_HUNG_UP to VpnManager
+ broadcast new error codes in VpnService
+ check local IP change instead of dns change
+ move removeStates() to VpnService.onFinalCleanUp()

PatchSet 7:
+ add encryption flag to PptpProfile
+ PptpService and MtpdHelper are revised accordingly
2009-07-30 19:14:50 +08:00
Hung-ying Tyan
af8dc57ddb Make VPN connect even when DNS is not present and other fixes.
* 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.
2009-07-14 16:29:22 +08:00
Hung-ying Tyan
ec0fc87a0a Add error code in vpn connectivity broadcast.
* Changes
  + Add VpnConnectingError.java.
  + Broadcast the error returned by daemons.
  + Add error codes to VpnManager.java.
  + Add error code to VpnManager.broadcastConnectivity().
  Patch Set 4:
  + Replace VPN_UP with VPN_STATUS in response to ip-up-vpn changes.
  + Make VpnServiceBinder a foreground service so that it won't be
    interrupted by the system.
  Patch Set 5:
  + Remove the support of returning 0 from daemon and restart socket in
    AndroidServiceProxy.
2009-07-13 13:11:36 +08:00
Hung-ying Tyan
c0b5d8a5fe Add PPTP, L2TP/IPSec preshared key and other fixes.
* 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
2009-06-26 03:02:22 +08:00
Hung-ying Tyan
e125f0ca46 Remove SingleServerProfile.
End of refactoring out SingleServerProfile.java.
2009-06-15 19:29:26 +08:00
Hung-ying Tyan
c2843d8fa3 On the way of refactoring out SingleServerProfile.java.
+ Move mServerName from SingleServerProfile and VpnProfile.
+ Add mSavedUsername to VpnProfile.
+ Keep empty SingleServerProfile to not break the classes that use it.
+ Remove use of SingleServerProfile from VpnService.java.
2009-06-15 13:06:03 +08:00
Hung-ying Tyan
173be90a18 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.
2009-06-12 15:45:56 +08:00
Romain Guy
3fd189dbf1 Fix the build 2009-06-08 23:23:15 -07:00
Hung-ying Tyan
3a978c1a98 First-time check-in of the VPN APIs.
Patch Set 2:
- Fixed style issues raised by cywang.
Patch Set 3:
- Hide everything
- Make VpnProfile parcelable
Patch Set 4:
- Add license notice
2009-06-09 11:28:38 +08:00