[packages/exim] Rel 5; use git master patch again (contains few important fixes)
arekm
arekm at pld-linux.org
Thu Dec 4 17:47:20 CET 2025
commit 0d903e1cf43e1333c376a5f7fd96ad7860c9aa18
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Thu Dec 4 17:47:11 2025 +0100
Rel 5; use git master patch again (contains few important fixes)
90_localscan_dlopen-fixes.dpatch | 10 -------
90_localscan_dlopen.dpatch | 65 +++++++++++++++++++++++++++++++++-------
exim.spec | 24 +++++++--------
exim4-EDITME.patch | 13 ++------
4 files changed, 66 insertions(+), 46 deletions(-)
---
diff --git a/exim.spec b/exim.spec
index 11b5d02..1e306e4 100644
--- a/exim.spec
+++ b/exim.spec
@@ -22,7 +22,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: 4.99
-Release: 3
+Release: 5
Epoch: 2
License: GPL v2+
Group: Networking/Daemons/SMTP
@@ -48,7 +48,7 @@ Source15: %{name}4-smtp.pamd
Source16: %{name}on.png
# sh branch.sh
Patch100: %{name}-git.patch
-# Patch100-md5: 7bff932ff48c172c1556d610ce4296f4
+# Patch100-md5: 32989fb6d6977c82095b97b6c532e34b
Patch0: %{name}4-EDITME.patch
Patch1: %{name}4-monitor-EDITME.patch
Patch2: %{name}4-cflags.patch
@@ -56,11 +56,8 @@ Patch3: %{name}-defs.patch
Patch4: %{name}4-Makefile-Default.patch
# dlopen patch from debian
Patch5: 90_localscan_dlopen.dpatch
-# local fixes for debian patch
-Patch6: 90_localscan_dlopen-fixes.dpatch
-
-Patch8: %{name}-spam-timeout.patch
-Patch9: autoreply-return-path.patch
+Patch6: %{name}-spam-timeout.patch
+Patch7: autoreply-return-path.patch
URL: http://www.exim.org/
%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.1.0}
BuildRequires: db-devel
@@ -174,7 +171,7 @@ Pliki nagłówkowe dla Exima.
%prep
%setup -q -a1 -a7
-#%%patch -P100 -p2
+%patch -P100 -p2
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
@@ -182,9 +179,7 @@ Pliki nagłówkowe dla Exima.
%patch -P4 -p1
%patch -P5 -p1
%patch -P6 -p1
-
-%patch -P8 -p1
-%patch -P9 -p2
+%patch -P7 -p2
install %{SOURCE4} exim4.conf
install %{SOURCE14} doc/config.samples.tar.bz2
@@ -194,12 +189,12 @@ CC=%{__cc}
CUSTOM_CFLAGS=%{rpmcppflags} %{rpmcflags}
CFLAGS_DYNAMIC=-shared -rdynamic -fPIC %{rpmldflags}
LOOKUP_CDB=yes
+LOOKUP_PSL=yes
XLFLAGS=-L%{_prefix}/X11R6/%{_lib}
X11_LD_LIB=%{_prefix}/X11R6/%{_lib}
%{?with_dynamic:LOOKUP_MODULE_DIR=%{_libdir}/%{name}/modules}
EXPERIMENTAL_ARC=yes
EXPERIMENTAL_DCC=yes
-EXPERIMENTAL_PRDR=yes
EXPERIMENTAL_DSN_INFO=yes
EXPERIMENTAL_NMH=yes
EXPERIMENTAL_QUEUEFILE=yes
@@ -207,9 +202,10 @@ EXPERIMENTAL_QUEUEFILE=yes
EXPERIMENTAL_XCLIENT=yes
SUPPORT_DANE=yes
SUPPORT_I18N=yes
+SUPPORT_I18N_PC=libidn
SUPPORT_I18N_2008=yes
+SUPPORT_I18N_2008_PC=libidn2
SUPPORT_MOVE_FROZEN_MESSAGES=yes
-LDFLAGS+= -lidn -lidn2
SUPPORT_PROXY=yes
%if %{with dmarc}
SUPPORT_DMARC=yes
@@ -268,7 +264,7 @@ LOOKUP_LDAP_LIBS=-lldap -llber
LOOKUP_LIBS+=-lldap -llber
%endif
%if %{with lmdb}
-EXPERIMENTAL_LMDB=yes
+LOOKUP_LMDB=%{dynamic_type}
LOOKUP_LIBS+=-llmdb
%endif
DLOPEN_LOCAL_SCAN=yes
diff --git a/90_localscan_dlopen-fixes.dpatch b/90_localscan_dlopen-fixes.dpatch
deleted file mode 100644
index eee067b..0000000
--- a/90_localscan_dlopen-fixes.dpatch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/local_scan.h~ 2022-11-08 06:56:36.000000000 +0100
-+++ b/src/local_scan.h 2022-11-08 07:59:28.809998403 +0100
-@@ -26,6 +26,7 @@ store.c
- settings, and the store functions. */
-
- #include <stdarg.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #pragma GCC visibility push(default)
- #include "config.h"
diff --git a/90_localscan_dlopen.dpatch b/90_localscan_dlopen.dpatch
index 01eb96a..6d5e633 100644
--- a/90_localscan_dlopen.dpatch
+++ b/90_localscan_dlopen.dpatch
@@ -10,7 +10,9 @@ Last-Update: 2023-09-09
--- a/src/EDITME
+++ b/src/EDITME
-@@ -902,10 +902,25 @@ HEADERS_CHARSET="ISO-8859-1"
+@@ -996,14 +996,29 @@ HEADERS_CHARSET="ISO-8859-1"
+ # Exim is seen as very low priority. In practice, if you need to, you can
+ # define DEFAULT_CRYPT to the name of any function that has the same interface
# as the traditional crypt() function.
# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
@@ -36,9 +38,13 @@ Last-Update: 2023-09-09
# the documentation in "info" format, first fetch the Texinfo documentation
# sources from the ftp directory and unpack them, which should create files
# with the extension "texinfo" in the doc directory. You may find that the
+ # version number of the texinfo files is different to your Exim version number,
+ # because the main documentation isn't updated as often as the code. For
--- a/src/config.h.defaults
+++ b/src/config.h.defaults
-@@ -31,10 +31,12 @@ Do not put spaces between # and the 'def
+@@ -29,14 +29,16 @@ Do not put spaces between # and the 'def
+ #define AUTH_HEIMDAL_GSSAPI
+ #define AUTH_PLAINTEXT
#define AUTH_SPA
#define AUTH_TLS
@@ -51,9 +57,13 @@ Last-Update: 2023-09-09
#define CONFIGURE_FILE
#define CONFIGURE_FILE_USE_EUID
#define CONFIGURE_FILE_USE_NODE
+ #define CONFIGURE_GROUP
+ #define CONFIGURE_OWNER
--- a/src/globals.c
+++ b/src/globals.c
-@@ -116,10 +116,14 @@ tls_support tls_out = {
+@@ -116,14 +116,18 @@ tls_support tls_out = {
+ #endif
+
uschar *dsn_envid = NULL;
int dsn_ret = 0;
const pcre2_code *regex_DSN = NULL;
@@ -68,9 +78,13 @@ Last-Update: 2023-09-09
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
-@@ -155,10 +155,14 @@ extern uschar *tls_advertise_hosts; /
+@@ -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*/
extern const pcre2_code *regex_DSN; /* For recognizing DSN settings */
@@ -85,9 +99,13 @@ Last-Update: 2023-09-09
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
-@@ -6,60 +6,136 @@
+@@ -4,62 +4,138 @@
+
+ /* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
/* SPDX-License-Identifier: GPL-2.0-or-later */
@@ -268,7 +286,9 @@ Last-Update: 2023-09-09
/* End of local_scan.c */
--- a/src/local_scan.h
+++ b/src/local_scan.h
-@@ -26,10 +26,11 @@ store.c
+@@ -26,14 +26,15 @@ store.c
+ #define LOCAL_SCAN_H
+
/* Some basic types that make some things easier, the Exim configuration
settings, and the store functions. */
@@ -280,7 +300,11 @@ Last-Update: 2023-09-09
#include "store.h"
-@@ -175,10 +176,13 @@ extern const uschar *headers_charset; /
+ /* Some people (Marc Merlin et al) are maintaining a patch that allows for
+ dynamic local_scan() libraries. This code is not yet in Exim proper, but it
+@@ -175,14 +176,17 @@ extern int body_zerocount; /
+ extern uschar *expand_string_message; /* Error info for failing expansion */
+ extern const uschar *headers_charset; /* Charset for RFC 2047 decoding */
extern header_line *header_last; /* Final header */
extern header_line *header_list; /* First header */
extern BOOL host_checking; /* Set when checking a host */
@@ -294,17 +318,26 @@ Last-Update: 2023-09-09
extern int recipients_count; /* Number of recipients */
extern recipient_item *recipients_list;/* List of recipient addresses */
extern const unsigned char *sender_address; /* Sender address */
-@@ -253,5 +253,7 @@ extern pid_t child_open_exim2_functio
+ extern uschar *sender_host_address; /* IP address of sender, as chars */
+ extern uschar *sender_host_authenticated; /* Name of authentication mechanism */
+@@ -245,9 +249,12 @@ extern uschar * string_copy_function(con
+ extern uschar * string_copyn_function(const uschar *, int n);
+ extern uschar * string_copy_taint_function(const uschar *, const void * proto_mem);
+ 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 *);
#endif
+#pragma GCC visibility pop
+
#endif /* whole file */
++
/* End of local_scan.h */
--- a/src/readconf.c
+++ b/src/readconf.c
-@@ -214,10 +214,13 @@ static optionlist optionlist_config[] =
+@@ -214,14 +214,17 @@ static optionlist optionlist_config[] =
+ #ifndef DISABLE_ESMTP_LIMITS
+ { "limits_advertise_hosts", opt_stringptr, {&limits_advertise_hosts} },
#endif
{ "local_from_check", opt_bool, {&local_from_check} },
{ "local_from_prefix", opt_stringptr, {&local_from_prefix} },
@@ -318,9 +351,13 @@ Last-Update: 2023-09-09
#endif
{ "local_sender_retain", opt_bool, {&local_sender_retain} },
{ "localhost_number", opt_stringptr, {&host_number_string} },
+ { "log_file_path", opt_stringptr, {&log_file_path} },
+ { "log_ports", opt_stringptr, {&log_ports} },
--- a/src/string.c
+++ b/src/string.c
-@@ -435,10 +435,11 @@ return ss;
+@@ -455,14 +455,15 @@ return ss;
+ }
+
@@ -332,7 +369,11 @@ Last-Update: 2023-09-09
*************************************************/
/*
-@@ -480,10 +481,11 @@ Returns: copy of string in new store
+ Argument: string to copy
+ Returns: copy of string in new store with the same taint status
+@@ -500,14 +501,15 @@ Returns: copy of string in new store
+ */
+
uschar *
string_copyn_function(const uschar * s, int n)
{
@@ -344,3 +385,5 @@ Last-Update: 2023-09-09
/*************************************************
* Copy and save string in malloc'd store *
+ *************************************************/
+
diff --git a/exim4-EDITME.patch b/exim4-EDITME.patch
index 63c2d05..ea03a08 100644
--- a/exim4-EDITME.patch
+++ b/exim4-EDITME.patch
@@ -82,9 +82,9 @@
-# LOOKUP_DSEARCH=yes
+LOOKUP_CDB=yes
+LOOKUP_DSEARCH=yes
- # LOOKUP_IBASE=yes
# LOOKUP_JSON=yes
# LOOKUP_LDAP=yes
+ # LOOKUP_LMDB=yes
@@ -417,7 +418,7 @@ LOOKUP_DNSDB=yes
# LOOKUP_NIS=yes
# LOOKUP_NISPLUS=yes
@@ -92,8 +92,8 @@
-# LOOKUP_PASSWD=yes
+LOOKUP_PASSWD=yes
# LOOKUP_PGSQL=yes
+ # LOOKUP_PSL=yes
# LOOKUP_REDIS=yes
- # LOOKUP_SQLITE=yes
@@ -500,7 +500,7 @@ SUPPORT_DANE=yes
# files are defaulted in the OS/Makefile-Default file, but can be overridden in
# local OS-specific make files.
@@ -231,15 +231,6 @@
#------------------------------------------------------------------------------
# Proxying.
-@@ -1079,7 +1095,7 @@ ZCAT_COMMAND=/usr/bin/zcat
- # /var/pwcheck) and chown it to Exim's user and group. Once you have installed
- # pwcheck, you should arrange for it to be started by root at boot time.
-
--# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck
-+CYRUS_PWCHECK_SOCKET=/var/lib/sasl/mux
-
-
- #------------------------------------------------------------------------------
@@ -1096,7 +1112,7 @@ ZCAT_COMMAND=/usr/bin/zcat
# group. Once you have installed saslauthd, you should arrange for it to be
# started by root at boot time.
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/exim.git/commitdiff/0d903e1cf43e1333c376a5f7fd96ad7860c9aa18
More information about the pld-cvs-commit
mailing list