]> git.donarmstrong.com Git - deb_pkgs/spamass-milter.git/blob - debian/README.Debian
Merge branch 'upstream'
[deb_pkgs/spamass-milter.git] / debian / README.Debian
1 --------------------------------------------------------------
2   Integrating spamass-milter into your sendmail installation
3 --------------------------------------------------------------
4
5 You will need to edit /etc/mail/sendmail.mc and add an
6 INPUT_MAIL_FILTER line that connects to the spamass-milter socket.
7
8 By default the spamass-milter socket is
9 /var/run/spamass/spamass.sock; so your INPUT_MAIL_FILTER should look
10 something like:
11
12  # spamassassin settings
13  INPUT_MAIL_FILTER(`spamassassin',
14          `S=local:/var/run/spamass/spamass.sock, F=,
15          T=S:4m;R:4m;E:10m')dnl
16  define(`confMILTER_MACROS_CONNECT',`t, b, j, _, {daemon_name}, {if_name}, {if_addr}')dnl
17  define(`confMILTER_MACROS_HELO',`s, {tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer}')dnl
18  define(`confMILTER_MACROS_ENVRCPT',`b, i, j, r, v, Z, _')dnl
19
20 Briefly, the F=, tells sendmail to just pass the connection through if
21 the milter fails. This is most likely the setting you want. If you
22 want to temporarily fail a connection, you can set F=T. You almost
23 definitely don't want to reject connections, but if necessary, you can
24 do that by setting F=R.
25
26 You may also need to adjust these timeout settings, as spamd can be
27 sluggish on a slow machine. S is the timeout for sending information
28 from the MTA to a filter. R is the timeout for reading a reply from
29 the filter. E is the overall timeout between sending end-of-message to
30 filter and waiting for the final acknowledgment.
31
32 The settings above seem to work well on a Celeron 466 that receives
33 around 1000 emails an hour. You may wish to adjust them according to
34 your needs.
35
36 See http://www.sendmail.com/partner/resources/development/milter_api/installation.html
37 and http://www.sendmail.org/m4/adding_mailfilters.html#INPUT_MAIL_FILTER
38 for more information on milters.
39
40 If you are using the alias expansion method, -x, you will need to add
41 spamass-milter to the smmsp group using:
42
43  adduser spamass-milter smmsp;
44
45 This does not need to be done unless you are using alias expansion.
46
47 --------------------------------------------------------------
48   Integrating spamass-milter into your postfix installation
49 --------------------------------------------------------------
50
51 You need to edit /etc/postfix/main.cf and configure smptpd_milters so
52 that postfix connects to the spamass-milter socket. Something like:
53
54   # spamass-milter configuration
55   smtpd_milters = unix:/var/spool/postfix/spamass/spamass.sock
56
57 should work. Note, however, if you're using a chrooted version of
58 postfix, you'll need the local path to the socket inside of the
59 chroot. In recent versions of Debian the following should work:
60
61   # spamass-milter configuration
62   smtpd_milters = unix:/spamass/spamass.sock
63   # milter macros useful for spamass-milter
64   milter_connect_macros = j {daemon_name} v {if_name} _
65   milter_data_macros = j i {daemon_name} v {if_name} _
66
67 See http://www.postfix.org/MILTER_README.html or
68 /usr/share/doc/postfix/MILTER_README.gz (in postfix-doc) for
69 information on how to set tempfail and the various timeouts that the
70 sendmail configuration above uses.
71
72 The defaults for spamass-milter adjust themselves so that no
73 configuration in /etc/default/spamass-milter should be required.
74 [However, if you are not doing so, see below.]
75
76 -------------------------------------------------------------
77   Adjusting how spamass-milter is started
78 -------------------------------------------------------------
79
80 You can adjust how spamass-milter starts, and the options it calls
81 spamc with by adjusting /etc/default/spamass-milter. OPTIONS is passed
82 directly to spamass-milter by /etc/init.d/spamass-milter. [Refer to
83 spamass-milter(1) for details.]
84
85 Other settings which may be of use:
86
87 SOCKET sets the location of the socket; defaults to
88 /var/run/spamass/spamass.sock unless you are running postfix, where it
89 is set to /var/spool/postfix/spamass/spamass.sock.
90
91 SOCKETOWNER is the owner of the socket, which defaults to root:root or
92 postfix:postfix if you're running postfix.
93
94 SOCKETMODE is the mode of the socket, which defaults to 0600 or 0660
95 if you're running postfix.
96
97 RUNAS controls the user which spamass-milter runs as; defaults to
98 spamass-milter.
99
100 If you want to use an inet socket for spamass-milter (like inet:9999
101 or inet:9999@127.0.0.1), then you'll need to make the following
102 configuration changes in /etc/default/spamass-milter:
103
104 SOCKET="inet:9999@127.0.0.1"
105 SOCKETMODE=""
106 SOCKETOWNER=""
107
108 -------------------------------------------------------------
109 Debugging spamass-milter
110 -------------------------------------------------------------
111
112 As spamass-milter is still undergoing development, you may see bugs
113 from time to time.
114
115 If spamass-milter is segfaulting (SEGV or SIG 11) please build a
116 debugging version of the spamass-milter package and install it:
117
118 mkdir temp;
119 cd temp;
120 apt-get source spamass-milter;
121 apt-get build-dep spamass-milter;
122 cd spamass-milter-*;
123 DEB_BUILD_OPTIONS='nostrip' CXXFLAGS='-O0 -g' fakeroot debian/rules clean binary;
124 dpkg -i spamass-milter*.deb;
125
126 Then turn on coredumps (ulimit -c unlimited), and start spamass-milter
127 as usual (/etc/init.d/spamass-milter start).
128
129 When spamass-milter cores, run gdb on the core, ala:
130 gdb /usr/sbin/spamass-milter /foo/corefile.pid
131 thread apply all where
132 bt
133 q
134
135 and send the results along with your bug report using reportbug.
136
137  -- Don Armstrong <don@debian.org>, Fri, 28 Dec 2012 10:54:48 -0800