diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-07-07 15:03:43 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-07-07 15:03:43 +0100 |
commit | 56c8b4e5d0c90349e36f49504feb531f6fda3ca7 (patch) | |
tree | 06ff4483257ce2e3dd8d7a71fac91e960fe0cda9 /src | |
parent | 754a89fb2d7c543ae4079ccd4eb936808b5a6494 (diff) | |
download | rspamd-56c8b4e5d0c90349e36f49504feb531f6fda3ca7.tar.gz rspamd-56c8b4e5d0c90349e36f49504feb531f6fda3ca7.zip |
[Feature] Store raw headers value to use them in DKIM
Diffstat (limited to 'src')
-rw-r--r-- | src/libmime/message.c | 3 | ||||
-rw-r--r-- | src/libmime/message.h | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/libmime/message.c b/src/libmime/message.c index c74ed1301..b7579ba25 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -112,6 +112,8 @@ process_raw_headers (struct rspamd_task *task, GHashTable *target, rspamd_strlcpy (tmp, c, l + 1); new->name = tmp; new->empty_separator = TRUE; + new->raw_value = c; + new->raw_len = p - c; /* Including trailing ':' */ p++; state = 2; c = p; @@ -217,6 +219,7 @@ process_raw_headers (struct rspamd_task *task, GHashTable *target, } new->value = tmp; + new->raw_len = p - new->raw_value; new->decoded = g_mime_utils_header_decode_text (new->value); if (new->decoded != NULL) { diff --git a/src/libmime/message.h b/src/libmime/message.h index 4055dc129..0d2ae74b4 100644 --- a/src/libmime/message.h +++ b/src/libmime/message.h @@ -91,6 +91,8 @@ struct received_header { struct raw_header { gchar *name; gchar *value; + const gchar *raw_value; /* As it is in the message (unfolded and unparsed) */ + gsize raw_len; gboolean tab_separated; gboolean empty_separator; gchar *separator; |