From: Vsevolod Stakhov Date: Sun, 4 May 2014 22:36:14 +0000 (-0700) Subject: Fix addresses comparision on SPF module. X-Git-Tag: 0.7.0~222 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f13d8f591fb7ca3dfa05dd006c8fcba5bb190efd;p=thirdparty%2Frspamd.git Fix addresses comparision on SPF module. --- diff --git a/src/plugins/spf.c b/src/plugins/spf.c index f3616f44fe..8b9e647547 100644 --- a/src/plugins/spf.c +++ b/src/plugins/spf.c @@ -168,7 +168,8 @@ spf_check_element (struct spf_addr *addr, struct rspamd_task *task) struct in6_addr in6s, in6d; /* Basic comparing algorithm */ - if (addr->data.normal.ipv6 && task->from_addr.af == AF_INET6) { + if ((addr->data.normal.ipv6 && task->from_addr.af == AF_INET6) || + (!addr->data.normal.ipv6 && task->from_addr.af == AF_INET)) { if (addr->data.normal.ipv6) { addrlen = sizeof (struct in6_addr); memcpy (&in6s, &addr->data.normal.d.in6, sizeof (struct in6_addr));