Mercurial > dnsbl
annotate dnsbl.spec.in @ 92:505e77188317
optimize verification step, cleanup documentation
author | carl |
---|---|
date | Wed, 21 Sep 2005 08:00:08 -0700 |
parents | 962a1f8f1d9f |
children | e107ade3b1c0 |
rev | line source |
---|---|
88
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
1 Summary: DNSBL Sendmail Milter |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
2 Name: dnsbl |
92 | 3 Version: 5.5 |
88
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
4 Release: 2 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
5 Copyright: GPL |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
6 Group: System Environment/Daemons |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
7 Source: http://www.five-ten-sg.com/util/dnsbl.tar.gz |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
8 BuildRoot: %{_tmppath}/%{name}-%{version} |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
9 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
10 Requires(pre): /usr/sbin/groupadd |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
11 Requires(pre): /usr/sbin/useradd |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
12 Requires(pre): /usr/bin/getent |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
13 Requires(postun): /usr/sbin/userdel |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
14 Requires(postun): /usr/sbin/groupdel |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
15 Requires(post,preun): /sbin/chkconfig |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
16 BuildRequires: sendmail-devel >= 8.12.1 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
17 Requires: sendmail >= 8.12.1 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
18 Requires: sendmail-cf |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
19 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
20 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
21 %description |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
22 We present here a mechanism whereby the backup mail server can use the correct set of DNSBLs for each recipient for each message. As a side-effect, it gives us the ability to customize the set of DNSBLs on a per-recipient basis, so that fred@example.com could use SPEWS and the SBL, where all other users @example.com use only the SBL. |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
23 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
24 This milter will also decode (base64, mime, html entity, url encodings) and scan for HTTP and HTTPS URLs and bare hostnames in the body of the mail. If any of those host names have A or NS records on the SBL (or a single configurable DNSBL), the mail will be rejected unless previously whitelisted. This milter also counts the number of invalid HTML tags, and can reject mail if that count exceeds your specified limit. |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
25 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
26 The DNSBL milter reads a text configuration file (dnsbl.conf) on startup, and whenever the config file (or any of the referenced include files) is changed. The entire configuration file is case insensitive. |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
27 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
28 %prep |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
29 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
30 %setup |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
31 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
32 %build |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
33 pwd |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
34 g++ -c $CXXFLAGS -pthread dnsbl.cpp |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
35 g++ -o dnsbl dnsbl.o /usr/lib/libresolv.a -lmilter -pthread |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
36 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
37 %install |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
38 DST=%{buildroot} |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
39 if [ "%{buildroot}" = "/" -o -z "%{buildroot}" ] ; then |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
40 echo sorry, you probably do not want me to delete the old buildroot at %{buildroot} |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
41 exit 1 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
42 fi |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
43 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
44 rm -rf %{buildroot} |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
45 mkdir -p %{buildroot}/etc/dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
46 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
47 install -m 644 dnsbl.conf %{buildroot}/etc/dnsbl/dnsbl.conf |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
48 install -m 644 hosts-ignore.conf %{buildroot}/etc/dnsbl/hosts-ignore.conf |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
49 install -m 644 html-tags.conf %{buildroot}/etc/dnsbl/html-tags.conf |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
50 install -m 644 tld.conf %{buildroot}/etc/dnsbl/tld.conf |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
51 install -m 644 sample.conf %{buildroot}/etc/dnsbl/sample.conf |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
52 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
53 mkdir -p %{buildroot}/usr/sbin |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
54 install -m 755 dnsbl %{buildroot}/usr/sbin/dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
55 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
56 mkdir -p %{buildroot}/etc/rc.d/init.d |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
57 install -m 755 dnsbl.rc %{buildroot}/etc/rc.d/init.d/dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
58 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
59 mkdir -p %{buildroot}/var/run/dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
60 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
61 %pre |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
62 /usr/bin/getent passwd dnsbl || |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
63 useradd -r -d /etc/dnsbl -M -c "dnsbl pseudo-user" -s /sbin/nologin dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
64 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
65 #[JOG] Attempt to migrate an existing, non-rpm install. |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
66 # WARNING! This may cause blindness, loss of appetite, and a general |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
67 # feeling of ill will towards the author of this script. Please refer |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
68 # to the Licence file for warranty information... |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
69 if [ -f "/var/dnsbl/dnsbl.conf" -a ! -f "/etc/dnsbl/dnsbl.conf" ] ; then |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
70 echo Existing installation found at /var/dnsbl/ Migrating configuation... |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
71 # create the conf directory so rpm can find it in a minute... |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
72 mkdir /etc/dnsbl/ |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
73 # and try to copy all of the relavent config files that are below this directory |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
74 cd /var/dnsbl/ |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
75 grep '^include ' /var/dnsbl/dnsbl.conf | cut -d ' ' -f 2 | grep -v '^/' | xargs cp --target-directory=/etc/dnsbl/ /var/dnsbl/dnsbl.conf |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
76 fi |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
77 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
78 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
79 %post |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
80 /sbin/chkconfig --add dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
81 /sbin/chkconfig dnsbl on |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
82 /sbin/service dnsbl start |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
83 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
84 echo Remember to edit /etc/dnsbl.conf and add the following line to your sendmail.mc: |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
85 echo "INPUT_MAIL_FILTER(\`dnsbl\', \`S=local:/var/run/dnsbl/dnsbl.sock, F=T, T=C:30s;S:5m;R:5m;E:5m\')" |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
86 echo |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
87 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
88 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
89 %preun |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
90 if [ $1 -eq 0 ]; then |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
91 /sbin/service dnsbl stop || : |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
92 /sbin/chkconfig --del dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
93 userdel dnsbl || : |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
94 fi |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
95 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
96 %postun |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
97 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
98 %clean |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
99 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
100 %files |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
101 %defattr(-,root,root) |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
102 %config(noreplace) /etc/dnsbl/ |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
103 %doc RELEASE_NOTES LICENSE sample.conf test.cpp |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
104 /etc/rc.d/init.d/dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
105 /usr/sbin/dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
106 %dir %attr(0750,dnsbl,root) /var/run/dnsbl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
107 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
108 %changelog |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
109 * Tue Jan 03 2005 Carl Byington 1.4 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
110 - added hosts-ignore conf file |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
111 - see RELEASE_NOTES |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
112 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
113 * Thu Jul 15 2004 John Gunkel <antispam@boing.ca> 1.3 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
114 - patch to rc file no longer needed |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
115 - see RELEASE_NOTES |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
116 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
117 * Mon Jul 05 2004 John Gunkel <jgunkel@palliser.ca> 1.2 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
118 - Fixed some typos |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
119 - removed patch into separate file |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
120 - added config migration as suggested by Carl |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
121 - Added reminder to edit sendmail.mc |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
122 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
123 * Wed Jun 30 2004 John Gunkel <jgunkel@palliser.ca> 1.1 |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
124 - Initial revision of spec file. Need to add a better description, docs and a sendmail.mc message |
7245c45cef7a
fix for missing default return value in CONTEXT::acceptable_content()
carl
parents:
87
diff
changeset
|
125 |