[packages/exim] Rel 2; upstream changes (including data loss on ENOSPC; upstream bug 3204)

arekm arekm at pld-linux.org
Tue Feb 24 21:44:51 CET 2026


commit 6cd7210f81e91d38cba13efb38db27b5656712ec
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Feb 24 21:44:43 2026 +0100

    Rel 2; upstream changes (including data loss on ENOSPC; upstream bug 3204)

 90_localscan_dlopen.dpatch | 44 ++++++++++++++------------------------------
 branch.sh                  |  1 +
 exim.spec                  |  4 ++--
 3 files changed, 17 insertions(+), 32 deletions(-)
---
diff --git a/exim.spec b/exim.spec
index 2c71cdf..690f389 100644
--- a/exim.spec
+++ b/exim.spec
@@ -24,7 +24,7 @@ Summary(pl.UTF-8):	Agent Transferu Poczty Uniwersytetu w Cambridge
 Summary(pt_BR.UTF-8):	Servidor de correio eletrônico exim
 Name:		exim
 Version:	%{main_ver}.1
-Release:	1
+Release:	2
 Epoch:		2
 License:	GPL v2+
 Group:		Networking/Daemons/SMTP
@@ -50,7 +50,7 @@ Source15:	%{name}4-smtp.pamd
 Source16:	%{name}on.png
 # sh branch.sh
 Patch100:	%{name}-git.patch
-# Patch100-md5:	975532c68d5c3d1378945fb1045d7c86
+# Patch100-md5:	4876f50b30ada721b6af64c62bab209c
 Patch0:		%{name}4-EDITME.patch
 Patch1:		%{name}4-monitor-EDITME.patch
 Patch2:		%{name}4-cflags.patch
diff --git a/90_localscan_dlopen.dpatch b/90_localscan_dlopen.dpatch
index a20121a..5907d48 100644
--- a/90_localscan_dlopen.dpatch
+++ b/90_localscan_dlopen.dpatch
@@ -59,15 +59,11 @@ Last-Update: 2023-09-09
  #define CONFIGURE_FILE_USE_NODE
  #define CONFIGURE_GROUP
  #define CONFIGURE_OWNER
---- a/src/globals.c
-+++ b/src/globals.c
-@@ -116,14 +116,18 @@ tls_support tls_out = {
- #endif
- 
- uschar *dsn_envid              = NULL;
- int     dsn_ret                = 0;
+--- exim-4.99/src/globals.c~	2026-02-24 21:39:28.000000000 +0100
++++ exim-4.99/src/globals.c	2026-02-24 21:40:12.503174925 +0100
+@@ -83,6 +83,10 @@ int     dsn_ret                = 0;
  const pcre2_code  *regex_DSN         = NULL;
- uschar *dsn_advertise_hosts    = NULL;
+ const uschar *dsn_advertise_hosts    = NULL;
  
 +#ifdef DLOPEN_LOCAL_SCAN
 +uschar *local_scan_path        = NULL;
@@ -76,19 +72,11 @@ Last-Update: 2023-09-09
  #ifndef DISABLE_TLS
  BOOL    gnutls_compat_mode     = FALSE;
  BOOL    gnutls_allow_auto_pkcs11 = FALSE;
- uschar *hosts_require_alpn     = NULL;
- uschar *openssl_options        = NULL;
- const pcre2_code *regex_STARTTLS     = NULL;
- uschar *tls_advertise_hosts    = US"*";
---- a/src/globals.h
-+++ b/src/globals.h
-@@ -162,14 +162,18 @@ extern time_t  tls_watch_trigger_time; /
- extern uschar *tls_advertise_hosts;    /* host for which TLS is advertised */
- 
- extern uschar  *dsn_envid;             /* DSN envid string */
- extern int      dsn_ret;               /* DSN ret type*/
+--- exim-4.99/src/globals.h~	2026-02-24 21:40:38.000000000 +0100
++++ exim-4.99/src/globals.h	2026-02-24 21:41:12.042955024 +0100
+@@ -128,6 +128,10 @@ extern int      dsn_ret;               /
  extern const pcre2_code  *regex_DSN;         /* For recognizing DSN settings */
- extern uschar  *dsn_advertise_hosts;   /* host for which TLS is advertised */
+ extern const uschar  *dsn_advertise_hosts;   /* host for which TLS is advertised */
  
 +#ifdef DLOPEN_LOCAL_SCAN
 +extern uschar *local_scan_path;        /* Path to local_scan() library */
@@ -97,10 +85,6 @@ Last-Update: 2023-09-09
  /* Input-reading functions for messages, so we can use special ones for
  incoming TCP/IP. */
  
- extern int (*lwr_receive_getc)(unsigned);
- extern uschar * (*lwr_receive_getbuf)(unsigned *);
- extern BOOL (*lwr_receive_hasc)(void);
- extern int (*lwr_receive_ungetc)(int);
 --- a/src/local_scan.c
 +++ b/src/local_scan.c
 @@ -4,62 +4,138 @@
@@ -215,7 +199,7 @@ Last-Update: 2023-09-09
 +local_scan_lib = dlopen(local_scan_path, RTLD_NOW);
 +if (!local_scan_lib)
 +  {
-+  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library open failed - "
++  log_write(LOG_MAIN|LOG_REJECT, "local_scan() library open failed - "
 +    "message temporarily rejected");
 +  return FALSE;
 +  }
@@ -224,7 +208,7 @@ Last-Update: 2023-09-09
 +if (!local_scan_version_fn)
 +  {
 +  dlclose(local_scan_lib);
-+  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
++  log_write(LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
 +    "local_scan_version_major() function - message temporarily rejected");
 +  return FALSE;
 +  }
@@ -237,7 +221,7 @@ Last-Update: 2023-09-09
 +if (!local_scan_version_fn)
 +  {
 +  dlclose(local_scan_lib);
-+  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
++  log_write(LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
 +    "local_scan_version_minor() function - message temporarily rejected");
 +  return FALSE;
 +  }
@@ -251,7 +235,7 @@ Last-Update: 2023-09-09
 +  {
 +  dlclose(local_scan_lib);
 +  local_scan_lib = NULL;
-+  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible major"
++  log_write(LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible major"
 +    "version number, you need to recompile your module for this version"
 +    "of exim (The module was compiled for version %d.%d and this exim provides"
 +    "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR,
@@ -262,7 +246,7 @@ Last-Update: 2023-09-09
 +  {
 +  dlclose(local_scan_lib);
 +  local_scan_lib = NULL;
-+  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible minor"
++  log_write(LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible minor"
 +    "version number, you need to recompile your module for this version"
 +    "of exim (The module was compiled for version %d.%d and this exim provides"
 +    "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR,
@@ -274,7 +258,7 @@ Last-Update: 2023-09-09
 +if (!local_scan_fn)
 +  {
 +  dlclose(local_scan_lib);
-+  log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
++  log_write(LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
 +    "local_scan() function - message temporarily rejected");
 +  return FALSE;
 +  }
diff --git a/branch.sh b/branch.sh
index 90ec6ce..9fcd6c8 100755
--- a/branch.sh
+++ b/branch.sh
@@ -13,6 +13,7 @@ filter() {
     filterdiff \
         -x '*/Readme.pod' \
 	-x '*/README.md' \
+	-x '*/SECURITY.md' \
         -x '*/test/*' \
         -x '*/doc/*' \
         -x '*/release-process/*'
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/exim.git/commitdiff/6cd7210f81e91d38cba13efb38db27b5656712ec



More information about the pld-cvs-commit mailing list