yup I spent an hour trying to debug this the other day. if you start the clamd by hand as zimbra user, independent of zimbra (ie with zimbra stopped), it works fine and binds to the port after a short startup delay. if started using zmclamdctl(/zmamavisdctl) then it refuses to bind to the port. this is the same even if you specify the ip/port. strace shows the port binding but it doesn't respond.
i gave up and downloaded the latest clamav source (0.91.2 or something, quite a bit newer than the existing version) and compiled and installed as thus:
./configure --prefix=/opt/zimbra/clamav --with-user=zimbra --with-group=zimbra --with-dbdir=/opt/zimbra/clamav/db --enable-debug && make && make install
works perfectly since then. |