Support optional server certificate name checking. Bug 1479
[exim.git] / src / src / transports / smtp.h
index ef53292bc5ab36668ae9397d7edd5d30fa6f7a18..a481943bb2971c2522646dd5ae69eaa6d90cd85f 100644 (file)
@@ -2,7 +2,7 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2012 */
+/* Copyright (c) University of Cambridge 1995 - 2014 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Private structure for the private options and other private data. */
@@ -21,8 +21,12 @@ typedef struct {
   uschar *serialize_hosts;
   uschar *hosts_try_auth;
   uschar *hosts_require_auth;
-#ifdef EXPERIMENTAL_PRDR
+#ifndef DISABLE_PRDR
   uschar *hosts_try_prdr;
+#endif
+#ifdef EXPERIMENTAL_OCSP
+  uschar *hosts_request_ocsp;
+  uschar *hosts_require_ocsp;
 #endif
   uschar *hosts_require_tls;
   uschar *hosts_avoid_tls;
@@ -43,13 +47,15 @@ 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;
   BOOL    keepalive;
   BOOL    lmtp_ignore_quota;
   BOOL    retry_include_ip_address;
-  #ifdef SUPPORT_TLS
+#ifdef SUPPORT_TLS
   uschar *tls_certificate;
   uschar *tls_crl;
   uschar *tls_privatekey;
@@ -61,15 +67,23 @@ typedef struct {
   uschar *tls_verify_certificates;
   int     tls_dh_min_bits;
   BOOL    tls_tempfail_tryclear;
-  #endif
-  #ifndef DISABLE_DKIM
+  uschar *tls_verify_hosts;
+  uschar *tls_try_verify_hosts;
+# ifdef EXPERIMENTAL_CERTNAMES
+  uschar *tls_verify_cert_hostnames;
+# endif
+#endif
+#ifndef DISABLE_DKIM
   uschar *dkim_domain;
   uschar *dkim_private_key;
   uschar *dkim_selector;
   uschar *dkim_canon;
   uschar *dkim_sign_headers;
   uschar *dkim_strict;
-  #endif
+#endif
+#ifdef EXPERIMENTAL_TPDA
+  uschar *tpda_host_defer_action;
+#endif
 } smtp_transport_options_block;
 
 /* Data for reading the private options. */
@@ -87,4 +101,12 @@ extern BOOL smtp_transport_entry(transport_instance *, address_item *);
 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 *);
+
 /* End of transports/smtp.h */