ソースを参照

[Feature] Support mime regexps in the expressions

tags/1.2.3
Vsevolod Stakhov 8年前
コミット
2bec49d258
コミッターのメールアドレスに関連付けられたアカウントが存在しません
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);

読み込み中…
キャンセル
保存