瀏覽代碼

[Minor] Use new logic of regexp escaping

tags/1.9.0
Vsevolod Stakhov 5 年之前
父節點
當前提交
ec6e8f945f
共有 1 個文件被更改,包括 11 次插入4 次删除
  1. 11
    4
      src/libutil/multipattern.c

+ 11
- 4
src/libutil/multipattern.c 查看文件

@@ -116,11 +116,11 @@ rspamd_multipattern_escape_tld_hyperscan (const gchar *pattern, gsize slen,
p ++;
}

prefix = "\\..*\\.";
prefix = ".*";
}
else {
len = slen + 2;
prefix = "\\.";
prefix = ".";
p = pattern;
}

@@ -200,11 +200,18 @@ rspamd_multipattern_pattern_filter (const gchar *pattern, gsize len,
}

if (flags & RSPAMD_MULTIPATTERN_TLD) {
ret = rspamd_multipattern_escape_tld_hyperscan (pattern, len, dst_len);
gchar *tmp;
gsize tlen;
tmp = rspamd_multipattern_escape_tld_hyperscan (pattern, len, &tlen);

ret = rspamd_str_regexp_escape (tmp, tlen, dst_len,
gl_flags|RSPAMD_REGEXP_ESCAPE_GLOB);
g_free (tmp);
}
else if (flags & RSPAMD_MULTIPATTERN_RE) {
ret = malloc (len + 1);
*dst_len = rspamd_strlcpy (ret, pattern, len + 1);
ret = rspamd_str_regexp_escape (pattern, len, dst_len, gl_flags |
RSPAMD_REGEXP_ESCAPE_RE);
}
else if (flags & RSPAMD_MULTIPATTERN_GLOB) {
ret = rspamd_str_regexp_escape (pattern, len, dst_len,

Loading…
取消
儲存