Author: David Woodhouse, Derrick 'dman' Hudson, Marc MERLIN
Origin: other, http://marc.merlins.org/linux/exim/files/sa-exim-current/
Forwarded: https://bugs.exim.org/show_bug.cgi?id=2671
-Last-Update: 2022-12-19
+Last-Update: 2023-09-09
--- a/src/EDITME
+++ b/src/EDITME
-@@ -874,10 +874,25 @@ HEADERS_CHARSET="ISO-8859-1"
+@@ -902,10 +902,25 @@ HEADERS_CHARSET="ISO-8859-1"
# as the traditional crypt() function.
# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
#define CONFIGURE_FILE_USE_NODE
--- a/src/globals.c
+++ b/src/globals.c
-@@ -115,10 +115,14 @@ tls_support tls_out = {
+@@ -116,10 +116,14 @@ tls_support tls_out = {
uschar *dsn_envid = NULL;
int dsn_ret = 0;
const pcre2_code *regex_DSN = NULL;
uschar *openssl_options = NULL;
--- a/src/globals.h
+++ b/src/globals.h
-@@ -153,10 +153,14 @@ extern uschar *tls_advertise_hosts; /
+@@ -155,10 +155,14 @@ extern uschar *tls_advertise_hosts; /
extern uschar *dsn_envid; /* DSN envid string */
extern int dsn_ret; /* DSN ret type*/
extern const pcre2_code *regex_DSN; /* For recognizing DSN settings */
extern uschar * (*lwr_receive_getbuf)(unsigned *);
--- a/src/local_scan.c
+++ b/src/local_scan.c
-@@ -5,60 +5,136 @@
+@@ -6,60 +6,136 @@
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* End of local_scan.c */
--- a/src/local_scan.h
+++ b/src/local_scan.h
-@@ -25,10 +25,11 @@ store.c
+@@ -26,10 +26,11 @@ store.c
/* Some basic types that make some things easier, the Exim configuration
settings, and the store functions. */
#include "store.h"
-@@ -164,10 +165,13 @@ extern const uschar *headers_charset; /
+@@ -175,10 +176,13 @@ extern const uschar *headers_charset; /
extern header_line *header_last; /* Final header */
extern header_line *header_list; /* First header */
extern BOOL host_checking; /* Set when checking a host */
extern uschar *received_protocol; /* Name of incoming protocol */
extern int recipients_count; /* Number of recipients */
extern recipient_item *recipients_list;/* List of recipient addresses */
- extern unsigned char *sender_address; /* Sender address */
-@@ -234,6 +238,8 @@ extern uschar * string_copy_taint_functi
+ extern const unsigned char *sender_address; /* Sender address */
+@@ -245,6 +249,8 @@ extern uschar * string_copy_taint_functi
extern pid_t child_open_exim_function(int *, const uschar *);
extern pid_t child_open_exim2_function(int *, uschar *, uschar *, const uschar *);
extern pid_t child_open_function(uschar **, uschar **, int, int *, int *, BOOL, const uschar *);
/* End of local_scan.h */
--- a/src/readconf.c
+++ b/src/readconf.c
-@@ -210,10 +210,13 @@ static optionlist optionlist_config[] =
+@@ -214,10 +214,13 @@ static optionlist optionlist_config[] =
#endif
{ "local_from_check", opt_bool, {&local_from_check} },
{ "local_from_prefix", opt_stringptr, {&local_from_prefix} },
{ "localhost_number", opt_stringptr, {&host_number_string} },
--- a/src/string.c
+++ b/src/string.c
-@@ -416,10 +416,11 @@ return ss;
+@@ -435,10 +435,11 @@ return ss;
*************************************************/
/*
-@@ -461,10 +462,11 @@ Returns: copy of string in new store
+@@ -480,10 +481,11 @@ Returns: copy of string in new store
uschar *
string_copyn_function(const uschar * s, int n)
{