rspamd_regexp_t *re;
gint idx = 0, state = 0;
ac_trie_pat_t *pat;
+ gboolean found = FALSE;
task = param->task;
debug_task ("check url %s", struri (url));
re = g_hash_table_lookup (
surbl_module_ctx->redirector_hosts,
pat->ptr);
- if (re == NULL || rspamd_regexp_search (re, url->string, 0,
+ if (re == NULL) {
+ /* Perform exact match */
+ if (pat->len == url->hostlen && memcmp (pat->ptr,
+ url->host, pat->len) == 0) {
+ found = TRUE;
+ }
+ }
+ else if (rspamd_regexp_search (re, url->string, 0,
NULL, NULL, TRUE)) {
+ found = TRUE;
+ }
+
+ if (found) {
if (surbl_module_ctx->redirector_symbol != NULL) {
rspamd_task_insert_result (param->task,
surbl_module_ctx->redirector_symbol,