I think that I've found and fixed a problem in MIMEDefang's embedded Perl mode.

The problem: The MIMEDefang multiplexor uses the openlog and syslog functions to write to the syslog. These functions use a file descriptor kept in a static variable somewhere to do the actual writing. However, when the multiplexor forks off a child, the child closes all open FDs. If the Perl filter then opens a file, it may happen to get the same FD that the openlog/syslog functions expect to use. Bad things ensue. (On my system, the FD conflict was causing slave processes to hang.)

Solution: Add a closelog() call to mimedefang-multiplexor.c's activateSlave function, just before "Close unneeded file descriptors" loop.

Josh Kelley
_______________________________________________
Visit http://www.mimedefang.org and http://www.canit.ca
MIMEDefang mailing list
[EMAIL PROTECTED]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to