1 /*************************************************
2 * Exim - an Internet mail transport agent *
3 *************************************************/
5 /* Copyright (c) University of Cambridge 1995 - 2014 */
6 /* See the file NOTICE for conditions of use and distribution. */
8 /* Private structure for the private options and other private data. */
12 uschar
*fallback_hosts
;
14 host_item
*fallback_hostlist
;
15 uschar
*authenticated_sender
;
21 uschar
*serialize_hosts
;
22 uschar
*hosts_try_auth
;
23 uschar
*hosts_require_auth
;
24 #ifdef EXPERIMENTAL_DANE
25 uschar
*hosts_try_dane
;
26 uschar
*hosts_require_dane
;
29 uschar
*hosts_try_prdr
;
32 uschar
*hosts_request_ocsp
;
33 uschar
*hosts_require_ocsp
;
35 uschar
*hosts_require_tls
;
36 uschar
*hosts_avoid_tls
;
37 uschar
*hosts_verify_avoid_tls
;
38 uschar
*hosts_avoid_pipelining
;
39 uschar
*hosts_avoid_esmtp
;
40 uschar
*hosts_nopass_tls
;
47 int hosts_max_try_hardlimit
;
48 BOOL address_retry_include_sender
;
50 BOOL authenticated_sender_force
;
52 BOOL dns_qualify_single
;
53 BOOL dns_search_parents
;
54 uschar
*dnssec_request_domains
;
55 uschar
*dnssec_require_domains
;
56 BOOL delay_after_cutoff
;
60 BOOL lmtp_ignore_quota
;
61 uschar
*expand_retry_include_ip_address
;
62 BOOL retry_include_ip_address
;
63 #ifdef EXPERIMENTAL_SOCKS
67 uschar
*tls_certificate
;
69 uschar
*tls_privatekey
;
70 uschar
*tls_require_ciphers
;
71 uschar
*gnutls_require_kx
;
72 uschar
*gnutls_require_mac
;
73 uschar
*gnutls_require_proto
;
75 uschar
*tls_verify_certificates
;
77 BOOL tls_tempfail_tryclear
;
78 uschar
*tls_verify_hosts
;
79 uschar
*tls_try_verify_hosts
;
80 uschar
*tls_verify_cert_hostnames
;
84 uschar
*dkim_private_key
;
85 uschar
*dkim_selector
;
87 uschar
*dkim_sign_headers
;
90 } smtp_transport_options_block
;
92 /* Data for reading the private options. */
94 extern optionlist smtp_transport_options
[];
95 extern int smtp_transport_options_count
;
97 /* Block containing default values. */
99 extern smtp_transport_options_block smtp_transport_option_defaults
;
101 /* The main, init, and closedown entry points for the transport */
103 extern BOOL
smtp_transport_entry(transport_instance
*, address_item
*);
104 extern void smtp_transport_init(transport_instance
*);
105 extern void smtp_transport_closedown(transport_instance
*);
109 extern int smtp_auth(uschar
*, unsigned, address_item
*, host_item
*,
110 smtp_transport_options_block
*, BOOL
,
111 smtp_inblock
*, smtp_outblock
*);
112 extern BOOL
smtp_mail_auth_str(uschar
*, unsigned,
113 address_item
*, smtp_transport_options_block
*);
115 #ifdef EXPERMENTAL_SOCKS
116 extern int socks_sock_connect(host_item
, int, int, uschar
*,
117 transport_instance
*, int);
120 /* End of transports/smtp.h */