F-PROT Antivirus uses return codes 1-3 (infected, suspicious, both) to signal an infection, while 4-255 are various error codes (including infected files were found before the error occured, but it's too complicated to handle all that edge case scenarios).
Conflicts:
src/plugins/lua/antivirus.lua
rspamd_logger.infox(task, '%s [%s]: message is clean', rule['symbol'], rule['type'])
end
else
- local vname = string.match(data, '^1 <infected: (.-)>')
+ -- returncodes: 1: infected, 2: suspicious, 3: both, 4-255: some error occured
+ -- see http://www.f-prot.com/support/helpfiles/unix/appendix_c.html for more detail
+ local vname = string.match(data, '^[1-3] <[%w%s]-: (.-)>')
if not vname then
rspamd_logger.errx(task, 'Unhandled response: %s', data)
else