Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A product providing ClamAV antivirus integration for AT-based content types
branch: master

Merge pull request #4 from graingert/master

depend on the existing clamd PyPi package Fixes #1
latest commit 803d12c9e3
Yiorgis Gozadinos ggozad authored
Failed to load latest commit information.
cfgs Update to Plone 4.0.2
docs Rename history to changes
src/collective depend on clamd to simplify scanner.py
.gitignore Ignores
CHANGES.txt vb
README.txt Prepare release
bootstrap.py Initial commit
buildout.cfg Initial commit
setup.py depend on clamd to simplify scanner.py

README.txt

collective.ATClamAV
===================

Introduction
------------

``collective.ATClamAV`` aims at providing antivirus integration to Plone
sites. It does that by defining a validator that can be used with any content
type that uses File or Image field(s). The open-source `Clam Antivirus`_  is
supported which is available for all platforms.

Usage
-----

To start, you need to have ``clamd`` running on some host accessible by your
instances. ``collective.ATClamAV`` supports either UNIX socket connections or
remote connections.

Install collective.ATClamAV and setup the host & port or the path to the
``clamd`` socket in the control panel (default is a network connection to
``clamd`` listening on *localhost* at port 3310). By default *Files* and
*Images* are going to be checked for viruses when added or updated.

Adding anti-virus protection to non-ATFile based content
--------------------------------------------------------
In order to add anti-virus protection to your custom content types you only
need to add the *isVirusFree* validator to your FileField(s). For instance:

::

      FileField('file',
        validators = (('isNonEmptyFile', V_REQUIRED),
                      ('isVirusFree', V_REQUIRED),),
        widget = FileWidget(label=u'File'),
      )

Testing
-------
By default tests mock ``clamd`` and do not require it being installed. If you
want to test your ``clamd`` setup as well, run tests on all levels i.e.

::

  ./bin/test -a2

using the provided buildout. Two ``plone.app.testing`` layers (with the mocker
and without) are provided if you want to integrate the package in your own
tests, see ``testing.py``.

Development
-----------
If you want to get involved with the development of collective.ATClamAV please
use `github`_ to submit your patches/issues.

Credits
-------
Some code was shamelessly borrowed from `pyClamd`_.

.. _Clam Antivirus: http://www.clamav.net
.. _github: https://github.com/ggozad/collective.ATClamAV
.. _pyClamd: http://xael.org/norman/python/pyclamd
Something went wrong with that request. Please try again.