Browse Source

Fix selecting URLs for sending to redirector.

tags/1.0.0
Vsevolod Stakhov 9 years ago
parent
commit
d7d83b570b
1 changed files with 13 additions and 1 deletions
  1. 13
    1
      src/plugins/surbl.c

+ 13
- 1
src/plugins/surbl.c View File

@@ -1092,6 +1092,7 @@ surbl_tree_url_callback (gpointer key, gpointer value, void *data)
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));
@@ -1112,8 +1113,19 @@ surbl_tree_url_callback (gpointer key, gpointer value, void *data)
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,

Loading…
Cancel
Save