]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix addresses comparision on SPF module.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 4 May 2014 22:36:14 +0000 (15:36 -0700)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 4 May 2014 22:36:14 +0000 (15:36 -0700)
src/plugins/spf.c

index f3616f44fefec996185dfe0a9f6c74fbe9adfadc..8b9e647547a76a6802f23e944afa2cc4b938bff4 100644 (file)
@@ -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));