aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lua/lua_spf.c22
-rw-r--r--test/functional/cases/117_spf.robot2
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