Mercurial > dnsbl
annotate xml/sample.conf @ 81:db85c53e3d90
start coding on new config syntax
author | carl |
---|---|
date | Sun, 17 Jul 2005 07:34:28 -0700 |
parents | d554e41f2886 |
children | 7e4a90e5f213 |
rev | line source |
---|---|
4 | 1 # $Id$ |
0 | 2 # |
75 | 3 |
80 | 4 # Partial bnf description of this configuration language. Any sequence of |
5 # three tokens ("include" FILENAME ";") are replaced by the content of the | |
6 # specified file. | |
7 # | |
56
57607387263d
updates for 3.6, better documentation on removing content filtering, missing some files in cvs
carl
parents:
54
diff
changeset
|
8 # |
75 | 9 # CONFIG = {CONTEXT ";"}+ |
10 # CONTEXT = "context" NAME "{" {STATEMENT}+ "}" | |
11 # STATEMENT = (DNSBL | DNSBLLIST | CONTENT | ENV-TO | CONTEXT | ENV-FROM) ";" | |
12 | |
13 # DNSBL = "dnsbl" NAME DNSPREFIX ERROR-MSG | |
14 | |
15 # DNSBLLIST = "dnsbl_list" {NAME}+ | |
16 | |
17 # CONTENT = "content" ("on" | "off") "{" {CONTENT-STATEMENT}+ "}" | |
18 # CONTENT-STATEMENT = (FILTER | IGNORE | TLD | HTML-TAGS | HTML-LIMIT | HOST-LIMIT) ";" | |
19 # FILTER = "filter" DNSPREFIX ERROR-MSG | |
20 # IGNORE = "ignore" "{" {HOSTNAME [";"]}+ "}" | |
21 # TLD = "tld" "{" {TLD [";"]}+ "}" | |
22 # HTML-TAGS = "html_tags" "{" {HTMLTAG [";"]}+ "}" | |
23 # ERROR-MSG = string containing exactly two %s replacement tokens for the client ip address | |
24 | |
25 # HTML-LIMIT = "html_limit" ("on" INTEGER ERROR-MSG | "off") | |
26 | |
27 # HOST-LIMIT = "host_limit" ("on" INTEGER ERROR-MSG | "off" | "soft" INTEGER) | |
28 | |
29 # ENV-TO = "env_to" "{" {(TO-ADDR | DCC-TO)}+ "}" | |
30 # TO-ADDR = ADDRESS [";"] | |
31 # DCC-TO = "dcc_to" ("ok" | "many") "{" DCCINCLUDEFILE "}" ";" | |
32 | |
80 | 33 # ENV_FROM = "env_from" [DEFAULT] "{" {(FROM-ADDR | DCC-FROM)}+ "}" |
75 | 34 # FROM-ADDR = ADDRESS VALUE [";"] |
35 # DCC-FROM = "dcc_from" "{" DCCINCLUDEFILE "}" ";" | |
36 # DEFAULT = ("white" | "black" | "unknown" | "inherit" | "") | |
37 # ADDRESS = (USER@ | DOMAIN | USER@DOMAIN) | |
38 # VALUE = ("white" | "black" | "unknown" | CHILD-CONTEXT-NAME | |
24 | 39 |
40 | |
75 | 41 context sample { |
42 dnsbl local blackholes.five-ten-sg.com "Mail from %s rejected - local; see http://www.five-ten-sg.com/blackhole.php?%s"; | |
43 dnsbl spews blackholes.spews.org "Mail from %s rejected - spews; see http://www.spews.org/ask.cgi?x=%s"; | |
44 dnsbl sbl sbl-xbl.spamhaus.org "Mail from %s rejected - sbl; see http://www.spamhaus.org/query/bl?ip=%s"; | |
45 dnsbl xbl xbl.spamhaus.org "Mail from %s rejected - xbl; see http://www.spamhaus.org/query/bl?ip=%s"; | |
46 dnsbl_list local sbl; | |
0 | 47 |
75 | 48 content on { |
49 filter sbl-xbl.spamhaus.org "Mail containing %s rejected - sbl; see http://www.spamhaus.org/query/bl?ip=%s"; | |
50 ignore { include "hosts-ignore.conf"; }; | |
51 tld { include "tld.conf"; }; | |
52 html_tags { include "html-tags.conf"; }; | |
53 html_limit off; | |
54 host_limit on 20 "Mail containing excessive bad html tags rejected"; | |
55 host_limit soft 20; | |
56 }; | |
57 | |
58 env_to { | |
59 mydomain.com; # child contexts are not allowed to specify recipient addresses outside these domains | |
60 customer1.com; | |
61 customer1a.com; | |
62 customer1b.com; | |
63 customer2.com; | |
64 customer2a.com; | |
65 customer2b.com; | |
66 }; | |
0 | 67 |
75 | 68 context whitelist { |
69 content off {}; | |
70 env_to { | |
80 | 71 # dcc_to ok { include "/var/dcc/whitecommon"; }; # copy the dcc OK values (env_to) into this context |
75 | 72 }; |
73 env_from white {}; # white forces all unmatched from addresses (everyone in this case) to be whitelisted | |
74 # so all mail TO these env_to addresses is accepted | |
75 }; | |
0 | 76 |
75 | 77 context abuse { |
78 dnsbl_list xbl; | |
79 content off {}; | |
80 env_to { | |
81 abuse@; # no content filtering on abuse reports | |
82 postmaster@; # "" | |
83 }; | |
84 env_from unknown {}; # ignore all parent white/black listing | |
85 }; | |
0 | 86 |
75 | 87 context minimal { |
88 dnsbl_list sbl; | |
89 content on {}; | |
90 env_to { | |
91 sales@mydomain.com; | |
92 }; | |
93 }; | |
0 | 94 |
75 | 95 context blacklist { |
96 env_to { | |
80 | 97 dcc_to many { include "/var/dcc/whitecommon"; }; # copy the dcc MANY values (env_to) into this context |
75 | 98 old-employee@mydomain.com; |
99 }; | |
100 env_from black {}; # black forces all unmatched from addresses (everyone in this case) to be blacklisted | |
101 # so all mail TO these env_to addresses is rejected | |
102 }; | |
0 | 103 |
75 | 104 context vp { # special context for the vp |
105 env_to { | |
106 vp@mydomain.com; | |
107 }; | |
108 env_from inherit { | |
109 nai.com black; # the vp does not like nai | |
110 yahoo.com unknown; # override parent context blacklisting | |
111 mother@spammyisp.com white; # suppress dnsbl checking | |
112 }; | |
113 }; | |
114 | |
115 context customer1 { | |
116 dnsbl_list sbl; | |
117 env_to { | |
118 customer1.com; | |
119 customer1a.com; | |
120 customer1b.com; | |
121 }; | |
0 | 122 |
75 | 123 context customer1a { |
124 env_to { | |
125 customer1a.com; | |
126 } | |
127 env_from black { # blacklist everything | |
128 first@acceptable.com unknown; # except these specific envelope senders | |
129 second@another.com unknown; | |
130 yahoo.com inherit; # delegate to the parent | |
131 }; | |
132 }; | |
133 | |
80 | 134 env_from { # default value of the default is inherit |
75 | 135 yahoo.com black; # no mail from yahoo |
136 first@yahoo.com unknown; # except this one | |
137 }; | |
138 }; | |
0 | 139 |
75 | 140 context customer2 { |
141 dnsbl_list sbl spews; | |
142 env_to { | |
143 customer2.com; | |
144 customer2a.com; | |
145 customer2b.com; | |
146 }; | |
147 }; | |
0 | 148 |
75 | 149 env_from unknown { |
80 | 150 dcc_from { include "/var/dcc/whitecommon"; }; # copy the dcc OK/MANY values (env_from, substitute mail_host) into this context |
75 | 151 abuse@ abuse; # replies to abuse reports use the abuse context |
152 yahoo.com black; # don't take mail from yahoo | |
153 spammer@example.com black; | |
154 }; | |
155 }; | |
156 |