- update to 4.98 (bsc#1227423, CVE-2024-39929):

* The dkim_status ACL condition may now be used in data ACLs
  * The dkim_verbose logging control also enables logging of signing
  * The dkim_timestamps signing option now accepts zero to include
    a current timestamp but no expiry timestamp.
  * The recipients_max main option is now expanded.
  * Setting variables for "exim -be" can set a tainted value.
  * A dns:fail event.
  * The dsearch lookup supports search for a sub-path.
  * Include mailtest utility for simple connection checking.
  * Add SMTP WELLKNOWN extension.

OBS-URL: https://build.opensuse.org/package/show/server:mail/exim?expand=0&rev=290
This commit is contained in:
Dirk Mueller 2024-07-15 16:28:08 +00:00 committed by Git OBS Bridge
commit 18cf88956e
21 changed files with 4567 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

33
apparmor.usr.sbin.exim Normal file
View File

@ -0,0 +1,33 @@
# vim:syntax=apparmor
# Last Modified: Wed May 30 17:00:04 2007
#include <tunables/global>
/usr/sbin/exim {
#include <abstractions/base>
#include <abstractions/nameservice>
#include <abstractions/consoles>
#include <abstractions/user-mail>
capability chown,
capability dac_override,
capability fowner,
capability setgid,
capability setuid,
/etc/aliases r,
/etc/exim/** r,
/etc/greylistd/whitelist-hosts r,
/proc/*/mounts r,
/proc/loadavg r,
/proc/net/if_inet6 r,
/usr/bin/procmail Px,
/usr/lib/cyrus/bin/deliver Px,
/usr/lib/majordomo/wrapper px,
/usr/sbin/exim ixr,
/var/lib/greylistd/whitelist-hosts r,
/var/lib/majordomo/lists/* r,
/var/log/exim/*.log w,
/var/run/exim.pid w,
/var/run/greylistd/socket w,
/var/spool/exim/** rw,
}

3
exim-4.97.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a9614ac5b5d10dd98bfc7594561503a51a89c2ccbc52bca3153ee98af1cb37a
size 2071215

11
exim-4.97.1.tar.bz2.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEEqYbzpr1jd9hzCVjevOWMjOQfMt8FAmWJz+4QHGpnaEB3aXpt
YWlsLm9yZwAKCRC85YyM5B8y36vHB/91YtRyZA32+VbpdOjNE+c+gHIFo8qSgzsz
ZqwoJCcx7oXis4+0HHghXuXHhkunBj7uQfOZlM1vbkIJs3tc0PKYvCYVzILX6Fta
MGhz9xAuyY0iIgvP3khvOHlT7GDgU6OQ+r05Adr/Gicls2NXuHkfG4BRDcMO3NVX
J/flHg76Z0xAzxV4lKyDXIPFkRnGw6CGUbascpjzoyZNOfx9TXysVhU8URPkZfLV
d+DnlbJ5PQgrPM24Z0EcjgpydPl1uAGmCyrb9TfhurC+eo6eEyLaiDgF+dFz032y
Lh7JiRsKWZR1PU38ahPaUAg+1qsw9I6WHGiD/04LlQiyDwJBTQZR
=uIow
-----END PGP SIGNATURE-----

3
exim-4.98.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:acfd93f6e4a38e4887867614770ea062b2453ed93e355772adeae6c6598b0d92
size 2099901

11
exim-4.98.tar.bz2.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEEqYbzpr1jd9hzCVjevOWMjOQfMt8FAmaOn7MQHGpnaEB3aXpt
YWlsLm9yZwAKCRC85YyM5B8y36inB/4w0K3tt2qwd2167bMznkc1iPt8CXiyP4CM
Q8MpROT6djkLPmt6/TdL64GC8u2mPexagNhSAWWxkqjAvHLsuqow2yU6y6+0xcPh
14FlokH7rO1CL0YczPLvxNVhGRLKT2YDso92qWGZJ8Bw5Vk+D4sbu5aXrkFCSgRf
ia/J+O6TrYzrOGDNrPboH36+7eQdK9gsZAQDJhusXL/3UXmUhKR6KMn0UPxpk1kQ
uDgF12/GXOIFbwqyrW03ToAiOISd4b2hNmdafm+uQIl7R0K2c/Z0D7i6FliDQzXI
4Uu5N7yvFGQ0bsYjG4fW23oiwAPS5y93w0Ah1Ka7ES+8sIrmdQFp
=vIcz
-----END PGP SIGNATURE-----

18
exim-tail.patch Normal file
View File

@ -0,0 +1,18 @@
From: Ruediger Oertel <ro at suse dot de>
Subject: fix deprecated tail call syntax (-1)
Reported-Upstream: Yes
Bugtracker: bugs.exim.org 1080
Index: scripts/Configure-config.h
===================================================================
--- scripts/Configure-config.h.orig
+++ scripts/Configure-config.h
@@ -47,7 +47,7 @@ fi
# Double-check that config.h is complete.
-if [ "`tail -1 config.h`" != "/* End of config.h */" ] ; then
+if [ "`tail -n 1 config.h`" != "/* End of config.h */" ] ; then
echo "*** config.h appears to be incomplete"
echo "*** unexpected failure in buildconfig program"
exit 1

2795
exim.changes Normal file

File diff suppressed because it is too large Load Diff

841
exim.keyring Normal file
View File

@ -0,0 +1,841 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
K162rQ==
=r7rh
-----END PGP PUBLIC KEY BLOCK-----

51
exim.logrotate Normal file
View File

@ -0,0 +1,51 @@
/var/log/exim/main.log {
compress
dateext
notifempty
missingok
create 640 mail mail
rotate 99
weekly
#maxage 365
prerotate
cd /var/log/exim
test -f /etc/sysconfig/exim && source /etc/sysconfig/exim
if test "$EXIM_REPORT_WEEKLY" = yes; then
day=`date +%Y%m%d`
report=weekly_report-$day
eximstatsdir=/srv/www/eximstats/$day
touch $report; chmod 640 $report; chown :mail $report
eximstats main.log > $report
if test "$EXIM_REPORT_WEEKLY_HTML" = yes; then
mkdir $eximstatsdir
eximstats -html -charts -chartdir $eximstatsdir main.log > $eximstatsdir/index.html
fi
if ! test -e no_report_mail && test "$EXIM_REPORT_WEEKLY_SEND" = yes; then mail -s "$(sed -n '2{p;q;}' < $report) ($(hostname))" postmaster < $report; fi
if test -f $report.gz; then old $report.gz; fi
gzip -f -9 $report
fi
endscript
}
/var/log/exim/reject.log {
compress
dateext
notifempty
missingok
create 640 mail mail
rotate 99
size 4M
#maxage 365
}
/var/log/exim/panic.log {
compress
dateext
notifempty
missingok
create 640 mail mail
rotate 99
size 1M
#maxage 365
}

101
exim.rc Normal file
View File

@ -0,0 +1,101 @@
#! /bin/sh
# Copyright (c) 2002-2003 SuSE Linux AG, Nuernberg, Germany.
# Copyright (c) 2004-2008 SUSE Linux Products GmbH, Nuernberg, Germany.
# All rights reserved.
#
# Author: Peter Poeml <poeml@suse.de>
#
### BEGIN INIT INFO
# Provides: exim sendmail
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: $named $time greylistd amavis spamd postgresql mysql
# Should-Stop: $named greylistd amavis spamd postgresql mysql
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: exim MTA
# Description: Start the exim MTA (mail transfer agent)
### END INIT INFO
EXIM_PID=/var/run/exim.pid
EXIM_BIN=/usr/sbin/exim
if [ -s /etc/sysconfig/exim ]; then
. /etc/sysconfig/exim
else
# pre 8.0
# Source SuSE config
. /etc/rc.config
# Determine the base and follow a runlevel link name.
base=${0##*/}
link=${base#*[SK][0-9][0-9]}
# Force execution if not called by a runlevel directory.
test $link = $base && START_EXIM=yes
test "$START_EXIM" = yes || exit 0
fi
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Initializing SMTP port (exim)"
if [ -e $EXIM_PID ]; then
startproc -p $EXIM_PID $EXIM_BIN $EXIM_ARGS
else
$EXIM_BIN $EXIM_ARGS
fi
rc_status -v
;;
stop)
echo -n "Shutting down SMTP port"
killproc -p $EXIM_PID -TERM $EXIM_BIN
rc_status -v
;;
test)
echo -n "Testing exim configuration"
$EXIM_BIN -bV
;;
try-restart)
## Do a restart only if the service was active before.
## Note: try-restart is now part of LSB (as of 1.9).
## RH has a similar command named condrestart.
$0 status
if test $? = 0; then
$0 restart
else
rc_reset # Not running is not a failure.
fi
# Remember status and be quiet
rc_status
;;
restart)
$0 stop
$0 start
rc_status
;;
reload|force-reload)
echo -n "Reload service exim"
kill -HUP `cat $EXIM_PID* 2>/dev/null` 2> /dev/null || true
rc_status -v
;;
status)
echo -n "Checking for service exim: "
checkproc -p $EXIM_PID $EXIM_BIN
rc_status -v
;;
probe)
test /etc/exim.conf -nt $EXIM_PID \
&& echo reload
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
exit 1
esac
rc_exit

27
exim.service Normal file
View File

@ -0,0 +1,27 @@
[Unit]
Description=Exim Mail Transport Agent
After=network.target
Conflicts=sendmail.service postfix.service
[Service]
PrivateTmp=true
# added automatically, for details please see
# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
ProtectSystem=full
# exim needs to access ~/.forward and MDA-files to for local delivery
# ProtectHome=true
PrivateDevices=true
ProtectHostname=true
ProtectClock=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
RestrictRealtime=true
# end of automatic additions
Environment=QUEUE=1h
EnvironmentFile=-/etc/sysconfig/exim
ExecStart=/usr/sbin/exim $EXIM_ARGS
[Install]
WantedBy=multi-user.target

542
exim.spec Normal file
View File

@ -0,0 +1,542 @@
#
# spec file for package exim
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
%bcond_without mysql
%bcond_without pgsql
%bcond_without sqlite
%bcond_without ldap
%bcond_without i18n
%if 0%{?suse_version} > 1199 || 0%{?centos_version} > 599 || 0%{?rhel_version} > 599
%bcond_without dane
%else
%bcond_with dane
%endif
Name: exim
Version: 4.98
Release: 0
Summary: The Exim Mail Transfer Agent, a Replacement for sendmail
License: GPL-2.0-or-later
Group: Productivity/Networking/Email/Servers
URL: https://www.exim.org/
Source: https://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.bz2
Source1: sysconfig.exim
Source2: exim.logrotate
Source3: https://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.bz2.asc
# http://ftp.exim.org/pub/exim/Exim-Maintainers-Keyring.asc
Source4: exim.keyring
Source11: exim.rc
Source12: permissions.exim
Source13: apparmor.usr.sbin.exim
Source30: eximstats-html-update.py
Source31: eximstats.conf
Source32: eximstats.conf-2.2
Source40: exim.service
Source41: exim_db.8.gz
Patch0: exim-tail.patch
Patch1: gnu_printf.patch
BuildRequires: cyrus-sasl-devel
BuildRequires: db-devel
BuildRequires: libidn-devel
BuildRequires: libspf2-devel
BuildRequires: pam-devel
BuildRequires: pcre2-devel
BuildRequires: pkgconfig
BuildRequires: tcpd-devel
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libssl)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xt)
Conflicts: postfix
Conflicts: sendmail
Conflicts: sendmail-tls
Provides: smtp_daemon
%if 0%{?suse_version} >= 1330 && 0%{?suse_version} < 1599
BuildRequires: libnsl-devel
%endif
%if %{with_ldap}
BuildRequires: openldap2-devel
%endif
%if %{?suse_version:%suse_version}%{?!suse_version:0} > 800
BuildRequires: perl-File-FcntlLock
Requires: logrotate
Requires: perl-File-FcntlLock
Requires(pre): %fillup_prereq
Requires(pre): fileutils
Requires(pre): permissions
Requires(pre): textutils
%if 0%{?suse_version} > 1220
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%else
Requires(pre): %insserv_prereq
%endif
%if 0%{?suse_version} >= 1330
BuildRequires: group(mail)
BuildRequires: user(mail)
Requires(pre): group(mail)
Requires(pre): user(mail)
%endif
%endif
%if %{with_mysql}
BuildRequires: mysql-devel
%endif
%if %{with_pgsql}
BuildRequires: postgresql-devel
%endif
%if %{with_sqlite}
BuildRequires: sqlite3-devel
%endif
%package -n eximon
Summary: Eximon, an graphical frontend to administer Exim's mail queue
Group: Productivity/Networking/Email/Servers
%package -n eximstats-html
Summary: Create HTML reports of exim logs
Group: Productivity/Networking/Email/Servers
Requires: perl-GD
Requires: perl-GDGraph
Requires: perl-GDTextUtil
%description
Exim is a mail transport agent (MTA) developed at the University of
Cambridge for use on Unix systems connected to the Internet. It is
freely available under the terms of the GNU General Public Licence. In
style, it is similar to Smail 3, but its facilities are more extensive.
In particular, it has options for verifying incoming sender and
recipient addresses, for refusing mail from specified hosts, networks,
or senders, and for controlling mail relaying.
%description -n eximon
This allows administrators to view the exim agent's mail queue and
logs, and perform a variety of actions on queued messages, such as
freezing, bouncing and thawing messages, and even editing body and
header of mails.
%description -n eximstats-html
If this package is installed alongside the exim MTA, and you enable
EXIM_REPORT_WEEKLY_HTML in %{_sysconfdir}/sysconfig/exim, logrotate/cron will
create HTML reports in /srv/www/eximstats.
You can edit %{_sysconfdir}/apache2/conf.d/eximstats.conf to configure your
webserver for the reports.
The script %{_sbindir}/eximstats-html-update.py can create the reports
for log files that were rotated in the past. (You would only run this
once, if at all. The rest is done by logrotate / cron.)
%prep
%setup -q -n exim-%{version}
%patch -P 0
%patch -P 1 -p1
# build with fPIE/pie on SUSE 10.0 or newer, or on any other platform
%if %{?suse_version:%suse_version}%{?!suse_version:99999} > 930
fPIE="-fPIE"
pie="-pie"
%endif
%if 0%{?suse_version} > 1100 || 0%{?centos_version} > 599 || 0%{?rhel_version} > 599
CFLAGS_OPT_WERROR="-Werror=format-security -Werror=missing-format-attribute"
%endif
cat <<-EOF > Local/Makefile
# see src/EDITME for comments.
BIN_DIRECTORY=%{_sbindir}
CONFIGURE_FILE=%{_sysconfdir}/exim/exim.conf
EXIM_USER=ref:mail
EXIM_GROUP=ref:mail
SPOOL_DIRECTORY=%{_localstatedir}/spool/exim
ROUTER_ACCEPT=yes
ROUTER_DNSLOOKUP=yes
ROUTER_IPLITERAL=yes
ROUTER_MANUALROUTE=yes
ROUTER_QUERYPROGRAM=yes
ROUTER_REDIRECT=yes
# ROUTER_IPLOOKUP=yes
TRANSPORT_APPENDFILE=yes
TRANSPORT_AUTOREPLY=yes
TRANSPORT_PIPE=yes
TRANSPORT_SMTP=yes
TRANSPORT_LMTP=yes
SUPPORT_MAILDIR=yes
SUPPORT_MAILSTORE=yes
SUPPORT_MBX=yes
LOOKUP_DBM=yes
LOOKUP_LSEARCH=yes
LOOKUP_CDB=yes
LOOKUP_DNSDB=yes
LOOKUP_DSEARCH=yes
%if %{with_ldap}
LOOKUP_LDAP=yes
%endif
%if %{with_mysql}
LOOKUP_MYSQL=yes
%endif
%if %{with_pgsql}
LOOKUP_PGSQL=yes
%endif
%if %{with_sqlite}
LOOKUP_SQLITE=yes
%endif
%if 0%{?suse_version} < 1599
LOOKUP_NIS=yes
LOOKUP_LIBS=-lnsl
%else
# LOOKUP_NIS=yes
%endif
# LOOKUP_NISPLUS=yes
LOOKUP_PASSWD=yes
# LOOKUP_WHOSON=yes
CYRUS_SASLAUTHD_SOCKET=%{_localstatedir}/run/sasl2/mux
%if %{with_ldap}
LDAP_LIB_TYPE=OPENLDAP2
LOOKUP_LIBS+=-llber -lldap
%endif
%if %{with_mysql}
LOOKUP_INCLUDE+=-I %{_includedir}/mysql
LOOKUP_LIBS+=-L %{_libdir}/mysql -lmysqlclient
%endif
%if %{with_pgsql}
LOOKUP_INCLUDE+=-I %{_includedir}/pgsql
LOOKUP_LIBS+=-lpq
%endif
%if %{with_sqlite}
LOOKUP_INCLUDE+=-I %{_includedir}/sqlite3
LOOKUP_LIBS+=-lsqlite3
%endif
EXIM_MONITOR=eximon.bin
WITH_CONTENT_SCAN=yes
#WITH_OLD_DEMIME=yes
AUTH_CRAM_MD5=yes
AUTH_CYRUS_SASL=yes
AUTH_PLAINTEXT=yes
AUTH_SPA=yes
AUTH_DOVECOT=yes
AUTH_TLS=yes
AUTH_LIBS=-lsasl2
USE_OPENSSL=yes
TLS_LIBS=-lssl -lcrypto
INFO_DIRECTORY=%{_infodir}
LOG_FILE_PATH=%{_localstatedir}/log/exim/%%s.log
EXICYCLOG_MAX=10
SYSLOG_LOG_PID=yes
SYSLOG_LONG_LINES=yes
COMPRESS_COMMAND=/bin/gzip
COMPRESS_SUFFIX=gz
ZCAT_COMMAND=%{_bindir}/zcat
SUPPORT_PAM=yes
# You probably need to add -lpam to EXTRALIBS
# RADIUS_CONFIG_FILE=%{_sysconfdir}/radiusclient/radiusclient.conf
# CYRUS_PWCHECK_SOCKET=%{_localstatedir}/pwcheck/pwcheck
# USE_TCP_WRAPPERS=yes
NO_SYMLINK=yes
CHOWN_COMMAND=/bin/chown
CHGRP_COMMAND=/bin/chgrp
MV_COMMAND=/bin/mv
RM_COMMAND=/bin/rm
PERL_COMMAND=%{_bindir}/perl
# APPENDFILE_MODE=0600
# APPENDFILE_DIRECTORY_MODE=0700
# APPENDFILE_LOCKFILE_MODE=0600
# CONFIGURE_FILE_USE_NODE=yes
# CONFIGURE_FILE_USE_EUID=yes
# DELIVER_BUFFER_SIZE=8192
# EXIMDB_DIRECTORY_MODE=0750
# EXIMDB_MODE=0640
# EXIMDB_LOCKFILE_MODE=0640
# HEADER_MAXSIZE="(1024*1024)"
# INPUT_DIRECTORY_MODE=0750
# LOG_DIRECTORY_MODE=0750
# LOG_MODE=0640
# LOOKUP_TESTDB=yes
MAKE_SHELL=/bin/bash
MAX_NAMED_LIST=64
# MAXINTERFACES=250
# MSGLOG_DIRECTORY_MODE=0750
# PERL_CC=
# PERL_CCOPTS=
# PERL_LIBS=
PID_FILE_PATH=%{_localstatedir}/run/exim.pid
# SPOOL_DIRECTORY_MODE=0750
# SPOOL_MODE=0640
SUPPORT_MOVE_FROZEN_MESSAGES=yes
HAVE_IPV6=YES
SUPPORT_SPF=yes
LOOKUP_LIBS+=-lspf2
#SUPPORT_DMARC=yes
#CFLAGS += -I/usr/local/include
#LDFLAGS += -lopendmarc
EXPERIMENTAL_EVENT=yes
EXPERIMENTAL_PROXY=yes
EXPERIMENTAL_CERTNAMES=yes
EXPERIMENTAL_DSN=yes
SYSTEM_ALIASES_FILE=%{_sysconfdir}/aliases
# enable SRS
SUPPORT_SRS=yes
%if %{with dane}
SUPPORT_DANE=yes
%endif
EXPERIMENTAL_SOCKS=yes
%if %{with i18n}
EXPERIMENTAL_INTERNATIONAL=yes
%endif
LDFLAGS += -lidn
CFLAGS=%{optflags} -std=gnu99 -Wall $CFLAGS_OPT_WERROR -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DLDAP_DEPRECATED $fPIE
EXTRALIBS=-ldl -lpam -L/usr/X11R6/%{_lib} $pie
EOF
touch Local/eximon.conf
rm -f doc/*.{orig,txt~}
%build
%make_build
%install
%if 0%{?suse_version} > 1220
mkdir -p %{buildroot}/%{_unitdir}
%else
mkdir -p %{buildroot}%{_initddir}
%endif
%if 0%{?suse_version} > 1500
mkdir -p %{buildroot}%{_distconfdir}/logrotate.d
%else
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
%endif
mkdir -p %{buildroot}%{_prefix}/{bin,sbin,lib}
mkdir -p %{buildroot}%{_localstatedir}/log/exim
mkdir -p %{buildroot}%{_localstatedir}/spool/mail/
ln -s spool/mail %{buildroot}%{_localstatedir}
mkdir -p %{buildroot}%{_fillupdir}
mkdir -p %{buildroot}%{_mandir}/man8
mkdir -p %{buildroot}%{_bindir}
make inst_dest=%{buildroot}%{_sbindir} \
inst_conf=%{buildroot}%{_sysconfdir}/exim/exim.conf \
inst_info=%{buildroot}/%{_infodir} \
INSTALL_ARG=-no_chown install
#mv $RPM_BUILD_ROOT/usr/sbin/exim-%{version}* $RPM_BUILD_ROOT/usr/sbin/exim
mv %{buildroot}%{_sbindir}/exim-4.9* %{buildroot}%{_sbindir}/exim
mv %{buildroot}%{_sysconfdir}/exim/exim.conf src/configure.default # with all substitutions done
%if 0%{?suse_version} > 1220
install -m 0644 %{SOURCE40} %{buildroot}/%{_unitdir}/exim.service
%else
install -m 0755 %{SOURCE11} %{buildroot}%{_initddir}/exim
%endif
# aka...
for i in \
%{_prefix}/lib/sendmail \
%{_bindir}/runq \
%{_bindir}/rsmtp \
%{_bindir}/mailq \
%{_bindir}/newaliases
do
ln -sf ../sbin/exim $RPM_BUILD_ROOT$i
done
ln -sf exim %{buildroot}%{_sbindir}/sendmail
%if 0%{?suse_version} > 1220
ln -sv service %{buildroot}%{_sbindir}/rcexim
%else
ln -sv ../..%{_initddir}/exim %{buildroot}%{_sbindir}/rcexim
%endif
mv %{buildroot}%{_sbindir}/eximon* %{buildroot}%{_bindir}/
cp -p %{SOURCE1} %{buildroot}%{_fillupdir}/sysconfig.exim
%if 0%{?suse_version} > 1500
install -m 0644 %{SOURCE2} %{buildroot}%{_distconfdir}/logrotate.d/exim
%else
install -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/exim
%endif
# man pages
mv doc/exim.8 %{buildroot}/%{_mandir}/man8/
cp $RPM_SOURCE_DIR/exim_db.8.gz %{buildroot}/%{_mandir}/man8
gunzip %{buildroot}/%{_mandir}/man8/exim_db.8.gz
pod2man --center=EXIM --section=8 %{buildroot}%{_sbindir}/eximstats > %{buildroot}/%{_mandir}/man8/eximstats.8
for i in \
sendmail \
runq \
rsmtp \
mailq \
newaliases
do
ln -sf exim.8.gz %{buildroot}/%{_mandir}/man8/$i.8.gz
done
for i in \
exim_dumpdb \
exim_fixdb \
exim_tidydb
do
ln -sf exim_db.8.gz %{buildroot}/%{_mandir}/man8/$i.8.gz
done
sed -i -e 's,%{_datadir}/doc/exim4,%{_docdir}/exim,g' $(find %{buildroot}/%{_mandir}/man8 -name "*.8")
gzip -9 doc/*.txt
#
# package the utilities without executable permissions, to silence rpmlint warnings
chmod 644 util/*.{pl,sh} src/convert4r*
#
# eximstats-html files
mkdir -p %{buildroot}/srv/www/eximstats
mkdir -p %{buildroot}%{_sysconfdir}/apache2/conf.d/
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1310
cp -p %{SOURCE31} %{buildroot}%{_sysconfdir}/apache2/conf.d/
%else
cp -p %{SOURCE32} %{buildroot}%{_sysconfdir}/apache2/conf.d/eximstats.conf
%endif
install -m 0755 $RPM_SOURCE_DIR/eximstats-html-update.py %{buildroot}/%{_sbindir}
# apparmor profile
install -D -m 0644 $RPM_SOURCE_DIR/apparmor.usr.sbin.exim %{buildroot}%{_datadir}/apparmor/extra-profiles/usr.sbin.exim
%pretrans -p <lua>
docdir = rpm.expand('%{_docdir}')
pkgname = rpm.expand('%{name}')
path = docdir .. '/' .. pkgname .. '/doc/cve-2019-13917'
st = posix.stat(path)
if st and st.type == "directory" then
status = os.rename(path, path .. ".rpmmoved")
if not status then
suffix = 0
while not status do
suffix = suffix + 1
status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
end
os.rename(path, path .. ".rpmmoved")
end
end
%pre
%if 0%{?suse_version} > 1220
%service_add_pre exim.service
%endif
%if 0%{?suse_version} > 1500
# Prepare for migration to /usr/etc; save any old .rpmsave
for i in logrotate.d/exim ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
done
%endif
%if 0%{?suse_version} > 1500
%posttrans
# Migration to /usr/etc, restore just created .rpmsave
for i in logrotate.d/exim ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
done
%endif
%post
%if 0%{?suse_version} < 1131
%run_permissions
%else
%set_permissions %{_sbindir}/exim
%endif
if ! test -s etc/exim/exim.conf; then
if test -s etc/exim.conf; then
mv etc/exim.conf etc/exim/
echo moving exim.conf to %{_sysconfdir}/exim/
else
cp -p usr/share/doc/packages/%{name}/configure.default etc/exim/exim.conf
echo copying default config file to %{_sysconfdir}/exim/exim.conf
fi
fi
%if 0%{?suse_version} > 1220
%fillup_only
%service_add_post exim.service
%else
%{fillup_and_insserv exim}
%endif
exit 0
%if %{?suse_version:1}%{?!suse_version:0}
%preun
%if 0%{?suse_version} > 1220
%service_del_preun exim.service
%else
%stop_on_removal exim
%endif
%endif
%postun
%if %{?suse_version:1}%{?!suse_version:0}
%if 0%{?suse_version} > 1220
%service_del_postun exim.service
%else
%restart_on_update exim
%insserv_cleanup
%endif
%endif
%verifyscript
%verify_permissions -e %{_sbindir}/exim
%files
%ghost %{_docdir}/%{name}/doc/cve-2019-13917.rpmmoved
%license LICENCE
%doc ACKNOWLEDGMENTS CHANGES NOTICE README.UPDATING README
%doc doc
%doc src/configure.default
%doc build-Linux-*/convert4r{3,4}
%doc util
%{_mandir}/man8/*
%{_sbindir}/exicyclog
%{_sbindir}/exigrep
%{_sbindir}/exiqgrep
%verify(not mode) %attr(4755,root,root) %{_sbindir}/exim
%{_sbindir}/exim_*
%{_sbindir}/eximstats
%{_sbindir}/exinext
%{_sbindir}/exipick
%{_sbindir}/exiqsumm
%{_sbindir}/exiwhat
%dir %{_sysconfdir}/exim
%if 0%{?suse_version} > 1220
%{_unitdir}/exim.service
%else
%config %{_initddir}/exim
%endif
%if 0%{?suse_version} > 1500
%{_distconfdir}/logrotate.d/exim
%else
%config(noreplace) %{_sysconfdir}/logrotate.d/exim
%endif
%if %{?suse_version:%suse_version}%{?!suse_version:99999} < 1000
%config(noreplace) %{_sysconfdir}/permissions.d/exim
%endif
%dir %{_datadir}/apparmor
%dir %{_datadir}/apparmor/extra-profiles
%config(noreplace) %{_datadir}/apparmor/extra-profiles/usr.sbin.exim
%{_sbindir}/rcexim
%{_bindir}/mailq
%{_bindir}/runq
%{_bindir}/rsmtp
%{_bindir}/newaliases
%{_sbindir}/sendmail
%{_prefix}/lib/sendmail
%{_fillupdir}/sysconfig.exim
%dir %attr(750,mail,mail) %{_localstatedir}/log/exim
%dir %attr(1777,root,root) %{_localstatedir}/spool/mail
%{_localstatedir}/mail
%files -n eximon
%{_bindir}/eximon
%{_bindir}/eximon.bin
%files -n eximstats-html
%attr(0750,root,www) /srv/www/eximstats
%dir %{_sysconfdir}/apache2
%dir %{_sysconfdir}/apache2/conf.d
%config %{_sysconfdir}/apache2/conf.d/eximstats.conf
%{_sbindir}/eximstats-html-update.py
%changelog

3
exim_db.8.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:96bacafe6e44d786e310c7ee49a8f9d6f170f761b18961a110db81893d26f2e9
size 3278

39
eximstats-html-update.py Normal file
View File

@ -0,0 +1,39 @@
#!/usr/bin/python3
import os, os.path, glob
outdir_base = '/srv/www/eximstats'
def main():
os.chdir('/var/log/exim')
reports = glob.glob('main.log-*.gz') + glob.glob('main.log-*.bz2')
for report in reports:
(base, ext) = os.path.splitext(report)
daystr = base[-8:]
outdir = os.path.join(outdir_base, daystr)
if os.path.exists(outdir):
continue
print('processing', daystr)
os.mkdir(outdir)
if ext == '.gz':
catprg = 'zcat'
elif ext == '.bz2':
catprg = 'bzcat'
os.system('%s %s | eximstats -html -charts -chartdir %s > %s/index.html' \
% (catprg, report, outdir, outdir))
if __name__ == '__main__':
main()

6
eximstats.conf Normal file
View File

@ -0,0 +1,6 @@
Alias /eximstats /srv/www/eximstats
<Directory /srv/www/eximstats>
Require all granted
Options +Indexes
AllowOverride None
</Directory>

6
eximstats.conf-2.2 Normal file
View File

@ -0,0 +1,6 @@
Alias /eximstats /srv/www/eximstats
<Directory /srv/www/eximstats>
Order allow,deny
Allow from all
Options +Indexes
</Directory>

13
gnu_printf.patch Normal file
View File

@ -0,0 +1,13 @@
diff -ru exim-4.92.orig/src/exim.c exim-4.92/src/exim.c
--- exim-4.92.orig/src/exim.c 2019-02-11 13:17:06.489418000 +0100
+++ exim-4.92/src/exim.c 2019-02-11 13:34:50.663777000 +0100
@@ -683,6 +683,9 @@
/* Print error string, then die */
+#ifdef __GNUC__
+static void exim_fail(const char * fmt, ...) __attribute__((format (printf, 1, 2)));
+#endif
static void
exim_fail(const char * fmt, ...)
{

2
permissions.exim Normal file
View File

@ -0,0 +1,2 @@
/usr/sbin/exim root:root 4755

38
sysconfig.exim Normal file
View File

@ -0,0 +1,38 @@
## Path: Network/Mail/Exim
## Description: Exim mailserver configuration
## Type: string
## Default: "-bd -q30m"
## ServiceRestart: exim
#
# Command line arguments to hand over to exim
# Normally: -bd -q30m (run as background daemon)
#
EXIM_ARGS="-bd -q30m"
## Type: yesno
## Default: "no"
#
# Create weekly reports (see man 8 eximstats)?
# The reports are saved in the same directory as the log files.
#
# To see an example of the reports, you can use this command:
# eximstats < /var/log/exim/main.log |less
#
EXIM_REPORT_WEEKLY="no"
## Type: yesno
## Default: "no"
#
# Create HTML reports (see the EXIM_REPORT_WEEKLY setting) in
# /srv/www/eximstats?
# needs the eximstats-html package to be installed
#
EXIM_REPORT_WEEKLY_HTML="no"
## Type: yesno
## Default: "no"
#
# Send the reports (see the EXIM_REPORT_WEEKLY setting) via mail to
# postmaster?
#
EXIM_REPORT_WEEKLY_SEND="no"