Commit Graph

14 Commits

Author SHA1 Message Date
Chia-chi Yeh
97a61565ea VPN: Hook up the new control protocol and network state.
1. No more End-Of-Arguments.
2. Daemons close the control socket after they are initialized.
3. No more system properties.
4. ip-up-vpn now creates state to pass the configuration.
5. JNI methods are split again for legacy VPN.

Change-Id: I02fafdf01d425c965345ef712b2bd5fdee3a0cab
2011-07-14 15:07:42 -07:00
Chia-chi Yeh
c2b8aa0b4c VPN: rename some variables.
Change-Id: I7f15b5ab30f591e26242fca27af25f578809534c
2011-07-03 18:00:47 -07:00
Chia-chi Yeh
3281034c1c VPN: merge JNI methods.
Legacy VPN needs to change routes by itself.

Change-Id: I4cf6639f2b00225810f49704ae05797fc70921d9
2011-07-02 16:16:03 -07:00
Chia-chi Yeh
9c0835fd72 VPN: correct the netmask for IPv4.
Change-Id: Id6e955af129d55120676d0d9cfe75388671aa367
2011-06-30 22:59:18 -07:00
Chia-chi Yeh
f4e3bf892e VPN: refactor few JNI methods for the usage of legacy VPN.
Now default routes are handled in JNI instead of VpnBuilder.

Change-Id: Ib026bba6793b64aae0f8356df3d2aaae489d08b4
2011-06-30 12:41:11 -07:00
Chia-chi Yeh
84bf7390ea VPN: make the file descriptor non-blocking by default.
Change-Id: I89899b2b6a8ac64a4a052ffd501cc0221fab3ffe
2011-06-16 19:01:28 -07:00
Chia-chi Yeh
96c7e70000 VPN: do not allow zero prefix length in routing rules.
The public API splits default route into two narrower routes.
Add this check in case some one calls the private API.

Change-Id: Ie1fc0155b74415b971380bc8429cd74026c3fda0
2011-06-13 18:29:54 -07:00
Chia-chi Yeh
8ea928945b VPN: do not use gateway in routing rules.
The first release of this API only supports TUN interface, and
so far there is no plan for TAP. TUN works on IP frames which
makes gateway nearly useless. The only value to have a gateway
is that kernel may use it to select the source address. However
currently it does not work in IPv6, and even in IPv4 applications
can bind to any local address on the device. Remove it to keep
the API clear, and it can be added back at any time if needed.

Change-Id: If9086d20d885a3a7f7ab5f07afbcfeecb677bbea
2011-06-13 17:59:58 -07:00
Chia-chi Yeh
23a5e4bcdc VPN: tolerate duplicated routes.
Change-Id: I0f9efa8c3af3d4859358438745a5cd2c4ad376ca
2011-06-13 16:14:49 -07:00
Chia-chi Yeh
6ddd57491a VPN: fix a bad optimization of zeroing ifr_flags lately.
Change-Id: Ib7d89422ef0a9159ba912cf32b678821cb72a25a
2011-06-13 16:08:01 -07:00
Chia-chi Yeh
6224b5ec38 VPN: set IFF_NO_PI on TUN interface.
Packet info header (struct tun_pi) was required to support IPv6
in kernel prior to 2.6.26. Setting IFF_NO_PI will remove the header
from the packets sent/recieved via TUN file descriptor, so now they
are just raw IP packets.

Change-Id: I0b4ae9db23d3bc10995a00eb053527b499ad6eb6
2011-06-13 15:26:51 -07:00
Chia-chi Yeh
3663227a8b VPN: add MTU support.
Change-Id: Ia2f06ae1fcf065bde7dafd212b84b37a34f1a47e
2011-06-13 15:05:37 -07:00
Chia-chi Yeh
3667369807 VPN: use ParcelFileDescriptor.adoptFd() instead of doing it in JNI.
This removes the dependency of android_util_Binder.h.
This change also removes some redundant zeroing.

Change-Id: Ie9fedd471dfa198f9a3261e03651f945cefbbf61
2011-06-13 14:32:18 -07:00
Chia-chi Yeh
ff3bdca31f The service part of the user space VPN support.
The dialogs will be in another change.

Change-Id: I0cdfd2ef21ffd40ee955b3cbde5ada65dbfdb0bc
2011-06-08 14:16:42 -07:00