Hello everyone.
I wanted to build an email server OBSD style. I have never done this,
and it has been a while since I set one up (few years). I wanted to
take advantage of many of the newer developments in the *nix email world.
I am using OBSD 3.8 with sendmail. My machine is an 800mhz via c3 with
512mb of ram. I am using sasl, imaps/pops (imap-uw) with tls, I am
using spam assassin, and I am using clamav through smtp-vilter.
Everything works great --except one thing:
Clamd seems to crap out on large email messages. I have sent several
test messages to my server with a 4mb attachment. every time it tries
to come through, I get this in my maillog file:
---------------------------------------------------------------------------------------------------------------
Nov 27 12:54:37 mx1 sendmail[11426]: jARHriLC011426:
to=<[EMAIL PROTECTED]>, delay=00:00:48, pri=5757331, stat=Please try
again later
Nov 27 12:57:14 mx1 sendmail[9374]: jARHuXIs009374:
from=<[EMAIL PROTECTED]>, size=5727332, class=0, nrcpts=1,
msgid=<[EMAIL PROTECTED]>, proto
=ESMTP, daemon=MTA, relay=sccrmhc11.comcast.net [63.240.77.81]
Nov 27 12:57:16 mx1 sendmail[9374]: jARHuXIs009374: Milter add: header:
X-SMTP-Vilter-Version: 1.1.9
Nov 27 17:57:26 mx1 smtp-vilter[29622]: clamd: no response from clamd
Nov 27 17:57:26 mx1 smtp-vilter[29622]: error during virus scan of file
/tmp/vilter.MFzDk29622
Nov 27 17:57:26 mx1 smtp-vilter[29622]: temporarily failing message
Nov 27 12:57:26 mx1 sendmail[9374]: jARHuXIs009374: Milter: data,
reject=451 4.3.2 Please try again later
-------------------------------------------------------------------------------------------------------------------
I have monitored it with top, and when the message comes through, the
CPU usage for spikes to about 97% (nearly all of it attributable to
clamd). It bobbles from about 75% to 97% for about 40-50 seconds. Then
it craps out with the above message in /var/log/maillog. I have set the
readtimeout to 10 minutes... this did not help.
Small messages get through just fine, and clear their virus scan.
I know my users will be sending/receiving attachments this big and bigger.
Can someone please assist?
Thank you!
Chris
Note: I have also used maildroid, and I noticed, that out of the box,
the same thing happens!
Here is my clamd.conf:
------------------------------------------------------------------
LogFile /var/log/clamd.log
LogTime
TemporaryDirectory /var/tmp
FixStaleSocket
TCPSocket 3310
TCPAddr 127.0.0.1
ReadTimeout 600
User _vilter
ScanPE
ScanArchive
--------------------------------------------------------------------
Here is my smtp-vilter.conf
-------------------------------------------------------------------
user=_vilter
group=_vilter
chroot=/var/smtp-vilter
tmpfiles=g+r
tmpfiles=setgrp
backend=clamd
config-file=clamd:/etc/smtp-vilter/clamd.conf
virus-strategy=notify-recipient
recipient-notification=/etc/smtp-vilter/recipient-notification
spam-strategy=mark
spam-subject-prefix="* SPAM *"
unwanted-strategy=mark
error-strategy=tempfail
port=unix:smtp-vilter.sock
tmpdir=/tmp
pidfile=/var/run/smtp-vilter.pid
log-facility=mail
logfile=/var/log/smtp-vilter.log
option=logvirus
option=logspam
option=logunwanted
option=markall
-------------------------------------------------------------------
Here is my dmesg:
-------------------------------------------------------------------
OpenBSD 3.8 (GENERIC) #138: Sat Sep 10 15:41:37 MDT 2005
[EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: VIA Samuel 2 ("CentaurHauls" 686-class) 800 MHz
cpu0: FPU,DE,TSC,MSR,MTRR,PGE,MMX
real mem = 527998976 (515624K)
avail mem = 474857472 (463728K)
using 4278 buffers containing 26501120 bytes (25880K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(e1) BIOS, date 03/27/03, BIOS32 rev. 0 @ 0xfb150
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
apm0: flags 70102 dobusy 1 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xf0000/0xdf94
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf20/112 (5 entries)
pcibios0: PCI Exclusive IRQs: 5 9 10 11
pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT8231 ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0xc000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "VIA VT8601 PCI" rev 0x05
ppb0 at pci0 dev 1 function 0 "VIA VT82C601 AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "Trident CyberBlade i1" rev 0x6a
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pcib0 at pci0 dev 17 function 0 "VIA VT8231 ISA" rev 0x10
pciide0 at pci0 dev 17 function 1 "VIA VT82C571 IDE" rev 0x06: ATA100,
channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <Maxtor 6Y120P0>
wd0: 16-sector PIO, LBA, 117246MB, 240121728 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 ignored (disabled)
uhci0 at pci0 dev 17 function 2 "VIA VT83C572 USB" rev 0x1e: irq 9
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 17 function 3 "VIA VT83C572 USB" rev 0x1e: irq 9
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
viaenv0 at pci0 dev 17 function 4 "VIA VT8231 PMG" rev 0x10
auvia0 at pci0 dev 17 function 5 "VIA VT82C686 AC97" rev 0x40: irq 5
ac97: codec id 0x56494161 (VIA Technologies VT1612A)
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
audio0 at auvia0
vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x51: irq 10 address
00:40:63:c9:0d:ea
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface
ukphy0: OUI 0x004063, model 0x0032, rev. 5
xl0 at pci0 dev 20 function 0 "3Com 3c905B 100Base-TX" rev 0x24: irq 11,
address 00:50:04:99:d2:63
exphy0 at xl0 phy 24: 3Com internal media interface
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask e34d netmask ef4d ttymask ffcf
pctr: user-level cycle counter enabled
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302