A product providing clamav antivirus integration for Plone 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:
Clam Antivirus: http://www.clamav.net
If you are having issues, please let us know.
The project is licensed under the GPLv2.
Andreas Mantke, email@example.com [andreasma]
Laurent Lasudry, firstname.lastname@example.org [laulaz]
Thomas Grainger, email@example.com [graingert]
Yiorgis Gozadinos, firstname.lastname@example.org [ggozad]
Hanno Schlichting, email@example.com [hannosch]
David Glick, firstname.lastname@example.org [davisagli]
Víctor Fernández de Alba, email@example.com [sneridagh]
Remove the AT schema extension and make it work within Plone 5.2 and Python 3. [Andreas Mantke]
Increase the release number to 3 because it breaks compatibility to old Archetypes content types. [Andreas Mantke]
Added a test for value NOT_CHANGED to the validator module because of a change in converter.py of plone.formwidget.namedfile [Andreas Mantke]
isort and flake8 fixes in validator module [Andreas Mantke]
Fix tests for Plone 5.2, discontinue Travis and switch to Github Actions [tschorr]
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]
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for collective.clamav-3.0.0-py3-none-any.whl