Commit | Line | Data |
---|---|---|
420a0d19 CE |
1 | /************************************************* |
2 | * Exim - an Internet mail transport agent * | |
3 | *************************************************/ | |
4 | ||
5 | /* Copyright (c) University of Cambridge 1995 - 2014 */ | |
6 | /* See the file NOTICE for conditions of use and distribution. */ | |
7 | ||
8 | /* Private structure for the private options and other private data. */ | |
9 | ||
10 | typedef struct { | |
11 | uschar *hosts; | |
12 | uschar *fallback_hosts; | |
13 | host_item *hostlist; | |
14 | host_item *fallback_hostlist; | |
15 | uschar *authenticated_sender; | |
16 | uschar *helo_data; | |
17 | uschar *interface; | |
18 | uschar *port; | |
19 | uschar *protocol; | |
20 | uschar *dscp; | |
21 | uschar *serialize_hosts; | |
22 | uschar *hosts_try_auth; | |
23 | uschar *hosts_require_auth; | |
24 | #ifndef DISABLE_PRDR | |
25 | uschar *hosts_try_prdr; | |
26 | #endif | |
27 | #ifndef DISABLE_OCSP | |
28 | uschar *hosts_request_ocsp; | |
29 | uschar *hosts_require_ocsp; | |
30 | #endif | |
31 | uschar *hosts_require_tls; | |
32 | uschar *hosts_avoid_tls; | |
33 | uschar *hosts_verify_avoid_tls; | |
34 | uschar *hosts_avoid_pipelining; | |
35 | uschar *hosts_avoid_esmtp; | |
36 | uschar *hosts_nopass_tls; | |
37 | int command_timeout; | |
38 | int connect_timeout; | |
39 | int data_timeout; | |
40 | int final_timeout; | |
41 | int size_addition; | |
42 | int hosts_max_try; | |
43 | int hosts_max_try_hardlimit; | |
44 | BOOL address_retry_include_sender; | |
45 | BOOL allow_localhost; | |
46 | BOOL authenticated_sender_force; | |
47 | BOOL gethostbyname; | |
48 | BOOL dns_qualify_single; | |
49 | BOOL dns_search_parents; | |
50 | uschar *dnssec_request_domains; | |
51 | uschar *dnssec_require_domains; | |
52 | BOOL delay_after_cutoff; | |
53 | BOOL hosts_override; | |
54 | BOOL hosts_randomize; | |
55 | BOOL keepalive; | |
56 | BOOL lmtp_ignore_quota; | |
57 | BOOL retry_include_ip_address; | |
58 | #ifdef SUPPORT_TLS | |
59 | uschar *tls_certificate; | |
60 | uschar *tls_crl; | |
61 | uschar *tls_privatekey; | |
62 | uschar *tls_require_ciphers; | |
63 | uschar *gnutls_require_kx; | |
64 | uschar *gnutls_require_mac; | |
65 | uschar *gnutls_require_proto; | |
66 | uschar *tls_sni; | |
67 | uschar *tls_verify_certificates; | |
68 | int tls_dh_min_bits; | |
69 | BOOL tls_tempfail_tryclear; | |
70 | uschar *tls_verify_hosts; | |
71 | uschar *tls_try_verify_hosts; | |
72 | # ifdef EXPERIMENTAL_CERTNAMES | |
73 | uschar *tls_verify_cert_hostnames; | |
74 | # endif | |
75 | #endif | |
76 | #ifndef DISABLE_DKIM | |
77 | uschar *dkim_domain; | |
78 | uschar *dkim_private_key; | |
79 | uschar *dkim_selector; | |
80 | uschar *dkim_canon; | |
81 | uschar *dkim_sign_headers; | |
82 | uschar *dkim_strict; | |
83 | #endif | |
84 | #ifdef EXPERIMENTAL_TPDA | |
85 | uschar *tpda_host_defer_action; | |
86 | #endif | |
87 | } smtp_transport_options_block; | |
88 | ||
89 | /* Data for reading the private options. */ | |
90 | ||
91 | extern optionlist smtp_transport_options[]; | |
92 | extern int smtp_transport_options_count; | |
93 | ||
94 | /* Block containing default values. */ | |
95 | ||
96 | extern smtp_transport_options_block smtp_transport_option_defaults; | |
97 | ||
98 | /* The main, init, and closedown entry points for the transport */ | |
99 | ||
100 | extern BOOL smtp_transport_entry(transport_instance *, address_item *); | |
101 | extern void smtp_transport_init(transport_instance *); | |
102 | extern void smtp_transport_closedown(transport_instance *); | |
103 | ||
104 | ||
105 | ||
106 | extern int smtp_auth(uschar *, unsigned, address_item *, host_item *, | |
107 | smtp_transport_options_block *, BOOL, | |
108 | smtp_inblock *, smtp_outblock *); | |
109 | extern BOOL smtp_mail_auth_str(uschar *, unsigned, | |
110 | address_item *, smtp_transport_options_block *); | |
111 | ||
112 | /* End of transports/smtp.h */ |