[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