AntiVirus Plugin 2.2
Description
This plugin provides some mechanisms to use antivirus to validate uploads. This is delivered with existing driver for ClamAV virus scanner.
Other antivirus software can be added, by developping specific driver.
Installation
Installation
To configure this plugin, you must provide some antivirus drivers in plugin.prop. Each driver must be an subclass of com.jalios.jcmsplugin.antivirus.AntivirusDriver class.
Each driver are identified by a property jcmsplugin.antivirus.driver. as prefix. The value is the internal name of the driver.
Example :
jcmsplugin.antivirus.driver.1:ClamavDriver
The class instanced by the plugin is given by the property
jcmsplugin.antivirus.parameters.<driver name>.classname
Example :
jcmsplugin.antivirus.parameters.ClamavDriver.classname:com.jalios.jcmsplugin.antivirus.ClamavDriver
Each driver can be configured in init method by others property, driver specific prefix is a parameter of this method.
Example :
jcmsplugin.antivirus.parameters.ClamavDriver.address:127.0.0.1
jcmsplugin.antivirus.parameters.ClamavDriver.port:3310
jcmsplugin.antivirus.parameters.ClamavDriver.timeout:600
Extends the plugin
Example of driver code source :
package com.jalios.jcmsplugin.antivirus; ... public class ClamavDriver extends AntivirusDriver { @Override public void init(String propertyPrefix) { LangProperties driverProperties = Channel.getChannel().getProperties(propertyPrefix); String addressStr = driverProperties.get(propertyPrefix + ADDRESS); String port = driverProperties.get(propertyPrefix + PORT); String timeout = driverProperties.get(propertyPrefix + TIMEOUT); ... } @Override public ControllerStatus checkFile(File file, String filename) { ... if(underlyingCode.checkFile(file) == PASSED){ return ControllerStatus.OK; } else{ return new ControllerStatus("Virus detected"); } ... } }