]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix parsing of include/redirect with many records in SPF
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 29 Mar 2016 12:00:33 +0000 (13:00 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 29 Mar 2016 12:00:33 +0000 (13:00 +0100)
src/libserver/spf.c

index 7f404efb4d40087663cf279692abbe0c17b6797d..036990248b62fdb2dd2f31542b90b02ceeb8b7d0 100644 (file)
@@ -617,6 +617,8 @@ spf_record_dns_callback (struct rdns_reply *reply, gpointer arg)
                                                        cb->addr->flags &= ~RSPAMD_SPF_FLAG_PARSED;
                                                }
                                        }
+
+                                       goto end;
                                        break;
                                case SPF_RESOLVE_INCLUDE:
                                        if (elt_data->type == RDNS_REQUEST_TXT) {
@@ -627,6 +629,8 @@ spf_record_dns_callback (struct rdns_reply *reply, gpointer arg)
                                                        cb->addr->flags &= ~RSPAMD_SPF_FLAG_PARSED;
                                                }
                                        }
+                                       goto end;
+
                                        break;
                                case SPF_RESOLVE_EXP:
                                        break;
@@ -709,6 +713,7 @@ spf_record_dns_callback (struct rdns_reply *reply, gpointer arg)
                                rdns_strerror (reply->code));
        }
 
+end:
        rspamd_spf_maybe_return (cb->rec);
 }