diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-05-04 15:36:14 -0700 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-05-04 15:36:14 -0700 |
commit | f13d8f591fb7ca3dfa05dd006c8fcba5bb190efd (patch) | |
tree | c0629289d822f3e39487c9c7aef682b60d99a3ab /src/plugins/spf.c | |
parent | c307e314da4d8bed837eef9975e1d4fbe27a856a (diff) | |
download | rspamd-f13d8f591fb7ca3dfa05dd006c8fcba5bb190efd.tar.gz rspamd-f13d8f591fb7ca3dfa05dd006c8fcba5bb190efd.zip |
Fix addresses comparision on SPF module.
Diffstat (limited to 'src/plugins/spf.c')
-rw-r--r-- | src/plugins/spf.c | 3 |
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)); |