dictionary: override attribute type/id mapping

Alan DeKok aland at ox.org
Thu Feb 9 19:48:03 CET 2006

Andriy Gapon <avg at icyb.net.ua> wrote:
> Let us suppose that somebody wants to implement a digest authentication
> extension module according to draft06 while keeping existing
> implementation too. And he does want to do it now. He also might be
> willing to contribute that module to FreeRADIUS later.
> What advice could you give to such a person ?

  Work in multiple stages:

 - update the dictionaries, radius.h, and rlm_digest to implement the
new method, and don't try to do any backwards compatibility.  Once
that works, you have a RADIUS server that implements the new method,
but doesn't do the old one.

 - update the dictionaries and radius.h to have the current rlm_digest
use the new numbers.  The existing numbers are defined only by
FreeRADIUS, so you can change them without breaking any existing
servers.  You may run into attribute conflicts with other
dictionaries, like Ascend.  See what it takes to fix the conflicts.

 - investigate the overlap between the old method & new method in
rlm_digest.  How much code can be re-used?  What other changes are

  The idea is to work at the problem from both ends until you have a
common ground.

  It should be possible to have the existing module handle both the
old and the new methods at the same time.

  Alan DeKok.

More information about the Freeradius-Users mailing list