Skip to main content

Provides ClamAV antivirus integration for Archetypes based content types

Project description

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.

Changelog

1.2 - 2011-03-15

  • Sent all data over the socket instead of only the first buffer. [hannosch]
  • Added error logging for failed scans. [hannosch]

1.1 - 2011-02-15

  • Disable virus validator during debug mode but log a warning. This allows local development to take place without having clamav installed. [hannosch]

1.0 - 2011-01-11

  • Reengineering to support images. [hannosch]
  • Improve coverage and use plone.app.testing. [ggozad]
  • Plone 4 compatibility. [ggozad, hannosch]
  • pep-8 [ggozad]

1.0b2

  • Added support for local UNIX sockets [ggozad]

1.0b1

  • Initial release [ggozad]

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
collective.ATClamAV-1.2.zip (34.2 kB) Copy SHA256 hash SHA256 Source None Mar 15, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page