Documentation Page

Both the EAP-TLS and the MPPE patch contributed by Jan Just Keijser (janjust@nikhef.nl) have been inserted into this new patch, which is compatible with the latest version of PPPD (2.4.4).

Requirements

To compile and run correctly the patched pppd you need:

  • OpenSSL at least version 0.9.8g (lower version could have some problem with the token).
  • libcurl (used to fetch CRLs).
  • libp11 (which provides the functions to handle the PKCS11 structure). It should be available in your package manager.

Resources

Quick installation

First download the ppp-2.4.4.tar.gz sources file from the ppp website and the eaptls-token patch. Once downloaded untar the sources and patch them with the following command

$ tar -xzf ppp-2.4.4.tar.gz 
$ cd ppp-2.4.4
$ patch -p1 < ../ppp-2.4.4-eaptls-token.patch 
patching file etc.ppp/eaptls-client
patching file etc.ppp/eaptls-server
patching file etc.ppp/token.conf
patching file linux/Makefile.top
patching file pppd/auth.c
patching file pppd/ccp.c
patching file pppd/chap-md5.c
patching file pppd/eap.c
patching file pppd/eap.h
patching file pppd/eap-tls.c
patching file pppd/eap-tls.h
patching file pppd/main.c
patching file pppd/Makefile.linux
patching file pppd/md5.c
patching file pppd/md5.h
patching file pppd/options.c
patching file pppd/pathnames.h
patching file pppd/pppd.h
patching file README.eap-tls
patching file README.eap-tls.token

Alternatively you can download the pppd sources already patched from our svn repository with the command

$ svn checkout http://eaptls.spe.net/svn/eaptls

Enter the pppd directory, compile and install the program as usual

$ ./configure
$ make
$ make install
$ make install-etcppp

The next step is to configure the configuration files you will find in the /etc/ppp directory. Modify the files eaptls-client and eaptls-server for the client and server informations. Put the path of the pkcs11 provider you are going to use into the token.conf file. Some helps about the configuration are already written into the configuration files themselves but to get more information you should read the README file linked above.