X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fspf.c;h=2f55fb77cd63c9fc62eb250b1daec4f1aecc1809;hb=c7f4ea442a264b5cb3a9ef0eed641f4778dfb5b7;hp=48f26f31593f1b627ce047a8762d33d075aaf3ac;hpb=05d83295725e9bb91c1c37108d2d8892ee4a2bfd;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/spf.c b/src/src/spf.c index 48f26f315..2f55fb77c 100644 --- a/src/src/spf.c +++ b/src/src/spf.c @@ -80,6 +80,7 @@ if (rr_type == T_SPF) HDEBUG(D_host_lookup) debug_printf("faking NO_DATA for SPF RR(99) lookup\n"); srr.herrno = NO_DATA; SPF_dns_rr_dup(&spfrr, &srr); + store_free_dns_answer(dnsa); return spfrr; } @@ -100,6 +101,7 @@ for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); rr; if (found == 0) { SPF_dns_rr_dup(&spfrr, &srr); + store_free_dns_answer(dnsa); return spfrr; } @@ -171,6 +173,7 @@ if (!(srr.num_rr = found)) /* spfrr->rr must have been malloc()d for this */ SPF_dns_rr_dup(&spfrr, &srr); +store_free_dns_answer(dnsa); return spfrr; } @@ -402,8 +405,12 @@ if (spf_result_guessed) g = string_cat(g, US" (best guess record for domain)"); s = expand_string(US"$sender_address_domain"); +if (s && *s) + return string_append(g, 2, US" smtp.mailfrom=", s); + +s = sender_helo_name; return s && *s - ? string_append(g, 2, US" smtp.mailfrom=", s) + ? string_append(g, 2, US" smtp.helo=", s) : string_cat(g, US" smtp.mailfrom=<>"); }