[Mimedefang] Tons o' problems with multiplexor
Roberto Machado
racm at centroin.com.br
Tue Mar 19 23:02:58 EST 2002
On Mon, 18 Mar 2002, McCarthy, Doug FIREWALL wrote:
> I wish I could be more specific. I really do. But when you see the
> snippets from the log files below, you'll see what I mean.
You're seeing more serious issues that I ever experienced. I'm
running mimedefang 2.6 + sendmail 8.12.2 under BSD/OS 4.2. I never
tried MD in 4.1, though.
The only hack I'm doing with MD is to comment out closefiles()
function, under mimedefang.c. I'm not sure what is the problem,
but this caused the "select failed" message to disappear. Check the
mail excerpts below.
Regards, Roberto
================================================================
>From racm at centroin.com.br Wed Mar 20 01:01:30 2002
Date: Mon, 24 Sep 2001 15:43:08 -0300 (EST)
From: Roberto Machado <racm at centroin.com.br>
To: defanglist at howlermonkey.net
Subject: Select() Failed?
People,
any idea where I could look to see what is wrong?
Sep 24 15:35:57 myhost mimedefang[12774]: MIMEDefang-1.4: select()
failed (Bad file descriptor), try again
The messages go through, but there's a warning header:
X-MIMEDefang-Warning: Perl process did not finish
Using "ls -lu" I see the /usr/local/bin/mimedefang.pl being accessed
for every message, but /etc/mail/mimedefang-filter is not.
System is BSD/OS 4.2 + sendmail 8.12.0. BTW, it worked once, when I
was testing on friday, when I got back today all I can see is this
error.
Best Regards,
Roberto
================================================================
>From racm at centroin.com.br Wed Mar 20 00:37:40 2002
Date: Fri, 28 Sep 2001 15:54:39 -0300 (EST)
From: Roberto Machado <racm at centroin.com.br>
To: defanglist at howlermonkey.net
Subject: closefiles() is the culprit
Hi!
David or whoever can help me! While playing around with mimedefang, I
noticed that commenting out closefiles() after the fork, where the
child runs the perl scanner, solves my problem. Snippet:
} else if (n == 0) {
/* In the child */
/* closefiles(); */
execl(PERL_PATH, "perl", MIMEDEFANG_PL, data->dir, NULL);
_exit(EXIT_FAILURE);
} else {
Could anyone tell me:
1 - what is the reason for this call? What is it trying to achieve? Is
it to prevent file descriptor starvation or anything?
2 - what problems could I have, keeping it commented?
3 - does perl need any file descriptor open to run scripts (i.e,
STDERR, STDOUT, STDIN)?
Regards, Roberto
More information about the MIMEDefang
mailing list