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 v 1.4.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.7

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.7

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

  • Allow "configure --with-nettle" to use nettle MD5 implementation. Patch from Nikos Mavrogiannopoulos.
  • Clean up generation of random numbers. Patch from Nikos Mavrogiannopoulos.
  • Update BSD license as permitted by Christos Zoulas.
  • Define PW_MAX_MSG_SIZE for maximum message sice. Patch from Nikos Mavrogiannopoulos.
  • Allow the dictionary file parser to understand BEGIN-VENDOR / END-VENDOR as with FreeRADIUS server. Patch from Nikos Mavrogiannopoulos.
  • Added support for IPv6. Patch from Nikos Mavrogiannopoulos.
  • Don't crash if a config option is unset. Patch from Nikos Mavrogiannopoulos.
  • Fix encoding of "date" attributes. Patch from Christian Schoch.
  • Build fixes from Sven Neuhaus, Ghennadi Procopciuc, Daniel Pocock, and gureedo.
  • Fix memory leaks. Patches from Alex Massover, William King, gureedo, and FreeSWITCH.
  • Fixes to retry algorithm. Patch from Lewis Adam.
  • Zero out secret fields. Patch from Scott Neugroschl.
  • Update the dictionaries. Patches from Bogdan-Andrei Iancu and gureedo.
  • Make the library thread-safe. Based on a patch from Alex Massover.
  • Made rc_avpair_log thread-safe by using a buffer supplied by the caller. Patch from Alex Massover.
  • Removed lock file for sequence number. It isn't needed.
  • Use poll() where possible to avoid issues with FD_SETSIZE. Patch from Alfred E. Heggestad.
  • Set Acct-Delay-Time in Accounting-Request packets. Patch from Alfred E. Heggestad.
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 used to live at http://www.cityline.net/~lf/radius/ but seems to be no longer maintained (Tarballs are still available from ftp://ftp.cityline.net/pub/radiusclient/). It does however still ship with some Linux distributions including SUSE Linux.

A fork of the original radiusclient called radiusclient-ng is used as the basis of the RADIUS support in SER 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 is 1.1.5. This version fixes an MD5 related endian issue and introduces a client configuration framework to the library which lends itself to allowing embedded radius client functionality. Development of the codebase is ongoing.