diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-06-02 19:43:24 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-06-02 19:43:24 +0100 |
commit | 11b20dddd83e3d15b4a50e7b65b280f303664dae (patch) | |
tree | 5914babcf11e7012ab809dc328bb043b118f650d /src/libserver | |
parent | 685a9a3cea69e738f318de3ba23ce626ca589728 (diff) | |
download | rspamd-11b20dddd83e3d15b4a50e7b65b280f303664dae.tar.gz rspamd-11b20dddd83e3d15b4a50e7b65b280f303664dae.zip |
Adopt for the new headers structure.
Diffstat (limited to 'src/libserver')
-rw-r--r-- | src/libserver/dkim.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index a171274e9..709180817 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -1378,11 +1378,12 @@ struct rspamd_dkim_sign_chunk { static gboolean rspamd_dkim_canonize_header_simple (rspamd_dkim_context_t *ctx, const gchar *headers, + gsize headers_length, const gchar *header_name, guint count, gboolean is_sign) { - const gchar *p, *c; + const gchar *p, *c, *end; gint state = 0, hlen; gboolean found = FALSE; GArray *to_sign; @@ -1396,10 +1397,11 @@ rspamd_dkim_canonize_header_simple (rspamd_dkim_context_t *ctx, sizeof (struct rspamd_dkim_sign_chunk), count); p = headers; + end = p + headers_length; c = p; hlen = strlen (header_name); - while (*p) { + while (p < end) { switch (state) { case 0: /* Compare state */ @@ -1508,7 +1510,8 @@ rspamd_dkim_canonize_header (rspamd_dkim_context_t *ctx, if (ctx->header_canon_type == DKIM_CANON_SIMPLE) { return rspamd_dkim_canonize_header_simple (ctx, - task->raw_headers_str, + task->raw_headers_content.begin, + task->raw_headers_content.len, header_name, count, is_sig); |