Sub-Projects

The FreeRADIUS project maintains a number of sub-projects to add RADIUS capabilities to popular web servers and authentication services.

If your favourite application isn't supported, creating glue code is simple! Linking against libfreeradius-radius provides a complete toolkit for developing RADIUS authenticated services.


PAM Authentication and Accounting module Download v2.0.0

This is the PAM to RADIUS authentication module. It allows any PAM-capable machine to become a RADIUS client for authentication and accounting requests. You will need a RADIUS server to perform the actual authentication.

Files included with the module

README Introduction and documentation
INSTALL Installation instructions
USAGE Module configuration and usage documentation
Changelog What's changed
pam_radius_auth.conf Sample configuration file for telling the client the location of the RADIUS server.

The Authentication Module for Apache Download v 1.6.0

This is the Apache RADIUS authentication module. It allows any Apache web-serve to become a RADIUS client for authentication and accounting requests.

Module building and configuration

Configure this module into Apache by going to the Apache root directory, and typing:

           Lang
          ./configure --add-module=LOCATION/mod_auth_radius.c
        

where LOCATION is the directory where the module source file resides. Then, type:

          Lang
          make
        

Alternatively, if you've already built and installed Apache with dynamic modules, you should be able to install this module via:

          Lang
          apxs -i -a -c mod_auth_radius.c
        

You should add your additional site configuration options to the configure line, above. Please read the README file for further information.

Files included with the module

README Introduction and documentation
httpd.conf Sample HTTPD configuration file for RADIUS attributes, with additional comments and documentation.
htaccess Sample .htaccess file
mod_auth_radius.c C source file for Apache 2.4.x

Updates

The latest version of the module is 1.6.0.
For the latest source code, see the GitHub site:
https://github.com/FreeRADIUS/mod_auth_radius

Author contact

Alan DeKok <aland@freeradius.org>

Related pages

The Apache HTTP server project
The Apache Module Registry

The FreeRADIUS Client Library Download v 1.1.8

FreeRADIUS Client is a framework and library for writing RADIUS Clients which additionally includes radlogin, a flexible RADIUS aware login replacement, a command line program to send RADIUS accounting records and a utility to query the status of a RADIUS server. All of these programs are based on a library that lets you develop a RADIUS-aware application in less than 50 lines of C code. It is highly portable and runs on Linux, many BSD variants and Solaris.

See the Wiki for more information.

Version 1.1.8

Version 1.1.8 has a large number of fixes, but is still compatible with the code from 1.1.6 and 1.1.7. The ChangeLog is:

  • Full IPv6 support from Nikos Mavrogiannopoulos.
  • Silently ignore invalid attributes, instead of dropping the packet.
  • Remove abort() calls from library, from Nikos Mavrogiannopoulos.
  • Many dictionary updates, by gureedo.
  • String handling fixes from Nikos Mavrogiannopoulos.
  • Catch EINTR and retry, from Nikos Mavrogiannopoulos.
  • Better logging from Daniel Pocock.
  • Remove much legacy work-arounds. Patches from Herwin Weststrate.
  • sockaddr fixes from Francis Dupont.
  • Fix crash on parsing bad dates, from Jonathan Berry.
  • Fix size of attr/vendor IDs, from Marcel Patzlaff.
  • Disable non-protocol attributes in the dictionary, from Marcel Patzlaff.
  • Use monotonic timeouts from Marcel Patzlaff.
  • Support for programmatic secret and server specification, from Marcel Patzlaff.
  • Better initialize PRNG from from Marcel Patzlaff.
  • Fix warning messages from Jorge Pereira.
  • Copy vendor IDs when copyin AVPAIRs, from Paris Stamatopoulos.
  • Fix vendor attribute lookup by Paris Stamatopoulos.
License

Unlike the FreeRADIUS Server which is available under the GPL, or libfreeradius which is available under the LGPL, the FreeRADIUS Client library is distributed under the BSD license. This is to facilitate the maximum possible use of correct, up-to-date, maintained code in as many other RADIUS Client implementations as possible.

The FreeRADIUS team collectively has decades of RADIUS experience, and is active in defining new RADIUS standards. We have worked with many different RADIUS servers and clients, and know what it takes to make a client that is robust, feature-rich, and inter-operable. To that end, we are releasing this library under the BSD license, to lower your costs in developing a RADIUS client, and to increase the likelihood that your client will inter-operate with every other implementation.

We want you use this code in your application whether it is Open Source or not.

Please see the COPYRIGHT file in the radiusclient source code for more details.

History

Radiusclient traces its history to the early RADIUS code developed by the Livingston Enterprises, University of Michigan and Merit Network.

A fork of the original radiusclient called radiusclient-ng was create in 2003 and used as the basis of the RADIUS support in SER (SIP Express Router) and OpenSER.

In late 2006 it was decided that the FreeRADIUS Project should adopt the latest code from radiusclient-ng CVS as the basis of a new FreeRADIUS client package. The intention is to roll some of the client functionality of the FreeRADIUS server into this separate client package and to make the FreeRADIUS suite a one stop shop for all people wishing to use and develop RADIUS related applications.

The first version released by the FreeRADIUS project was 1.1.5. This version fixed an MD5 related endian issue and introduced a client configuration framework to the library which lent itself to allowing embedded RADIUS client functionality. Development of the codebase is ongoing.