local composites = rspamd_config:get_all_opt('composites')
local all_symbols = rspamd_config:get_symbols()
local skip_flags = {
- no_stat = true,
+ nostat = true,
skip = true,
idempotent = true,
composite = true,
if composites[k] then
remove[k] = 'composite symbol'
- elseif all_symbols[k] then
+ elseif lower_count / higher_count >= 0.95 then
+ remove[k] = 'weak ham/spam correlation'
+ elseif v.seen / seen_total >= 0.9 then
+ remove[k] = 'omnipresent symbol'
+ elseif not all_symbols[k] then
+ remove[k] = 'nonexistent symbol'
+ else
for fl,_ in pairs(all_symbols[k].flags or {}) do
if skip_flags[fl] then
remove[k] = fl .. ' symbol'
break
end
end
- elseif lower_count / higher_count >= 0.95 then
- remove[k] = 'weak ham/spam correlation'
- elseif v.seen / seen_total >= 0.9 then
- remove[k] = 'omnipresent symbol'
end
known_symbols_list[v.id] = {
seen = v.seen,
end
-- Generate symbols digest
+ table.sort(symbols_profile)
local symbols_digest = lua_util.table_digest(symbols_profile)
-- Create list of days to query data for
local query_days = days_list(args.days)