build: use pkg-config for i18n
[exim.git] / src / src / transports / smtp.h
index cb1d726250e89f5a5779259ccdd2aca2f8f849cb..9fc95444bd5f8cbaed0321df4bb3815cfc24bf6b 100644 (file)
@@ -2,7 +2,7 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) The Exim Maintainers 2020 - 2022 */
+/* Copyright (c) The Exim Maintainers 2020 - 2024 */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
 /* SPDX-License-Identifier: GPL-2.0-or-later */
@@ -109,6 +109,7 @@ typedef struct {
   uschar       *tls_privatekey;
   uschar       *tls_require_ciphers;
 # ifndef DISABLE_TLS_RESUME
   uschar       *tls_privatekey;
   uschar       *tls_require_ciphers;
 # ifndef DISABLE_TLS_RESUME
+#  define HNE_DEFAULT US"${if and {{match{$host}{.outlook.com\\$}} {match{$item}{\\N^250-([\\w.]+)\\s\\N}}} {$1}}"
   uschar       *host_name_extract;
   uschar       *tls_resumption_hosts;
 # endif
   uschar       *host_name_extract;
   uschar       *tls_resumption_hosts;
 # endif
@@ -139,7 +140,7 @@ typedef struct {
 
 /* smtp connect context */
 typedef struct {
 
 /* smtp connect context */
 typedef struct {
-  uschar *             from_addr;
+  const uschar *       from_addr;
   address_item *       addrlist;
 
   smtp_connect_args    conn_args;
   address_item *       addrlist;
 
   smtp_connect_args    conn_args;
@@ -175,7 +176,7 @@ typedef struct {
   BOOL pending_BDAT:1;
   BOOL RCPT_452:1;
   BOOL good_RCPT:1;
   BOOL pending_BDAT:1;
   BOOL RCPT_452:1;
   BOOL good_RCPT:1;
-#ifdef EXPERIMENTAL_ESMTP_LIMITS
+#ifndef DISABLE_ESMTP_LIMITS
   BOOL single_rcpt_domain:1;
 #endif
   BOOL completed_addr:1;
   BOOL single_rcpt_domain:1;
 #endif
   BOOL completed_addr:1;
@@ -184,7 +185,7 @@ typedef struct {
   BOOL send_tlsclose:1;
 
   unsigned     peer_offered;
   BOOL send_tlsclose:1;
 
   unsigned     peer_offered;
-#ifdef EXPERIMENTAL_ESMTP_LIMITS
+#ifndef DISABLE_ESMTP_LIMITS
   unsigned     peer_limit_mail;
   unsigned     peer_limit_rcpt;
   unsigned     peer_limit_rcptdom;
   unsigned     peer_limit_mail;
   unsigned     peer_limit_rcpt;
   unsigned     peer_limit_rcptdom;
@@ -224,7 +225,7 @@ typedef struct {
 } smtp_context;
 
 extern int smtp_setup_conn(smtp_context *, BOOL);
 } smtp_context;
 
 extern int smtp_setup_conn(smtp_context *, BOOL);
-extern int smtp_write_mail_and_rcpt_cmds(smtp_context *, int *);
+extern sw_mrc_t smtp_write_mail_and_rcpt_cmds(smtp_context *, int *);
 extern int smtp_reap_early_pipe(smtp_context *, int *);
 
 
 extern int smtp_reap_early_pipe(smtp_context *, int *);
 
 
@@ -239,8 +240,8 @@ extern smtp_transport_options_block smtp_transport_option_defaults;
 
 /* The main, init, and closedown entry points for the transport */
 
 
 /* The main, init, and closedown entry points for the transport */
 
+extern void smtp_transport_init(driver_instance *);
 extern BOOL smtp_transport_entry(transport_instance *, address_item *);
 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_closedown(transport_instance *);