This is an extensive patch for pppd 2.4.1(b2), implementing RADIUS client support including PAP, CHAP and MSCHAPv2 authentication, MPPE key derivation by the RADIUS server, and RADIUS accounting. It's based on OpenRADIUS' packet engine.

Other features are:

The patch is available under the GNU GPL. The necessary MPPE and MSCHAP patches are included as well. You can find it here. The latest version is ppp-2.4.1-vanilla-radclient-v2.1.patch.gz, which is built against ppp 2.4.1 instead of ppp 2.4.1b2.

After patching, go to the pppd/openradius_common subdirectory and type 'Make' (not needed for v2.1 and later). After that, build ppp as normal. Remember to copy the dictionaries in etc.ppp to /etc/ppp.

RADIUS authentication is then enabled by using '@radius' as the secret in /etc/ppp/chap-secrets or pap-secrets. You also need to supply the the desired servers using radius-auth-servers and radius-acct-servers; see the top of pppd/radius_client.c for more information.

Development was sponsored by Roam Technologies, Inc., the 2.0 versions by the University of Bristol.