Andriy Gapon <[EMAIL PROTECTED]> 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 necessary? 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. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html