aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/spf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/spf.c')
-rw-r--r--src/plugins/spf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/spf.c b/src/plugins/spf.c
index f3616f44f..8b9e64754 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));