Hello people,
I'm testing with simscan-1.4.0 as it is distributed here on SF.
Everything works fine when only clam scanning is used. However, if I also add spam (spamassassin) as scanner, only half of the content of the messages will pass the simscan.
This is the part of the message I receive in the mailbox:
--
Return-Path: <foo@example.com>
Delivered-To: harm@example.com
Received: (qmail 8807 invoked from network); 31 Dec 2007 17:25:51 -0000
Received: from mx1b.mail.tiscomhosting.nl (62.93.235.221)
by pop08.mail.tiscomhosting.nl with SMTP; 31 Dec 2007 17:25:51 -0000
Received: (qmail 5992 invoked from network); 31 Dec 2007 17:25:49 -0000
Received: by simscan 1.4.0 ppid: 5986, pid: 5987, t: 0.0067s
scanners: clamav: 0.92/m:45/d:5110 spam: 3.2.3
--
Well, after some debugging of my side, I found out that before calling the check_spam() function, the file descriptor of the message gets moved to 0 (stdin).
Inside check_spam() I am still able to read the contents of the descriptor. However, after the call to the spamc binary (with the vfork()), it looks like there is no content on fd 0. So, the rest of the message can not be copied to a new email file.
That is at least my conclusion.
I saw that the version on the CVS differs from mine, but I haven't tried that version.
Kind regards and best wished for 2008 :],
Harm van Tilborg
Logged In: YES
user_id=458751
Originator: YES
Ok, I think it was the ending of the year ;]. The actual error was that my spamc binary was set to /usr/bin/spamc, however, it was located at /usr/local/bin/spamc.
Maybe it's an idea to put an error line after the execve call, as it is not standard to end up there. Or to check whether the specified binary exists in the configure script?
But maybe you're thinking normally no one would be so stupid to specify a not existing binary ;].
Regards,
Harm