David Eisner wrote:
When I turn on the embed flag, I have two problems.

1. mimedefang-multiplexor[24534]: WARNING: Something in your Perl filter appears to have opened a file descriptor outside of any function....

2. mimedefang-multiplexor[24534]: Slave 0 stderr: dns: sendto() failed: at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/DnsResolver.pm line 320. mimedefang-multiplexor[24534]: Slave 0 stderr: dns: select failed: Bad file descriptor at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/DnsResolver.pm line 347.
last message repeated 8451 times


In case anybody cares, I solved the problem.

Summary:   Comment out the following from mimedefang-filter:

 # The next lines force SpamAssassin modules to be loaded and rules
 # to be compiled immediately.  This may improve performance on busy
 # mail servers.  Comment the lines out if you don't like them.
 if ($Features{"SpamAssassin"}) {
     spam_assassin_init()->compile_now(1) if defined(spam_assassin_init());


Longer explanation:

When mimedefang-multiplexor runs in embedded mode, mimedefang.pl sources mimedefang-filter before starting any slaves (this is documented). The example mimedefang-filter calls spam_assassin_init() (which is in mimedefang.pl). This, in turn, allocates $SASpamTester, the Mail::SpamAssassin object. The Mail::SpamAssassin constructor allocates a resolver:

   $self->{resolver} = Mail::SpamAssassin::DnsResolver->new($self);

The problem is that the DnsResolver constructor calls connect_sock, which opens a socket "to the first nameserver listed /etc/resolv.conf". This produces error number 1. Later, when the slaves are activated, this file descriptor gets closed, resulting in error 2.

Maybe a comment in mimedefang-filter should be added, something like:

 # The next lines force SpamAssassin modules to be loaded and rules
 # to be compiled immediately.  This may improve performance on busy
 # mail servers.  However,  it may cause problems when using an embedded
 # perl interpreter with some versions of  SpamAssassin. Comment the lines
# out if you don't like them.
-David








_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list [email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to