瀏覽代碼

[Feature] Support mime regexps in the expressions

tags/1.2.3
Vsevolod Stakhov 8 年之前
父節點
當前提交
2bec49d258
No account linked to committer's email address
共有 1 個文件被更改,包括 18 次插入0 次删除
  1. 18
    0
      src/libmime/mime_expressions.c

+ 18
- 0
src/libmime/mime_expressions.c 查看文件

@@ -282,6 +282,14 @@ rspamd_mime_expr_parse_regexp_atom (rspamd_mempool_t * pool, const gchar *line,
result->type = RSPAMD_RE_HEADER;
p++;
break;
case 'R':
result->type = RSPAMD_RE_RAWHEADER;
p++;
break;
case 'B':
result->type = RSPAMD_RE_MIMEHEADER;
p++;
break;
case 'M':
result->type = RSPAMD_RE_BODY;
p++;
@@ -302,6 +310,7 @@ rspamd_mime_expr_parse_regexp_atom (rspamd_mempool_t * pool, const gchar *line,
result->type = RSPAMD_RE_RAWHEADER;
p++;
break;
/* Other flags */
case 'T':
result->is_test = TRUE;
p++;
@@ -326,6 +335,15 @@ rspamd_mime_expr_parse_regexp_atom (rspamd_mempool_t * pool, const gchar *line,
return NULL;
}

if ((result->type == RSPAMD_RE_HEADER ||
result->type == RSPAMD_RE_RAWHEADER ||
result->type == RSPAMD_RE_MIMEHEADER) &&
result->header == NULL) {
msg_err_pool ("header regexp: '%s' has no header part", src);
return NULL;
}


result->regexp_text = rspamd_mempool_strdup (pool, start);
dbegin = result->regexp_text + (begin - start);
dend = result->regexp_text + (end - start);

Loading…
取消
儲存