Leon Kolchinsky wrote: > > So, let me get this straight: > ----------------------------- > This is how I see the work of amavis+spamd+clamd: > > 1. As I see it amavis talk to spamd (spamassassin) and clamd (ClamAV) > via appropriate sockets or TCP ports. > In my case - > To clamd via /var/lib/clamav/clamd-socket (I can see it in > amavisd.conf) > To spamd ? (I don't know how to check it)
Not quite. Amavisd does not talk to spamd. Amavisd has the SpamAssassin code built into it. > 2. Any configuration change I make to clamd and spamd take power only > when I restart the deamons themselves. If you were using spamd, you would need to restart it to apply the changes. But since you are using Amavisd to run SpamAssassin, this is not necessary. > 3. But according to Matt Kettler response and my testings, any change > to local.cf require amavis restart. When you restart Amavisd, it reads the local.cf file and uses that to initialize its internal copy of SpamAssassin. > # /etc/init.d/amavis restart > Shutting down virus-scanner (amavisd-new):Daemon [9905] terminated by > > SIGTERM done > Starting virus-scanner (amavisd-new): > done > > > What is going on? > Where I can validate config options of amavis to make sure the way it > works? You can shutdown spamd, you don't need it. To sum it up, there are three ways to use SpamAssassin: 1) The "spamassassin" executable -- This loads everything each time you call it. It is inefficient, but it is useful for simple scripts and for testing. 2) The "spamd" daemon -- This loads everything once and then scans messages passed to it by spamc. This is much more efficient since it only has to load the Perl interpreter and all of the rulesets and plugins once. 3) The Mail::SpamAssassin Perl API -- This allows the SpamAssassin code to be called directly by another Perl program. This is how Amavisd runs. It gets a message, calls the SpamAssassin routines, marks up the message, and sends it along. It still only loads everything once, but it is being loaded into Amavisd instead of spamd. -- Bowie