Skip to main content

A product providing clamav antivirus integration for Plone Dexterity content types

Project description

https://github.com/collective/collective.clamav/workflows/collective.clamav%20CI/badge.svg https://coveralls.io/repos/github/collective/collective.clamav/badge.svg?branch=master

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.

Usage

  • 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)

Installation

Install collective.clamav by adding it to your buildout:

[buildout]

...

eggs =
    collective.clamav

and then running bin/buildout

Contribute

Credits

Some code was shamelessly borrowed from pyClamd and collective.ATClamAV:

Support

If you are having issues, please let us know.

License

The project is licensed under the GPLv2.

Contributors

Changelog

3.0.0 (2021-01-25)

  • 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]

2.0a2 (2016-09-12)

  • Fix ReST/pypi page syntax. [timo]

2.0a1 (2016-09-12)

  • 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]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.clamav-3.0.0.tar.gz (24.8 kB view hashes)

Uploaded Source

Built Distribution

collective.clamav-3.0.0-py3-none-any.whl (21.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page