Tidying: coverity issues
[users/heiko/exim.git] / src / src / transports / smtp.h
index 66291514c0c49713c51cf149acb6796c205501b4..d3666ae78850cc7df1d8db85dc6ae7a70be0b621 100644 (file)
@@ -1,10 +1,8 @@
-/* $Cambridge: exim/src/src/transports/smtp.h,v 1.6 2005/08/02 11:22:24 ph10 Exp $ */
-
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* Copyright (c) University of Cambridge 1995 - 2015 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Private structure for the private options and other private data. */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Private structure for the private options and other private data. */
@@ -19,11 +17,26 @@ typedef struct {
   uschar *interface;
   uschar *port;
   uschar *protocol;
   uschar *interface;
   uschar *port;
   uschar *protocol;
+  uschar *dscp;
   uschar *serialize_hosts;
   uschar *hosts_try_auth;
   uschar *hosts_require_auth;
   uschar *serialize_hosts;
   uschar *hosts_try_auth;
   uschar *hosts_require_auth;
+  uschar *hosts_try_chunking;
+#ifdef EXPERIMENTAL_DANE
+  uschar *hosts_try_dane;
+  uschar *hosts_require_dane;
+#endif
+#ifndef DISABLE_PRDR
+  uschar *hosts_try_prdr;
+#endif
+#ifndef DISABLE_OCSP
+  uschar *hosts_request_ocsp;
+  uschar *hosts_require_ocsp;
+#endif
   uschar *hosts_require_tls;
   uschar *hosts_avoid_tls;
   uschar *hosts_require_tls;
   uschar *hosts_avoid_tls;
+  uschar *hosts_verify_avoid_tls;
+  uschar *hosts_avoid_pipelining;
   uschar *hosts_avoid_esmtp;
   uschar *hosts_nopass_tls;
   int     command_timeout;
   uschar *hosts_avoid_esmtp;
   uschar *hosts_nopass_tls;
   int     command_timeout;
@@ -33,32 +46,39 @@ typedef struct {
   int     size_addition;
   int     hosts_max_try;
   int     hosts_max_try_hardlimit;
   int     size_addition;
   int     hosts_max_try;
   int     hosts_max_try_hardlimit;
+  BOOL    address_retry_include_sender;
   BOOL    allow_localhost;
   BOOL    allow_localhost;
+  BOOL    authenticated_sender_force;
   BOOL    gethostbyname;
   BOOL    dns_qualify_single;
   BOOL    dns_search_parents;
   BOOL    gethostbyname;
   BOOL    dns_qualify_single;
   BOOL    dns_search_parents;
+  dnssec_domains dnssec;
   BOOL    delay_after_cutoff;
   BOOL    hosts_override;
   BOOL    hosts_randomize;
   BOOL    keepalive;
   BOOL    lmtp_ignore_quota;
   BOOL    delay_after_cutoff;
   BOOL    hosts_override;
   BOOL    hosts_randomize;
   BOOL    keepalive;
   BOOL    lmtp_ignore_quota;
+  uschar *expand_retry_include_ip_address;
   BOOL    retry_include_ip_address;
   BOOL    retry_include_ip_address;
-  #ifdef SUPPORT_TLS
+#ifdef SUPPORT_SOCKS
+  uschar *socks_proxy;
+#endif
+#ifdef SUPPORT_TLS
   uschar *tls_certificate;
   uschar *tls_crl;
   uschar *tls_privatekey;
   uschar *tls_require_ciphers;
   uschar *tls_certificate;
   uschar *tls_crl;
   uschar *tls_privatekey;
   uschar *tls_require_ciphers;
+  uschar *tls_sni;
   uschar *tls_verify_certificates;
   uschar *tls_verify_certificates;
+  int     tls_dh_min_bits;
   BOOL    tls_tempfail_tryclear;
   BOOL    tls_tempfail_tryclear;
-  #endif
-  #ifdef EXPERIMENTAL_DOMAINKEYS
-  uschar *dk_domain;
-  uschar *dk_private_key;
-  uschar *dk_selector;
-  uschar *dk_canon;
-  uschar *dk_headers;
-  uschar *dk_strict;
-  #endif
+  uschar *tls_verify_hosts;
+  uschar *tls_try_verify_hosts;
+  uschar *tls_verify_cert_hostnames;
+#endif
+#ifndef DISABLE_DKIM
+  struct ob_dkim dkim;
+#endif
 } smtp_transport_options_block;
 
 /* Data for reading the private options. */
 } smtp_transport_options_block;
 
 /* Data for reading the private options. */
@@ -76,4 +96,17 @@ extern BOOL smtp_transport_entry(transport_instance *, address_item *);
 extern void smtp_transport_init(transport_instance *);
 extern void smtp_transport_closedown(transport_instance *);
 
 extern void smtp_transport_init(transport_instance *);
 extern void smtp_transport_closedown(transport_instance *);
 
+
+
+extern int     smtp_auth(uschar *, unsigned, address_item *, host_item *,
+                smtp_transport_options_block *, BOOL,
+                smtp_inblock *, smtp_outblock *);
+extern BOOL    smtp_mail_auth_str(uschar *, unsigned,
+                address_item *, smtp_transport_options_block *);
+
+#ifdef SUPPORT_SOCKS
+extern int     socks_sock_connect(host_item *, int, int, uschar *,
+                transport_instance *, int);
+#endif
+
 /* End of transports/smtp.h */
 /* End of transports/smtp.h */