Free Downloads, Community Forum,
FAQs and Developer Resources


Make /Tools Your Home | Link to us

Today's posts | Posts since last visit | Most Active Topics

All Forums Register Login Search Subscriptions My Profile Inbox
Tool Warehouse FAQs Resources Help Member List Address Book Logout

ClamAV on SFU 3.5

 
Logged in as: Guest
Users viewing this topic: none
  Printable Version
All Forums >> [SFU / Interix / SUA Technology] >> Interix Advanced Forum >> ClamAV on SFU 3.5 Page: [1] 2   next >   >>
Login
Message << Older Topic   Newer Topic >>
ClamAV on SFU 3.5 - Jun. 14, '04, 11:09:33 PM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
I'm trying to get ClamAV working on SFU (http://www.clamav.net). ClamAV is a nice OSS antivirus system that provides an AV scanning daemon listening on a TCP socket. My goal is to write a .NET/Mono client library for the clamd virus scanning daemon. Tomasz Kojm, of the ClamAV project, adjusted the build script for me so that ClamAV 0.73 will now compile on SFU 3.5. However, when running the clamscan virus scanner, PSXSS.EXE goes to high CPU utilization while loading the virus database and hangs.

We are stymied and would appreciate any help you can offer.

Here's the debug output from clamscan:

$ clamscan --debug --database=/usr/local/share/clamav/main.cvd ~/SFU
LibClamAV debug: Loading /usr/local/share/clamav/main.cvd
LibClamAV debug: /usr/local/share/clamav/main.cvd: CVD file detected
LibClamAV debug: in cli_cvdload()
LibClamAV debug: MD5(.tar.gz) = 2afa38b2ececc44e99e396f97e94adef
LibClamAV debug: Decoded signature: 2afa38b2ececc44e99e396f97e94adef
LibClamAV debug: Digital signature is correct.
LibClamAV debug: in cli_untgz()
LibClamAV debug: Unpacking /tmp/clamav-21b237104cf6761e/COPYING
LibClamAV debug: Unpacking /tmp/clamav-21b237104cf6761e/viruses.db
LibClamAV debug: Loading databases from /tmp/clamav-21b237104cf6761e
^C
$

pmon output while clamscan is running (abbreviated):


Mem Mem Page Flts Commit Usage Pri Hnd Thd Image
CPU CpuTime Usage Diff Faults Diff Charge NonP Page Cnt Cnt Name

94156 56 68092 79 File Cache
0 0:03:27 20 0 1 0 0 0 0 0 0 1 Idle Process
0 0:00:05 232 0 7893 0 32 0 0 8 626 62 System
...
0 0:00:01 11448 4 5948 1 9164 7 51 13 506 13 csrss.exe
...
0 0:00:00 1084 0 270 0 552 1 8 8 29 3 POSIX.EXE
85 0:14:23 3732 0 1386 0 2036 5 28 13 893 18 PSXSS.EXE
...
0 0:00:00 1256 0 313 0 344 1 12 8 34 3 PSXRUN.EXE
...
0 0:00:00 556 0 135 0 568 0 5 8 9 2 zzInterix
...
0 0:00:00 2020 0 600 0 2584 0 10 8 8 2 bash
...
13 0:01:25 1532 0 398 0 2208 0 6 8 12 2 clamscan
...
Post #: 1
RE: ClamAV on SFU 3.5 - Jun. 14, '04, 11:47:02 PM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
Have you tried running truss to see what system calls are happening when
it goes into this high CPU state?
For PSXSS to have high CPU usage it has to be from a system call or a series
of system calls (perhaps a loop) started from the user side. Hence my asking
about truss being tried or not.

(in reply to breiter)
Post #: 2
RE: ClamAV on SFU 3.5 - Jun. 15, '04, 12:38:30 AM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
I appologize, this is a long post.

If I run clamscan passing the directory for the virus database as I should, then the databases don't load. Something is wrong with the I/O loading the databases, but I don't understand it well enough to fix.

Here's the truss:
$ truss clamscan --database=/usr/local/share/clamav --recursive --debug /dev/fs/D/breiter/SFU/clamav-0.73
***********************
begin truss output
***********************
tracing pid 181
getdata() getdata returned 0
getrlimit() getrlimit returned 0
pthread_inform_signals() pthread_inform_signals returned 0
unixpath2win() unixpath2win returned 0
getids() getids returned 0
getids() getids returned 0
getids() getids returned 0
getids() getids returned 0
open("/usr/lib/libz.so", 0x1) open failed: errno 2, No such file or directory

open("/usr/X11R6/lib/libz.so", 0x1) open failed: errno 2, No such file or directory

open("/usr/local/lib/libz.so", 0x1) open returned 3
read(3, 0x85EC18, 4096) read returned 4096 0x1000
close(3) close returned 0
unixpath2win() unixpath2win returned 0
open("/usr/lib/libc.so.3.5", 0x1) open returned 3
read(3, 0x85EBF8, 4096) read returned 4096 0x1000
close(3) close returned 0
unixpath2win() unixpath2win returned 0
gettzenv() gettzenv returned 0
open_nocancel("/usr/share/zoneinfo/America/New_York", 0x1) open_nocancel returned 3
read_nocancel(3, 0x85DF20, 7484) read_nocancel returned 1267 0x4F3
close_nocancel(3) close_nocancel returned 0
getids() getids returned 0
stat("/usr/local/share/clamav", 0x00AA0748) stat ret: 0 dev: 0x40000000000043 ino: 0x00010aca
open("/usr/local/share/clamav", 0x1) open returned 3
fstat(3, 0xAA0710, 0xA10710) fstat ret: 0 dev: 0x40000000000043 ino: 0x00010aca
fcntl(3, 0x3, 0x1) fcntl returned 0
write(2, 0x85EED8, 17) LibClamAV debug: write returned 17 0x11
write(2, 0x85EEF4, 47) Loading databases from /usr/local/share/clamav
write returned 47 0x2F
readdir(3, 0x1264AC, 5120, 1) readdir returned 92 0x5C
readdir(3, 0x1264AC, 5120, 0) readdir returned 0
close(3) close returned 0
pthread_mutex_destroy(0x126498) pthread_mutex_destroy returned 0
write(2, 0x85ECF8, 7) ERROR: write returned 7
write(2, 0x85ED14, 37) Can't initialize the virus database.
write returned 37 0x25
write(2, 0x85F224, 38)
----------- SCAN SUMMARY -----------
write returned 38 0x26
write(2, 0x85F224, 17) Known viruses: 0
write returned 17 0x11
write(2, 0x85F224, 23) Scanned directories: 0
write returned 23 0x17
write(2, 0x85F224, 17) Scanned files: 0
write returned 17 0x11
write(2, 0x85F224, 18) Infected files: 0
write returned 18 0x12
write(2, 0x85F224, 22) Data scanned: 0.00 MB
write returned 22 0x16
write(2, 0x85F224, 30) I/O buffer size: 131072 bytes
write returned 30 0x1E
write(2, 0x85F214, 26) Time: 0.020 sec (0 m 0 s)
write returned 26 0x1A
lseek(0, 1, 0) lseek returned 0
lseek(0, 0, 0) lseek returned 0
exit(50) process exited with status 50

***********************
end truss output
***********************

If I pass a specific database file to clamscan I get an infinite loop. At first things look pretty normal in the truss output. The database is extracted to a temporary directory using calls to zlib. Then this...

***********************
begin truss output
***********************
tracing pid 1667
getdata() getdata returned 0
getrlimit() getrlimit returned 0
pthread_inform_signals() pthread_inform_signals returned 0
unixpath2win() unixpath2win returned 0
getids() getids returned 0
getids() getids returned 0
getids() getids returned 0
getids() getids returned 0
open("/usr/lib/libz.so", 0x1) open failed: errno 2, No such file or directory

open("/usr/X11R6/lib/libz.so", 0x1) open failed: errno 2, No such file or directory

open("/usr/local/lib/libz.so", 0x1) open returned 4
read(4, 0x85EC18, 4096) read returned 4096 0x1000
close(4) close returned 0
unixpath2win() unixpath2win returned 0
open("/usr/lib/libc.so.3.5", 0x1) open returned 4
read(4, 0x85EBF8, 4096) read returned 4096 0x1000
close(4) close returned 0
unixpath2win() unixpath2win returned 0
gettzenv() gettzenv returned 0
open_nocancel("/usr/share/zoneinfo/America/New_York", 0x1) open_nocancel returned 4
read_nocancel(4, 0x85DF20, 7484) read_nocancel returned 1267 0x4F3
close_nocancel(4) close_nocancel returned 0
getids() getids returned 0
stat("/usr/local/share/clamav/main.cvd", 0x00AA0760) stat ret: 0 dev: 0x40000000000043 ino: 0x00010aec
open("/usr/local/share/clamav/main.cvd", 0x1) open returned 4
write(2, 0x85EEB8, 17) write returned 17 0x11
write(2, 0x85EED4, 41) write returned 41 0x29
fstat(4, 0xAA0710, 0xA10710) fstat ret: 0 dev: 0x40000000000043 ino: 0x00010aec
isatty(4) isatty returned 0
read(4, 0x128358, 4096) read returned 4096 0x1000
lseek(4, 1, 0) lseek returned 0
write(2, 0x85EEB8, 17) write returned 17 0x11
write(2, 0x85EED4, 52) write returned 52 0x34
write(2, 0x85EE78, 17) write returned 17 0x11
write(2, 0x85EE94, 17) write returned 17 0x11
read(4, 0x128358, 4096) read returned 4096 0x1000
read(4, 0x128358, 4096) read returned 4096 0x1000
**
...~200 reads just like above and below...
**
read(4, 0x128358, 4096) read returned 4096 0x1000
read(4, 0x128358, 4096) read returned 4096 0x1000
read(4, 0x128358, 4096) read returned 2533 0x9E5
read(4, 0x128358, 4096) read returned 0
read(4, 0x128358, 4096) read returned 0
write(2, 0x85EC28, 17) write returned 17 0x11
write(2, 0x85EC44, 48) write returned 48 0x30
write(2, 0x85EBD8, 17) write returned 17 0x11
write(2, 0x85EBF4, 52) write returned 52 0x34
write(2, 0x85EBD8, 17) write returned 17 0x11
write(2, 0x85EBF4, 30) write returned 30 0x1E
lseek(4, 0, 1034725) lseek returned 0
lseek(4, 0, 512) lseek returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
stat("/tmp/clamav-6a508541ac3b3668", 0x00AA0758) stat failed: errno 2, No such file or directory

mkdir("/tmp/clamav-6a508541ac3b3668") mkdir returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
times() times returned 0
stat("/tmp/clamav-ee7967561ba085ca", 0x00AA0758) stat failed: errno 2, No such file or directory

open("/tmp/clamav-ee7967561ba085ca", 0x303, 0666) open returned 5
read(4, 0x128358, 4096) read returned 4096 0x1000
read(4, 0x128358, 4096) read returned 4096 0x1000
fstat(5, 0xAA0710, 0xA10710) fstat ret: 0 dev: 0x40000000000043 ino: 0x000116cc
isatty(5) isatty returned 0
write(5, 0x129BA8, 4096) write returned 4096 0x1000
**
...etc bunch of reads and writes until..
**
write(6, 0x13B8D0, 4096) write returned 4096 0x1000
write(6, 0x13B8D0, 2480) write returned 2480 0x9B0
close(6) close returned 0
close(5) close returned 0
close(5) close failed: errno 9, Bad file descriptor

unlink() unlink returned 0
open("/tmp/clamav-6a508541ac3b3668", 0x1) open returned 5
fstat(5, 0xAA0710, 0xA10710) fstat ret: 0 dev: 0x40000000000043 ino: 0x00011665
fcntl(5, 0x3, 0x1) fcntl returned 0
write(2, 0x85EE48, 17) write returned 17 0x11
write(2, 0x85EE64, 52) write returned 52 0x34
readdir(5, 0x129D34, 5120, 1) readdir returned 96 0x60
readdir(5, 0x129D34, 5120, 0) readdir returned 0
close(5) close returned 0
pthread_mutex_destroy(0x129D20) pthread_mutex_destroy returned 0
chmod() chmod returned 0
open("/tmp/clamav-6a508541ac3b3668", 0x1) open returned 5
fstat(5, 0xAA0710, 0xA10710) fstat ret: 0 dev: 0x40000000000043 ino: 0x00011665
fcntl(5, 0x3, 0x1) fcntl returned 0
stat("/tmp/clamav-6a508541ac3b3668", 0x00AA0758) stat ret: 0 dev: 0x40000000000043 ino: 0x00011665
rmdir() rmdir failed: errno 41, Directory not empty

readdir(5, 0x129D34, 5120, 1) readdir returned 96 0x60
readdir(5, 0x129D34, 5120, 0) readdir returned 0
stat("/tmp/clamav-6a508541ac3b3668", 0x00AA0758) stat ret: 0 dev: 0x40000000000043 ino: 0x00011665
rmdir() rmdir failed: errno 41, Directory not empty

readdir(5, 0x129D34, 5120, 1) readdir returned 96 0x60
readdir(5, 0x129D34, 5120, 0) readdir returned 0
stat("/tmp/clamav-6a508541ac3b3668", 0x00AA0758) stat ret: 0 dev: 0x40000000000043 ino: 0x00011665
rmdir() rmdir failed: errno 41, Directory not empty
**
etc. forever
**

***********************
end truss output
***********************

Here's the directory in question:
$ ls -n /tmp/clamav-6a508541ac3b3668
total 5161
-rw-r--r-- 1 197108 131616 17992 Jun 15 00:05 COPYING
-rw-r--r-- 1 197108 131616 2623920 Jun 15 00:05 viruses.db

COPYING is the GPL v2.
viruses.db is full of signatues like this:
Flooder.DoS.Siya (Clam)=30010000ba18b042008b08ff51348b83e80100008b8030010000ba40b042008b08ff51345bc3ffffffff001e0000536979616e75722076312e3020436f646564206279204372656d61746f727900ffffffff1e
Flooder.DoS.Smurf.A (Clam)=33c05a595964891068d26040008d45e8ba02000000e8a6daffffc3e918d5ffffebeb5f5e5be882d9ffff0000ffffffff560000000d0a536d7572662076312e34205b3033204a756e
Worm.Bagle.Y (Clam)=27542f615543482057494c5f3567b6f6722c3e5d4b9b586f60edad4f174e45562c325e45d8f66231862e2000876fffed2d2d5b7574686f72206f66da61676c6516ffffffbb010032c18ad1d0e36b0858d0eb720780f321

(in reply to Rodney)
Post #: 3
RE: ClamAV on SFU 3.5 - Jun. 15, '04, 1:26:06 AM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
> I appologize, this is a long post.

It's the nature of this sort of thing (debugging by posts) .

Kinda doing some odd stuff in the second truss output.
I have to wonder why it calls times() so many times. But anyway, doing a times() call
repeatedly can grab a lot of CPU time with PSXSS. So that can be where you see a bunch
of the load. It might be something to look into the code to see why it calls times()
so much.

The last looping part of the truss o/p shows the code is looping.
That'll eat CPU with repeated system calls.
It looks like the code is trying to cleanup a temporary directory and it's content.
Why "COPYING" would be there I dunno, but "viruses.db" makes sense in the context.

Clearly a directory cannot be removed until it's empty. So the sol'n is to empty the
directory and then try to remove the directory again. We can see that readdir() is
called twice, but no unlink() call happens. An unlink() call would remove a file
in the directory with the information from the readdir(). But it isn't happening
by the looks of it. An unlink() call will show up in the truss o/p.

My hunch is that there may be some conditional code (i.e. "#ifdef") that is "off"
when it should be "on" and it has the unlink() code in it. It's unlikely there are
too many instances of the rmdir() API being called. You should be able to grep the
source code to see where it is. The readdir() code should be nearby (active when the
call to rmdir() fails. Look at what the source code has in that area.

< Message edited by Rodney -- Jun. 15, '04, 1:27:39 AM >

(in reply to breiter)
Post #: 4
RE: ClamAV on SFU 3.5 - Jun. 15, '04, 9:00:38 AM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
Well Rodney,

It isn't obvious to me how to fix this problem. It actually looks like the database files aren't being loaded at all when passing the directory the database files are in, though that is the way it is supposed to work. Furthermore, the directory they are in is the default that is compiled into the binary. And passing the path to a specific database file makes it hang.

I'm stymied. Reading C code is not my forte. I tried changing

/* os is bsd flavor */
/* #undef C_BSD */


to

#define C_BSD

on the hope that would fix things, but no luck.

I don't know why this is so hard. It compiles fine on Cygwin. I know it would work much better under SFU.

Is there a chance that you could take a few minutes and look at the code? Maybe the solution will be obvious to you where it is opaque to me.

$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/clamav co clamav-devel

Thanks for your help.

(in reply to Rodney)
Post #: 5
RE: ClamAV on SFU 3.5 - Jun. 15, '04, 9:27:07 AM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
This afternoon (EDT) at the earliest...
I have another project to finish first.

(in reply to breiter)
Post #: 6
RE: ClamAV on SFU 3.5 - Jun. 15, '04, 6:07:26 PM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
Thanks. I really appreciate your help. It looks like a really nice tool to have in the arsenal. And the fact that you can send files as streams to a TCP-port makes it easy to integrate into custom systems, which I can't say for anything else on the market that I have seen.

BTW. ClamAV uses libtool in it's build and GMP in it's database signature verification PKI. Which is why I had looked into those other items. Just thought I'd let you know that they work since there's no package posted in the Tools Warehouse.

Cheers.

(in reply to Rodney)
Post #: 7
RE: ClamAV on SFU 3.5 - Jun. 17, '04, 6:08:30 PM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
Hi Rodney,

Did you get a chance to look into this? I remain mystified.

Thanks.

(in reply to breiter)
Post #: 8
RE: ClamAV on SFU 3.5 - Jun. 18, '04, 1:53:40 AM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
Sorry, not yet.

(in reply to breiter)
Post #: 9
RE: ClamAV on SFU 3.5 - Jun. 18, '04, 2:56:34 AM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
Okay, I've looked at the source code (I've not configured nor compiled it).
It's pretty obvious if you've run into it before on Interix.
With Interix you can have readdir() return with d_ino==0.
On other Unix systems it's akin to "skip this entry". On Interix
it's still a valid value.

So the the clamscan/treewalk.c file go to the function rmdirs()
and change the line that reads:
    if(dent->d_ino) {

to read instead:
#ifndef __INTERIX
    if(dent->d_ino)
#else /* __INTERIX */
    if(1)
#endif /* __INTERIX
{


That's the "simplist" patch.
Notice the shift of the "{" to keep things balanced for the editor :-)

What was happening before was the program was skipping the unlink for
the file with d_ino of 0 (zero). It created a catch-22 for itself as,
you'll notice, the whole thing was in a while loop until the directory
could no longer be stat()'d (meaning it was gone).

That should do it for you (or at least move you on to the next problem ).

(in reply to Rodney)
Post #: 10
RE: ClamAV on SFU 3.5 - Jun. 18, '04, 10:45:17 AM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
Thanks for the tip, Rodney! I applied that pattern to all of the methods in the project that use readdir(). Works like a charm now. It's about an order of magnitude faster than running under Cygwin.

$ freshclam
ClamAV update process started at Fri Jun 18 10:39:01 2004
Reading CVD header (main.cvd): OK
Downloading main.cvd

  • main.cvd updated (version: 23, sigs: 21096, f-level: 2, builder: ddm)
    Reading CVD header (daily.cvd): OK
    Downloading daily.cvd

  • daily.cvd updated (version: 362, sigs: 891, f-level: 2, builder: diego)
    Database updated (21987 signatures) from database.clamav.net (66.139.75.171).
    $ clamscan -r
    /dev/fs/D/breiter/SFU/clamav-devel/acinclude.m4: OK
    /dev/fs/D/breiter/SFU/clamav-devel/aclocal.m4: OK
    /dev/fs/D/breiter/SFU/clamav-devel/AUTHORS: OK
    /dev/fs/D/breiter/SFU/clamav-devel/BUGS: OK
    /dev/fs/D/breiter/SFU/clamav-devel/ChangeLog: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-config: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-config.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-config.h.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-config.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/.deps/cfgparser.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/.deps/clamav-milter.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/.deps/getopt.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/.deps/memory.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/clamav-milter.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/INSTALL: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamav-milter/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/cfgparser.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/clamd.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/clamuko.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/dazukoio.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/dazukoio_compat12.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/getopt.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/localserver.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/memory.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/options.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/others.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/output.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/scanner.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/server-th.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/session.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/tcpserver.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/tests.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/.deps/thrmgr.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/cfgparser.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/clamd: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/clamd.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/clamd.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/clamuko.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/clamuko.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/clamuko.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazukoio.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazukoio.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazukoio.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazukoio_compat12.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazukoio_compat12.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazukoio_compat12.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazukoio_xp.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/dazuko_xp.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/defaults.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/getopt.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/localserver.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/localserver.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/localserver.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/memory.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/options.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/options.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/options.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/others.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/others.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/others.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/output.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/scanner.c: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/scanner.c.bak: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/scanner.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/scanner.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/server-th.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/server-th.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/server.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/session.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/session.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/session.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/shared.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/tcpserver.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/tcpserver.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/tcpserver.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/tests.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/tests.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/tests.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/thrmgr.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/thrmgr.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamd/thrmgr.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/.deps/cfgparser.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/.deps/clamdscan.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/.deps/client.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/.deps/memory.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/.deps/output.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/cfgparser.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/clamdscan: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/clamdscan.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/clamdscan.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/client.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/client.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/client.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/defaults.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/memory.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamdscan/output.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/cfgparser.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/clamscan.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/getopt.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/manager.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/memory.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/options.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/others.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/output.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/.deps/treewalk.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/cfgparser.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/clamscan: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/clamscan.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/clamscan.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/defaults.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/getopt.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/manager.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/manager.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/manager.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/memory.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/options.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/options.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/options.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/others.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/others.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/others.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/output.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/shared.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/treewalk.c: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/treewalk.c.bak: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/treewalk.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/clamscan/treewalk.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/config.guess: OK
    /dev/fs/D/breiter/SFU/clamav-devel/config.log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/config.status: OK
    /dev/fs/D/breiter/SFU/clamav-devel/config.sub: OK
    /dev/fs/D/breiter/SFU/clamav-devel/configure: OK
    /dev/fs/D/breiter/SFU/clamav-devel/configure.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdb/clamdb.zip: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdb/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdb/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdb/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdwatch/clamdwatch.tar.gz: Eicar-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdwatch/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdwatch/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdwatch/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/CVS/Entries.Log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/CVS/Entries.Log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/RedHat/clamav-milter: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/RedHat/clamd: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/RedHat/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/RedHat/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/RedHat/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/SuSE/clamd: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/SuSE/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/SuSE/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/init/SuSE/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/trashscan/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/trashscan/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/trashscan/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamadoc.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamadoc.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamav.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamav.exe: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamav.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamav.rc: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamavw.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamavw.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamserver.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/clamserver.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/CVS/Entries.Log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/mainfrm.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/mainfrm.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/options.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/options.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/progress.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/progress.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/readme.txt: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/res/clamav.ico: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/res/clamav.rc2: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/res/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/res/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/res/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/res/toolbar.bmp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/resource.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/servername.cpp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/contrib/Windows/servername.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/COPYING: OK
    /dev/fs/D/breiter/SFU/clamav-devel/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/CVS/Entries.Log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/database/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/database/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/database/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/database/daily.cvd: Empty file.
    /dev/fs/D/breiter/SFU/clamav-devel/database/main.cvd: Empty file.
    /dev/fs/D/breiter/SFU/clamav-devel/database/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/database/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/database/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/depcomp: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/clamav-mirror-howto.pdf: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/clamdoc.pdf: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/clamd_supervised/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/clamd_supervised/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/clamd_supervised/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/CVS/Entries.Log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/DMS/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/DMS/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/DMS/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/DMS/Debian_Mail_server.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/FreeBSD-HowTo/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/FreeBSD-HowTo/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/FreeBSD-HowTo/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/FreeBSD-HowTo/qmail-scanner-how-to.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/French/clamdoc-french.pdf: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/French/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/French/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/French/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/German/clamdoc_de.pdf: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/German/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/German/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/German/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/clamdoc.css: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/footnode.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/img1.png: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/img2.png: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/img3.png: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/img4.png: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/img5.png: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/index.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node1.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node10.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node11.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node12.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node13.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node14.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node15.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node16.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node17.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node18.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node19.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node2.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node20.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node21.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node22.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node23.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node24.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node25.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node26.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node27.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node28.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node29.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node3.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node30.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node31.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node32.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node33.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node34.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node35.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node36.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node37.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node38.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node39.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node4.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node40.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node41.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node42.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node43.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node44.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node45.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node46.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node47.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node48.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node49.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node5.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node50.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node51.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node52.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node53.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node54.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node55.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node56.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node57.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node58.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node59.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node6.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node60.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node61.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node62.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node63.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node64.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node65.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node66.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node67.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node68.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node69.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node7.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node70.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node71.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node72.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node73.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node74.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node75.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node76.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node77.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node78.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node79.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node8.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node80.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node81.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node82.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node83.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node84.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node85.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/html/node9.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Japanese/clamav.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Japanese/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Japanese/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Japanese/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/clamav-milter.8: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/clamav.conf.5: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/clamd.8: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/clamdscan.1: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/clamscan.1: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/freshclam.1: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/freshclam.conf.5: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/man/sigtool.1: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Polish/clam.png: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Polish/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Polish/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Polish/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Polish/samba_clamav.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Polish/sendmail_clamav.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Polish/winmsg.png: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Portugese/clamav-howto.txt: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Portugese/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Portugese/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Portugese/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/signatures.pdf: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Spanish/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Spanish/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Spanish/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Spanish/Sendmail+Amavis+ClamAv-Como.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Spanish/sendmail-Clam.html: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Turkish/clamdoc.txt: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Turkish/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Turkish/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/docs/Turkish/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/clamav.conf: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/freshclam.conf: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/etc/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/examples/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/examples/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/examples/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/examples/ex1.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/FAQ: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/cfgparser.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/freshclam.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/getopt.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/manager.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/memory.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/notify.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/options.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/.deps/output.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/cfgparser.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/defaults.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/freshclam: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/freshclam.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/freshclam.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/freshclam.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/getopt.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/manager.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/manager.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/manager.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/memory.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/notify.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/notify.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/notify.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/options.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/options.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/options.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/freshclam/output.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/INSTALL: OK
    /dev/fs/D/breiter/SFU/clamav-devel/install-sh: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/blob.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/cabd.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/cvd.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/dsig.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/lzxd.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/matcher.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/mbox.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/md5.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/message.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/msexpand.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/mszipd.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/ole2_extract.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/others.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/pe.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/qtmd.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/readdb.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/scanners.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/snprintf.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/str.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/strc.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/strrcpy.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/system.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/table.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/text.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/unrarlib.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/upx.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/vba_extract.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/zzip-dir.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/zzip-err.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/zzip-file.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/zzip-info.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/zzip-io.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/zzip-stat.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.deps/zzip-zip.Plo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.libs/libclamav.a: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/.libs/libclamav.lai: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/blob.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/blob.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/blob.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/blob.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/cabd.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/cabd.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/clamav.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/cltypes.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/cvd.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/cvd.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/cvd.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/cvd.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/CVS/Entries.Log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/defaults.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/dsig.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/dsig.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/dsig.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/dsig.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/libclamav.la: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/lzxd.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/lzxd.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/matcher.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/matcher.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/matcher.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/matcher.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mbox.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mbox.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mbox.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mbox.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/md5.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/md5.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/md5.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/md5.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/message.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/message.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/message.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/message.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/msexpand.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/msexpand.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/msexpand.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/msexpand.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/cab.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/cabd.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/lzx.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/lzxd.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/mspack.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/mszip.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/mszipd.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/qtm.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/qtmd.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/system.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mspack/system.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mszipd.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/mszipd.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/ole2_extract.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/ole2_extract.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/ole2_extract.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/ole2_extract.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/others.c: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/others.c.bak: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/others.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/others.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/others.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/pe.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/pe.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/pe.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/pe.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/qtmd.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/qtmd.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/readdb.c: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/readdb.c.bak: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/readdb.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/readdb.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/scanners.c: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/scanners.c.bak: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/scanners.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/scanners.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/scanners.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/snprintf.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/snprintf.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/snprintf.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/snprintf.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/str.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/str.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/str.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/str.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/strc.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/strc.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/strrcpy.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/strrcpy.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/strrcpy.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/strrcpy.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/system.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/system.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/table.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/table.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/table.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/table.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/text.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/text.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/text.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/text.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/unrarlib.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/unrarlib.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/unrarlib.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/unrarlib.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/upx.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/upx.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/upx.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/upx.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/vba_extract.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/vba_extract.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/vba_extract.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/vba_extract.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-dir.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-dir.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-err.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-err.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-file.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-file.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-info.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-info.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-io.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-io.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-stat.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-stat.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-zip.lo: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zzip-zip.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/strc.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/strc.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-conf.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-config.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-dir.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-err.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-file.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-file.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-info.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-io.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-io.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-stat.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-stdint.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip-zip.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzip.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zzipformat.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav/zziplib/zziplib.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav.pc: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libclamav.pc.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/libtool: OK
    /dev/fs/D/breiter/SFU/clamav-devel/ltmain.sh: OK
    /dev/fs/D/breiter/SFU/clamav-devel/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/missing: OK
    /dev/fs/D/breiter/SFU/clamav-devel/mkinstalldirs: OK
    /dev/fs/D/breiter/SFU/clamav-devel/NEWS: OK
    /dev/fs/D/breiter/SFU/clamav-devel/README: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/cfgparser.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/cfgparser.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/getopt.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/getopt.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/memory.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/memory.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/output.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/shared/output.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/.deps/cfgparser.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/.deps/getopt.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/.deps/memory.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/.deps/options.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/.deps/output.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/.deps/sigtool.Po: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/cfgparser.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/getopt.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/Makefile: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/Makefile.am: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/Makefile.in: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/memory.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/options.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/options.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/options.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/output.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/sigtool: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/sigtool.c: Access denied.
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/sigtool.c.bak: OK
    /dev/fs/D/breiter/SFU/clamav-devel/sigtool/sigtool.o: OK
    /dev/fs/D/breiter/SFU/clamav-devel/stamp-h1: OK
    /dev/fs/D/breiter/SFU/clamav-devel/target.h: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/CVS/Entries.Log: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/mbox/CVS/Entries: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/mbox/CVS/Repository: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/mbox/CVS/Root: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/mbox/debugm.c: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/README: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/test: ClamAV-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/test/test-failure.rar: RAR module failure
    /dev/fs/D/breiter/SFU/clamav-devel/test/test-failure.rar: OK
    /dev/fs/D/breiter/SFU/clamav-devel/test/test-zip-noext: ClamAV-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/test/test.bz2: ClamAV-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/test/test.cab: ClamAV-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/test/test.msc: ClamAV-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/test/test.rar: ClamAV-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/test/test.zip: ClamAV-Test-Signature FOUND
    /dev/fs/D/breiter/SFU/clamav-devel/TODO: Empty file.

    ----------- SCAN SUMMARY -----------
    Known viruses: 21987
    Scanned directories: 89
    Scanned files: 682
    Infected files: 8
    Data scanned: 4.93 MB
    I/O buffer size: 131072 bytes
    Time: 5.137 sec (0 m 5 s)
    $

  • (in reply to Rodney)
Post #: 11
RE: ClamAV on SFU 3.5 - Jun. 18, '04, 11:30:00 AM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
Great. Glad to see it worked.

> It's about an order of magnitude faster than running under Cygwin.

Cool. Glad to hear this too :-)

(in reply to breiter)
Post #: 12
RE: ClamAV on SFU 3.5 - Jun. 18, '04, 12:21:26 PM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
Well, unfortunately, the daemon doesn't work.

bash-2.05b$ /usr/local/sbin/clamd --debug
bash-2.05b$ telnet localhost 3310
Trying 127.0.0.1...
Connected to johngalt.wolfereiter.priv.
Escape character is '^]'.
ERROR
Connection closed by foreign host.


Not a very useful message. And more unfortunately nothing gets logged into the logfile.

It seems like it must be something in clamd/session.c where it croaks:

int command(int desc, const struct cl_node *root, const struct cl_limits *limits, int options, const struct cfgstruct *copt)
{
char buff[1025];
int bread, opt, ret, retval, timeout;
struct cfgstruct *cpt;

if((cpt = cfgopt(copt, "ReadTimeout"))) {
timeout = cpt->numarg;
} else {
timeout = CL_DEFAULT_SCANTIMEOUT;
}
if (timeout == 0) {
timeout = -1;
}

retval = poll_fd(desc, timeout);
switch (retval) {
case 0: /* timeout */
mdprintf(desc, "ERROR\n");
logg("!Command: command timeout.\n");
return -1;
case -1:
mdprintf(desc, "ERROR\n");
logg("!Command: poll_fd failed.\n");
return -1;
}
...


Any brilliant ideas?

(in reply to Rodney)
Post #: 13
RE: ClamAV on SFU 3.5 - Jun. 18, '04, 12:29:56 PM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
The "poll" showing up is suspicious.
Poll(2) on Interix is only implemented for the /proc filesystem.

In the clamd/others.c file I see the conditional HAVE_POLL.
Adjust the config.h file no HAVE_POLL is not active (this way
the code will use select(2)). Then "make clean; make" and give
it another try.

< Message edited by Rodney -- Jun. 18, '04, 12:30:22 PM >

(in reply to breiter)
Post #: 14
RE: ClamAV on SFU 3.5 - Jun. 18, '04, 1:55:50 PM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
Yay, that worked! It seems to be fully functional.

bash-2.05b$ /usr/local/sbin/clamd --debug
bash-2.05b$ telnet localhost 3310
Trying 127.0.0.1...
Connected to johngalt.wolfereiter.priv.
Escape character is '^]'.
PING
PONG
Connection closed by foreign host.
bash-2.05b$ clamdscan
/dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdwatch/clamdwatch.tar.gz: Eicar-Test-Signature FOUND
/dev/fs/D/breiter/SFU/clamav-devel/test/test: ClamAV-Test-Signature FOUND
/dev/fs/D/breiter/SFU/clamav-devel/test/test-zip-noext: ClamAV-Test-Signature FOUND
/dev/fs/D/breiter/SFU/clamav-devel/test/test.bz2: ClamAV-Test-Signature FOUND
/dev/fs/D/breiter/SFU/clamav-devel/test/test.cab: ClamAV-Test-Signature FOUND
/dev/fs/D/breiter/SFU/clamav-devel/test/test.msc: ClamAV-Test-Signature FOUND
/dev/fs/D/breiter/SFU/clamav-devel/test/test.zip: ClamAV-Test-Signature FOUND
/dev/fs/D/breiter/SFU/clamav-devel: OK

----------- SCAN SUMMARY -----------
Infected files: 7
Time: 2.663 sec (0 m 2 s)

(in reply to Rodney)
Post #: 15
RE: ClamAV on SFU 3.5 - Jun. 30, '04, 2:25:51 PM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
The bind-8.4.1-bin.tgz package broke my ability to build ClamAV. gcc started complaining:
undefined reference to `___inet_addr'

When I used pgk_delete to remove bind-8.4.1-bin, ran make distclean, re-ran autoconf and re-ran make, everything was fine again. It was a lucky guess that the new BIND package was the culprit.

Hmmm. Doh!

Incidentally, the URL advertised in the Tools Warehouse "/pkgs/3.5/bind-1.4.1-bin.tgz" is incorrect. It should be
"/pkgs/3.5/bind-8.4.1-bin.tgz" or ".../bind-current-bin.tgz'.

I'll be happy to note, though, that the Interix compatibility hacks have all been accepted by the ClamAV project into CVS.

The current stable release now supports Interix. http://prdownloads.sourceforge.net/clamav/clamav-0.74.tar.gz

I'm ready to make a package. Any word on the tutorial for pkg_create?

(in reply to breiter)
Post #: 16
RE: ClamAV on SFU 3.5 - Jun. 30, '04, 2:41:53 PM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
> The bind-8.4.1-bin.tgz package broke my ability to build ClamAV. gcc started complaining:

Yeah, for some reason (unknown to me) SFU placed the new BIND library in a subdirectory
that isn't normally looked at.

> Incidentally, the URL advertised in the Tools Warehouse "/pkgs/3.5/bind-1.4.1-bin.tgz" is incorrect.

I'll mention it to Bill.

> I'll be happy to note, though, that the Interix compatibility hacks have all been accepted by
> the ClamAV project into CVS.

Cool.

> I'm ready to make a package. Any word on the tutorial for pkg_create?

Yeah, I have it done. It's not long. I added it to the pkg_create man page.
I need to bundle it up plus add a tar bundle with some starter files.
It'll go up later tonight.

(in reply to breiter)
Post #: 17
RE: ClamAV on SFU 3.5 - Jul. 1, '04, 3:38:39 AM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
Okay, version 1.7.1 of pkg is now available.
Read the man page for pkg_create. Let me know if you have questions or
suggestions on the tutorial. This really qualifies as DRAFT #1 :-)
pkg_add ftp://ftp.interopsystems.com/pkgs/3.5/pkg-current-bin.tgz

For more details refer to the announcement.

(in reply to Rodney)
Post #: 18
RE: ClamAV on SFU 3.5 - Jul. 24, '04, 1:17:43 AM   
Rodney

 

Posts: 3714
Joined: Jul. 9, '02,
From: /Tools lab
Status: online
ClamAV is now binary package for people to install.
Details in the Forum Annoucement at:
http://www.interopsystems.com/tools/forum/tm.asp?m=3006&mpage=1&key=ா

(in reply to Rodney)
Post #: 19
RE: ClamAV on SFU 3.5 - Aug. 13, '04, 6:13:34 PM   
breiter

 

Posts: 346
Joined: Jun. 14, '04,
From: Washington, DC
Status: offline
Hmmm. I've noticed that my clamd doesn't start automatically.

Howver this starts it just fine:
% su
Password:
> /etc/rc2.d/S32clamd start
> clamd started
> ls -l /etc/init.d/clamd /etc/rc2.d/S32clamd
-rwxrwxr--  1 root  +Administrators  403 Aug 13 17:56 /etc/init.d/clamd
lr--r--r--  1 root  +Administrators   15 Aug 13 17:56 /etc/rc2.d/S32clamd -> ../init.d/clamd
> 


What the?!

(in reply to Rodney)
Post #: 20
Page:   [1] 2   next >   >>
All Forums >> [SFU / Interix / SUA Technology] >> Interix Advanced Forum >> ClamAV on SFU 3.5 Page: [1] 2   next >   >>
Jump to:





New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts


Search All Forums -

Advanced search


SPONSORS



Forum Software © ASPPlayground.NET Advanced Edition 2.5 ANSI

0.297