> From: David Raynor [mailto:dray...@sourcefire.com]
> Sent: 07 November 2012 14:54
> 
> On Wed, Nov 7, 2012 at 3:20 AM, Philipp Schwaha <phil...@schwaha.net>
> wrote:
> 
> > hi everybody!
> >
> > I recently set up a combination of exim and clamav which was working
> > very nicely until clamav seemingly started to choke. Switching
> > debugging on I obtained the following:
> >
> > Wed Nov  7 01:52:06 2012 -> Received POLLIN|POLLHUP on fd 4 Wed Nov
> 7
> > 01:52:06 2012 -> Got new connection, FD 9 Wed Nov  7 01:52:06 2012 ->
> > Received POLLIN|POLLHUP on fd 5 Wed Nov  7 01:52:06 2012 ->
> > fds_poll_recv: timeout after 5 seconds Wed Nov  7 01:52:06 2012 ->
> > Received POLLIN|POLLHUP on fd 9 Wed Nov  7 01:52:06 2012 -> got
> > command SCAN
> > /var/spool/exim/scan/1TVtsE-0006lJ-9m/1TVtsE-0006lJ-9m.eml (63, 5),
> > argument: /var/spool/exim/scan/1TVtsE-0006lJ-9m/1TVtsE-0006lJ-9m.eml
> > Wed Nov  7 01:52:06 2012 -> mode -> MODE_WAITREPLY Wed Nov  7
> 01:52:06
> > 2012 -> Breaking command loop, mode is no longer MODE_COMMAND Wed Nov
> > 7 01:52:06 2012 -> Consumed entire command Wed Nov  7 01:52:06 2012 -
> >
> > THRMGR: queue (single) crossed low threshold -> signaling Wed Nov  7
> > 01:52:06 2012 -> THRMGR: queue (bulk) crossed low threshold
> > -> signaling
> > Wed Nov  7 01:52:06 2012 -> Number of file descriptors polled: 1 fds
> > Wed Nov  7 01:52:06 2012 -> fds_poll_recv: timeout after 600 seconds
> > Wed Nov  7 01:52:06 2012 ->
> > /var/spool/exim/scan/1TVtsE-0006lJ-9m/1TVtsE-0006lJ-9m.eml: Can't
> > create temporary directory ERROR Wed Nov  7 01:52:06 2012 -> Finished
> > scanthread Wed Nov  7 01:52:06 2012 -> Scanthread: connection shut
> > down (FD 9) Wed Nov  7 01:52:06 2012 -> THRMGR: queue (single)
> crossed
> > low threshold -> signaling Wed Nov  7 01:52:06 2012 -> THRMGR: queue
> > (bulk) crossed low threshold
> > -> signaling
> >
> > This seems very odd, since it seems that it wants to create a
> > temporary file which has exactly the same name as the input file and
> > hence little probability of success. Am I interpreting the error
> > message incorrectly?
> > Or is this maybe some other issue?
> >
> > I have now tried with clamav versions 0.97.4, 0.97.5 and 0.97.6. Exim
> > is at version 4.80. Its log file contains the corresponding message:
> >
> > 1TVtsE-0006lJ-9m malware acl condition: clamd: ClamAV returned:
> > /var/spool/exim/scan/1TVtsE-0006lJ-9m/1TVtsE-0006lJ-9m.eml: Can't
> > create temporary directory ERROR
> >
> > Of note is that it happens for all mails, even the most simplistic
> > ones (e.g., generated by swaks), where there is nothing to unpack.
> The
> > description I found here:
> > http://lurker.clamav.net/message/20120618.182545.25960b6a.en.html
> lets
> > me think that the error message might not be quite ok?
> >
> > I have also tried with different settings of 'TemporaryDirectory'
> > going through several useful settings such as /tmp or /var/tmp and
> > also obviously broken directories, just in order to see if anything
> > changes. So far I have not had any luck to change clamav's behaviour
> > at all.
> >
> > Do you have any suggestions how to further track down and hopefully
> > fix this issue?
> >
> > cheers
> >         Philipp
> >
> >
> > _______________________________________________
> > Help us build a comprehensive ClamAV guide: visit
> > http://wiki.clamav.net http://www.clamav.net/support/ml
> >
> 
> This a result message. It is starting with the file it was asked to
> scan, not the directory it is trying to create. The message it is
> printing is because the scanning result has a value of CL_ETMPDIR
> somewhere within the scanning attempt and that bubbled up to be the
> final result. One of the first things ClamAV does within the mail
> scanning is create a folder to dump attachments to as temporary files
> for scanning. That is probably where it is happening.
> 
> But it looks as if you only have debug level logging for the server
> thread and not for the actual scanning thread. The scanning library
> should be printing out a line that will tell you what directory it
> failed to create.
> Everywhere that the CL_ETMPDIR return code is initially returned, it is
> printing a message (frequently at debug level) to say what directory it
> could not create. In the case of the mail message related failure I am
> guessing above [inside function cli_scanmail()] it will look like this:
> Mail: Can't create temporary directory /dir/name/goes/here
> 
> That would tell you what folder it failed to create. So you need to get
> that message printed, which means checking the config. Can you share
> your clamd.conf file?
> 
> Dave R.
> 
> --
> ---
> Dave Raynor
> Sourcefire Vulnerability Research Team
> dray...@sourcefire.com
> 

Alternative approach: use "df" and "df -i" to check free disk space and
inodes respectively.  If you are on an SELinux system, try "setenforce 0".
If that makes it work, use "aureport --avc -ts recent" to show what was
being denied.  Note: if it's an SELinux problem, you're supposed to fix it
properly and set "setenforce 1", not leave it in permissive mode.

You say it used to work.  Ye Olde Reliable Debugging Questiones are: "When
did it last work?  When did it break?  What changed in between?"


Moray.
"To err is human; to purr, feline."





_______________________________________________
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net
http://www.clamav.net/support/ml

Reply via email to