guint i;
gboolean got_result = FALSE;
struct surbl_bit_item *bit;
+ struct in_addr ina;
if (suffix->ips && g_hash_table_size (suffix->ips) > 0) {
(gint)addr,
(gint)ntohl (bit->bit),
(gint)bit->bit & (gint)ntohl (addr));
- msg_info_task ("<%s> domain [%s] is in surbl %s(%xd)",
- task->message_id,
- url, suffix->suffix,
- bit->bit);
+
if (((gint)bit->bit & (gint)ntohl (addr)) != 0) {
got_result = TRUE;
+ msg_info_task ("<%s> domain [%s] is in surbl %s(%xd)",
+ task->message_id,
+ url, suffix->suffix,
+ bit->bit);
rspamd_task_insert_result (task, bit->symbol, 1,
g_list_prepend (NULL,
rspamd_mempool_strdup (task->task_pool, url)));
}
}
if (!got_result) {
- msg_info_task ("<%s> domain [%s] is in surbl %s",
- task->message_id,
- url, suffix->suffix);
- rspamd_task_insert_result (task, suffix->symbol, 1,
- g_list_prepend (NULL,
- rspamd_mempool_strdup (task->task_pool, url)));
+ if (!(suffix->bits || suffix->bits->len == 0) && suffix->ips == NULL) {
+ msg_info_task ("<%s> domain [%s] is in surbl %s",
+ task->message_id,
+ url, suffix->suffix);
+ rspamd_task_insert_result (task, suffix->symbol, 1,
+ g_list_prepend (NULL,
+ rspamd_mempool_strdup (task->task_pool, url)));
+ }
+ else {
+ ina.s_addr = addr;
+ msg_info_task ("<%s> domain [%s] is in surbl %s but at unknown result: %s",
+ task->message_id,
+ url, suffix->suffix,
+ inet_ntoa (ina));
+ }
}
}