Note module return codes
[freeradius.git] / man / man5 / unlang.5
index 4c1da75..64ebbba 100644 (file)
@@ -10,7 +10,7 @@
 .RE
 .sp
 ..
-.TH unlang 5 "01 Jul 2008" "" "FreeRADIUS Processing un-language"
+.TH unlang 5 "19 May 2010" "" "FreeRADIUS Processing un-language"
 .SH NAME
 unlang \- FreeRADIUS Processing un\-language
 .SH DESCRIPTION
@@ -22,7 +22,13 @@ Python modules rlm_perl, or rlm_python.
 
 The goal of the language is to allow simple policies to be written
 with minimal effort.  Those policies are then applied when a request
-is being processed.
+is being processed.  Requests are processed through virtual servers
+(including the default one), in the sections titled "authorize",
+"authenticate", "post-auth", "preacct", "accounting", "pre-proxy",
+"post-proxy", and "session".
+
+These policies cannot be used in any other part of the configuration
+files, such as module or client configuration.
 .SH KEYWORDS
 The keywords for the language are a combination of pre-defined
 keywords, and references to loadable module names.  We document only
@@ -160,12 +166,15 @@ EAP-TTLS), the inner tunnel session can also reference
 allow you to address the relevant list in the outer tunnel session.
 
 The "coa" and "disconnect" sections can only be used when the server
-receives an Access-Request or Accounting-Request.  Adding one or more
-attributes to either of the "coa" or "disconnect" list causes server
-to originate a CoA-Request or Disconnect-Request packet.  That packet
-is sent when the current Access-Request or Accounting-Request has been
-finished, and a reply sent to the NAS.  See
-raddb/sites-available/originate-coa for additional information.
+receives an Access-Request or Accounting-Request.  Use "request" and
+"reply" instead of "coa" when the server receives a CoA-Request or
+Disconnect-Request packet.
+
+Adding one or more attributes to either of the "coa" or "disconnect"
+list causes server to originate a CoA-Request or Disconnect-Request
+packet.  That packet is sent when the current Access-Request or
+Accounting-Request has been finished, and a reply sent to the NAS.
+See raddb/sites-available/originate-coa for additional information.
 
 The only contents permitted in an "update" section are attributes and
 values.  The contents of the "update" section are described in the
@@ -313,7 +322,7 @@ stand-alone condition, in which case they are evaluated as described
 in "Simple conditions", above.  They can also appear (with some
 exceptions noted below) on the left-hand or on the right-hand side of
 a comparison.
-.IP Numbers
+.IP numbers
 Numbers are composed of decimal digits.  Floating point, hex, and
 octal numbers are not supported.  The maximum value for a number is
 machine-dependent, but is usually 32-bits, including one bit for a
@@ -342,14 +351,14 @@ as seen in the examples below.
        if (Service-Type == Login-User) { 
 .DE
 .RE
-.IP "strings"
+.IP """strings"""
 .RS
 Double-quoted strings are expanded by inserting the value of any
 variables (see VARIABLES, below) before being evaluated.  If
 the result is a number it is evaluated in a numerical context.
 
 String length is limited by line-length, usually about 8000
-characters.  A double quote character (") can be used in a string via
+characters.  A double quote character can be used in a string via
 the normal back-slash escaping method.  ("like \\"this\\" !")
 .RE
 .IP 'strings'
@@ -493,6 +502,15 @@ The number of characters in %{string}.  If %{string} is not
 set, then the length is not set.
 
 e.g. %{#Junk-junk:-foo} will yeild the string "foo".
+.IP %{Attribute-Name#}
+Will print the integer value of the attribute, rather than a decoded
+VALUE or date.  This feature applies only to attributes of type
+"date", "integer", "byte", and "short".  It has no effect on any other
+attributes.  It is used when the numerical value is needed (e.g. Unix
+seconds), rather than a humanly-readable string.
+
+e.g. If a request contains "Service-Type = Login-User", the expansion
+of %{Service-Type#} will yeild "1".
 .IP %{Attribute-Name[index]}
 Reference the N'th occurance of the given attribute.  The syntax
 %{<list>:Attribute-Name[index]} may also be used.  The indexes start
@@ -643,6 +661,9 @@ When a module is called, it returns one of the following codes to
 
 These return codes can be tested for in a condition, as described
 above in the CONDITIONS section.
+
+See also the file doc/configurable_failover for additional methods of
+trapping and modifying module return codes.
 .SH FILES
 /etc/raddb/radiusd.conf
 .SH "SEE ALSO"