From 578897ea8764001d0538b8b645d161524ba1fa4e Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sun, 27 Apr 2014 18:17:29 +0100 Subject: Add options dnssec_request_domains, dnssec_require_domains to the smtp transport Note there are no testsuite cases included. TODO in this area: - dnssec during verify-callouts - dnssec on the forward lookup of a verify=helo and verify=reverse_host_lookup --- src/src/transports/smtp.c | 10 +++++++++- src/src/transports/smtp.h | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index 57b66b881..9e0ab1556 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -55,6 +55,10 @@ optionlist smtp_transport_options[] = { (void *)offsetof(smtp_transport_options_block, dns_qualify_single) }, { "dns_search_parents", opt_bool, (void *)offsetof(smtp_transport_options_block, dns_search_parents) }, + { "dnssec_request_domains", opt_stringptr, + (void *)offsetof(smtp_transport_options_block, dnssec_request_domains) }, + { "dnssec_require_domains", opt_stringptr, + (void *)offsetof(smtp_transport_options_block, dnssec_require_domains) }, { "dscp", opt_stringptr, (void *)offsetof(smtp_transport_options_block, dscp) }, { "fallback_hosts", opt_stringptr, @@ -213,6 +217,8 @@ smtp_transport_options_block smtp_transport_option_defaults = { FALSE, /* gethostbyname */ TRUE, /* dns_qualify_single */ FALSE, /* dns_search_parents */ + NULL, /* dnssec_request_domains */ + NULL, /* dnssec_require_domains */ TRUE, /* delay_after_cutoff */ FALSE, /* hosts_override */ FALSE, /* hosts_randomize */ @@ -2816,7 +2822,7 @@ for (cutoff_retry = 0; expired && rc = host_find_byname(host, NULL, flags, &canonical_name, TRUE); else rc = host_find_bydns(host, NULL, flags, NULL, NULL, NULL, - NULL, NULL, /*XXX todo: smtp tpt hosts_require_dnssec */ + ob->dnssec_request_domains, ob->dnssec_require_domains, &canonical_name, NULL); /* Update the host (and any additional blocks, resulting from @@ -3429,4 +3435,6 @@ DEBUG(D_transport) debug_printf("Leaving %s transport\n", tblock->name); return TRUE; /* Each address has its status */ } +/* vi: aw ai sw=2 +*/ /* End of transport/smtp.c */ diff --git a/src/src/transports/smtp.h b/src/src/transports/smtp.h index 6d33802ab..6912ad83e 100644 --- a/src/src/transports/smtp.h +++ b/src/src/transports/smtp.h @@ -46,6 +46,8 @@ typedef struct { BOOL gethostbyname; BOOL dns_qualify_single; BOOL dns_search_parents; + uschar *dnssec_request_domains; + uschar *dnssec_require_domains; BOOL delay_after_cutoff; BOOL hosts_override; BOOL hosts_randomize; -- cgit v1.2.3