annotate dnsbl.spec.in @ 90:962a1f8f1d9f stable-5-4

add verify statement to verify addresses with better mx host
author carl
date Sun, 18 Sep 2005 10:19:58 -0700
parents 946fc1bcfb2c
children 505e77188317
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
90
962a1f8f1d9f add verify statement to verify addresses with better mx host
carl
parents: 89
diff changeset
3 Version: 5.4
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