[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