{NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
};
-#define IS_FIRST_PART_TEXT(info) \
- ((info->mime_type == MIME_TEXT || info->mime_type == MIME_TEXT_HTML || \
- info->mime_type == MIME_TEXT_ENRICHED) || \
- (info->mime_type == MIME_MULTIPART && info->content_type && \
- !strcasecmp(info->content_type, "multipart/alternative") && \
- (info->children && \
- (info->children->mime_type == MIME_TEXT || \
- info->children->mime_type == MIME_TEXT_HTML || \
- info->children->mime_type == MIME_TEXT_ENRICHED))))
-
static gboolean mail_filtering_hook(gpointer source, gpointer data)
{
MailFilteringData *mail_filtering_data = (MailFilteringData *) source;
int ret, no;
unsigned long int size;
- long double kb;
char *virname;
struct cl_node *root = NULL;
struct cl_limits limits;
if (!mimeinfo) return FALSE;
child = mimeinfo->children;
- if (!child || IS_FIRST_PART_TEXT(mimeinfo)) {
+ if (!child) {
procmime_mimeinfo_free_all(mimeinfo);
return FALSE;
}
debug_print("Scanning message %d for viruses\n", msginfo->msgnum);
- if (IS_FIRST_PART_TEXT(child))
- child = child->next;
-
infile = procmsg_get_message_file_path(msginfo);
debug_print("Error: %s\n", cl_perror(ret));
}
- kb = size * (CL_COUNT_PRECISION / 1024);
- debug_print("Data scanned: %2.2Lf Kb\n", kb);
-
unlink(outfile);
if (is_infected) break;
}
if (is_infected) {
- debug_print("message part(s) infected with %s\n", virname);
if (config.clamav_recv_infected) {
FolderItem *clamav_save_folder;
return is_infected;
}
-#undef IS_FIRST_PART_TEXT
-
ClamAvConfig *clamav_get_config(void)
{
return &config;