From: Alan T. DeKok Date: Tue, 16 Aug 2022 21:55:03 +0000 (-0400) Subject: more documentation updates X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f41063fd105f3b140193af533628ad785e4f0d4;p=thirdparty%2Ffreeradius-server.git more documentation updates --- diff --git a/doc/antora/modules/installation/pages/upgrade.adoc b/doc/antora/modules/installation/pages/upgrade.adoc index 6a07603ded7..300c0d81e75 100644 --- a/doc/antora/modules/installation/pages/upgrade.adoc +++ b/doc/antora/modules/installation/pages/upgrade.adoc @@ -132,18 +132,27 @@ packets. The `instantiate` section has been removed. It originally started out as a way to ensure that modules were instantiated in a particular -order. As of 3.0.9, listing modules in the `instantiate` section was -no longer necessary. The functionality was left in version 3 for -compatibility, but has now been removed from version 4. - -The other use of the `instantiate` section was to define "virtual" -modules for dynamic expansion. That functionality has been moved to -the `mods-available/` and `mods-enabled/` directories. i.e. in -version 4, just list the virtual module in a file, as if it was a real -module. +order. A later use of the `instantiate` section was to define +"virtual modules" for dynamic expansion. That functionality has been +moved to the `mods-available/` and `mods-enabled/` directories. +i.e. in version 4, just list the virtual module in a file, as if it +was a real module. See the xref:mods-available/redundantsql.adoc[redundant_sql module] -for more information. +for more information. In short, a virtual module can be put into the +`mods-enabled` directory as with any other module, as with the +following text: + +[source,unlang] +---- +redundant redundant_sql { + sql1 + sql2 +} +---- + +In this case, this definition creates a `redundant_sql` virtual module. + == Virtual Servers @@ -162,14 +171,13 @@ namespace = radius This tells the server what protocol is being used in that virtual server. This configuration was not necessary in v3, because each -protocol was pretending to be RADIUS. That was simple to do and worked -for some things, but it was not the best approach. +protocol was pretending to be RADIUS. That was simple to program at +the time and worked for some things, but it was not the best approach. In v4, each protocol is completely independent, and RADIUS is no -longer welded into the server core. i.e. The server core does -modules, configuration files, policies, etc. RADIUS has been -relegated to just another plug-in protocol, with the same status as -DHCPv4 and DHCPv6. +longer built into the server core. i.e. The server core does modules, +configuration files, policies, etc. RADIUS has been relegated to just +another plug-in protocol, with the same status as DHCPv4 and DHCPv6. Every example virtual server in the `sites-enabled/` directory contains a `namespace` parameter. Please look at those files for @@ -296,6 +304,40 @@ here is to allow a common pre-processing of accounting packets in the in `accounting %{Acct-Status-Type}`. See sites-available/default for examples and more information. +=== update sections + +A major difference between v3 and v4 is that `update` sections are no +longer necessary. It is now possible to just edit attributes "in +place", as with: + +See the xref:reference:unlang/update.adoc[update] documentation for a +description of what has changed, and how to use the attribute new +xref:reference:unlang/edit.adoc[edit] functionality. + +For example, instead of doing this: + +[source,unlang] +---- +if (&User-Name == "bob") { + update reply { + &Reply-Message := "Hello, %{User-Name}" + } +} +---- + +You can now do this: + +[source,unlang] +---- +if (&User-Name == "bob") { + &reply.Reply-Message := "Hello, %{User-Name}" +} +---- + +As with any upgrade across major version numbers, there are caveats. +See the full xref:reference:unlang/update.adoc[update] documentation +and xref:reference:unlang/edit.adoc[edit] documentation for details. + == Proxying Proxying has undergone massive changes. The `proxy.conf` file no diff --git a/raddb/radiusd.conf.in b/raddb/radiusd.conf.in index 539832e46fb..6e7a8a83c27 100644 --- a/raddb/radiusd.conf.in +++ b/raddb/radiusd.conf.in @@ -634,8 +634,7 @@ modules { # # .Policies # -# Policies are virtual modules, similar to those defined in the -# `instantiate` section above. +# Policies are virtual modules. # # Defining a policy in one of the `policy.d` files means that it can be # referenced in multiple places as a *name*, rather than as a series of