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 scanned:

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

4.0.0a1 (2024-06-28)

  • Update for Plone 5.2 and Plone 6 on Python 3 only. [ale-rt]

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-4.0.0a1.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

collective.clamav-4.0.0a1-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file collective.clamav-4.0.0a1.tar.gz.

File metadata

  • Download URL: collective.clamav-4.0.0a1.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for collective.clamav-4.0.0a1.tar.gz
Algorithm Hash digest
SHA256 66206d695fd735dc07d988fc43621c4f243ed265df76c45e5135370949773abd
MD5 5f9b20977a96e3c7a6ebb1ae2d10bfd4
BLAKE2b-256 7978f0fca927212abd19627b63ad37ccea6f87e6c645766966ba142ebc3d620c

See more details on using hashes here.

File details

Details for the file collective.clamav-4.0.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for collective.clamav-4.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7260f748b204774d4487ea1a3b14201d70cef4d60ff22bab75816f5c9ef0241
MD5 115ba34cfb999869b050931f524bb20c
BLAKE2b-256 5eba03e53365ffdcd33129d9922ae09ca3154250a43e5f2b6a70671eba407ff5

See more details on using hashes here.

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