*** xref:unlang/condition/index.adoc[Conditional Expressions]
**** xref:unlang/condition/cmp.adoc[Comparisons]
-**** xref:unlang/condition/expression.adoc[Mathematical Expressions]
+**** xref:unlang/condition/expression.adoc[Mathematica Expressions]
**** xref:unlang/condition/operands.adoc[Operands]
**** xref:unlang/condition/return_codes.adoc[The return code operator]
**** xref:unlang/condition/eq.adoc[The '==' operator]
** xref:raddb/index.adoc[Configuration Files]
*** xref:raddb/format.adoc[Format of the Configuration Files]
-
*** xref:raddb/certs/index.adoc[Certificates]
-
*** xref:raddb/global.d/index.adoc[Global Configuration]
**** xref:raddb/global.d/ldap.adoc[ldap]
**** xref:raddb/global.d/python.adoc[python]
-*** xref:raddb/mods-available/index.adoc[Modules]
-**** xref:raddb/mods-available/all_modules.adoc[Summary of all modules]
-**** xref:raddb/mods-available/always.adoc[Always]
-**** xref:raddb/mods-available/attr_filter.adoc[Attr_filter]
-**** xref:raddb/mods-available/cache.adoc[Cache]
-**** xref:raddb/mods-available/cache_eap.adoc[Cache EAP]
-**** xref:raddb/mods-available/cache_tls.adoc[Cache TLS Session]
+** xref:raddb/mods-available/index.adoc[Modules]
+*** xref:raddb/mods-available/all_modules.adoc[Summary of all modules]
+
+*** xref:raddb/mods-available/doc/authentication.adoc[Authentication]
**** xref:raddb/mods-available/chap.adoc[CHAP module]
-**** xref:raddb/mods-available/cipher.adoc[Cipher]
-**** xref:raddb/mods-available/client.adoc[Client]
-**** xref:raddb/mods-available/csv.adoc[CSV]
-**** xref:raddb/mods-available/cui.adoc[CUI]
-**** xref:raddb/mods-available/date.adoc[Date]
-**** xref:raddb/mods-available/delay.adoc[Delay]
-**** xref:raddb/mods-available/detail.adoc[Detail]
-**** xref:raddb/mods-available/detail.example.com.adoc[Detail (Sample)]
-**** xref:raddb/mods-available/detail.log.adoc[Detail (Log Sample)]
-**** xref:raddb/mods-available/dhcpv4.adoc[DHCPv4]
-**** xref:raddb/mods-available/dict.adoc[Dict]
**** xref:raddb/mods-available/digest.adoc[Digest]
**** xref:raddb/mods-available/eap.adoc[EAP]
**** xref:raddb/mods-available/eap_inner.adoc[EAP/Inner]
-**** xref:raddb/mods-available/echo.adoc[Echo]
-**** xref:raddb/mods-available/escape.adoc[Escape]
-**** xref:raddb/mods-available/etc_group.adoc[etc_group]
-**** xref:raddb/mods-available/exec.adoc[Exec]
-**** xref:raddb/mods-available/files.adoc[Files]
-***** xref:raddb/mods-config/files/users.adoc[users file format]
-**** xref:raddb/mods-available/idn.adoc[IDN]
-**** xref:raddb/mods-available/isc_dhcp.adoc[ISC DHCP]
**** xref:raddb/mods-available/imap.adoc[IMAP]
-**** xref:raddb/mods-available/json.adoc[JSON]
**** xref:raddb/mods-available/krb5.adoc[Kerberos]
-**** xref:raddb/mods-available/ldap.adoc[LDAP (Lightweight Directory Access Protocol)]
-**** xref:raddb/mods-available/linelog.adoc[Linelog]
-**** xref:raddb/mods-available/logtee.adoc[Logtee]
-**** xref:raddb/mods-available/lua.adoc[Lua]
-**** xref:raddb/mods-available/mac2ip.adoc[Mac2IP]
-**** xref:raddb/mods-available/mac2vlan.adoc[Mac2Vlan]
-**** xref:raddb/mods-available/mschap.adoc[Microsoft CHAP authentication]
+**** xref:raddb/mods-available/mschap.adoc[Microsoft CHAP]
**** xref:raddb/mods-available/ntlm_auth.adoc[NTLM Auth]
-**** xref:raddb/mods-available/opendirectory.adoc[OpenDirectory]
**** xref:raddb/mods-available/pam.adoc[Pluggable Authentication]
**** xref:raddb/mods-available/pap.adoc[PAP]
+**** xref:raddb/mods-available/totp.adoc[TOTP]
+**** xref:raddb/mods-available/winbind.adoc[Winbind]
+**** xref:raddb/mods-available/yubikey.adoc[Yubikey]
+
+*** xref:raddb/mods-available/doc/datastore.adoc[Datastore]
+**** xref:raddb/mods-available/cache.adoc[Cache]
+**** xref:raddb/mods-available/cache_eap.adoc[Cache EAP]
+**** xref:raddb/mods-available/cache_tls.adoc[Cache TLS Session]
+**** xref:raddb/mods-available/client.adoc[Client]
+**** xref:raddb/mods-available/csv.adoc[CSV]
+**** xref:raddb/mods-available/couchbase.adoc[Couchbase]
+**** xref:raddb/mods-available/etc_group.adoc[etc_group]
+**** xref:raddb/mods-available/files.adoc[Files]
+***** xref:raddb/mods-config/files/users.adoc[File Format]
+**** xref:raddb/mods-available/ldap.adoc[LDAP]
+**** xref:raddb/mods-available/opendirectory.adoc[OpenDirectory]
**** xref:raddb/mods-available/passwd.adoc[Passwd]
-**** xref:raddb/mods-available/perl.adoc[Perl]
-**** xref:raddb/mods-available/python.adoc[Python]
-**** xref:raddb/mods-available/radius.adoc[Radius]
**** xref:raddb/mods-available/redis.adoc[REDIS]
-**** xref:raddb/mods-available/redis_ippool.adoc[Redis IP Pool]
-**** xref:raddb/mods-available/rediswho.adoc[REDISWho]
-**** xref:raddb/mods-available/redundant_sql.adoc[redundant_sql]
+***** xref:raddb/mods-available/redis_ippool.adoc[IP Pool]
+***** xref:raddb/mods-available/rediswho.adoc[User tracking]
**** xref:raddb/mods-available/rest.adoc[Rest]
-**** xref:raddb/mods-available/mruby.adoc[Ruby]
**** xref:raddb/mods-available/smbpasswd.adoc[SMBPasswd]
-**** xref:raddb/mods-available/sometimes.adoc[Sometimes]
**** xref:raddb/mods-available/sql.adoc[SQL]
-**** xref:raddb/mods-available/sqlcounter.adoc[SQL Counter]
-**** xref:raddb/mods-available/sqlippool.adoc[SQL-IP-Pool]
-**** xref:raddb/mods-available/stats.adoc[Stats]
-**** xref:raddb/mods-available/totp.adoc[TOTP]
-**** xref:raddb/mods-available/unbound.adoc[Unbound]
+***** xref:raddb/mods-available/sqlippool.adoc[IP-Pool]
+**&** xref:raddb/mods-available/redundant_sql.adoc[Redundant]
**** xref:raddb/mods-available/unix.adoc[Unix]
+
+*** xref:raddb/mods-available/doc/language.adoc[Language]
+**** xref:raddb/mods-available/exec.adoc[Exec]
+***** xref:raddb/mods-available/echo.adoc[Echo Example]
+**** xref:raddb/mods-available/lua.adoc[Lua]
+**** xref:raddb/mods-available/perl.adoc[Perl]
+**** xref:raddb/mods-available/python.adoc[Python]
+**** xref:raddb/mods-available/mruby.adoc[Ruby]
+
+*** xref:raddb/mods-available/doc/logging.adoc[Logging]
+**** xref:raddb/mods-available/linelog.adoc[Linelog]
+**** xref:raddb/mods-available/logtee.adoc[Logtee]
+**** xref:raddb/mods-available/detail.adoc[Detail]
+***** xref:raddb/mods-available/detail.example.com.adoc[Example]
+***** xref:raddb/mods-available/detail.log.adoc[Logging]
+
+*** xref:raddb/mods-available/doc/policy.adoc[Policy]
+**** xref:raddb/mods-available/always.adoc[Always]
+**** xref:raddb/mods-available/attr_filter.adoc[Attr_filter]
+**** xref:raddb/mods-available/cipher.adoc[Cipher]
+**** xref:raddb/mods-available/date.adoc[Date]
+**** xref:raddb/mods-available/delay.adoc[Delay]
+**** xref:raddb/mods-available/escape.adoc[Escape]
+**** xref:raddb/mods-available/idn.adoc[IDN]
+**** xref:raddb/mods-available/json.adoc[JSON]
+**** xref:raddb/mods-available/sometimes.adoc[Sometimes]
+**** xref:raddb/mods-available/sqlcounter.adoc[SQL Counter]
**** xref:raddb/mods-available/unpack.adoc[Unpack]
**** xref:raddb/mods-available/utf8.adoc[UTF-8]
-**** xref:raddb/mods-available/wimax.adoc[WiMAX]
-**** xref:raddb/mods-available/winbind.adoc[Winbind]
-**** xref:raddb/mods-available/yubikey.adoc[Yubikey]
-*** xref:raddb/sites-available/index.adoc[Virtual Servers]
-**** xref:raddb/sites-available/arp.adoc[ARP]
-**** xref:raddb/sites-available/bfd.adoc[BFD]
-**** xref:raddb/sites-available/dhcp.adoc[DHCPv4]
-***** xref:raddb/sites-available/dhcp.relay.adoc[Relay]
-**** xref:raddb/sites-available/dhcpv6.adoc[DHCPv6]
-**** xref:raddb/sites-available/dns.adoc[DNS]
-**** xref:raddb/sites-available/ldap_sync.adoc[LDAP Sync]
-**** xref:raddb/sites-available/control-socket.adoc[Server Control]
+*** xref:raddb/mods-available/doc/protocol.adoc[Protocol]
+**** xref:raddb/mods-available/dhcpv4.adoc[DHCPv4]
+***** xref:raddb/mods-available/isc_dhcp.adoc[ISC DHCP]
+**** xref:raddb/mods-available/radius.adoc[Radius]
+***** xref:raddb/mods-available/cui.adoc[CUI]
+***** xref:raddb/mods-available/wimax.adoc[WiMAX]
+
+*** xref:raddb/mods-available/doc/utility.adoc[Utility]
+**** xref:raddb/mods-available/dict.adoc[Dict]
+**** xref:raddb/mods-available/mac2ip.adoc[Mac2IP]
+**** xref:raddb/mods-available/mac2vlan.adoc[Mac2Vlan]
+**** xref:raddb/mods-available/smtp.adoc[SMTP]
+**** xref:raddb/mods-available/stats.adoc[Stats]
+**** xref:raddb/mods-available/unbound.adoc[Unbound]
+
+** xref:raddb/sites-available/index.adoc[Virtual Servers]
+*** xref:raddb/sites-available/arp.adoc[ARP]
+*** xref:raddb/sites-available/bfd.adoc[BFD]
+*** xref:raddb/sites-available/control-socket.adoc[Control Socket]
+*** xref:raddb/sites-available/dhcp.adoc[DHCPv4]
+**** xref:raddb/sites-available/dhcp.relay.adoc[Relay]
+*** xref:raddb/sites-available/dhcpv6.adoc[DHCPv6]
+*** xref:raddb/sites-available/dns.adoc[DNS]
+*** xref:raddb/sites-available/ldap_sync.adoc[LDAP Sync]
**** xref:raddb/sites-available/default.adoc[RADIUS]
***** xref:raddb/sites-available/buffered-sql.adoc[Buffered SQL]
***** xref:raddb/sites-available/originate-coa.adoc[Originate CoA-Request]
***** xref:raddb/sites-available/robust-proxy-accounting.adoc[Robust Proxy Accounting]
***** xref:raddb/sites-available/proxy-inner-tunnel.adoc[Proxy Inner Tunnel]
-
**** xref:raddb/sites-available/status.adoc[Status]
**** xref:raddb/sites-available/tacacs.adoc[TACACS+]
**** xref:raddb/sites-available/tls.adoc[TLS]
***** xref:raddb/sites-available/tls-cache.adoc[TLS Cache]
**** xref:raddb/sites-available/vmps.adoc[VMPS]
-
**** xref:raddb/sites-available/dynamic-clients.adoc[Dynamic Clients]
*** xref:raddb/clients.conf.adoc[Clients]
-*** xref:raddb/debug.conf.adoc[Debugging configuration]
-*** xref:raddb/dictionary.adoc[Local dictionary definitions]
+*** xref:raddb/debug.conf.adoc[Debugging Configuration]
+*** xref:raddb/dictionary.adoc[Local Dictionary Definitions]
*** xref:raddb/radrelay.conf.adoc[Radrelay Configuration]
*** xref:raddb/radiusd.conf.adoc[Server Configuration File]
*** xref:raddb/templates.conf.adoc[Templates]
| xref:raddb/mods-available/digest.adoc[digest] | The digest module performs HTTP digest authentication, usually for a SIP server. See draft-sterman-aaa-sip-00.txt for
details. The module does not support RFC 5090.
| xref:raddb/mods-available/eap.adoc[eap] | Implements the base protocol for EAP (Extensible Authentication Protocol).
+| xref:raddb/mods-available/eap_inner.adoc[eap_inner] | EAP/Inner Configuration for secure transmissions.
| xref:raddb/mods-available/imap.adoc[imap] | Allows users to be authenticated against an IMAP server.
-| xref:raddb/mods-available/krb5.adoc[krb5] | Implements kerberos authentication, using the result of decrypting the TGT as an indication that the provided
-password was correct.
-| xref:raddb/mods-available/ldap.adoc[ldap] | Allows LDAP directory entries to be retrieved, modified, inserted and deleted.
+| xref:raddb/mods-available/krb5.adoc[krb5] | Implements kerberos authentication, using the result of decrypting the TGT as an indication that the provided password was correct.
+| xref:raddb/mods-available/ldap.adoc[ldap] | Can perform user authentication using LDAP binds, or by retrieving the contents of a password attribute for later comparison by a module such as rlm_pap, or an rlm_eap method.
| xref:raddb/mods-available/mschap.adoc[mschap] | Supports MS-CHAP and MS-CHAPv2 authentication. It also enforces the SMB-Account-Ctrl attribute.
-| xref:raddb/mods-available/opendirectory.adoc[opendirectory] | Integrates with an Apple OpenDirectory service on the same host as FreeRADIUS to allow OpenDirectory users to
-authenticate.
+| xref:raddb/mods-available/opendirectory.adoc[opendirectory] | Integrates with an Apple OpenDirectory service on the same host as FreeRADIUS to allow OpenDirectory users to authenticate.
+| xref:raddb/mods-available/ntlm_auth.adoc[ntlm_auth] | NTLM Auth
+| xref:raddb/mods-available/redundant_sql.adoc[redundant_sql] | Configure a redundant sql server.
| xref:raddb/mods-available/pam.adoc[pam] | Performs password checking via the Pluggable Authentication Module (PAM) framework.
-| xref:raddb/mods-available/pap.adoc[pap] | Accepts a large number of formats for the "known good" (reference) password, such as crypt hashes, md5 hashes,
-and etc. The module takes the User-Password and performs the necessary transformations of the user submitted password
+| xref:raddb/mods-available/pap.adoc[pap] | Accepts a large number of formats for the "known good" (reference) password, such as crypt hashes, md5 hashes, and etc. The module takes the User-Password and performs the necessary transformations of the user submitted password
to match the copy of the password the server has retrieved.
+| xref:raddb/mods-available/smbpasswd.adoc[smbpasswd] | SMBPasswd
+| xref:raddb/mods-available/totp.adoc[totp] | Implemments the TOTP algorithm to fufill authentication requests.
| xref:raddb/mods-available/wimax.adoc[wimax] | Implements WiMAX authentication over RADIUS.
| xref:raddb/mods-available/winbind.adoc[winbind] | The module also allows for direct connection to Samba winbindd (version 4.2.1 or above), which communicates with
Active-Directory to retrieve group information and the user's NT-Password.
-| xref:raddb/mods-available/yubikey.adoc[yubikey] | Supports authentication of yubikey tokens where the PSK is known to FreeRADIUS, and integrates with the Yubico
-cloud-based authentication service.
+| xref:raddb/mods-available/yubikey.adoc[yubikey] | Supports authentication of yubikey tokens where the PSK is known to FreeRADIUS, and integrates with the Yubico cloud-based authentication service.
|=====
== Authorization Modules
[cols="20%,80%"]
|=====
| Module | Description
-| xref:raddb/mods-available/smtp.adoc[smtp] | Allows users to submit smtp formatted, mime-encoded emails to a server
-Supports User-Name User-Password authentication
-Supports file attachments, size limited by the MTA.
+| xref:raddb/mods-available/smtp.adoc[smtp] | Allows users to submit smtp formatted, mime-encoded emails to a server Supports User-Name User-Password authentication Supports file attachments, size limited by the MTA.
|=====
== Datastore Modules
[cols="20%,80%"]
|=====
| Module | Description
-| xref:raddb/mods-available/cache.adoc[cache] | Stores attributes and/or lists and adds them back to a subsequent request or to the current request on a later execution
-of the module.
+| xref:raddb/mods-available/cache.adoc[cache] | Stores attributes and/or lists and adds them back to a subsequent request or to the current request on a later execution of the module.
+| xref:raddb/mods-available/cache_eap.adoc[cache_eap] | Cache EAP
+| xref:raddb/mods-available/cache_tls.adoc[cache_tls] | Cache TLS Session
| xref:raddb/mods-available/client.adoc[client] | Reads client definitions from flat files.
| xref:raddb/mods-available/csv.adoc[csv] | Maps values in a CSV file to FreeRADIUS attributes and adds them to the request.
+| xref:raddb/mods-available/ldap.adoc[ldap] | Allows LDAP directory entries to be retrieved, modified, inserted and deleted.
| xref:raddb/mods-available/passwd.adoc[passwd] | Reads and caches line-oriented files that are in a format similar to ``/etc/passwd``.
| xref:raddb/mods-available/redis.adoc[redis] | Provides connectivity to single and clustered instances of Redis. This module exposes a string expansion that may be
used to execute queries against Redis.
allocation, and implements pre-allocation for use with DHCPv4.
| xref:raddb/mods-available/rediswho.adoc[rediswho] | Records which users are currently logged into the service. The file is used mainly for Simultaneous-Use checking to see
who has current sessions.
+| xref:raddb/mods-available/redundant_sql.adoc[redundant_sql] | Configure a redundant sql server.
| xref:raddb/mods-available/sql.adoc[sql] | Provides an abstraction over multiple SQL backends, via database specific drivers.
| xref:raddb/mods-available/sqlippool.adoc[sqlippool] | SQL based IP allocation module.
| xref:raddb/mods-available/unix.adoc[unix] | Retrieves a user's encrypted password from the local system and places it into the ``control.Password.Crypt`` attribute.
|=====
| Module | Description
| xref:raddb/mods-available/detail.adoc[detail] | Writes attributes from a request list to a flat file in 'detail' format.
-| xref:raddb/mods-available/dhcpv4.adoc[dhcpv4] | Implements DHCPv4 (Dynamic Host Configuration Protocol for IPv4) client and relay.
+|xref:raddb/mods-available/detail.example.com.adoc[Detail Example] | Detail (Sample)
+| xref:raddb/mods-available/detail.log.adoc[detail.log] | Detail Log Example
| xref:raddb/mods-available/files.adoc[files] | Implements a traditional Livingston-style users file.
| xref:raddb/mods-available/icmp.adoc[icmp] | Sends an ICMP "echo request" message to a particular IP address.
-| xref:raddb/mods-available/linelog.adoc[linelog] | Creates log entries from attributes, string expansions, or static strings, and writes them to a variety of backends,
-including syslog, flat files, and raw UDP/TCP sockets.
-| xref:raddb/mods-available/logtee.adoc[logtee] | Tee's request logging at runtime, sending it to additional log destinations.
+
| xref:raddb/mods-available/radius.adoc[radius] | Allows Access-Requests, Accounting-Requests, CoA-Requests and Disconnect-Messages to be sent during request processing.
| xref:raddb/mods-available/rest.adoc[rest] | Sends HTTP requests to remote servers and decodes the responses.
| xref:raddb/mods-available/unbound.adoc[unbound] | Performs queries against a DNS service to allow FQDNs to be resolved during request processing.
| xref:raddb/mods-available/python.adoc[python] | Allows the server to call a persistent, embedded Python script.
|=====
-== Miscellaneous Modules
+== Policy Modules
[options="header"]
[cols="20%,80%"]
|=====
| Module | Description
-| xref:raddb/mods-available/cache_eap.adoc[cache_eap] | Cache EAP
-| xref:raddb/mods-available/cache_tls.adoc[cache_tls] | Cache TLS Session
-| xref:raddb/mods-available/cipher.adoc[cipher] | Cipher
-| xref:raddb/mods-available/cui.adoc[cui] | CUI
-| xref:raddb/mods-available/detail.example.com.adoc[detail.example.com] | Detail (Sample)
-| xref:raddb/mods-available/detail.log.adoc[detail.log] | Detail (Log Sample)
-| xref:raddb/mods-available/eap_inner.adoc[eap_inner] | EAP/Inner
-| xref:raddb/mods-available/echo.adoc[echo] | Echo
-| xref:raddb/mods-available/etc_group.adoc[etc_group] | etc_group
+| xref:raddb/mods-available/always.adoc[always] | Returns a pre-configured result code such as 'ok', 'noop', 'reject' etc...
+| xref:raddb/mods-available/attr_filter.adoc[attr_filter] | Filters attributes in a request. Can delete attributes or permit them to have only certain values.
+| xref:raddb/mods-available/cipher.adoc[cipher] | Perform cryptographic calculations on data.
+| xref:raddb/mods-available/date.adoc[date] | Converts date strings between user configurable formats.
+| xref:raddb/mods-available/delay.adoc[delay] | Introduces an artificial non-blocking delay when processing a request.
+| xref:raddb/mods-available/escape.adoc[escape] | Escapes and unescapes strings using the MIME escape format
+| xref:raddb/mods-available/idn.adoc[idn] | Converts internationalized domain names to ASCII.
+| xref:raddb/mods-available/json.adoc[json] | Parses JSON strings into an in memory format using the json-c library.
+| xref:raddb/mods-available/sometimes.adoc[sometimes] | Is a hashing and distribution protocol, that will sometimes return one code or another depending on the input value
+configured.
+| xref:raddb/mods-available/sqlcounter.adoc[sqlcounter] | Records statistics for users such as data transfer and session time, and prevent further logins when limits are reached.
+| xref:raddb/mods-available/unpack.adoc[unpack] | Unpacks binary data from octets type attributes into individual attributes.
+| xref:raddb/mods-available/utf8.adoc[utf8] | Checks all attributes of type string in the current request, to ensure that they only contain valid UTF8 sequences.
+|=====
+
+== Protocol Modules
+[options="header"]
+[cols="20%,80%"]
+|=====
+| xref:raddb/mods-available/dhcpv4.adoc[dhcpv4] | Implements DHCPv4 (Dynamic Host Configuration Protocol for IPv4) client and relay.
| xref:raddb/mods-available/isc_dhcp.adoc[isc_dhcp] | isc_dhcp
-| xref:raddb/mods-available/mac2ip.adoc[mac2ip] | Mac2IP
-| xref:raddb/mods-available/mac2vlan.adoc[mac2vlan] | Mac2Vlan
-| xref:raddb/mods-available/ntlm_auth.adoc[ntlm_auth] | NTLM Auth
-| xref:raddb/mods-available/redundant_sql.adoc[redundant_sql] | redundant_sql
-| xref:raddb/mods-available/smbpasswd.adoc[smbpasswd] | SMBPasswd
-| xref:raddb/mods-available/stats.adoc[stats] | Stats
-| xref:raddb/mods-available/totp.adoc[totp] |
|=====
-== Policy Modules
+== Utility Modules
[options="header"]
[cols="20%,80%"]
|=====
| Module | Description
-| xref:raddb/mods-available/always.adoc[always] | Returns a pre-configured result code such as 'ok', 'noop', 'reject' etc...
-| xref:raddb/mods-available/attr_filter.adoc[attr_filter] | Filters attributes in a request. Can delete attributes or permit them to have only certain values.
-| xref:raddb/mods-available/cipher.adoc[cipher] | Cipher
-| xref:raddb/mods-available/date.adoc[date] | Converts date strings between user configurable formats.
-| xref:raddb/mods-available/delay.adoc[delay] | Introduces an artificial non-blocking delay when processing a request.
-| xref:raddb/mods-available/escape.adoc[escape] | Escapes and unescapes strings using the MIME escape format
-| xref:raddb/mods-available/idn.adoc[idn] | Converts internationalized domain names to ASCII.
-| xref:raddb/mods-available/json.adoc[json] | Parses JSON strings into an in memory format using the json-c library.
-| xref:raddb/mods-available/sometimes.adoc[sometimes] | Is a hashing and distribution protocol, that will sometimes return one code or another depending on the input value
-configured.
-| xref:raddb/mods-available/sqlcounter.adoc[sqlcounter] | Records statistics for users such as data transfer and session time, and prevent further logins when limits are reached.
-| xref:raddb/mods-available/unpack.adoc[unpack] | Unpacks binary data from octets type attributes into individual attributes.
-| xref:raddb/mods-available/utf8.adoc[utf8] | Checks all attributes of type string in the current request, to ensure that they only contain valid UTF8 sequences.
+
+| xref:raddb/mods-available/cui.adoc[cui] | CUI
+
+| xref:raddb/mods-available/echo.adoc[echo] | Echo
+| xref:raddb/mods-available/etc_group.adoc[etc_group] | etc_group
+| xref:raddb/mods-available/linelog.adoc[linelog] | Creates log entries from attributes, string expansions, or static strings, and writes them to a variety of backends, including syslog, flat files, and raw UDP/TCP sockets.
+| xref:raddb/mods-available/logtee.adoc[logtee] | Tee's request logging at runtime, sending it to additional log destinations.
+| xref:raddb/mods-available/mac2ip.adoc[mac2ip] | Mac2IP
+| xref:raddb/mods-available/mac2vlan.adoc[mac2vlan] | Mac2Vlan
+| xref:raddb/mods-available/stats.adoc[stats] | Stats
|=====
--- /dev/null
+= Authentication Modules
+
+The authentication modules manages the verification processes by validating a set of credentials. These modules are available for different types and methods of authentication. For example, RADIUS supports PAP, CHAP, or EAP protocols and multiple datastores like LDAP or local password file to verify a user's identity.
+
+The Authentication modules available are:
+
+xref:raddb/mods-available/chap.adoc[CHAP module]
+
+xref:raddb/mods-available/digest.adoc[Digest]
+
+xref:raddb/mods-available/eap.adoc[EAP]
+
+xref:raddb/mods-available/eap_inner.adoc[EAP/Inner]
+
+xref:raddb/mods-available/imap.adoc[IMAP]
+
+xref:raddb/mods-available/krb5.adoc[Kerberos]
+
+xref:raddb/mods-available/mschap.adoc[Microsoft CHAP authentication]
+
+xref:raddb/mods-available/pap.adoc[PAP]
+
+xref:raddb/mods-available/passwd.adoc[Passwd]
+
+xref:raddb/mods-available/totp.adoc[TOTP]
+
+xref:raddb/mods-available/wimax.adoc[WiMAX]
+
+xref:raddb/mods-available/winbind.adoc[Winbind]
+
+xref:raddb/mods-available/yubikey.adoc[Yubikey]
--- /dev/null
+= Datastore Modules
+
+Datastore modules are utilized to access and store your network information in a database or remote datastore.
+
+The available Datastore modules are:
+
+xref:raddb/mods-available/cache.adoc[Cache]
+
+xref:raddb/mods-available/cache_eap.adoc[Cache EAP]
+
+xref:raddb/mods-available/cache_tls.adoc[Cache TLS Session]
+
+xref:raddb/mods-available/client.adoc[Client]
+
+xref:raddb/mods-available/csv.adoc[CSV]
+
+xref:raddb/mods-available/ldap.adoc[LDAP]
+
+xref:raddb/mods-available/opendirectory.adoc[OpenDirectory]
+
+xref:raddb/mods-available/pam.adoc[Pluggable Authentication]
+
+xref:raddb/mods-available/redis.adoc[REDIS]
+
+xref:raddb/mods-available/redis_ippool.adoc[Redis IP Pool]
+
+xref:raddb/mods-available/rediswho.adoc[REDISWho]
+
+xref:raddb/mods-available/sql.adoc[SQL]
+
+xref:raddb/mods-available/sqlippool.adoc[SQL-IP-Pool]
+
+xref:raddb/mods-available/unix.adoc[Unix]
--- /dev/null
+= Language Modules
+
+Language modules are embedded with the RADIUS server to allow an administrator to extend the capabilities of with extra progamming languages.
+
+The available Language modules are:
+
+* xref:raddb/mods-available/exec.adoc[Exec]
+
+* xref:raddb/mods-available/lua.adoc[Lua]
+
+* xref:raddb/mods-available/perl.adoc[Perl]
+
+* xref:raddb/mods-available/python.adoc[Python]
+
+* xref:raddb/mods-available/mruby.adoc[Ruby]
--- /dev/null
+= IO Modules
+
+The IO modules are used to help configure and transmit data.
+
+The available IO modules are:
+
+* xref:raddb/mods-available/dict.adoc[Dict]
+* xref:raddb/mods-available/files.adoc[Files]
+* xref:raddb/mods-available/linelog.adoc[Linelog]
+* xref:raddb/mods-available/logtee.adoc[Logtee]
+* xref:raddb/mods-available/detail.adoc[Detail]
+** xref:raddb/mods-available/detail.example.com.adoc[Detail Sample]
+** xref:raddb/mods-available/detail.log.adoc[Detail Log Sample]
+* xref:raddb/mods-available/radius.adoc[Radius]
+* xref:raddb/mods-available/rest.adoc[Rest]
+* xref:raddb/mods-available/stats.adoc[Stats]
+* xref:raddb/mods-available/unbound.adoc[Unbound]
--- /dev/null
+= Policy Modules
+
+These modules are used to implement different policies to manage data transmission, storage, server configs and behaviors.
+
+The available Policy modules are:
+
+* xref:raddb/mods-available/always.adoc[Always]
+
+* xref:raddb/mods-available/attr_filter.adoc[Attr_filter]
+
+* xref:raddb/mods-available/cipher.adoc[Cipher]
+
+* xref:raddb/mods-available/date.adoc[Date]
+
+* xref:raddb/mods-available/delay.adoc[Delay]
+
+* xref:raddb/mods-available/escape.adoc[Escape]
+
+* xref:raddb/mods-available/idn.adoc[IDN]
+
+* xref:raddb/mods-available/json.adoc[JSON]
+
+* xref:raddb/mods-available/sometimes.adoc[Sometimes]
+
+* xref:raddb/mods-available/sqlcounter.adoc[SQL Counter]
+
+* xref:raddb/mods-available/unpack.adoc[Unpack]
+
+* xref:raddb/mods-available/utf8.adoc[UTF-8]
--- /dev/null
+= Protocol Modules
+
+The available protocol modules are:
+
+* xref:raddb/mods-available/dhcpv4.adoc[DHCPv4]
+
+* xref:raddb/mods-available/isc_dhcp.adoc[ISC DHCP]
--- /dev/null
+= Utility Modules
+
+The available utility modules are:
+
+* xref:raddb/mods-available/smtp.adoc[SMTP]
-
-
-
-
= LDAP (Lightweight Directory Access Protocol) Module
The `ldap` module allows LDAP directory entries to be retrieved, modified,
should usually come last. This ordering means that it will be easier
to debug policies, and understand how the file works.
-== Check and Reply Item Iormat
+== Check and Reply Item Format
Each check item or reply item must follow the same format, which is shown in the examples above. The format is an attribute name, followed by an operator, and then a value.