New build path variable
[freeradius.git] / doc / processing_users_file.rst
1 How is the USERS file processed?
2 ================================
3
4 See ``man users`` for more detailed documentation.
5
6 After the items of a request have been mangled by the ``hints`` and
7 ``huntgroups`` files, the ``users`` file is processed.
8
9 A request has initially an empty check list and an empty reply list
10 attached to it. So each request has 3 "value-pair" lists associated with it
11
12 - the request list (as originated from the terminal server)
13 - the check list   (initially empty)
14 - the reply list   (initially empty)
15
16 For every entry in the users file, the User-Name attribute
17 (Value-Pair) is checked.  If it matches, or it is a ``DEFAULT`` entry,
18 then the items on the first line of the entry are compared with the
19 attributes from the request. If all items match (logical "and") then
20 the following actions are taken:
21
22 - the check items from the current entry are added to the check list
23   of the request.
24 - The reply list of the ``users`` file entry is appended to the reply
25   list of the request
26
27 Then a check is made to see if the reply pairlist contains a special
28 line of ``Fall-Through = Yes``. If so, the next entry in the ``users``
29 file is processed as above. If not, we stop processing the ``users``
30 file.