import from HEAD:
[freeradius.git] / man / man5 / rlm_attr_filter.5
1 .TH rlm_attr_filter 5 "3 February 2004" "" "FreeRADIUS Module"
2 .SH NAME
3 rlm_attr_filter \- FreeRADIUS Module
4 .SH DESCRIPTION
5 The \fIrlm_attr_filter\fP module exists for filtering certain
6 attributes and values in received ( or transmitted ) radius packets
7 from ( or to ) remote proxy servers.  It gives the proxier ( us ) a
8 flexible framework to filter the attributes we send to or receive
9 from these remote proxies.  This makes sense, for example, in an
10 out-sourced dialup situation to various policy decisions, such as
11 restricting a client to certain ranges of Idle-Timeout or
12 Session-Timeout.
13 .PP
14 Filter rules are defined and applied on a per-realm basis, where the
15 realm is anything that is defined and matched based on the
16 configuration of the \fIrlm_realm\fP module.
17 .PP
18 The file that defines the attribute filtering rules follows a similar
19 syntax to the \fIusers\fP file.  There are a few differences however:
20 .PP
21 .DS
22     There are no check-items allowed other than the realm.
23 .PP
24     There can only be a single DEFAULT entry.
25 .PP
26 The rules for each entry are parsed to top to bottom, and an
27 attribute must pass *all* the rules which affect it in order to
28 make it past the filter.  Order of the rules is important.
29 The operators and their purpose in defining the rules are as
30 follows:
31 .TP
32 .B =   
33 THIS OPERATOR IS NOT ALLOWED.  If used, and warning message is
34 printed and it is treated as ==
35 .TP
36 .B :=  
37 Set, this attribute and value will always be placed in the
38 output A/V Pairs.  If the attribute exists, it is overwritten.
39 .TP
40 .B  ==  
41 Equal, value must match exactly.
42 .TP
43 .B  =*  
44 Always Equal, allow all values for the specified attribute.
45 .TP
46 .B    !*  
47 Never Equal, disallow all values for the specified attribute.
48 ( This is redundant, as any A/V Pair not explicitly permitted
49 will be dropped ).
50 .TP
51 .B    !=  
52 Not Equal, value must not match.
53 .TP
54 .B    >=  
55 Greater Than or Equal
56 .TP
57 .B    <=  
58 Less Than or Equal
59 .TP
60 .B    >   
61 Greather Than
62 .TP
63 .B    <   
64 Less Than
65 .PP
66 If regular expressions are enabled the following operators are
67 also possible.  ( Regular Expressions are included by default
68 unless your system doesn't support them, which should be rare ).
69 The value field uses standard regular expression syntax.
70 .PP
71 .TP
72 .B    =~  
73 Regular Expression Equal
74 .TP
75 .B    !~  
76 Regular Expression Not Equal
77 .PP
78 See the default \fI/etc/raddb/attrs\fP for working examples of
79 sample rule ordering and how to use the different operators.
80 .DE
81 .PP
82 The main configuration item is:
83 .IP attrsfile
84 This specifies the location of the file used to load the filter rules.
85 .PP
86 .SH SECTIONS
87 .BR authorization,
88 .BR accounting,
89 .BR preproxy,
90 .BR postproxy
91 .PP
92 .SH FILES
93 .I /etc/raddb/radiusd.conf
94 .I /etc/raddb/attrs
95 .PP
96 .SH "SEE ALSO"
97 .BR radiusd (8),
98 .BR radiusd.conf (5)
99 .SH AUTHOR
100 Chris Parker, cparker@segv.org
101