aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-06-02 19:43:24 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-06-02 19:43:24 +0100
commit11b20dddd83e3d15b4a50e7b65b280f303664dae (patch)
tree5914babcf11e7012ab809dc328bb043b118f650d /src/libserver
parent685a9a3cea69e738f318de3ba23ce626ca589728 (diff)
downloadrspamd-11b20dddd83e3d15b4a50e7b65b280f303664dae.tar.gz
rspamd-11b20dddd83e3d15b4a50e7b65b280f303664dae.zip
Adopt for the new headers structure.
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/dkim.c9
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);