my first freeradius module

Herbert Fischer herbert.fischer at
Fri Mar 11 22:13:45 CET 2011


I'm kinda new to Freeradius and at the same time I'm learning it, I'm seeing
I gonna need to develop a new module for it.

This module will do OTP two way authentication. It will extract part of the
password (ex.: latest 6 digits) to verify and the remaining "password" will
be returned to Freeradius to test against another module (LDAP for example).

In this module I need to store user information on some place, including
usernames, keys, secrets, last OTP, offset, etc.

I have some options:

* Use some file like the "users" file from freeradius or a tabulated file.
Read this file in memory and update user information in memory and in file
when needed, so if Freeradius is restarted, or the machines crashes, the
updated information is not lost. However I don't know exactly if I'm going
to have problems with the "module needs to update file" part. Don't know how
Freeradius's internal API/libs work with files.

I'm trying to understand rlm_files.c but this module only reads the "users"

* Use MySQL or Redis to store this information. As they support atomic
operations I should have no problem using them. However I gonna need to link
the module against some external lib and I fear this may bring Freeradius
some problems, and I'll have another service to monitor, manage, etc.

What do you suggest? Is there any other way to do this two way
authentication without needing to develop a module for it?

thanks in advance,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Freeradius-Devel mailing list