From b3c3972a16c6c81bd755af6b898c535478a0a223 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sun, 3 Jan 2016 11:40:46 +0000 Subject: [PATCH] Skip SPF from local addresses Issue: #469 --- src/libutil/addr.c | 4 +++- src/plugins/spf.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libutil/addr.c b/src/libutil/addr.c index 747ac869e..f301c724e 100644 --- a/src/libutil/addr.c +++ b/src/libutil/addr.c @@ -1334,7 +1334,9 @@ rspamd_inet_address_equal (gconstpointer a, gconstpointer b) gboolean rspamd_inet_address_is_local (const rspamd_inet_addr_t *addr) { - g_assert (addr != NULL); + if (addr == NULL) { + return FALSE; + } if (addr->af == AF_UNIX) { /* Always true for unix sockets */ diff --git a/src/plugins/spf.c b/src/plugins/spf.c index f672bf80d..c54c27215 100644 --- a/src/plugins/spf.c +++ b/src/plugins/spf.c @@ -357,7 +357,8 @@ spf_symbol_callback (struct rspamd_task *task, void *unused) return; } - if (task->user != NULL) { + if (task->user != NULL || rspamd_inet_address_is_local (task->from_addr)) { + msg_info_task ("skip SPF checks for local and authorized users"); return; } -- 2.39.5