link:attr_list.adoc[list] reference. When no list is given, the
server looks in the input packet list for the named attribute.
-*Examples:*
+.Examples
`&User-Name` +
`&NAS-IP-Address` +
All other data types are disallowed in existence checks.
-*Examples:*
+.Examples
`"hello there"` +
`5`
If the resulting data evaluates to be the same, then the operator
returns `true`; otherwise, it returns `false`.
-*Examples:*
+.Examples
`if (User-Name == "bob") { ...`
|handled |the module has handled the request itself
|==================================================
-*Examples:*
+.Examples
[source,unlang]
----
returns `true` when _condition_ returns `false`. It returns `false`
when _condition_ returns `true`.
-*Examples:*
+.Examples
`(! (foo == bar))` +
`! &User-Name`
`condition`. It is used to clarify policies or to explicitly define
conditional precedence.
-*Examples:*
+.Examples
`(foo)` +
`(bar || (baz && dub))`
character itself can be created by using `\\`. Carriage returns and
line feeds can be created by using `\n` and `\r`.
-*Examples:*
+.Examples
`"I say \"hello\" to you"` +
`"This is split\nacross two lines"`
link:data.adoc[data type], and the text will be interpreted as that
data type.
-*Examples:*
+.Examples
`"word"` +
`"a string"` +
== IP Addresses
-*Examples:*
+.Examples
`192.0.2.16` +
`::1` +
== Numbers
-*Examples:*
+.Examples
`0` +
`563`
The contents of a `group` subsection can be any `unlang` statement.
-*Examples:*
+.Examples
[source,unlang]
----
In general, the link:redundant-load-balance.adoc[redundant-load-balance]
statement is more useful than this one.
-*Examples:*
+.Examples
[source,unlang]
----
cases, the `map` statement returns `fail`, and no server attributes
are affected.
-*Examples:*
+.Examples
[source,unlang]
----
If there are more than eight parentheses, the additional results will be
discarded and will not be placed into any variables.
-*Examples:*
+.Examples
`if (User-Name =~ /@example\.com$$/) { ...`
achieve the same result be found. In some cases, using a real
programming language such as `lua`, `perl` or `python` may be better.
-*Examples:*
+.Examples
`{backtick}/bin/echo hello{backtick}`
| `\x<oct><oct><oct>` | A byte whose numerical value is given by `<oct><oct><oct>` interpreted as an octal number.
|=====
-*Examples:*
+.Examples
`"hello"` +
`"foo bar"' +
special characters. The single quote character can be placed in such a
string by escaping it with a backslash.
-*Examples:*
+.Examples
`'hello'` +
`'foo bar`' +
The interpretation of the text depends on the context, which is
usually defined by an attribute which has a link:data.adoc[data type].
-*Examples:*
+.Examples
`Hello` +
`192.168.0.1` +
string is replaced with the value of that attribute. Otherwise, the
reference is replacedd with an empty string.
-*Examples:*
+.Examples
`%{User-Name}` +
`%{request:User-Name} # same as above` +
module and is not documented here. It is, however, usually dynamically
expanded to allow for additional flexibility.
-*Examples:*
+.Examples
`%{sql:SELECT name FROM mytable WHERE username = %{User-Name}}`