From: Alan T. DeKok Date: Sun, 4 May 2025 12:50:25 +0000 (-0400) Subject: new "man unlang" page and cleanups X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eaae1373435fc3b44e04005bd8be622d6c565028;p=thirdparty%2Ffreeradius-server.git new "man unlang" page and cleanups which is for now just a paragraph header, and then includes the "keywords.adoc" file. The goal here is to provide a simple offline reference, and not a complete documentation of the server --- diff --git a/doc/antora/modules/reference/pages/man/index.adoc b/doc/antora/modules/reference/pages/man/index.adoc index 6e194601f74..b90c83737c6 100644 --- a/doc/antora/modules/reference/pages/man/index.adoc +++ b/doc/antora/modules/reference/pages/man/index.adoc @@ -1,12 +1,22 @@ = Man pages +These `man` pages are provided for quick reference, and for historical +compatibility. In some cases, it is easier to type `man radiusd` than +to open a web browser, and navigate to the correct page. + +That being said, the 'man' pages provide only brief summaries of +functionality. The main documentation pages provide for significantly +more content and explanation. + The xref:man/radclient.adoc[radclient] program. -The main xref:man/radiusd.adoc[radiusd] daemon. +The main xref:man/radiusd.adoc[radiusd] server. The command-line tool for radiusd, xref:man/radmin.adoc[radmin]. A RADIUS-aware packet capture tool, xref:man/radsniff.adoc[radsniff]. +A simple summary of xref:man/unlang.adoc[unlang]. + // Copyright (C) 2025 Network RADIUS SAS. Licenced under CC-by-NC 4.0. // This documentation was developed by Network RADIUS SAS. diff --git a/doc/antora/modules/reference/pages/man/unlang.adoc b/doc/antora/modules/reference/pages/man/unlang.adoc new file mode 100644 index 00000000000..60a24168469 --- /dev/null +++ b/doc/antora/modules/reference/pages/man/unlang.adoc @@ -0,0 +1,34 @@ += unlang(5) +Alan DeKok +:doctype: manpage +:release-version: 4.0.0 +:man manual: FreeRADIUS +:man source: FreeRADIUS +:manvolnum: 5 + +== NAME + +unlang - Unlang Policy Language + +== DESCRIPTION + +The server supports a simple processing language called "Unlang", +which is short for "un-language". The original intention of using an +"un-language" was to avoid creating yet another programming language. +Instead, the `unlang` syntax allows for simple _if / then / else_ +checks, and attribute editing. It does not support recursion, +functions, infinite loops, or a host of other normal language +features. + +include::../unlang/keywords.adoc[] + +== SEE ALSO + +radiusd(8) radiusd.conf(5) + +== AUTHOR + +The FreeRADIUS Server Project (https://freeradius.org) + +// Copyright (C) 2025 Network RADIUS SAS. Licenced under CC-by-NC 4.0. +// This documentation was developed by Network RADIUS SAS. diff --git a/doc/antora/modules/reference/pages/unlang/index.adoc b/doc/antora/modules/reference/pages/unlang/index.adoc index 728e0971805..9460976610a 100644 --- a/doc/antora/modules/reference/pages/unlang/index.adoc +++ b/doc/antora/modules/reference/pages/unlang/index.adoc @@ -5,13 +5,17 @@ which is short for "un-language". The original intention of using an "un-language" was to avoid creating yet another programming language. Instead, the `unlang` syntax allows for simple _if / then / else_ checks, and attribute editing. It does not support recursion, -subroutines, or more complex flow controls. - -If third party libraries are required which are only available in `lua`, -`perl` or `python`, then FreeRADIUS includes modules which allow those -languages to be called as part of packet processing. We do not recommend -writing general policy in these languages since it adds complexity and -reduces performance. +functions, infinite loops, or a host of other normal language +features. + +In some cases, a third party library is provided only in an +interpreted language, e.g. xref:raddb/mods-available/lua.adoc[Lua], +xref:raddb/mods-available/perl.adoc[Perl] or +xref:raddb/mods-available/python.adoc[Python]. FreeRADIUS includes +support for those languages via +xref:raddb/mods-available/index.adoc[plug-in modules]. _We do not +recommend writing general policy in these languages since it adds +complexity and reduces performance_. NOTE: The documentation is this directory is _reference_ documentation. That is, it describes the syntax of `unlang` keywords, diff --git a/doc/antora/modules/reference/pages/unlang/keywords.adoc b/doc/antora/modules/reference/pages/unlang/keywords.adoc index 09b02f2b6fd..8cda3721024 100644 --- a/doc/antora/modules/reference/pages/unlang/keywords.adoc +++ b/doc/antora/modules/reference/pages/unlang/keywords.adoc @@ -38,7 +38,7 @@ modify attributes in any list or packet. |===== | Keyword | Description | xref:unlang/map.adoc[map] | Map database fields to server attributes. -| xref:unlang/edit.adoc[editing] | Creating, modifying, and deleting attributes. +| xref:unlang/edit.adoc['foo=bar'] | Creating, modifying, and deleting attributes. | xref:unlang/update.adoc[update] | DEPRECATED - v3 compatible attribute editing. |=====