Skip to content

Commit 299bf8c

Browse files
committed
rearrange mods-available nav
and add short summaries of the various modules
1 parent 07df936 commit 299bf8c

File tree

9 files changed

+171
-88
lines changed

9 files changed

+171
-88
lines changed

doc/antora/modules/reference/nav.adoc

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -136,37 +136,49 @@
136136
**** xref:raddb/mods-available/eap_inner.adoc[EAP/Inner]
137137
**** xref:raddb/mods-available/imap.adoc[IMAP]
138138
**** xref:raddb/mods-available/krb5.adoc[Kerberos]
139+
**** xref:raddb/mods-available/ldap.adoc[LDAP]
139140
**** xref:raddb/mods-available/mschap.adoc[Microsoft CHAP]
140141
**** xref:raddb/mods-available/ntlm_auth.adoc[NTLM Auth]
141142
**** xref:raddb/mods-available/pam.adoc[Pluggable Authentication]
142143
**** xref:raddb/mods-available/pap.adoc[PAP]
144+
xref:raddb/mods-available/rest.adoc[REST]
143145
**** xref:raddb/mods-available/totp.adoc[TOTP]
144146
**** xref:raddb/mods-available/winbind.adoc[Winbind]
145147
**** xref:raddb/mods-available/yubikey.adoc[Yubikey]
146148

147149
*** xref:raddb/mods-available/doc/datastore.adoc[Datastore]
148150
**** xref:raddb/mods-available/cache.adoc[Cache]
149-
**** xref:raddb/mods-available/cache_eap.adoc[Cache EAP]
150-
**** xref:raddb/mods-available/cache_tls.adoc[Cache TLS Session]
151+
***** xref:raddb/mods-available/cache_eap.adoc[Cache EAP]
152+
***** xref:raddb/mods-available/cache_tls.adoc[Cache TLS Session]
151153
**** xref:raddb/mods-available/client.adoc[Client]
152154
**** xref:raddb/mods-available/csv.adoc[CSV]
153-
**** xref:raddb/mods-available/couchbase.adoc[Couchbase]
154155
**** xref:raddb/mods-available/etc_group.adoc[etc_group]
155156
**** xref:raddb/mods-available/files.adoc[Files]
156157
***** xref:raddb/mods-config/files/users.adoc[File Format]
157158
**** xref:raddb/mods-available/ldap.adoc[LDAP]
158159
**** xref:raddb/mods-available/opendirectory.adoc[OpenDirectory]
159160
**** xref:raddb/mods-available/passwd.adoc[Passwd]
161+
***** xref:raddb/mods-available/mac2ip.adoc[Mac2IP]
162+
***** xref:raddb/mods-available/mac2vlan.adoc[Mac2Vlan]
163+
***** xref:raddb/mods-available/smbpasswd.adoc[SMBPasswd]
160164
**** xref:raddb/mods-available/redis.adoc[REDIS]
161165
***** xref:raddb/mods-available/redis_ippool.adoc[IP Pool]
162166
***** xref:raddb/mods-available/rediswho.adoc[User tracking]
163167
**** xref:raddb/mods-available/rest.adoc[Rest]
164-
**** xref:raddb/mods-available/smbpasswd.adoc[SMBPasswd]
165168
**** xref:raddb/mods-available/sql.adoc[SQL]
169+
***** xref:raddb/mods-available/sqlcounter.adoc[Counter]
166170
***** xref:raddb/mods-available/sqlippool.adoc[IP-Pool]
167-
**&** xref:raddb/mods-available/redundant_sql.adoc[Redundant]
171+
***** xref:raddb/mods-available/redundant_sql.adoc[Redundant]
168172
**** xref:raddb/mods-available/unix.adoc[Unix]
169173

174+
*** xref:raddb/mods-available/doc/format.adoc[Formatting and Conversion]
175+
**** xref:raddb/mods-available/cipher.adoc[Cipher]
176+
**** xref:raddb/mods-available/date.adoc[Date]
177+
**** xref:raddb/mods-available/escape.adoc[Escape]
178+
**** xref:raddb/mods-available/json.adoc[JSON]
179+
**** xref:raddb/mods-available/unpack.adoc[Unpack]
180+
**** xref:raddb/mods-available/utf8.adoc[UTF-8]
181+
170182
*** xref:raddb/mods-available/doc/language.adoc[Language]
171183
**** xref:raddb/mods-available/exec.adoc[Exec]
172184
***** xref:raddb/mods-available/echo.adoc[Echo Example]
@@ -185,16 +197,8 @@
185197
*** xref:raddb/mods-available/doc/policy.adoc[Policy]
186198
**** xref:raddb/mods-available/always.adoc[Always]
187199
**** xref:raddb/mods-available/attr_filter.adoc[Attr_filter]
188-
**** xref:raddb/mods-available/cipher.adoc[Cipher]
189-
**** xref:raddb/mods-available/date.adoc[Date]
190-
**** xref:raddb/mods-available/delay.adoc[Delay]
191-
**** xref:raddb/mods-available/escape.adoc[Escape]
192200
**** xref:raddb/mods-available/idn.adoc[IDN]
193-
**** xref:raddb/mods-available/json.adoc[JSON]
194201
**** xref:raddb/mods-available/sometimes.adoc[Sometimes]
195-
**** xref:raddb/mods-available/sqlcounter.adoc[SQL Counter]
196-
**** xref:raddb/mods-available/unpack.adoc[Unpack]
197-
**** xref:raddb/mods-available/utf8.adoc[UTF-8]
198202

199203
*** xref:raddb/mods-available/doc/protocol.adoc[Protocol]
200204
**** xref:raddb/mods-available/dhcpv4.adoc[DHCPv4]
@@ -205,8 +209,6 @@
205209

206210
*** xref:raddb/mods-available/doc/utility.adoc[Utility]
207211
**** xref:raddb/mods-available/dict.adoc[Dict]
208-
**** xref:raddb/mods-available/mac2ip.adoc[Mac2IP]
209-
**** xref:raddb/mods-available/mac2vlan.adoc[Mac2Vlan]
210212
**** xref:raddb/mods-available/smtp.adoc[SMTP]
211213
**** xref:raddb/mods-available/stats.adoc[Stats]
212214
**** xref:raddb/mods-available/unbound.adoc[Unbound]
Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,54 @@
11
= Authentication Modules
22

3-
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.
3+
The authentication modules verify user credentials. They can do this
4+
by checking them against an external system, or by implementing an
5+
authentication protocol such as EAP.
6+
7+
There are many different types and methods of authentication. For
8+
example, RADIUS supports PAP, CHAP, or EAP. In many cases, datastores
9+
such as LDAP can be used to check a users name and password.
10+
11+
In most cases, we recommend using a
12+
xref:raddb/mods-available/doc/datastore.adoc[datastore]
13+
(i.e. database) to store user credentials. The server can then obtain
14+
the credentials from the datastore, and run the authentication method
15+
itself.
16+
17+
In rare cases, the datastore will not return the users credentials to
18+
the server. In that case, the server must send the users name and
19+
password to the datastore, where it authenticates the user and returns
20+
a "pass" or "fail" result. This process almost always requires the
21+
user to supply the server with a clear-text password. Other
22+
authentication methods such as CHAP or EAP will pretty much never work.
423

524
The Authentication modules available are:
625

7-
xref:raddb/mods-available/chap.adoc[CHAP module]
26+
* xref:raddb/mods-available/chap.adoc[CHAP module] - CHAP authentication
827
9-
xref:raddb/mods-available/digest.adoc[Digest]
28+
* xref:raddb/mods-available/digest.adoc[Digest] - HTTP Digest Authentication
1029
11-
xref:raddb/mods-available/eap.adoc[EAP]
30+
* xref:raddb/mods-available/eap.adoc[EAP] - EAP-MD5, EAP-MSCHAPv2, TTLS, PEAP, FAST, TEAP, etc.
1231
13-
xref:raddb/mods-available/eap_inner.adoc[EAP/Inner]
32+
** xref:raddb/mods-available/eap_inner.adoc[EAP/Inner] - limit EAP methods to ones which can be used in an "inner tunnel".
1433

15-
xref:raddb/mods-available/imap.adoc[IMAP]
34+
* xref:raddb/mods-available/imap.adoc[IMAP] - check user credentials against an IMAP server
1635
17-
xref:raddb/mods-available/krb5.adoc[Kerberos]
36+
* xref:raddb/mods-available/krb5.adoc[Kerberos] - check user credentials against a Kerberos server
1837
19-
xref:raddb/mods-available/mschap.adoc[Microsoft CHAP authentication]
38+
* xref:raddb/mods-available/ldap.adoc[LDAP] - check user credentials against an LDAP server
2039
21-
xref:raddb/mods-available/pap.adoc[PAP]
40+
* xref:raddb/mods-available/mschap.adoc[Microsoft CHAP] - MSCHAPv1 and MSCHAPv2 authentication.
2241
23-
xref:raddb/mods-available/passwd.adoc[Passwd]
42+
* xref:raddb/mods-available/ntlm_auth.adoc[NTLM Auth] - check user credentials against a Samba / Active Directory server
2443
25-
xref:raddb/mods-available/totp.adoc[TOTP]
44+
* xref:raddb/mods-available/pam.adoc[Pluggable Authentication] - check user credentials against the Pluggable Authentication Method (PAM)
2645
27-
xref:raddb/mods-available/wimax.adoc[WiMAX]
46+
* xref:raddb/mods-available/pap.adoc[PAP] - PAP authentication. Supports all common password hashing / encryption methods.
2847
29-
xref:raddb/mods-available/winbind.adoc[Winbind]
48+
* xref:raddb/mods-available/rest.adoc[REST] - check user credentials against a REST server
3049
31-
xref:raddb/mods-available/yubikey.adoc[Yubikey]
50+
* xref:raddb/mods-available/totp.adoc[TOTP] - perform time-based one-time-password (TOTP) checks.
51+
52+
* xref:raddb/mods-available/winbind.adoc[Winbind] - check user credentials against a Samba / Active Directory server
53+
54+
* xref:raddb/mods-available/yubikey.adoc[Yubikey] - check user credentials against a Yubikey server or database.
Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,59 @@
11
= Datastore Modules
22

3-
Datastore modules are utilized to access and store your network information in a database or remote datastore.
3+
Datastore modules store data. In most cases, they are databases. We
4+
use the term "datastore" to mean that some of the storage methods are
5+
not traditional databases, but they do still store data.
6+
7+
For example, the xref:raddb/mods-available/files.adoc[files] module
8+
implements the widely-used RADIUS
9+
xref:raddb/mods-config/files/users.adoc[users] file format. It is not
10+
a database, but it can store thousands or millions of user
11+
credentials.
412

513
The available Datastore modules are:
614

7-
xref:raddb/mods-available/cache.adoc[Cache]
15+
* xref:raddb/mods-available/cache.adoc[Cache] - cache data to local disk, memcached, or redis
16+
17+
** xref:raddb/mods-available/cache_eap.adoc[Cache EAP] - example of caching EAP sessions
18+
19+
** xref:raddb/mods-available/cache_tls.adoc[Cache TLS Session] - example of caching TLS sessions
20+
21+
* xref:raddb/mods-available/client.adoc[Client] - read client definitions dynamically from text files
22+
23+
* xref:raddb/mods-available/csv.adoc[CSV] - read data from a CSV file
24+
25+
* xref:raddb/mods-available/etc_group.adoc[etc_group] - read data from `/etc/group`, or similarly formatted files
26+
27+
* xref:raddb/mods-available/files.adoc[Files] - read data from the `users` file.
28+
29+
* xref:raddb/mods-config/files/users.adoc[Users File Format] - format of the `users` file
30+
31+
* xref:raddb/mods-available/ldap.adoc[LDAP] - connect to an LDAP server
32+
33+
* xref:raddb/mods-available/opendirectory.adoc[OpenDirectory] - connect to an OpenDirectory server
834
9-
xref:raddb/mods-available/cache_eap.adoc[Cache EAP]
35+
* xref:raddb/mods-available/passwd.adoc[Passwd] - read data from `/etc/passwd`, or similarly formatted files
1036
11-
xref:raddb/mods-available/cache_tls.adoc[Cache TLS Session]
37+
** xref:raddb/mods-available/mac2ip.adoc[Mac2IP] - example of using the `passwd` module to lookup up IP address by MAC address
1238

13-
xref:raddb/mods-available/client.adoc[Client]
39+
** xref:raddb/mods-available/mac2vlan.adoc[Mac2Vlan] - example of using the `passwd` module to lookup up VLAN by MAC address
1440

15-
xref:raddb/mods-available/csv.adoc[CSV]
41+
** xref:raddb/mods-available/smbpasswd.adoc[SMBPasswd] - read data from `/etc/smbpasswd`
1642

17-
xref:raddb/mods-available/ldap.adoc[LDAP]
43+
* xref:raddb/mods-available/redis.adoc[Redis] - connect to a Redis server
1844
19-
xref:raddb/mods-available/opendirectory.adoc[OpenDirectory]
45+
** xref:raddb/mods-available/redis_ippool.adoc[Redis IP Pool] - manages IP pools in Redis
2046

21-
xref:raddb/mods-available/pam.adoc[Pluggable Authentication]
47+
** xref:raddb/mods-available/rediswho.adoc[REDISWho] - manages online users in Redis
2248

23-
xref:raddb/mods-available/redis.adoc[REDIS]
49+
* xref:raddb/mods-available/rest.adoc[Rest] - connect to a REST server
2450
25-
xref:raddb/mods-available/redis_ippool.adoc[Redis IP Pool]
51+
* xref:raddb/mods-available/sql.adoc[SQL] - connect to an SQL server
2652
27-
xref:raddb/mods-available/rediswho.adoc[REDISWho]
53+
** xref:raddb/mods-available/sqlcounter.adoc[Counter] - track user activity (time / bandwidth) in SQL
2854

29-
xref:raddb/mods-available/sql.adoc[SQL]
55+
** xref:raddb/mods-available/sqlippool.adoc[IP-Pool] - manages IP pools in SQL
3056

31-
xref:raddb/mods-available/sqlippool.adoc[SQL-IP-Pool]
57+
** xref:raddb/mods-available/redundant_sql.adoc[Redundant] - example of using redundant connections to an SQL sercer
3258

33-
xref:raddb/mods-available/unix.adoc[Unix]
59+
* xref:raddb/mods-available/unix.adoc[Unix] - read passwords from `getpwent()`
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
= Formatting and Conversion Modules
2+
3+
The formatting and conversion modules allow the server to read and
4+
write data in different formats.
5+
6+
* xref:raddb/mods-available/cipher.adoc[Cipher] - encrypt or decrypt data
7+
8+
* xref:raddb/mods-available/date.adoc[Date] - parse or print dates in specific formats
9+
10+
* xref:raddb/mods-available/escape.adoc[Escape] - escape or un-escape strings
11+
12+
* xref:raddb/mods-available/unpack.adoc[Unpack] - decode binary data from octet strings
13+
14+
* xref:raddb/mods-available/utf8.adoc[UTF-8] - check and enforce UTF8 encoding for strings
Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11
= Language Modules
22

3-
Language modules are embedded with the RADIUS server to allow an administrator to extend the capabilities of with extra progamming languages.
3+
Language modules allow an administrator to use different languages within the server.
4+
5+
If the policies require basic if / then / else checks, or they require
6+
simple attribute editing, we recommend using the
7+
xref:unlang/index.adoc[Unlang Policy Language]. It is good enough for
8+
nearly all common use-cases, and it is much faster than any of the
9+
language modules.
10+
11+
The _only_ reason to use one of these language modules is when you
12+
need to connect to an external API, and the API connector is a library
13+
which is only available as a language-specific library. In every
14+
other case, xref:unlang/index.adoc[Unlang] will be simpler, and
15+
faster.
416

517
The available Language modules are:
618

7-
* xref:raddb/mods-available/exec.adoc[Exec]
19+
* xref:raddb/mods-available/exec.adoc[Exec]- run external programs or shell scripts
20+
21+
** xref:raddb/mods-available/echo.adoc[Echo] - example of using `echo`
822

9-
* xref:raddb/mods-available/lua.adoc[Lua]
23+
* xref:raddb/mods-available/lua.adoc[Lua] - run Lua programs
1024
11-
* xref:raddb/mods-available/perl.adoc[Perl]
25+
* xref:raddb/mods-available/perl.adoc[Perl] - run Perl programs
1226
13-
* xref:raddb/mods-available/python.adoc[Python]
27+
* xref:raddb/mods-available/python.adoc[Python] - run Python programs
1428
15-
* xref:raddb/mods-available/mruby.adoc[Ruby]
29+
* xref:raddb/mods-available/mruby.adoc[Ruby] - run Ruby programs
Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
= IO Modules
1+
= Logging Modules
22

3-
The IO modules are used to help configure and transmit data.
3+
The logging modules write data to external destinations such as files, syslog, etc.
44

5-
The available IO modules are:
5+
The available Logging modules are:
66

7-
* xref:raddb/mods-available/dict.adoc[Dict]
8-
* xref:raddb/mods-available/files.adoc[Files]
9-
* xref:raddb/mods-available/linelog.adoc[Linelog]
10-
* xref:raddb/mods-available/logtee.adoc[Logtee]
11-
* xref:raddb/mods-available/detail.adoc[Detail]
12-
** xref:raddb/mods-available/detail.example.com.adoc[Detail Sample]
13-
** xref:raddb/mods-available/detail.log.adoc[Detail Log Sample]
14-
* xref:raddb/mods-available/radius.adoc[Radius]
15-
* xref:raddb/mods-available/rest.adoc[Rest]
16-
* xref:raddb/mods-available/stats.adoc[Stats]
17-
* xref:raddb/mods-available/unbound.adoc[Unbound]
7+
* xref:raddb/mods-available/linelog.adoc[Linelog] - log single lines to syslog, UDP, TCP, etc.
8+
9+
** xref:raddb/mods-available/logtee.adoc[Logtee] - log to multiple destinations
10+
11+
* xref:raddb/mods-available/detail.adoc[Detail] - log packets in the RADIUS "detail" file format
12+
13+
** xref:raddb/mods-available/detail.example.com.adoc[Detail Sample] - example of writing detail files by date
14+
15+
** xref:raddb/mods-available/detail.log.adoc[Detail Log Sample] - example of logging different packets to different files
Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,15 @@
11
= Policy Modules
22

3-
These modules are used to implement different policies to manage data transmission, storage, server configs and behaviors.
3+
These modules are used to implement different policies to manage data
4+
transmission, storage, server configs and behaviors.
45

56
The available Policy modules are:
67

7-
* xref:raddb/mods-available/always.adoc[Always]
8+
* xref:raddb/mods-available/always.adoc[Always] - always return a value (can be programattically changed!)
89
9-
* xref:raddb/mods-available/attr_filter.adoc[Attr_filter]
10+
* xref:raddb/mods-available/attr_filter.adoc[Attribute filter] - filter replies so that they contain only limited data
1011
11-
* xref:raddb/mods-available/cipher.adoc[Cipher]
12+
* xref:raddb/mods-available/idn.adoc[IDN] - convert internationalized strings to DNS "punycode" encoding.
1213
13-
* xref:raddb/mods-available/date.adoc[Date]
14+
* xref:raddb/mods-available/sometimes.adoc[Sometimes] - randomly succeed or fail. Mostly used for testing.
1415
15-
* xref:raddb/mods-available/delay.adoc[Delay]
16-
17-
* xref:raddb/mods-available/escape.adoc[Escape]
18-
19-
* xref:raddb/mods-available/idn.adoc[IDN]
20-
21-
* xref:raddb/mods-available/json.adoc[JSON]
22-
23-
* xref:raddb/mods-available/sometimes.adoc[Sometimes]
24-
25-
* xref:raddb/mods-available/sqlcounter.adoc[SQL Counter]
26-
27-
* xref:raddb/mods-available/unpack.adoc[Unpack]
28-
29-
* xref:raddb/mods-available/utf8.adoc[UTF-8]
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
= Protocol Modules
22

3+
The protocol modules implement protocol-specific functionality.
4+
35
The available protocol modules are:
46

5-
* xref:raddb/mods-available/dhcpv4.adoc[DHCPv4]
7+
* xref:raddb/mods-available/dhcpv4.adoc[DHCPv4] - send DHCPv4 packets as a relay
8+
9+
* xref:raddb/mods-available/isc_dhcp.adoc[ISC DHCP] - Read ISC DHCP configuration files
10+
11+
* xref:raddb/mods-available/radius.adoc[Radius] - Proxy RADIUS packets
12+
13+
** xref:raddb/mods-available/cui.adoc[CUI] - Manage Chargeable-User-Identifier
614

7-
* xref:raddb/mods-available/isc_dhcp.adoc[ISC DHCP]
15+
** xref:raddb/mods-available/wimax.adoc[WiMAX] - Fix WiMAX issues

doc/antora/modules/reference/pages/raddb/mods-available/doc/utility.adoc

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
= Utility Modules
22

3-
The available utility modules are:
3+
The utility modules implement a wide range of functionality which
4+
cannot be placed into one of the other categories.
5+
6+
* xref:raddb/mods-available/delay.adoc[Delay] - add a controlled delay to responses
7+
8+
* xref:raddb/mods-available/dict.adoc[Dict] - look up dictionary entries by name
9+
10+
* xref:raddb/mods-available/smtp.adoc[SMTP] - send email
11+
12+
* xref:raddb/mods-available/stats.adoc[Stats] - gather internal server statistics
13+
14+
* xref:raddb/mods-available/unbound.adoc[Unbound] - do asynchronous DNS lookips
15+
16+
417
5-
* xref:raddb/mods-available/smtp.adoc[SMTP]

0 commit comments

Comments
 (0)