The majority of the potentially disruptive code changes have now been completed for 3.0 and it is at a stage where community testing would be helpful.
To provide a single point to test against, the release_3_0_0_beta1 tag has been created. The tarball is available here: https://github.com/FreeRADIUS/freeradius-server/archive/release_3_0_0_beta1.tar.gz Instructions for converting existing 2.1.x configurations are available here: https://github.com/FreeRADIUS/freeradius-server/blob/release_3_0_0_beta1/raddb/README.rst Please post any defects to http://bugs.freeradius.org. 3.0 will be released _soon_, likely within the next month. Significant changes from release_3_0_0_beta0: * xlat expansions and conditions are now precompiled at server start. * Syntax checking for xlat expansions and conditions is performed at server start. * rlm_ldap now has support for caching groups. * Casting is now supported to explicitly convert attributes and values to a common type for comparisons. * Direct comparison of attribute references is now supported e.g. &<attr1> == &<attr2>. * Comparisons of IPv4 and IPv6 prefixes are now supported, with the prefixes treated as sets of IPs. * New rlm_idn module providing an xlat expansion for performing IDNA encoding of internationalized domain names. (thanks to 'skids'). * New sha1 xlat expansion (thanks to Alan Buxey) * New rlm_yubikey module to validate yubikey OTP tokens. * Rewritten rlm_sqlite driver. Now supports creating new databases on server startup for bootstrapping purposes. * Colourised log messages when logging to stdout. Internal changes: * All traces of the old build system have been removed. * clang is better supported. * A significant portion of memory management has been moved to talloc, and many of the internal API functions have been updated to take context pointers. * New API for iterating over VALUE_PAIRs, this is in preparation for nested attributes. No new code should directly modify vp->next pointers or treat VALUE_PAIRs as if they were elements in a linked list. Iterating over VALUE_PAIRs should now be done with paircursor, pairnext, and pairfindnext. * VALUE_PAIRs no longer contain attribute and vendor fields, they instead contain pointers to DICT_ATTRs. * Some protocol specific code has been moved out into proto_* modules. * Standardised internal logging macros. New code should use these macros instead of calling radlog* directly. https://github.com/FreeRADIUS/freeradius-server/blob/master/src/include/log.h * Use OpenSSL hashing functions when available. * Sever now builds with no warnings on most platforms. * New RADIUS encoder/decoder. Arran Cudbard-Bell <a.cudba...@freeradius.org> FreeRADIUS Development Team - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html