Example code: Don't create rs_error on failing context creation.
[radsecproxy.git] / radsecproxy.conf.5.xml
index 16ce483..4024bde 100644 (file)
@@ -2,14 +2,14 @@
 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
 <refentry>
   <refentryinfo>
-    <date>2009-02-18</date>
+    <date>2009-03-12</date>
   </refentryinfo>
   <refmeta>
     <refentrytitle>
       <application>radsecproxy.conf</application>
     </refentrytitle>
     <manvolnum>5</manvolnum>
-    <refmiscinfo>radsecproxy devel 2009-02-18</refmiscinfo>
+    <refmiscinfo>radsecproxy devel 2009-03-12</refmiscinfo>
   </refmeta>
   <refnamediv>
     <refname>
@@ -52,7 +52,7 @@ are not.
     </para>
     <para>
 There are two types of configuration structures than can be used. The first
-and simplest are lines of the format <emphasis>option value</emphasis>. That
+and simplest are lines on the format <emphasis>option value</emphasis>. That
 is, an option name, see below for a list of valid options, followed by
 whitespace (at least one space or tab character), followed by a value. Note
 that if the value contains whitespace, then it must be quoted using
@@ -128,9 +128,9 @@ occurences is undefined.
         <term><literal>logLevel</literal></term>
         <listitem>
          <para>
-This option specifies the debug level. It must be set to 1, 2, 3 or 4, where 1
-logs only serious errors, and 4 logs everything. The default is 3 which logs
-errors, warnings and some informational messages. Note that the command line
+This option specifies the debug level. It must be set to 1, 2, 3, 4 or 5, where
+1 logs only serious errors, and 5 logs everything. The default is 2 which logs
+errors, warnings and a few informational messages. Note that the command line
 option <option>-d</option> overrides this.
          </para>
         </listitem>
@@ -166,7 +166,7 @@ Normally the proxy will listen to the standard RADIUS UDP port
 <literal>1812</literal> if configured to handle UDP clients. On most systems it
 will do this for all of the system's IP addresses (both IPv4 and IPv6). On some
 systems however, it may respond to only IPv4 or only IPv6. To specify an
-alternate port you may use a value of the form <literal>*:port</literal> where
+alternate port you may use a value on the form <literal>*:port</literal> where
 port is any valid port number. If you also want to specify a specific address
 you can do e.g. <literal>192.168.1.1:1812</literal> or
 <literal>[2001:db8::1]:1812</literal>. The port may be omitted if you want the
@@ -279,6 +279,8 @@ This can be set to <literal>on</literal> or <literal>off</literal> with
 will never be sent to a server named the same as the client it was received
 from. I.e., the names of the client block and the server block are compared.
 Note that this only gives limited protection against loops.
+It can be used as a basic option and inside server blocks where it overrides
+the basic setting.
          </para>
         </listitem>
       </varlistentry>
@@ -317,7 +319,7 @@ be significant.
 The client block is used to configure a client. That is, tell the proxy about a
 client, and what parameters should be used for that client. The name of the
 client block must (with one exception, see below) be either the IP address
-(IPv4 or IPv6) of the client, an IP prefix (IPv4 or IPv6) of the form
+(IPv4 or IPv6) of the client, an IP prefix (IPv4 or IPv6) on the form
 IpAddress/PrefixLength, or a domain name (FQDN). Note that literal IPv6
 addresses must be enclosed in brackets.
     </para>
@@ -424,10 +426,10 @@ The <literal>rewriteAttribute</literal> option currently makes it possible to
 specify that the User-Name attribute in a client request shall be rewritten in
 the request sent by the proxy. The User-Name attribute is written back to the
 original value if a matching response is later sent back to the client. The
-value must be of the form User-Name:/regexpmatch/replacement/. Example usage:
+value must be on the form User-Name:/regexpmatch/replacement/. Example usage:
       <blockquote>
         <para>
-rewriteAttribute User-Name:/^(.*)@local$/$1@example.com/
+rewriteAttribute User-Name:/^(.*)@local$/\1@example.com/
         </para>
       </blockquote>
     </para>
@@ -471,7 +473,8 @@ The allowed options in a server block are <literal>host</literal>,
 <literal>rewrite</literal>,
 <literal>rewriteIn</literal>, <literal>rewriteOut</literal>,
 <literal>statusServer</literal>, <literal>retryCount</literal>,
-<literal>retryInterval</literal> and <literal>dynamicLookupCommand</literal>.
+<literal>retryInterval</literal>, <literal>dynamicLookupCommand</literal>
+and <literal>loopPrevention</literal>.
     </para>
     <para>
 We already discussed the <literal>host</literal> option. The
@@ -506,6 +509,11 @@ The option <literal>dynamicLookupCommand</literal> can be used to specify a
 command that should be executed to dynamically configure and use a server.
 The use of this feature will be documented separately/later.
     </para>
+    <para>
+Using the <literal>loopPrevention</literal> option here overrides any
+basic setting of this option.  See section <literal>BASIC
+OPTIONS</literal> for details on this option.
+    </para>
   </refsect1>
   <refsect1>
     <title>Realm Block</title>
@@ -682,15 +690,21 @@ rewrite on input. No rewriting is done on output unless explicitly specifed
 using the <literal>rewriteOut</literal> option.
     </para>
     <para>
-The available rewrite block options are <literal>addAttribute</literal>,
+The available rewrite block options
+are <literal>addAttribute</literal>, <literal>addVendorAttribute</literal>,
 <literal>removeAttribute</literal>, <literal>removeVendorAttribute</literal>
 and <literal>modifyAttribute</literal>. They can all be specified none, one
 or multiple times.
     </para>
     <para>
-<literal>addAttribute</literal> is used to add attributes to a message. The
-option value must be of the form <literal>attribute:value</literal> where
-attribute is a numerical value specifying the attribute.
+<literal>addAttribute</literal> is used to add attributes to a
+message. The option value must be on the
+form <literal>attribute:value</literal> where attribute is a numerical
+value specifying the attribute.  Simliarly,
+the <literal>addVendorAttribute</literal> is used to specify a vendor
+attribute to be added.  The option value must be on the
+form <literal>vendor:subattribute:value</literal>, where vendor and
+subattribute are numerical values.
     </para>
     <para>
 The <literal>removeAttribute</literal> option is used to specify an
@@ -698,20 +712,20 @@ attribute that  should be removed from received messages. The option value
 must be a numerical value specifying which attribute is to be removed.
 Similarly, <literal>removeVendorAttribute</literal> is used to specify a
 vendor attribute that is to be removed. The value can be a numerical value
-for removing all attributes from a given vendor, or of the form
+for removing all attributes from a given vendor, or on the form
 <literal>vendor:subattribute</literal>, where vendor and subattribute are
 numerical values, for removing a specific subattribute for a specific
 vendor.
     </para>
     <para>
 <literal>modifyAttribute</literal> is used to specify modification of
-attributes. The value must be of the form
+attributes. The value must be on the form
 <literal>attribute:/regexpmatch/replacement/</literal> where attribute is
 a numerical attribute type, regexpmatch is regexp matching rule and
 replacement specifies how to replace the matching regexp. Example usage:
       <blockquote>
         <para>
-modifyAttribute 1:/^(.*)@local$/$1@example.com/
+modifyAttribute 1:/^(.*)@local$/\1@example.com/
         </para>
       </blockquote>
     </para>