|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| include/ | | 03-May-2024 | - | 1,077 | 488 |
| plugins/ | | 03-May-2024 | - | 12,044 | 8,180 |
| Android.bp | D | 03-May-2024 | 2.3 KiB | 99 | 89 |
| MODULE_LICENSE_BSD | D | 03-May-2024 | 0 | | |
| Makefile.linux | D | 03-May-2024 | 5.2 KiB | 241 | 152 |
| Makefile.sol2 | D | 03-May-2024 | 1.3 KiB | 64 | 21 |
| NOTICE | D | 03-May-2024 | 11.6 KiB | 253 | 200 |
| README.google | D | 03-May-2024 | 72 | 3 | 2 |
| README.pppol2tp | D | 03-May-2024 | 1.5 KiB | 34 | 28 |
| README.pppopptp | D | 03-May-2024 | 1,009 | 26 | 19 |
| auth.c | D | 03-May-2024 | 59 KiB | 2,366 | 1,634 |
| cbcp.c | D | 03-May-2024 | 9.8 KiB | 489 | 361 |
| cbcp.h | D | 03-May-2024 | 510 | 27 | 20 |
| ccp.c | D | 03-May-2024 | 43.9 KiB | 1,679 | 1,278 |
| ccp.h | D | 03-May-2024 | 2 KiB | 53 | 18 |
| chap-md5.c | D | 03-May-2024 | 3.3 KiB | 118 | 74 |
| chap-md5.h | D | 03-May-2024 | 1.3 KiB | 32 | 1 |
| chap-new.c | D | 03-May-2024 | 16.5 KiB | 660 | 485 |
| chap-new.h | D | 03-May-2024 | 4.3 KiB | 131 | 53 |
| chap_ms.c | D | 03-May-2024 | 31.1 KiB | 1,016 | 672 |
| chap_ms.h | D | 03-May-2024 | 3.8 KiB | 110 | 52 |
| demand.c | D | 03-May-2024 | 9.8 KiB | 365 | 258 |
| eap.c | D | 03-May-2024 | 57.7 KiB | 2,429 | 1,916 |
| eap.h | D | 03-May-2024 | 5.1 KiB | 159 | 101 |
| ecp.c | D | 03-May-2024 | 5 KiB | 174 | 81 |
| ecp.h | D | 03-May-2024 | 1.7 KiB | 46 | 10 |
| eui64.c | D | 03-May-2024 | 1.9 KiB | 58 | 13 |
| eui64.h | D | 03-May-2024 | 3.3 KiB | 115 | 52 |
| fsm.c | D | 03-May-2024 | 17.7 KiB | 818 | 558 |
| fsm.h | D | 03-May-2024 | 6 KiB | 169 | 84 |
| ipcp.c | D | 03-May-2024 | 58 KiB | 2,314 | 1,670 |
| ipcp.h | D | 03-May-2024 | 3.9 KiB | 97 | 39 |
| ipv6cp.c | D | 03-May-2024 | 39.7 KiB | 1,545 | 983 |
| ipv6cp.h | D | 03-May-2024 | 7 KiB | 170 | 20 |
| ipxcp.c | D | 03-May-2024 | 37.8 KiB | 1,599 | 1,110 |
| ipxcp.h | D | 03-May-2024 | 3.5 KiB | 95 | 36 |
| lcp.c | D | 03-May-2024 | 59.1 KiB | 2,381 | 1,745 |
| lcp.h | D | 03-May-2024 | 5.5 KiB | 136 | 71 |
| magic.c | D | 03-May-2024 | 3.1 KiB | 124 | 50 |
| magic.h | D | 03-May-2024 | 2.1 KiB | 50 | 3 |
| main.c | D | 03-May-2024 | 54.2 KiB | 2,270 | 1,607 |
| md4.c | D | 03-May-2024 | 8.4 KiB | 300 | 189 |
| md4.h | D | 03-May-2024 | 2.1 KiB | 65 | 16 |
| md5.c | D | 03-May-2024 | 11.3 KiB | 308 | 198 |
| md5.h | D | 03-May-2024 | 3.2 KiB | 66 | 20 |
| mppe.h | D | 03-May-2024 | 4.1 KiB | 122 | 69 |
| openssl-hash.h | D | 03-May-2024 | 918 | 32 | 12 |
| options.c | D | 03-May-2024 | 43.5 KiB | 1,798 | 1,390 |
| patchlevel.h | D | 03-May-2024 | 55 | 3 | 2 |
| pathnames.h | D | 03-May-2024 | 2.2 KiB | 82 | 58 |
| ppp.pam | D | 03-May-2024 | 183 | 7 | 6 |
| pppcrypt.c | D | 03-May-2024 | 5.5 KiB | 254 | 179 |
| pppcrypt.h | D | 03-May-2024 | 1.5 KiB | 41 | 6 |
| pppd.8 | D | 03-May-2024 | 82.2 KiB | 1,973 | 1,947 |
| pppd.h | D | 03-May-2024 | 35.4 KiB | 936 | 654 |
| pppox.c | D | 03-May-2024 | 1.6 KiB | 68 | 43 |
| session.c | D | 03-May-2024 | 13.1 KiB | 431 | 244 |
| session.h | D | 03-May-2024 | 2.8 KiB | 92 | 16 |
| sha1.c | D | 03-May-2024 | 5.6 KiB | 171 | 118 |
| sha1.h | D | 03-May-2024 | 653 | 32 | 22 |
| srp-entry.8 | D | 03-May-2024 | 2.9 KiB | 84 | 76 |
| srp-entry.c | D | 03-May-2024 | 5.3 KiB | 191 | 147 |
| sys-linux.c | D | 03-May-2024 | 70.7 KiB | 2,948 | 1,936 |
| sys-solaris.c | D | 03-May-2024 | 64.6 KiB | 2,786 | 1,979 |
| tty.c | D | 03-May-2024 | 32.4 KiB | 1,267 | 943 |
| upap.c | D | 03-May-2024 | 15.4 KiB | 683 | 450 |
| upap.h | D | 03-May-2024 | 3.8 KiB | 111 | 36 |
| utils.c | D | 03-May-2024 | 20.3 KiB | 1,052 | 837 |
README.google
1Notes:
2Removed multilink.c, spinlock.[ch], tdb.[ch] as they are unused.
3
README.pppol2tp
1PPPoL2TP-Android plugin
2=======================
3
4This PPPoL2TP-Android plugin was written for AOSP project from scratch. It has
5nothing to do with pppol2tp plugin from upstream ppp project [1].
6
7This plugin adds support for upstream kernel L2TP implementation in pppd
8daemon. Only LAC part of L2TP is implemented, as we don't use Android devices
9in LNS mode.
10
11In general case, the execution flow for VPN startup on Android devices is:
12 1. Run IPSec client (racoon)
13 2. Run L2TP client (mtpd)
14 3. mtpd obtains "remote tunnel ID" and "remote session ID" from L2TP server
15 4. mtpd creates L2TP sockets (see [2] for details):
16 - tunnel management PPPoX socket
17 - session PPPoX data socket
18 5. mtpd runs pppd, passing arguments for pppol2tp-android plugin
19 6. pppd dlopen() pppol2tp-android plugin (because it receives corresponding\
20 arguments from mtpd)
21
22Main task of this plugin is to obtain session_fd socket from mtpd and pass it
23back to pppd when .connect() callback is executed. In this respect it's similar
24to old pppox.c implementation. The differences are next:
25 1. pppol2tp-android also obtains the second socket (for tunnel management)
26 which allows us to handle it properly
27 2. pppol2tp-android handles the setting of MTU/MRU size (which can be passed
28 to the plugin with pppd parameters) via kernel L2TP implementation
29 3. pppol2tp-android plugin is actually loaded dynamically with dlopen(),
30 as opposed to pppox.c which is hard-coded into pppd code
31
32[1] https://github.com/paulusmack/ppp
33[2] https://www.kernel.org/doc/Documentation/networking/l2tp.txt
34
README.pppopptp
1PPPoPPTP-Android plugin
2=======================
3
4This plugin was written for AOSP project from scratch. It has nothing to do with
5accel-pptp plugin [1].
6
7This plugin adds support for upstream kernel PPTP implementation in pppd daemon.
8Only PNS (client) part of PPTP is implemented, as we don't use Android devices
9in PAC mode.
10
11In general case, the execution flow for VPN startup on Android devices is:
12 1. Run PPTP client (mtpd)
13 2. mtpd obtains remote Call ID on OCRP (Outgoing-Call-Reply) packet
14 3. mtpd creates PPTP socket
15 4. mtpd runs pppd, passing PPTP socket as to pppopptp-android (as parameter)
16 5. pppd dlopen() pppopptp-android plugin (because it received corresponding
17 arguments from mtpd)
18
19Main task of this plugin is to obtain PPTP socket FD from mtpd and pass it
20back to pppd when .connect() callback is executed.
21
22All control packets are handled in mtpd. PPP packets (like LCP) are handled in
23pppd. Data packets are handled by kernel PPTP driver.
24
25[1] http://accel-pptp.sourceforge.net/
26