正如PrimeFaces文档所说,要在FileUpload中启用ClamAV,我们只需要:
virusScan="true"
in component- web.xml中
primefaces.virusscan.CLAMAV_HOST
上下文参数 - web.xml中
primefaces.virusscan.CLAMAV_PORT
上下文参数
这些都很好,但是没有调用ClamAV。
我启用了PF日志记录,输出如下:
[org.primefaces.virusscan.VirusScannerService] Performing virus scan...
[org.primefaces.virusscan.VirusScannerService] Skipping virus scan with org.primefaces.virusscan.impl.VirusTotalReportScanner provider since it is disabled
[org.primefaces.virusscan.VirusScannerService] No virus detected
如我们所见,VirusScannerService未将ClamAV服务列为选项。
VirusScannerService使用java.util.ServiceLoader查找类加载器中可用的服务。
知道为什么不能加载服务吗?
11.0 PrimeFaces。
这是一个bug,但是有一个解决方法。
问题:https://github.com/primefaces/primefaces/issues/8812
公关:https://github.com/primefaces/primefaces/pull/8813
现在修复这个…注册服务提供者,只需在WAR的META-INF/services
目录中放置一个名为org.primefaces.virusscan.VirusScanner
的文件。
确保它包含这一行:
org.primefaces.virusscan.impl.ClamDaemonScanner