aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/surbl.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-01-27 16:12:27 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-01-27 16:12:27 +0000
commit9bb4dcceadb7f78efe946946ccf7742a8c6e4f50 (patch)
tree70c25bfdf8bffbb6ac5eb424a20f9bba871612ee /src/plugins/surbl.c
parent15b1bddab547189e5fbdcb4441b2d64e4c8f10aa (diff)
downloadrspamd-9bb4dcceadb7f78efe946946ccf7742a8c6e4f50.tar.gz
rspamd-9bb4dcceadb7f78efe946946ccf7742a8c6e4f50.zip
Rework resolver library.
Diffstat (limited to 'src/plugins/surbl.c')
-rw-r--r--src/plugins/surbl.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c
index b256c8e1e..062e0b8ac 100644
--- a/src/plugins/surbl.c
+++ b/src/plugins/surbl.c
@@ -674,14 +674,16 @@ dns_callback (struct rspamd_dns_reply *reply, gpointer arg)
{
struct dns_param *param = (struct dns_param *)arg;
struct worker_task *task = param->task;
- union rspamd_reply_element *elt;
+ struct rspamd_reply_entry *elt;
debug_task ("in surbl request callback");
/* If we have result from DNS server, this url exists in SURBL, so increase score */
- if (reply->code == DNS_RC_NOERROR && reply->elements) {
+ if (reply->code == DNS_RC_NOERROR && reply->entries) {
msg_info ("<%s> domain [%s] is in surbl %s", param->task->message_id, param->host_resolve, param->suffix->suffix);
- elt = reply->elements->data;
- process_dns_results (param->task, param->suffix, param->host_resolve, (guint32)elt->a.addr[0].s_addr);
+ elt = reply->entries;
+ if (elt->type == DNS_REQUEST_A) {
+ process_dns_results (param->task, param->suffix, param->host_resolve, (guint32)elt->content.a.addr.s_addr);
+ }
}
else {
debug_task ("<%s> domain [%s] is not in surbl %s", param->task->message_id, param->host_resolve, param->suffix->suffix);