diff options
-rw-r--r-- | src/lua/lua_spf.c | 22 | ||||
-rw-r--r-- | test/functional/cases/117_spf.robot | 2 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/lua/lua_spf.c b/src/lua/lua_spf.c index c7ab5d4f8..6c3a47451 100644 --- a/src/lua/lua_spf.c +++ b/src/lua/lua_spf.c @@ -173,17 +173,19 @@ spf_lua_lib_callback (struct spf_resolved *record, struct rspamd_task *task, lua_spf_push_result (cbd, RSPAMD_SPF_RESOLVED_NA, NULL, "no record found"); } - else if (record->elts->len == 0 && (record->flags & RSPAMD_SPF_RESOLVED_TEMP_FAILED)) { - lua_spf_push_result (cbd, RSPAMD_SPF_RESOLVED_TEMP_FAILED, NULL, - "temporary resolution error"); - } - else if (record->elts->len == 0 && (record->flags & RSPAMD_SPF_RESOLVED_PERM_FAILED)) { - lua_spf_push_result (cbd, RSPAMD_SPF_RESOLVED_PERM_FAILED, NULL, - "permanent resolution error"); - } else if (record->elts->len == 0) { - lua_spf_push_result (cbd, RSPAMD_SPF_RESOLVED_PERM_FAILED, NULL, - "record is empty"); + if (record->flags & RSPAMD_SPF_RESOLVED_PERM_FAILED) { + lua_spf_push_result (cbd, RSPAMD_SPF_RESOLVED_PERM_FAILED, NULL, + "permanent resolution error"); + } + else if ((record->flags & RSPAMD_SPF_RESOLVED_TEMP_FAILED)) { + lua_spf_push_result (cbd, RSPAMD_SPF_RESOLVED_TEMP_FAILED, NULL, + "temporary resolution error"); + } + else { + lua_spf_push_result (cbd, RSPAMD_SPF_RESOLVED_PERM_FAILED, NULL, + "record is empty"); + } } else if (record->domain) { spf_record_ref (record); diff --git a/test/functional/cases/117_spf.robot b/test/functional/cases/117_spf.robot index 309a0aaef..bfb56065f 100644 --- a/test/functional/cases/117_spf.robot +++ b/test/functional/cases/117_spf.robot @@ -125,7 +125,7 @@ SPF PTRS SPF PERMFAIL REDIRECT WITHOUT SPF ${result} = Scan Message With Rspamc ${TESTDIR}/messages/dmarc/bad_dkim4.eml ... -i 192.0.2.1 -F a@fail1.org.org.za - Check Rspamc ${result} R_SPF_PERMFAIL + Check Rspamc ${result} R_SPF_DNSFAIL *** Keywords *** SPF Setup |