)]}'
{
  "log": [
    {
      "commit": "d3aba7f7b67c758b2b325276538da6e1350cce69",
      "tree": "9149e225ffb40e6a65e94ee60339c8fee4159598",
      "parents": [
        "eaa89f74c04c0f10d5f3f8190b457087537bff2e"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jun 19 19:45:38 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jun 26 03:02:22 2009 +0800"
      },
      "message": "Add PPTP, L2TP/IPSec preshared key and other fixes.\n\n* Changes\n  + Add PptpProfile.java, PptpService.java.\n  + Add L2tpIpsecPskProfile.java\n  + Add PPTP and L2TP_IPSEC_PSK entries in VpnType.java.\n  + Add the secret option to L2tpProfile.java and have L2tpIpsecProfile\n    extend it.\n  + Add MtpdHelper to send common PPP options.\n  + Add getGatewayIp() to VpnService().\n  + Revise VpnService.reallyGetHostIp().\n\n  Patch Set 6, 7, 8:\n  + Add L2TP secret flag in L2tpProfile.\n\n  Patch Set 9:\n  + Add description to VpnType.\n\n  Patch Set 11:\n  + Pass ipparam to mtpd.\n\n  Patch Set 12:\n  + Add L2TP secret support\n  + Fix string constants\n"
    },
    {
      "commit": "0304325dd72ff8713c8444e909d387af1447f86f",
      "tree": "04d58c9ad8096abc4cb3bdbad3f3172d67d2ff6f",
      "parents": [
        "0fb466836bb654524683152371ecc32142cdf5de"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jun 15 18:59:01 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jun 15 19:29:26 2009 +0800"
      },
      "message": "Remove SingleServerProfile.\n\nEnd of refactoring out SingleServerProfile.java.\n"
    },
    {
      "commit": "4c424d61c72af64b4fa1da5e1c52eaebf60fe36e",
      "tree": "173c1b62ae23e4dee284808042fbd601431f56d6",
      "parents": [
        "31390c752828dce0a33d0adeacdf10a49ff847ce"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jun 15 11:30:11 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jun 15 13:06:03 2009 +0800"
      },
      "message": "On the way of refactoring out SingleServerProfile.java.\n\n+ Move mServerName from SingleServerProfile and VpnProfile.\n+ Add mSavedUsername to VpnProfile.\n+ Keep empty SingleServerProfile to not break the classes that use it.\n+ Remove use of SingleServerProfile from VpnService.java.\n"
    },
    {
      "commit": "f94b6444a3d4dc6d904754f80b2f940be90e432b",
      "tree": "6929a787d45050a738b8ac24f7322d001aceaf96",
      "parents": [
        "78f0f8cb2efe9410127c39201e240f6d438eb53c"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jun 08 13:27:11 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jun 12 15:45:56 2009 +0800"
      },
      "message": "Add the VPN services package, VPN service base classes and L2tpIpsecService.\n\nAlso add android.security.Keystore. This is a quick solution. Will be\nevolved to a more mature implementation.\n\nPATCH SET 2:\n+ Add VpnServiceBinder to hide VpnService and its subclasses.\n+ Add sendCommand2() to AndroidServiceProxy to work with the latest mtpd.\n\nPATCH SET 3:\n+ Rebase to catch up with new commits; no changes made.\n\nPATCH SET 4:\n+ Remove/comment out @Override on interface methods to be compilable for Java 1.5.\n\nPATCH SET 5:\n+ Add L2tpService.java.\n+ Make VpnService to work on SingleServerProfile; add serverIp to\n  connect(); set system property \"net.vpn.server_ip\"; and move\n  getPppOptionFilePath() from L2tpIpsecService to VpnService\n+ Revise VpnManager to start VpnService without worrying about which\n  type (as the type info is in VpnProfile)\n+ Remove installation stuff from VpnManager\n\nPATCH SET 6:\n+ Fix PATCH SET 5 (the patch was messed up). Please ignore PATCH SET 5.\n\nPATCH SET 7:\n+ Fix styles.\n\nPATCH SET 8:\n+ Add CANCELLED to VpnState.\n\nPATCH SET 9:\n+ Make VpnProfile serializable (in order to save them to persistent storage)\n\nPATCH SET 10:\n+ Remove Keystore.java as it\u0027s added in another CL.\n"
    },
    {
      "commit": "be19df0a4dcc5c9f2214935cfe6504df18be8697",
      "tree": "234f5e7e95c02636e6aff4dfc7fb3305a8dd085e",
      "parents": [
        "c11a3fab1a7c51bd3ec8ce63c68125fc8c6b3364"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 08 23:23:15 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 08 23:23:15 2009 -0700"
      },
      "message": "Fix the build\n"
    },
    {
      "commit": "55567efca99de7242b118cf7bf13cc773b01941c",
      "tree": "39c6d8019008d0b98f7d2b546ae5185ea7015262",
      "parents": [
        "bac43254b219c827f3d1fd286f4a7f19e9ee2f05"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Jun 03 23:56:34 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Jun 09 11:28:38 2009 +0800"
      },
      "message": "First-time check-in of the VPN APIs.\n\nPatch Set 2:\n- Fixed style issues raised by cywang.\nPatch Set 3:\n- Hide everything\n- Make VpnProfile parcelable\nPatch Set 4:\n- Add license notice\n"
    }
  ]
}
