Bug 1031: Experimental TPDA
[exim.git] / src / src / transports / smtp.h
index 79239ad392d42cd11fe62cdc15d0e661749dfb8e..0d88016473ef5f913231446df34f24ba808c72c0 100644 (file)
@@ -1,10 +1,8 @@
-/* $Cambridge: exim/src/src/transports/smtp.h,v 1.14 2008/03/05 21:13:23 tom Exp $ */
-
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2007 */
+/* Copyright (c) University of Cambridge 1995 - 2012 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Private structure for the private options and other private data. */
@@ -19,11 +17,19 @@ typedef struct {
   uschar *interface;
   uschar *port;
   uschar *protocol;
+  uschar *dscp;
   uschar *serialize_hosts;
   uschar *hosts_try_auth;
   uschar *hosts_require_auth;
+#ifdef EXPERIMENTAL_PRDR
+  uschar *hosts_try_prdr;
+#endif
+#ifdef EXPERIMENTAL_OCSP
+  uschar *hosts_require_ocsp;
+#endif
   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;
@@ -54,16 +60,12 @@ typedef struct {
   uschar *gnutls_require_kx;
   uschar *gnutls_require_mac;
   uschar *gnutls_require_proto;
+  uschar *tls_sni;
   uschar *tls_verify_certificates;
+  int     tls_dh_min_bits;
   BOOL    tls_tempfail_tryclear;
   #endif
-  #if (defined EXPERIMENTAL_DOMAINKEYS) || (defined EXPERIMENTAL_DKIM)
-  uschar *dk_domain;
-  uschar *dk_private_key;
-  uschar *dk_selector;
-  uschar *dk_canon;
-  uschar *dk_headers;
-  uschar *dk_strict;
+  #ifndef DISABLE_DKIM
   uschar *dkim_domain;
   uschar *dkim_private_key;
   uschar *dkim_selector;
@@ -71,6 +73,9 @@ typedef struct {
   uschar *dkim_sign_headers;
   uschar *dkim_strict;
   #endif
+  #ifdef EXPERIMENTAL_TPDA
+  uschar *tpda_host_defer_action;
+  #endif
 } smtp_transport_options_block;
 
 /* Data for reading the private options. */
@@ -88,4 +93,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 */