process_text_part (struct rspamd_task *task,
GByteArray *part_content,
GMimeContentType *type,
- GMimeObject *part,
+ struct mime_part *mime_part,
GMimeObject *parent,
gboolean is_empty)
{
/* Skip attachements */
#ifndef GMIME24
- cd = g_mime_part_get_content_disposition (GMIME_PART (part));
+ cd = g_mime_part_get_content_disposition (GMIME_PART (mime_part->mime));
if (cd &&
g_ascii_strcasecmp (cd,
"attachment") == 0 && !task->cfg->check_text_attachements) {
return;
}
#else
- cd = g_mime_object_get_disposition (GMIME_OBJECT (part));
+ cd = g_mime_object_get_disposition (GMIME_OBJECT (mime_part->mime));
if (cd &&
g_ascii_strcasecmp (cd,
GMIME_DISPOSITION_ATTACHMENT) == 0 &&
text_part);
text_part->html_nodes = NULL;
text_part->parent = parent;
+ text_part->mime_part = mime_part;
text_part->flags |= RSPAMD_MIME_PART_FLAG_BALANCED;
text_part->content = strip_html_tags (task,
rspamd_mempool_alloc0 (task->task_pool,
sizeof (struct mime_text_part));
text_part->parent = parent;
+ text_part->mime_part = mime_part;
+
if (is_empty) {
text_part->flags |= RSPAMD_MIME_PART_FLAG_EMPTY;
text_part->orig = NULL;
task->text_parts = g_list_prepend (task->text_parts, text_part);
return;
}
+
text_part->content = convert_text_to_utf (task,
part_content,
type,
mime_part->parent = task->parser_parent_part;
mime_part->filename = g_mime_part_get_filename (GMIME_PART (
part));
+ mime_part->mime = part;
debug_task ("found part with content-type: %s/%s",
type->type,
process_text_part (task,
part_content,
type,
- part,
+ mime_part,
task->parser_parent_part,
(part_content->len <= 0));
}