Home | History | Annotate | only in /external/ppp/pppd
Up to higher level directory
NameDateSize
Android.bp22-Oct-20202.3K
auth.c22-Oct-202059K
cbcp.c22-Oct-20209.8K
cbcp.h22-Oct-2020510
ccp.c22-Oct-202043.9K
ccp.h22-Oct-20202K
chap-md5.c22-Oct-20203.3K
chap-md5.h22-Oct-20201.3K
chap-new.c22-Oct-202016.5K
chap-new.h22-Oct-20204.3K
chap_ms.c22-Oct-202031.1K
chap_ms.h22-Oct-20203.8K
demand.c22-Oct-20209.8K
eap.c22-Oct-202057.7K
eap.h22-Oct-20205.1K
ecp.c22-Oct-20205K
ecp.h22-Oct-20201.7K
eui64.c22-Oct-20201.9K
eui64.h22-Oct-20203.3K
fsm.c22-Oct-202017.7K
fsm.h22-Oct-20206K
include/22-Oct-2020
ipcp.c22-Oct-202058K
ipcp.h22-Oct-20203.9K
ipv6cp.c22-Oct-202039.7K
ipv6cp.h22-Oct-20207K
ipxcp.c22-Oct-202037.8K
ipxcp.h22-Oct-20203.5K
lcp.c22-Oct-202059.1K
lcp.h22-Oct-20205.5K
magic.c22-Oct-20203.1K
magic.h22-Oct-20202.1K
main.c22-Oct-202054.2K
Makefile.linux22-Oct-20205.2K
Makefile.sol222-Oct-20201.3K
md4.c22-Oct-20208.4K
md4.h22-Oct-20202.1K
md5.c22-Oct-202011.3K
md5.h22-Oct-20203.2K
MODULE_LICENSE_BSD22-Oct-20200
mppe.h22-Oct-20204.1K
NOTICE22-Oct-202011.6K
openssl-hash.h22-Oct-2020918
options.c22-Oct-202043.5K
patchlevel.h22-Oct-202055
pathnames.h22-Oct-20202.2K
plugins/22-Oct-2020
ppp.pam22-Oct-2020183
pppcrypt.c22-Oct-20205.5K
pppcrypt.h22-Oct-20201.5K
pppd.822-Oct-202082.2K
pppd.h22-Oct-202035.4K
pppox.c22-Oct-20201.6K
README.google22-Oct-202072
README.pppol2tp22-Oct-20201.5K
README.pppopptp22-Oct-20201,009
session.c22-Oct-202013.1K
session.h22-Oct-20202.8K
sha1.c22-Oct-20205.6K
sha1.h22-Oct-2020653
srp-entry.822-Oct-20202.9K
srp-entry.c22-Oct-20205.3K
sys-linux.c22-Oct-202070.7K
sys-solaris.c22-Oct-202064.6K
tty.c22-Oct-202032.4K
upap.c22-Oct-202015.4K
upap.h22-Oct-20203.8K
utils.c22-Oct-202020.3K

README.google

      1 Notes:
      2 Removed multilink.c, spinlock.[ch], tdb.[ch] as they are unused.
      3 

README.pppol2tp

      1 PPPoL2TP-Android plugin
      2 =======================
      3 
      4 This PPPoL2TP-Android plugin was written for AOSP project from scratch. It has
      5 nothing to do with pppol2tp plugin from upstream ppp project [1].
      6 
      7 This plugin adds support for upstream kernel L2TP implementation in pppd
      8 daemon. Only LAC part of L2TP is implemented, as we don't use Android devices
      9 in LNS mode.
     10 
     11 In 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 
     22 Main task of this plugin is to obtain session_fd socket from mtpd and pass it
     23 back to pppd when .connect() callback is executed. In this respect it's similar
     24 to 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

      1 PPPoPPTP-Android plugin
      2 =======================
      3 
      4 This plugin was written for AOSP project from scratch. It has nothing to do with
      5 accel-pptp plugin [1].
      6 
      7 This plugin adds support for upstream kernel PPTP implementation in pppd daemon.
      8 Only PNS (client) part of PPTP is implemented, as we don't use Android devices
      9 in PAC mode.
     10 
     11 In 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 
     19 Main task of this plugin is to obtain PPTP socket FD from mtpd and pass it
     20 back to pppd when .connect() callback is executed.
     21 
     22 All control packets are handled in mtpd. PPP packets (like LCP) are handled in
     23 pppd. Data packets are handled by kernel PPTP driver.
     24 
     25 [1] http://accel-pptp.sourceforge.net/
     26