== Configure common reply options
-FreeRADIUS includes a powerful xref:unlang/index.adoc[policy language] called
+FreeRADIUS includes a powerful xref:index.adoc[policy language] called
"unlang".
Statements in unlang may be used to call further policies, update attribute
[source,shell]
----
service haproxy reload
----
+----
For Traefik, enable the PROXY Protocol on connections to the RadSec
[source,shell]
----
- echo "User-Name = bob" | radclient 127.0.0.1 auth testing123
+echo "User-Name = bob" | radclient 127.0.0.1 auth testing123
----
You should expect to see the familiar output:
= FreeRADIUS Dependencies
Some external dependencies must be installed before building or
-running FreeRADIUS. The core depends on two mandatory libraries:
-`libtalloc` for memory management and `libkqueue` for event
-handling.
+running FreeRADIUS. For version 3, the core depends on one
+mandatory library: `libtalloc` for memory management.
Many of the modules also have optional dependencies. For example,
the LDAP module requires LDAP client libraries to be installed
`# apt-get install libtalloc-dev`
-*RedHat or CentOS*
+*RedHat, CentOS, Rocky Linux or equivalent*
```
-# subscription-manager repos --enable rhel-7-server-optional-rpms
-# yum install libtalloc-dev
-```
-
-=== kqueue
-
-Kqueue is an event / timer API originally written for BSD systems.
-It is _much_ simpler to use than third-party event libraries. A
-library, `libkqueue`, is available for Linux systems.
-
-*OSX*
-
-_kqueue is already available, there is nothing to install._
-
-*Debian, Ubuntu and `dpkg`-based systems*
-
-`# apt-get install libkqueue-dev`
-
-*RedHat or CentOS*
-
-```
-# subscription-manager repos --enable rhel-7-server-optional-rpms
-# yum install libkqueue-dev
+# yum install libtalloc-devel
```
** xref:condition/index.adoc[Conditional Expressions]
*** xref:condition/cmp.adoc[Comparisons]
*** xref:condition/operands.adoc[Operands]
-*** xref:condition/return_code.adoc[The Return Code Operator]
+*** xref:condition/return_codes.adoc[The Return Code Operator]
*** xref:condition/eq.adoc[The '==' Operator]
*** xref:condition/and.adoc[The '&&' Operator]
*** xref:condition/or.adoc[The '||' Operator]
The `<match>` text can be an attribute reference such as `&User-Name`,
-or it can be a xref:type/string/index.adoc[string]. If the match
+or it can be a xref:type/index.adoc[string]. If the match
text is a dynamically expanded string, then the match is performed on
the output of the string expansion.
|=====
| Syntax | Description
| xref:attr.adoc[&Attribute-Name] | Check for attribute existence.
-| xref:condition/return_code.adoc[rcode] | Check return code of a previous module.
+| xref:condition/return_codes.adoc[rcode] | Check return code of a previous module.
| xref:condition/operands.adoc[data] | Check value of data.
| xref:condition/cmp.adoc[lhs OP rhs] | Compare two kinds of data.
| xref:condition/para.adoc[( condition )] | Check sub-condition
----
Any text not matching xref:attr.adoc[&Attribute-Name] or
-xref:condition/return_code.adoc[Return Code] is interpreted as a value for a
+xref:condition/return_codes.adoc[Return Code] is interpreted as a value for a
particular xref:type/index.adoc[data type].
Double-quoted strings and back-quoted strings are dynamically expanded
The `<match>` text can be an attribute reference such as `&User-Name`,
-or it can be a xref:type/string/index.adoc[string]. If the match
+or it can be a xref:type/index.adoc[string]. If the match
text is a dynamically expanded string, then the match is performed on
the output of the string expansion.
== Using Data Types
The server support a wide range of data types, as given in the
-xref:unlang/type/all_types.adoc[list of data types] page. The choice
+xref:type/all_types.adoc[list of data types] page. The choice
of which data type applies is determined by the context in which that
data type is used. This context is usually taken from an attribute
which is being assigned a value.
`"192.168.0.2"`:: xref:type/string/double.adoc[Double-quoted string].
+
The contents of the string are dynamically expanded as described in
-the xref:unlang/xlat/index.adoc[dynamic expansion] page. The
+the xref:xlat/index.adoc[dynamic expansion] page. The
resulting output is then interpreted as the given data type.
`{backtick}/bin/echo 192.168.0.2{backtick}`:: xref:type/string/backticks.adoc[backtick-quoted string].
`"192.0.2."`.
For a full list of data types which can be used in a cast, please see
-the xref:unlang/type/all_types.adoc[list of data types] page, and the
+the xref:type/all_types.adoc[list of data types] page, and the
"Basic Type Types" section.
// Copyright (C) 2020 Network RADIUS SAS. Licenced under CC-by-NC 4.0.
Results of named capture groups are available using the `%{regex:<named capture
group>}` expansion. They will also be accessible using the numbered expansions
-described xref:builtin.adoc#_0_32[above].
+described xref:#_0_32[above].
Every time a regular expression is evaluated, whether it matches or not,
the named capture group values will be cleared.