v4.0.x - Version constraints on drivers and submodules

Arran Cudbard-Bell a.cudbardb at freeradius.org
Wed Jun 15 03:52:18 CEST 2016

The same version constraints that were applied to normal modules are now in force for drivers and submodules.

Drivers and submodules built with one version of the server cannot be used with another version.

There are also two new callbacks, load and unload, which are called right after dlopen and right before dlclose.  These allow global initialisation of any libraries used by the modules.

Not a major change, but it allows us to get rid of module instance counters, and all those 'done_version' globals.

Anyone writing new modules that have the concept of drivers or submodules, should use dl_module and dl_module_instance_data_alloc to handle loading the shared object, creating its instance data, and parsing its config.

All instances where dlopen was called previously have now been replace with calls to dl_module.

All instances where the module handled allocating instance data for its submodules (with calls to talloc), or submodules handled allocating instance data themselves, have been fixed to use the new functions.

Much more exciting announcements coming with v4.0.x :)


Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS Development Team

FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 872 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freeradius.org/pipermail/freeradius-devel/attachments/20160614/c43147aa/attachment.sig>

More information about the Freeradius-Devel mailing list