Upgrading to Version 3.0

The configuration for 3.0 is largely compatible with the 2.x.x configuration. However, it is NOT possible to simply use the 2.x.x configuration as-is. Instead, it should be re-created.

The raddb directory has been re-arranged. Some directory paths are now much deeper than they used to be. However, the files now have a consistent naming scheme.


Some modules have been:


The unlang policy language has been updated.

New / Changed Functionality

A number of other functionality has changed.


A number of configuration items have moved into the "security" subsection of radiusd.conf. If these items are required, then they should be moved. Otherwise, they can be ignored.

The list of moved options is:


These entries should be moved from radiusd.conf to the security subsection of that file.


Many names used by configuration items were inconsistent in earlier versions of the server. These names have been unified in version 3.0.

If a file is being referenced or created, then the name filename is used instead of detailfile or usersfile, etc.

If a file is being created, then the initial permissions are set by the permissions configuration directive.

If a directory hierarchy needs to be created, then the permissions are set by dir_permissions.

If an external host is referenced in the context of a module, then the server configuration directive is used.

The configuration directives are now written as multiple distinct words separated by underscores _. Previously, hyphens or underscores were used at random.

The configuration directives file, script_file, module, detail, detailfile, attrsfile, perm, dirperm, detailperm, and hostname are deprecated, as are any false portmanteaus or configuration items that used hyphens as word delimiters; e.g., foo-bar has been changed to foo_bar. Please update module configurations to use the new syntax.

In most cases the server will indicate the replacement config item to use. As always, run the server in debugging mode to see these messages.


The dialip_admin directory has been removed. No one stepped forward to maintain it, and the code had not been changed in many years.

The code is now hosted in dialup_admin on Github.