if (record && record->elts->len > 0 && record->domain) {
- if ((l =
- rspamd_lru_hash_lookup (spf_module_ctx->spf_hash,
- record->domain, task->tv.tv_sec)) == NULL) {
+ if ((l = rspamd_lru_hash_lookup (spf_module_ctx->spf_hash,
+ record->domain, task->tv.tv_sec)) == NULL) {
l = spf_record_ref (record);
- rspamd_lru_hash_insert (spf_module_ctx->spf_hash,
- record->domain, l,
- task->tv.tv_sec, record->ttl);
+
+ if (!record->failed) {
+ rspamd_lru_hash_insert (spf_module_ctx->spf_hash,
+ record->domain, l,
+ task->tv.tv_sec, record->ttl);
+ }
}
spf_record_ref (l);
}
domain = rspamd_spf_get_domain (task);
+
if (domain) {
if ((l =
rspamd_lru_hash_lookup (spf_module_ctx->spf_hash, domain,