A product providing clamav antivirus integration for Plone AT and Dexterity content types
A product providing clamav antivirus integration for Plone sites with AT and Dexterity content types.
It does that by defining a validator which could be used with any content
type that uses File, Image or Named field(s). The open-source
Clam Antivirus is
supported which is available for all platforms.
- To start, you need to have clamd running on some host accessible by your instances. collective.clamav supports either UNIX socket connections or remote connections.
- Install collective.clamav 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
If you want to add anti-virus protection to your custom AT content types add the isVirusFree validator to your FileField(s). For instance:
FileField('file', validators = (('isNonEmptyFile', V_REQUIRED), ('isVirusFree', V_REQUIRED),), widget = FileWidget(label=u'File'), )
If you create custom Dexterity content types add only the necessary import statement to the module and all plone.namedfile fields were automatically scaned:
from Products.validation import V_REQUIRED)
Install collective.clamav by adding it to your buildout:
[buildout] ... eggs = collective.clamav
and then running bin/buildout
- Issue Tracker: https://github.com/collective/collective.clamav/issues
- Source Code: https://github.com/collective/collective.clamav
- Documentation: in the docs folder
Some code was shamelessly borrowed from
pyClamd and collective.ATClamAV:
If you are having issues, please let us know.
The project is licensed under the GPLv2.
- Andreas Mantke, firstname.lastname@example.org [andreasma]
- Laurent Lasudry, email@example.com [laulaz]
- Thomas Grainger, firstname.lastname@example.org [graingert]
- Yiorgis Gozadinos, email@example.com [ggozad]
- Hanno Schlichting, firstname.lastname@example.org [hannosch]
- David Glick, email@example.com [davisagli]
- Víctor Fernández de Alba, firstname.lastname@example.org [sneridagh]
- Fix ReST/pypi page syntax. [timo]
- Initial release based on collective.ATClamAV with a new controlpanel module and and a configuration configlet for Plone 5 compatibility. The product and release works with Dexterity content types. [andreasma]
- Complete Plone 5 compatibility and transferring and adapting tests from collective.ATClamAV. [sneridagh]