diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-07-10 15:01:41 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-07-12 15:18:17 +0100 |
commit | 9aa104f6a709198527538c6553a0a96db1ecc5e9 (patch) | |
tree | b5973624d406f88ea4c179d2bc6e7b17965572d8 /src/libserver | |
parent | 4c1013fbdd26d37a31ac5895e0ecefb248fa4c6d (diff) | |
download | rspamd-9aa104f6a709198527538c6553a0a96db1ecc5e9.tar.gz rspamd-9aa104f6a709198527538c6553a0a96db1ecc5e9.zip |
[Project] Start mime structures refactoring
Diffstat (limited to 'src/libserver')
-rw-r--r-- | src/libserver/dkim.c | 4 | ||||
-rw-r--r-- | src/libserver/protocol.c | 2 | ||||
-rw-r--r-- | src/libserver/task.c | 8 | ||||
-rw-r--r-- | src/libserver/task.h | 23 |
4 files changed, 9 insertions, 28 deletions
diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index 9386c5cdc..c0ea29f08 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -2175,7 +2175,7 @@ rspamd_dkim_canonize_header (struct rspamd_dkim_common_ctx *ctx, if (ar) { /* Check uniqueness of the header */ rh = g_ptr_array_index (ar, 0); - if ((rh->type & RSPAMD_HEADER_UNIQUE) && ar->len > 1) { + if ((rh->flags & RSPAMD_HEADER_UNIQUE) && ar->len > 1) { guint64 random_cookie = ottery_rand_uint64 (); msg_warn_dkim ("header %s is intended to be unique by" @@ -2210,7 +2210,7 @@ rspamd_dkim_canonize_header (struct rspamd_dkim_common_ctx *ctx, (gint)rh->raw_len, rh->raw_value); } else { - if (ctx->is_sign && (rh->type & RSPAMD_HEADER_FROM)) { + if (ctx->is_sign && (rh->flags & RSPAMD_HEADER_FROM)) { /* Special handling of the From handling when rewrite is done */ gboolean has_rewrite = FALSE; guint i; diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c index bef7a0452..ddd072882 100644 --- a/src/libserver/protocol.c +++ b/src/libserver/protocol.c @@ -1409,6 +1409,7 @@ rspamd_protocol_http_reply (struct rspamd_http_message *msg, gint flags = RSPAMD_PROTOCOL_DEFAULT; struct rspamd_action *action; +#if 0 /* Write custom headers */ g_hash_table_iter_init (&hiter, task->reply_headers); while (g_hash_table_iter_next (&hiter, &h, &v)) { @@ -1416,6 +1417,7 @@ rspamd_protocol_http_reply (struct rspamd_http_message *msg, rspamd_http_message_add_header (msg, hn->begin, hv->begin); } +#endif flags |= RSPAMD_PROTOCOL_URLS; diff --git a/src/libserver/task.c b/src/libserver/task.c index 04be61744..88ee730a3 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -130,14 +130,8 @@ rspamd_task_new (struct rspamd_worker *worker, struct rspamd_config *cfg, rspamd_ftok_icase_equal, rspamd_fstring_mapped_ftok_free, rspamd_request_header_dtor); rspamd_mempool_add_destructor (new_task->task_pool, - (rspamd_mempool_destruct_t) g_hash_table_unref, - new_task->request_headers); - new_task->reply_headers = g_hash_table_new_full (rspamd_ftok_icase_hash, - rspamd_ftok_icase_equal, rspamd_fstring_mapped_ftok_free, - rspamd_fstring_mapped_ftok_free); - rspamd_mempool_add_destructor (new_task->task_pool, (rspamd_mempool_destruct_t) g_hash_table_unref, - new_task->reply_headers); + new_task->request_headers); rspamd_mempool_add_destructor (new_task->task_pool, (rspamd_mempool_destruct_t) g_hash_table_unref, new_task->raw_headers); diff --git a/src/libserver/task.h b/src/libserver/task.h index ac55dd910..00caf3ab6 100644 --- a/src/libserver/task.h +++ b/src/libserver/task.h @@ -134,6 +134,7 @@ enum rspamd_task_stage { struct rspamd_email_address; struct rspamd_lang_detector; enum rspamd_newlines_type; +struct rspamd_message; /** * Worker task structure @@ -147,15 +148,12 @@ struct rspamd_task { gulong message_len; /**< Message length */ gchar *helo; /**< helo header value */ gchar *queue_id; /**< queue id if specified */ - const gchar *message_id; /**< message id */ rspamd_inet_addr_t *from_addr; /**< from addr for a task */ rspamd_inet_addr_t *client_addr; /**< address of connected socket */ gchar *deliver_to; /**< address to deliver */ gchar *user; /**< user to deliver */ - gchar *subject; /**< subject (for non-mime) */ const gchar *hostname; /**< hostname reported by MTA */ GHashTable *request_headers; /**< HTTP headers in a request */ - GHashTable *reply_headers; /**< Custom reply headers */ struct { const gchar *begin; gsize len; @@ -163,29 +161,14 @@ struct rspamd_task { } msg; /**< message buffer */ struct rspamd_http_connection *http_conn; /**< HTTP server connection */ struct rspamd_async_session *s; /**< async session object */ - GPtrArray *parts; /**< list of parsed parts */ - GPtrArray *text_parts; /**< list of text parts */ - struct { - const gchar *begin; - gsize len; - const gchar *body_start; - } raw_headers_content; /**< list of raw headers */ - GPtrArray *received; /**< list of received headers */ - GHashTable *urls; /**< list of parsed urls */ - GHashTable *emails; /**< list of parsed emails */ - GHashTable *raw_headers; /**< list of raw headers */ - GQueue *headers_order; /**< order of raw headers */ struct rspamd_metric_result *result; /**< Metric result */ GHashTable *lua_cache; /**< cache of lua objects */ GPtrArray *tokens; /**< statistics tokens */ GArray *meta_words; /**< rspamd_stat_token_t produced from meta headers (e.g. Subject) */ - GPtrArray *rcpt_mime; GPtrArray *rcpt_envelope; /**< array of rspamd_email_address */ - GPtrArray *from_mime; struct rspamd_email_address *from_envelope; - enum rspamd_newlines_type nlines_type; /**< type of newlines (detected on most of headers */ ucl_object_t *messages; /**< list of messages that would be reported */ struct rspamd_re_runtime *re_rt; /**< regexp runtime */ @@ -215,6 +198,7 @@ struct rspamd_task { const gchar *classifier; /**< Classifier to learn (if needed) */ struct rspamd_lang_detector *lang_det; /**< Languages detector */ + struct rspamd_message *message; guchar digest[16]; }; @@ -252,7 +236,8 @@ gboolean rspamd_task_fin (void *arg); * @return */ gboolean rspamd_task_load_message (struct rspamd_task *task, - struct rspamd_http_message *msg, const gchar *start, gsize len); + struct rspamd_http_message *msg, + const gchar *start, gsize len); /** * Process task |