#endif
m.flags = flags;
- rspamd_multipattern_add_pattern (url_scanner->search_trie, p);
+ rspamd_multipattern_add_pattern (url_scanner->search_trie, p,
+ RSPAMD_MULTIPATTERN_TLD | RSPAMD_MULTIPATTERN_ICASE);
m.pattern = rspamd_multipattern_get_pattern (url_scanner->search_trie,
rspamd_multipattern_get_npatterns (url_scanner->search_trie) - 1);
m.patlen = strlen (m.pattern);
for (i = 0; i < n; i++) {
rspamd_multipattern_add_pattern (url_scanner->search_trie,
- static_matchers[i].pattern);
+ static_matchers[i].pattern,
+ RSPAMD_MULTIPATTERN_ICASE);
}
}
void
rspamd_multipattern_add_pattern (struct rspamd_multipattern *mp,
- const gchar *pattern)
+ const gchar *pattern, gint flags)
{
g_assert (pattern != NULL);
g_assert (mp != NULL);
}
g_array_append_val (mp->hs_flags, fl);
- np = rspamd_multipattern_pattern_filter (pattern, mp->flags);
+ np = rspamd_multipattern_pattern_filter (pattern, flags);
g_array_append_val (mp->hs_pats, np);
fl = mp->cnt;
g_array_append_val (mp->hs_ids, fl);
#else
ac_trie_pat_t pat;
- pat.ptr = rspamd_multipattern_pattern_filter (pattern, mp->flags);
+ pat.ptr = rspamd_multipattern_pattern_filter (pattern, flags);
pat.len = strlen (pat.ptr);
g_array_append_val (mp->pats, pat);
mp = rspamd_multipattern_create_sized (npatterns, flags);
for (i = 0; i < npatterns; i++) {
- rspamd_multipattern_add_pattern (mp, patterns[i]);
+ rspamd_multipattern_add_pattern (mp, patterns[i], flags);
}
return mp;
* @param pattern
*/
void rspamd_multipattern_add_pattern (struct rspamd_multipattern *mp,
- const gchar *pattern);
+ const gchar *pattern, gint flags);
/**
* Compiles multipattern structure
lua_trie_create (lua_State *L)
{
struct rspamd_multipattern *trie, **ptrie;
- gint npat = 0;
+ gint npat = 0, flags = RSPAMD_MULTIPATTERN_ICASE|RSPAMD_MULTIPATTERN_GLOB;
GError *err = NULL;
if (!lua_istable (L, 1)) {
lua_pop (L, 1);
}
- trie = rspamd_multipattern_create_sized (npat,
- RSPAMD_MULTIPATTERN_ICASE|RSPAMD_MULTIPATTERN_GLOB);
+ trie = rspamd_multipattern_create_sized (npat, flags);
lua_pushnil (L);
while (lua_next (L, -2) != 0) {
if (lua_isstring (L, -1)) {
- rspamd_multipattern_add_pattern (trie, lua_tostring (L, -1));
+ rspamd_multipattern_add_pattern (trie, lua_tostring (L, -1),
+ flags);
}
lua_pop (L, 1);