Commit | Line | Data |
---|---|---|
0756eb3c PH |
1 | /************************************************* |
2 | * Exim - an Internet mail transport agent * | |
3 | *************************************************/ | |
4 | ||
3386088d | 5 | /* Copyright (c) University of Cambridge 1995 - 2015 */ |
0756eb3c PH |
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; | |
9e4f5962 | 20 | uschar *dscp; |
0756eb3c PH |
21 | uschar *serialize_hosts; |
22 | uschar *hosts_try_auth; | |
23 | uschar *hosts_require_auth; | |
f98442df | 24 | uschar *hosts_try_chunking; |
96e47838 TL |
25 | #ifdef EXPERIMENTAL_DANE |
26 | uschar *hosts_try_dane; | |
7a31d643 | 27 | uschar *hosts_require_dane; |
96e47838 | 28 | #endif |
fb05276a | 29 | uschar *hosts_try_fastopen; |
8ccd00b1 | 30 | #ifndef DISABLE_PRDR |
fd98a5c6 | 31 | uschar *hosts_try_prdr; |
f5d78688 | 32 | #endif |
f2de3a33 | 33 | #ifndef DISABLE_OCSP |
44662487 | 34 | uschar *hosts_request_ocsp; |
f5d78688 | 35 | uschar *hosts_require_ocsp; |
fd98a5c6 | 36 | #endif |
0756eb3c PH |
37 | uschar *hosts_require_tls; |
38 | uschar *hosts_avoid_tls; | |
99400968 | 39 | uschar *hosts_verify_avoid_tls; |
c51b8e75 | 40 | uschar *hosts_avoid_pipelining; |
0756eb3c PH |
41 | uschar *hosts_avoid_esmtp; |
42 | uschar *hosts_nopass_tls; | |
43 | int command_timeout; | |
44 | int connect_timeout; | |
45 | int data_timeout; | |
46 | int final_timeout; | |
47 | int size_addition; | |
48 | int hosts_max_try; | |
8e669ac1 | 49 | int hosts_max_try_hardlimit; |
48c7f9e2 | 50 | BOOL address_retry_include_sender; |
0756eb3c | 51 | BOOL allow_localhost; |
382afc6b | 52 | BOOL authenticated_sender_force; |
0756eb3c PH |
53 | BOOL gethostbyname; |
54 | BOOL dns_qualify_single; | |
55 | BOOL dns_search_parents; | |
7cd171b7 | 56 | dnssec_domains dnssec; |
0756eb3c PH |
57 | BOOL delay_after_cutoff; |
58 | BOOL hosts_override; | |
59 | BOOL hosts_randomize; | |
60 | BOOL keepalive; | |
f1513293 | 61 | BOOL lmtp_ignore_quota; |
9c695f6d | 62 | uschar *expand_retry_include_ip_address; |
0756eb3c | 63 | BOOL retry_include_ip_address; |
f0989ec0 | 64 | #ifdef SUPPORT_SOCKS |
7eb6c37c JH |
65 | uschar *socks_proxy; |
66 | #endif | |
e51c7be2 | 67 | #ifdef SUPPORT_TLS |
0756eb3c PH |
68 | uschar *tls_certificate; |
69 | uschar *tls_crl; | |
70 | uschar *tls_privatekey; | |
71 | uschar *tls_require_ciphers; | |
54c90be1 | 72 | uschar *tls_sni; |
0756eb3c | 73 | uschar *tls_verify_certificates; |
54c90be1 | 74 | int tls_dh_min_bits; |
0756eb3c | 75 | BOOL tls_tempfail_tryclear; |
a63be306 WB |
76 | uschar *tls_verify_hosts; |
77 | uschar *tls_try_verify_hosts; | |
e51c7be2 | 78 | uschar *tls_verify_cert_hostnames; |
e51c7be2 JH |
79 | #endif |
80 | #ifndef DISABLE_DKIM | |
ff5aac2b | 81 | struct ob_dkim dkim; |
e51c7be2 | 82 | #endif |
0756eb3c PH |
83 | } smtp_transport_options_block; |
84 | ||
85 | /* Data for reading the private options. */ | |
86 | ||
87 | extern optionlist smtp_transport_options[]; | |
88 | extern int smtp_transport_options_count; | |
89 | ||
90 | /* Block containing default values. */ | |
91 | ||
92 | extern smtp_transport_options_block smtp_transport_option_defaults; | |
93 | ||
94 | /* The main, init, and closedown entry points for the transport */ | |
95 | ||
96 | extern BOOL smtp_transport_entry(transport_instance *, address_item *); | |
97 | extern void smtp_transport_init(transport_instance *); | |
98 | extern void smtp_transport_closedown(transport_instance *); | |
99 | ||
b4a2b536 JH |
100 | |
101 | ||
102 | extern int smtp_auth(uschar *, unsigned, address_item *, host_item *, | |
103 | smtp_transport_options_block *, BOOL, | |
104 | smtp_inblock *, smtp_outblock *); | |
105 | extern BOOL smtp_mail_auth_str(uschar *, unsigned, | |
106 | address_item *, smtp_transport_options_block *); | |
107 | ||
f0989ec0 | 108 | #ifdef SUPPORT_SOCKS |
160ef8ca | 109 | extern int socks_sock_connect(host_item *, int, int, uschar *, |
7eb6c37c JH |
110 | transport_instance *, int); |
111 | #endif | |
112 | ||
0756eb3c | 113 | /* End of transports/smtp.h */ |