]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Update raddb/mods-available/echo 2445/head
authorJorge Pereira <jpereiran@gmail.com>
Tue, 29 Jan 2019 22:12:18 +0000 (20:12 -0200)
committerJorge Pereira <jpereiran@gmail.com>
Tue, 29 Jan 2019 22:12:18 +0000 (20:12 -0200)
raddb/mods-available/echo

index 80c270523125681d7d02a1f97a4d6e1ecd429b00..fe805b948045347913f75bceb1faa8a89a4568fc 100644 (file)
@@ -1,39 +1,50 @@
 # -*- text -*-
 #
+# :toc:
+#
 #  $Id$
 
+#######################################################################
+#
+# ## Echo Module
+#
+#  The `echo` module is used for execute an external program in more than
+#  one section (e.g. `recv`, `pre_proxy`, etc), then it is probably best
+#  to define a different instance of the `exec` module for every section.
+#
+#  NOTE: This is a more general example of the execute module.
 #
-#  This is a more general example of the execute module.
+#    Attribute-Name = `%{echo:/path/to/program args}`
 #
-#  This one is called "echo".
+#  The return value of the program run determines the result of the exec
+#  instance call as follows:
 #
-#  Attribute-Name = `%{echo:/path/to/program args}`
+#  [options="header,autowidth"]
+#  |===
+#  | Code | Return    | Description
+#  | < 0  | fail      | the module failed.
+#  | = 0  | ok        | the module succeeded.
+#  | = 1  | reject    | the module rejected the user.
+#  | = 2  | fail      | the module failed.
+#  | = 3  | ok        | the module succeeded.
+#  | = 4  | handled   | the module has done everything to handle the request.
+#  | = 5  | invalid   | the user's configuration entry was invalid.
+#  | = 6  | userlock  | the user was locked out.
+#  | = 7  | notfound  | the user was not found.
+#  | = 8  | noop      | the module did nothing.
+#  | = 9  | updated   | the module updated information in the request.
+#  | > 9  | fail      | the module failed.
+#  |===
 #
-#  If you wish to execute an external program in more than
-#  one section (e.g. 'authorize', 'pre_proxy', etc), then it
-#  is probably best to define a different instance of the
-#  'exec' module for every section.
+#  NOTE: See `doc/configurable_failover` for details.
 #
-#  The return value of the program run determines the result
-#  of the exec instance call as follows:
-#  (See doc/configurable_failover for details)
+
 #
-#  < 0 : fail      the module failed
-#  = 0 : ok        the module succeeded
-#  = 1 : reject    the module rejected the user
-#  = 2 : fail      the module failed
-#  = 3 : ok        the module succeeded
-#  = 4 : handled   the module has done everything to handle the request
-#  = 5 : invalid   the user's configuration entry was invalid
-#  = 6 : userlock  the user was locked out
-#  = 7 : notfound  the user was not found
-#  = 8 : noop      the module did nothing
-#  = 9 : updated   the module updated information in the request
-#  > 9 : fail      the module failed
+# ## Default instance
 #
 exec echo {
        #
-       #  Wait for the program to finish.
+       #  wait:: Wait for the program to finish.
        #
        #  If we do NOT wait, then the program is "fire and
        #  forget", and any output attributes from it are ignored.
@@ -43,65 +54,71 @@ exec echo {
        #  request, then we MUST wait for the program to
        #  finish, and therefore set 'wait=yes'
        #
-       # allowed values: {no, yes}
        wait = yes
 
        #
-       #  The name of the program to execute, and it's
-       #  arguments.  Dynamic translation is done on this
-       #  field, so things like the following example will
-       #  work.
+       #  program:: The name of the program to execute, and it's
+       #  arguments. 
+       #  
+       #  Dynamic translation is done on this field, so things like
+       #  the following example will work.
        #
        program = "/bin/echo %{User-Name}"
 
        #
-       #  The attributes which are placed into the
+       #  input_pairs:: The attributes which are placed into the
        #  environment variables for the program.
        #
        #  Allowed values are:
        #
-       #       request         attributes from the request
-       #       config          attributes from the configuration items list
-       #       reply           attributes from the reply
-       #       proxy-request   attributes from the proxy request
-       #       proxy-reply     attributes from the proxy reply
+       #  [options="header,autowidth"]
+       #  |===
+       #  | Pairs         | Description
+       #  | request       | attributes from the request
+       #  | config        | attributes from the configuration items list
+       #  | reply         | attributes from the reply
+       #  | proxy-request | attributes from the proxy request
+       #  | proxy-reply   | attributes from the proxy reply
+       #  |===
        #
-       #  Note that some attributes may not exist at some
-       #  stages.  e.g. There may be no proxy-reply
-       #  attributes if this module is used in the
-       #  'authorize' section.
+       #  NOTE: Some attributes may not exist at some stages.
+       #  e.g. There may be no proxy-reply attributes if this module is used
+       #  in the `recv` section.
        #
        input_pairs = request
 
        #
-       #  Where to place the output attributes (if any) from
-       #  the executed program.  The values allowed, and the
-       #  restrictions as to availability, are the same as
-       #  for the input_pairs.
+       #  output_pairs::: Where to place the output attributes (if any) from
+       #  the executed program. 
+       # 
+       #  The values allowed, and the restrictions as to availability, are the
+       #  same as for the `input_pairs`.
        #
        output_pairs = reply
 
        #
-       #  Should we escape the environment variables?
+       #  shell_escape:: Escape the environment variables.
+       #
+       #  If this is set, all the RADIUS attributes are capitalised and dashes
+       #  replaced with underscores. Also, RADIUS values are surrounded with
+       #  double-quotes.
        #
-       #  If this is set, all the RADIUS attributes
-       #  are capitalised and dashes replaced with
-       #  underscores. Also, RADIUS values are surrounded
-       #  with double-quotes.
+       #  That is to say:
+       #
+       #    User-Name=BobUser => USER_NAME="BobUser"
        #
-       #  That is to say: User-Name=BobUser => USER_NAME="BobUser"
        shell_escape = yes
 
        #
-       #  How long should we wait for the program to finish?
+       #  timeout:: Set a time wait for the program to finish.
        #
-       #  Default is 10 seconds, which should be plenty for nearly
-       #  anything. Range is 1 to 30 seconds. You are strongly
-       #  encouraged to NOT increase this value. Decreasing can
-       #  be used to cause authentication to fail sooner when you
-       #  know it's going to fail anyway due to the time taken,
+       #  Default is `10` seconds, which should be plenty for nearly
+       #  anything. Range is `1` to `30` seconds.
+       # 
+       #  WARNING: You are strongly encouraged to NOT increase this value.
+       #  Decreasing can be used to cause authentication to fail sooner
+       #  when you know it's going to fail anyway due to the time taken,
        #  thereby saving resources.
        #
-       #timeout = 10
-
+#      timeout = 10
 }