local adjusted_bytes = bytes
if part:is_text() then
- bytes = part:get_text():get_length()
+ -- Fuzzy plugin uses stripped utf content to get an exact hash, that
+ -- corresponds to `get_content_oneline()`
+ -- However, in the case of empty parts this method returns `nil`, so extra
+ -- sanity check is required.
+ bytes = #(part:get_text():get_content_oneline() or '')
if rule.text_multiplier then
adjusted_bytes = bytes * rule.text_multiplier
end
return 1;
}
- t = lua_newuserdata (L, sizeof (*t));
- rspamd_lua_setclass (L, "rspamd{text}", -1);
- t->start = part->utf_stripped_content->data;
- t->len = part->utf_stripped_content->len;
- t->flags = 0;
+ lua_new_text(L, part->utf_stripped_content->data, part->utf_stripped_content->len, FALSE);
return 1;
}