Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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