Virus scanning
Before storing the data to BytesStorage
the bytes must be scanned for viruses. Allow for configuration of ClamAV service (host and port) in the properties file.
When ClamAV daemon is configured, uploaded data is passed to the scanner and if when clean, persisted to storage. In case of detected infection throw a new VirusFoundException
.
The https://github.com/cdarras/clamav-client is MIT licensed and can be linked to in Apache v2 projects. Avoid GPL.
<dependency>
<groupId>xyz.capybara</groupId>
<artifactId>clamav-client</artifactId>
<version>1.0.4</version>
</dependency>