diff --git a/.cvsignore b/.cvsignore index e69de29..6d7760a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,2 @@ +exim-4.50.tar.bz2 +sa-exim-4.2.tar.gz diff --git a/exim-4.24-libdir.patch b/exim-4.24-libdir.patch new file mode 100644 index 0000000..7144305 --- /dev/null +++ b/exim-4.24-libdir.patch @@ -0,0 +1,13 @@ +--- exim-4.24/OS/Makefile-Linux.libdir 2003-09-22 10:29:52.000000000 +0200 ++++ exim-4.24/OS/Makefile-Linux 2003-11-13 12:05:15.000000000 +0100 +@@ -17,8 +17,8 @@ + + X11=/usr/X11R6 + XINCLUDE=-I$(X11)/include +-XLFLAGS=-L$(X11)/lib +-X11_LD_LIB=$(X11)/lib ++XLFLAGS=-L$(X11)/$(_lib) ++X11_LD_LIB=$(X11)/$(_lib) + + EXIWHAT_PS_ARG=ax + EXIWHAT_EGREP_ARG='/exim( |$$)' diff --git a/exim-4.24-no_libc5.patch b/exim-4.24-no_libc5.patch new file mode 100644 index 0000000..9884853 --- /dev/null +++ b/exim-4.24-no_libc5.patch @@ -0,0 +1,29 @@ +--- exim-4.24/scripts/os-type.no_libc5 2003-11-13 11:09:34.777973822 +0100 ++++ exim-4.24/scripts/os-type 2003-11-13 11:09:36.175695694 +0100 +@@ -125,16 +125,16 @@ + # easy enough to do a better check, and check the symlink destination or the + # control file contents and make sure. + +-Linux) if [ -L /usr/lib/libc.so ]; then +- if [ x"$(file /usr/lib/libc.so | grep "libc.so.5")"x != xx ]; then +- os=Linux-libc5 +- fi +- else +- if grep -q libc.so.5 /usr/lib/libc.so; then +- os=Linux-libc5 +- fi +- fi +- ;; ++#Linux) if [ -L /usr/lib/libc.so ]; then ++# if [ x"$(file /usr/lib/libc.so | grep "libc.so.5")"x != xx ]; then ++# os=Linux-libc5 ++# fi ++# else ++# if grep -q libc.so.5 /usr/lib/libc.so; then ++# os=Linux-libc5 ++# fi ++# fi ++# ;; + + # In the case of NetBSD we need to distinguish between a.out, ELF + # and COFF binary formats. However, a.out and COFF are the same diff --git a/exim-4.33-cyrus.patch b/exim-4.33-cyrus.patch new file mode 100644 index 0000000..bcd144c --- /dev/null +++ b/exim-4.33-cyrus.patch @@ -0,0 +1,18 @@ +--- exim-4.33/src/configure.default.cyrus 2004-07-02 15:00:27.941635455 +0200 ++++ exim-4.33/src/configure.default 2004-07-02 15:41:39.505133889 +0200 +@@ -595,6 +595,15 @@ + driver = autoreply + + ++# This transport is used to deliver local mail to cyrus IMAP server via UNIX ++# socket. ++# ++#local_delivery: ++# driver = lmtp ++# command = "/usr/lib/cyrus-imapd/deliver -l" ++# batch_max = 20 ++# user = cyrus ++ + + ###################################################################### + # RETRY CONFIGURATION # diff --git a/exim-4.43-pamconfig.patch b/exim-4.43-pamconfig.patch new file mode 100644 index 0000000..e4dd0da --- /dev/null +++ b/exim-4.43-pamconfig.patch @@ -0,0 +1,63 @@ +--- exim-4.43/src/configure.default.pam 2004-12-16 13:27:55.000000000 +0000 ++++ exim-4.43/src/configure.default 2004-12-16 15:41:34.000000000 +0000 +@@ -238,6 +238,40 @@ + + timeout_frozen_after = 7d + ++# This option, if uncommented, allows Exim to listen on ports other than ++# just the default port 25. For example, you may wish Exim to sldo listen ++# on the 'message submission' port 587 for roaming clients which cannot ++# use port 25 directly from their current location. (cf. RFC 2476). ++# ++# daemon_smtp_ports = smtp : msa ++ ++# This option instructs Exim to advertise the availability of encrypted ++# connections to all hosts, and uses the certificate which is automatically ++# generated when the RPM is installed. You can disable TLS, should you need ++# to do so, by commenting out the three lines below. ++ ++tls_advertise_hosts = * ++tls_certificate = /usr/share/ssl/certs/exim.pem ++tls_privatekey = /usr/share/ssl/private/exim.pem ++ ++# This setting, if uncommented, allows users to authenticate using ++# their system passwords against saslauthd if they connect over a ++# secure connection. If you have network logins such as NIS or ++# Kerberos rather than only local users, then you possibly also want ++# to configure /etc/sysconfig/saslauthd to use the 'pam' mechanism ++# too. Once a user is authenticated, the acl_check_rcpt ACL then ++# allows them to relay through the system. ++# ++# auth_advertise_hosts = ${if eq {$tls_cipher}{}{}{*}} ++# ++# By default, we set this option to allow SMTP AUTH from nowhere ++# (Exim's default would be to allow it from anywhere, even on an ++# unencrypted connection). ++# ++# Comment this one out if you uncomment the above. Did you make sure ++# saslauthd is actually running first? ++# ++auth_advertise_hosts = + + + ###################################################################### +@@ -657,6 +691,19 @@ + + begin authenticators + ++plain: ++ driver = plaintext ++ public_name = PLAIN ++ server_prompts = : ++ server_condition = "${if saslauthd{{$2}{$3}{smtp}} {1}}" ++ server_set_id = $2 ++ ++login: ++ driver = plaintext ++ public_name = LOGIN ++ server_prompts = "Username:: : Password::" ++ server_condition = "${if saslauthd{{$1}{$2}{smtp}} {1}}" ++ server_set_id = $1 + + + ###################################################################### diff --git a/exim-4.50-config.patch b/exim-4.50-config.patch new file mode 100644 index 0000000..6b125a9 --- /dev/null +++ b/exim-4.50-config.patch @@ -0,0 +1,289 @@ +--- exim-4.50/Local/Makefile.conf 2005-02-22 19:12:14.000000000 +0000 ++++ exim-4.50/Local/Makefile 2005-02-22 19:15:10.000000000 +0000 +@@ -100,7 +100,7 @@ + # /usr/local/sbin. The installation script will try to create this directory, + # and any superior directories, if they do not exist. + +-BIN_DIRECTORY=/usr/exim/bin ++BIN_DIRECTORY=/usr/sbin + + + #------------------------------------------------------------------------------ +@@ -116,7 +116,7 @@ + # don't exist. It will also install a default runtime configuration if this + # file does not exist. + +-CONFIGURE_FILE=/usr/exim/configure ++CONFIGURE_FILE=/etc/exim/exim.conf + + # It is possible to specify a colon-separated list of files for CONFIGURE_FILE. + # In this case, Exim will use the first of them that exists when it is run. +@@ -134,7 +134,7 @@ + # owner of a local mailbox.) Specifying these values as root is very strongly + # discouraged. + +-EXIM_USER= ++EXIM_USER=93 + + # If you specify EXIM_USER as a name, this is looked up at build time, and the + # uid number is built into the binary. However, you can specify that this +@@ -155,7 +155,7 @@ + # for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless + # you want to use a group other than the default group for the given user. + +-# EXIM_GROUP= ++EXIM_GROUP=93 + + # Many sites define a user called "exim", with an appropriate default group, + # and use +@@ -229,7 +229,7 @@ + # This one is special-purpose, and commonly not required, so it is not + # included by default. + +-# TRANSPORT_LMTP=yes ++TRANSPORT_LMTP=yes + + + #------------------------------------------------------------------------------ +@@ -238,9 +238,9 @@ + # MBX, is included only when requested. If you do not know what this is about, + # leave these settings commented out. + +-# SUPPORT_MAILDIR=yes +-# SUPPORT_MAILSTORE=yes +-# SUPPORT_MBX=yes ++SUPPORT_MAILDIR=yes ++SUPPORT_MAILSTORE=yes ++SUPPORT_MBX=yes + + + #------------------------------------------------------------------------------ +@@ -255,16 +255,18 @@ + LOOKUP_DBM=yes + LOOKUP_LSEARCH=yes + +-# LOOKUP_CDB=yes +-# LOOKUP_DNSDB=yes +-# LOOKUP_DSEARCH=yes ++LOOKUP_CDB=yes ++LOOKUP_DNSDB=yes ++LOOKUP_DSEARCH=yes + # LOOKUP_IBASE=yes +-# LOOKUP_LDAP=yes ++LOOKUP_LDAP=yes ++LDAP_LIB_TYPE=OPENLDAP2 ++LOOKUP_LIBS=-lldap -llber + # LOOKUP_MYSQL=yes +-# LOOKUP_NIS=yes +-# LOOKUP_NISPLUS=yes ++LOOKUP_NIS=yes ++LOOKUP_NISPLUS=yes + # LOOKUP_ORACLE=yes +-# LOOKUP_PASSWD=yes ++LOOKUP_PASSWD=yes + # LOOKUP_PGSQL=yes + # LOOKUP_WHOSON=yes + +@@ -272,7 +274,7 @@ + # LOOKUP_LSEARCH is enabled. However, we retain these for backward + # compatibility. Setting one forces LOOKUP_LSEARCH if it is not set. + +-# LOOKUP_WILDLSEARCH=yes ++LOOKUP_WILDLSEARCH=yes + # LOOKUP_NWILDLSEARCH=yes + + +@@ -321,14 +323,14 @@ + # and the MIME ACL. Please read the documentation to learn more about these + # features. + +-# WITH_CONTENT_SCAN=yes ++WITH_CONTENT_SCAN=yes + + # If you want to use the deprecated "demime" condition in the DATA ACL, + # uncomment the line below. Doing so will also explicitly turn on the + # WITH_CONTENT_SCAN option. If possible, use the MIME ACL instead of + # the "demime" condition. + +-# WITH_OLD_DEMIME=yes ++WITH_OLD_DEMIME=yes + + #------------------------------------------------------------------------------ + # Compiling Exim with experimental features. These are documented in +@@ -464,10 +466,10 @@ + # included in the Exim binary. You will then need to set up the run time + # configuration to make use of the mechanism(s) selected. + +-# AUTH_CRAM_MD5=yes +-# AUTH_CYRUS_SASL=yes +-# AUTH_PLAINTEXT=yes +-# AUTH_SPA=yes ++AUTH_CRAM_MD5=yes ++AUTH_CYRUS_SASL=yes ++AUTH_PLAINTEXT=yes ++AUTH_SPA=yes + + + #------------------------------------------------------------------------------ +@@ -484,7 +486,7 @@ + # one that is set in the headers_charset option. The default setting is + # defined by this setting: + +-HEADERS_CHARSET="ISO-8859-1" ++HEADERS_CHARSET="UTF-8" + + # If you are going to make use of $header_xxx expansions in your configuration + # file, or if your users are going to use them in filter files, and the normal +@@ -504,7 +506,7 @@ + # the Sieve filter support. For those OS where iconv() is known to be installed + # as standard, the file in OS/Makefile-xxxx contains + # +-# HAVE_ICONV=yes ++HAVE_ICONV=yes + # + # If you are not using one of those systems, but have installed iconv(), you + # need to uncomment that line above. In some cases, you may find that iconv() +@@ -553,10 +555,11 @@ + # leave these settings commented out. + + # This setting is required for any TLS support (either OpenSSL or GnuTLS) +-# SUPPORT_TLS=yes ++SUPPORT_TLS=yes + + # Uncomment this setting if you are using OpenSSL +-# TLS_LIBS=-lssl -lcrypto ++TLS_INCLUDE=-I/usr/kerberos/include ++TLS_LIBS=-lssl -lcrypto + + # Uncomment these settings if you are using GnuTLS + # USE_GNUTLS=yes +@@ -607,7 +610,7 @@ + # Once you have done this, "make install" will build the info files and + # install them in the directory you have defined. + +-# INFO_DIRECTORY=/usr/share/info ++INFO_DIRECTORY=/usr/share/info + + + #------------------------------------------------------------------------------ +@@ -620,7 +623,7 @@ + # %s. This will be replaced by one of the strings "main", "panic", or "reject" + # to form the final file names. Some installations may want something like this: + +-# LOG_FILE_PATH=/var/log/exim_%slog ++LOG_FILE_PATH=/var/log/exim/%s.log + + # which results in files with names /var/log/exim_mainlog, etc. The directory + # in which the log files are placed must exist; Exim does not try to create +@@ -669,7 +672,7 @@ + # files. Both the name of the command and the suffix that it adds to files + # need to be defined here. See also the EXICYCLOG_MAX configuration. + +-COMPRESS_COMMAND=/usr/bin/gzip ++COMPRESS_COMMAND=/bin/gzip + COMPRESS_SUFFIX=gz + + +@@ -677,7 +680,7 @@ + # If the exigrep utility is fed compressed log files, it tries to uncompress + # them using this command. + +-ZCAT_COMMAND=/usr/bin/zcat ++ZCAT_COMMAND=/bin/zcat + + + #------------------------------------------------------------------------------ +@@ -686,7 +689,7 @@ + # (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded + # Perl costs quite a lot of resources. Only do this if you really need it. + +-# EXIM_PERL=perl.o ++EXIM_PERL=perl.o + + + #------------------------------------------------------------------------------ +@@ -696,7 +699,7 @@ + # support, which is intended for use in conjunction with the SMTP AUTH + # facilities, is included only when requested by the following setting: + +-# SUPPORT_PAM=yes ++SUPPORT_PAM=yes + + # You probably need to add -lpam to EXTRALIBS, and in some releases of + # GNU/Linux -ldl is also needed. +@@ -757,7 +760,7 @@ + # group. Once you have installed saslauthd, you should arrange for it to be + # started by root at boot time. + +-# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux ++CYRUS_SASLAUTHD_SOCKET=/var/run/saslauthd/mux + + + #------------------------------------------------------------------------------ +@@ -770,9 +773,9 @@ + # You may well also have to specify a local "include" file and an additional + # library for TCP wrappers, so you probably need something like this: + # +-# USE_TCP_WRAPPERS=yes +-# CFLAGS=-O -I/usr/local/include +-# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap ++USE_TCP_WRAPPERS=yes ++CFLAGS=-g -O ++EXTRALIBS_EXIM=-lwrap -lpam -ldl + # + # but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM + # as well. +@@ -817,13 +820,13 @@ + # is "yes", as well as supporting line editing, a history of input lines in the + # current run is maintained. + +-# USE_READLINE=yes ++USE_READLINE=yes + + # You may need to add -ldl to EXTRA_LIBS when you set USE_READLINE=yes. + # Note that this option adds to the size of the Exim binary, because the + # dynamic loading library is not otherwise included. + +- ++HAVE_IPV6=yes + + ############################################################################### + # THINGS YOU ALMOST NEVER NEED TO MENTION # +@@ -844,11 +847,12 @@ + # haven't got Perl, Exim will still build and run; you just won't be able to + # use those utilities. + +-# CHOWN_COMMAND=/usr/bin/chown +-# CHGRP_COMMAND=/usr/bin/chgrp +-# MV_COMMAND=/bin/mv +-# RM_COMMAND=/bin/rm +-# PERL_COMMAND=/usr/bin/perl ++CHOWN_COMMAND=/bin/chown ++CHGRP_COMMAND=/bin/chgrp ++ ++MV_COMAND=/bin/mv ++RM_COMMAND=/bin/rm ++PERL_COMMAND=/usr/bin/perl + + + #------------------------------------------------------------------------------ +@@ -1042,7 +1046,7 @@ + # (process id) to a file so that it can easily be identified. The path of the + # file can be specified here. Some installations may want something like this: + +-# PID_FILE_PATH=/var/lock/exim.pid ++PID_FILE_PATH=/var/run/exim.pid + + # If PID_FILE_PATH is not defined, Exim writes a file in its spool directory + # using the name "exim-daemon.pid". +--- exim-4.50/scripts/Configure-Makefile.conf 2005-02-17 14:49:11.000000000 +0000 ++++ exim-4.50/scripts/Configure-Makefile 2005-02-22 19:12:21.000000000 +0000 +@@ -131,7 +131,7 @@ + + mv $mft $mftt + echo "PERL_CC=`$PERL_COMMAND -MConfig -e 'print $Config{cc}'`" >>$mft +- echo "PERL_CCOPTS=`$PERL_COMMAND -MExtUtils::Embed -e ccopts`" >>$mft ++ echo "PERL_CCOPTS=`$PERL_COMMAND -MExtUtils::Embed -e ccopts` \$(CFLAGS)" >>$mft + echo "PERL_LIBS=`$PERL_COMMAND -MExtUtils::Embed -e ldopts`" >>$mft + echo "" >>$mft + cat $mftt >> $mft diff --git a/exim-4.50-spamdconf.patch b/exim-4.50-spamdconf.patch new file mode 100644 index 0000000..3be0bac --- /dev/null +++ b/exim-4.50-spamdconf.patch @@ -0,0 +1,86 @@ +--- exim-4.50/src/configure.default.orig 2005-02-22 19:49:15.000000000 +0000 ++++ exim-4.50/src/configure.default 2005-02-22 19:46:55.000000000 +0000 +@@ -108,6 +108,26 @@ + + # You should not change that setting until you understand how ACLs work. + ++# The following ACL entries are used if you want to do content scanning with ++# the exiscan-acl patch. When you uncomment one of these lines, you must also ++# review the respective entries in the ACL section further below. ++ ++# acl_smtp_mime = acl_check_mime ++# acl_smtp_data = acl_check_content ++ ++# This configuration variable defines the virus scanner that is used with ++# the 'malware' ACL condition of the exiscan acl-patch. If you do not use ++# virus scanning, leave it commented. Please read doc/exiscan-acl-readme.txt ++# for a list of supported scanners. ++ ++# av_scanner = sophie:/var/run/sophie ++ ++# The following setting is only needed if you use the 'spam' ACL condition ++# of the exiscan-acl patch. It specifies on which host and port the SpamAssassin ++# "spamd" daemon is listening. If you do not use this condition, or you use ++# the default of "127.0.0.1 783", you can omit this option. ++ ++# spamd_address = 127.0.0.1 783 + + # Specify the domain you want to be added to all unqualified addresses + # here. An unqualified address is one that does not contain an "@" character +@@ -376,6 +396,56 @@ + deny message = relay not permitted + + ++# These access control lists are used for content scanning with the exiscan-acl ++# patch. You must also uncomment the entries for acl_smtp_data and acl_smtp_mime ++# (scroll up), otherwise the ACLs will not be used. IMPORTANT: the default entries here ++# should be treated as EXAMPLES. You MUST read the file doc/exiscan-acl-spec.txt ++# to fully understand what you are doing ... ++ ++acl_check_mime: ++ ++ # Decode MIME parts to disk. This will support virus scanners later. ++ warn decode = default ++ ++ # File extension filtering. ++ deny message = Blacklisted file extension detected ++ condition = ${if match \ ++ {${lc:$mime_filename}} \ ++ {\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com)$\N} \ ++ {1}{0}} ++ ++# # Reject messages that carry chinese character sets. ++# # WARNING: This is an EXAMPLE. ++# deny message = Sorry, noone speaks chinese here ++# condition = ${if eq{$mime_charset}{gb2312}{1}{0}} ++ ++ accept ++ ++acl_check_content: ++ ++ # Reject virus infested messages. ++ deny message = This message contains malware ($malware_name) ++ malware = * ++ ++ # Always add X-Spam-Score and X-Spam-Report headers, using SA system-wide settings ++ # (user "nobody"), no matter if over threshold or not. ++ warn message = X-Spam-Score: $spam_score ($spam_bar) ++ spam = nobody:true ++ warn message = X-Spam-Report: $spam_report ++ spam = nobody:true ++ ++ # Add X-Spam-Flag if spam is over system-wide threshold ++ warn message = X-Spam-Flag: YES ++ spam = nobody ++ ++ # Reject spam messages with score over 10, using an extra condition. ++ deny message = This message scored $spam_score points. Congratulations! ++ spam = nobody:true ++ condition = ${if >{$spam_score_int}{100}{1}{0}} ++ ++ # finally accept all the rest ++ accept ++ + + ###################################################################### + # ROUTERS CONFIGURATION # diff --git a/exim-rhl.patch b/exim-rhl.patch new file mode 100644 index 0000000..a9d2ccf --- /dev/null +++ b/exim-rhl.patch @@ -0,0 +1,22 @@ +--- exim-4.32/src/configure.default.rhl 2004-04-15 04:27:01.000000000 -0400 ++++ exim-4.32/src/configure.default 2004-04-15 12:30:03.367749456 -0400 +@@ -411,7 +411,7 @@ + driver = redirect + allow_fail + allow_defer +- data = ${lookup{$local_part}lsearch{SYSTEM_ALIASES_FILE}} ++ data = ${lookup{$local_part}lsearch{/etc/aliases}} + # user = exim + file_transport = address_file + pipe_transport = address_pipe +@@ -491,8 +491,8 @@ + delivery_date_add + envelope_to_add + return_path_add +-# group = mail +-# mode = 0660 ++ group = mail ++ mode = 0660 + + + # This transport is used for handling pipe deliveries generated by alias or diff --git a/exim.init b/exim.init new file mode 100644 index 0000000..a22d6c2 --- /dev/null +++ b/exim.init @@ -0,0 +1,88 @@ +#!/bin/bash +# +# exim This shell script takes care of starting and stopping exim +# +# chkconfig: 2345 80 30 +# description: Exim is a Mail Transport Agent, which is the program \ +# that moves mail from one machine to another. +# processname: exim +# config: /etc/exim/exim.conf +# pidfile: /var/run/exim.pid + +# Source function library. +. /etc/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Source exim configureation. +if [ -f /etc/sysconfig/exim ] ; then + . /etc/sysconfig/exim +else + DAEMON=yes + QUEUE=1h +fi + +# Check that networking is up. +[ ${NETWORKING} = "no" ] && exit 0 + +[ -f /usr/sbin/exim ] || exit 0 + +start() { + # check ownerships + # do this by seeing if /var/log/exim/main.log exists and is + # owned by exim - if owned by someone else we fix it up + if [ -f /var/log/exim/main.log ] + then + if [ "exim" != "`ls -l /var/log/exim/main.log | awk '{print $4}'`" ] + then + chown -R exim:exim /var/log/exim /var/spool/exim + fi + fi + # Start daemons. + echo -n $"Starting exim: " + daemon /usr/sbin/exim $([ "$DAEMON" = yes ] && echo -bd) \ + $([ -n "$QUEUE" ] && echo -q$QUEUE) + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch /var/lock/subsys/exim +} + +stop() { + # Stop daemons. + echo -n $"Shutting down exim: " + killproc exim + RETVAL=$? + echo + [ $RETVAL = 0 ] && rm -f /var/lock/subsys/exim +} + +restart() { + stop + start +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + condrestart) + [ -f /var/lock/subsys/exim ] && restart || : + ;; + status) + status exim + ;; + *) + echo $"Usage: $0 {start|stop|restart|status|condrestart}" + exit 1 +esac + +exit $RETVAL + diff --git a/exim.logrotate b/exim.logrotate new file mode 100644 index 0000000..05f13b9 --- /dev/null +++ b/exim.logrotate @@ -0,0 +1,7 @@ +# daemon does not need restarting after log rotate +# so we do not prod it any more +/var/log/exim/*log { + missingok + notifempty + delaycompress +} diff --git a/exim.pam b/exim.pam new file mode 100644 index 0000000..7ab2336 --- /dev/null +++ b/exim.pam @@ -0,0 +1,2 @@ +auth required pam_stack.so service=system-auth +account required pam_stack.so service=system-auth diff --git a/exim.spec b/exim.spec new file mode 100644 index 0000000..f88ec89 --- /dev/null +++ b/exim.spec @@ -0,0 +1,627 @@ +Summary: The exim mail transfer agent +Name: exim +Version: 4.50 +Release: 2 +License: GPL +Url: http://www.exim.org/ +Group: System Environment/Daemons +Buildroot: %{_tmppath}/%{name}-build.root +Provides: MTA smtpd smtpdaemon /usr/bin/newaliases +Provides: /usr/sbin/sendmail /usr/bin/mailq /usr/bin/rmail +PreReq: /sbin/chkconfig +PreReq: /sbin/service +PreReq: %{_sbindir}/alternatives +PreReq: %{_sbindir}/groupadd, %{_sbindir}/useradd +Source: ftp://ftp.exim.org/pub/exim/exim-%{version}.tar.bz2 +Source2: exim.init +Source3: exim.sysconfig +Source4: exim.logrotate +Source11: exim.pam +Source13: http://marc.merlins.org/linux/exim/files/sa-exim-4.2.tar.gz +Patch4: exim-rhl.patch +Patch6: exim-4.50-config.patch +Patch7: exim-4.24-no_libc5.patch +Patch8: exim-4.24-libdir.patch +Patch12: exim-4.33-cyrus.patch +Patch13: exim-4.43-pamconfig.patch +Patch14: exim-4.50-spamdconf.patch + +Requires: /etc/aliases +BuildRequires: db4-devel openssl-devel openldap-devel XFree86-devel pam-devel +BuildRequires: lynx +BuildRequires: cyrus-sasl-devel openldap-devel openssl-devel +PreReq: cyrus-sasl openldap openssl + +%description +Exim is a mail transport agent (MTA) developed at the University of +Cambridge for use on Unix systems connected to the Internet. In style +it is similar to Smail 3, but its facilities are more extensive, and +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. Exim is in production +use at quite a few sites, some of which move hundreds of thousands of +messages per day. + +%package mon +Summary: X11 monitor application for exim +Group: Applications/System +License: Free + +%description mon +The Exim Monitor is an optional supplement to the Exim package. It +displays information about Exim's processing in an X window, and an +administrator can perform a number of control actions from the window +interface. + +%package sa +Summary: Exim SpamAssassin at SMTP time - d/l plugin +Group: System Environment/Daemons +Requires: exim + +%description sa +Allows running of SA on incoming mail and rejection at SMTP time as +well as other nasty things like teergrubing. + +%prep +%setup -q +%setup -q -T -D -a 13 +# patch sa +cat sa-exim*/localscan_dlopen_exim_4.20_or_better.patch | patch -p1 +cp src/EDITME Local/Makefile +cp exim_monitor/EDITME Local/eximon.conf + +%patch4 -p1 -b .rhl +%patch6 -p1 -b .config +%patch7 -p1 -b .no_libc5 +%patch8 -p1 -b .libdir +%patch12 -p1 -b .cyrus +%patch13 -p1 -b .pam +%patch14 -p1 -b .spamd + +%build +%ifnarch s390 s390x + make CFLAGS="$RPM_OPT_FLAGS -fpie" LFLAGS=-pie _lib=%{_lib} +%else + make CFLAGS="$RPM_OPT_FLAGS -fPIE" LFLAGS=-pie _lib=%{_lib} +%endif + +# build sa-exim +cd sa-exim* +perl -pi -e 's|\@lynx|HOME=/ /usr/bin/lynx|g;' Makefile +make SACONF=%{_sysconfdir}/exim/sa-exim.conf CFLAGS="$RPM_OPT_FLAGS -fPIC" + + +%install +rm -rf $RPM_BUILD_ROOT + +mkdir -p $RPM_BUILD_ROOT%{_sbindir} +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_libdir} +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/exim + +cd build-`scripts/os-type`-`scripts/arch-type` +install -m 4775 exim $RPM_BUILD_ROOT%{_sbindir} + +for i in eximon eximon.bin exim_dumpdb exim_fixdb exim_tidydb \ + exinext exiwhat exim_dbmbuild exicyclog exim_lock \ + exigrep eximstats exipick exiqgrep exiqsumm \ + exim_checkaccess convert4r4 +do + install -m 0775 $i $RPM_BUILD_ROOT%{_sbindir} +done + +cd .. + +install -m 0644 src/configure.default $RPM_BUILD_ROOT%{_sysconfdir}/exim/exim.conf +install -m 0644 $RPM_SOURCE_DIR/exim.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/exim + +mkdir -p $RPM_BUILD_ROOT/usr/lib +pushd $RPM_BUILD_ROOT/usr/lib +ln -sf ../sbin/exim sendmail.exim +popd + +pushd $RPM_BUILD_ROOT%{_sbindir}/ +ln -sf exim sendmail.exim +popd + +pushd $RPM_BUILD_ROOT%{_bindir}/ +ln -sf ../sbin/exim mailq.exim +ln -sf ../sbin/exim runq.exim +ln -sf ../sbin/exim rsmtp.exim +ln -sf ../sbin/exim rmail.exim +ln -sf ../sbin/exim newaliases.exim +popd + +install -d -m 0750 $RPM_BUILD_ROOT%{_var}/spool/exim +install -d -m 0750 $RPM_BUILD_ROOT%{_var}/spool/exim/db +install -d -m 0750 $RPM_BUILD_ROOT%{_var}/spool/exim/input +install -d -m 0750 $RPM_BUILD_ROOT%{_var}/spool/exim/msglog +install -d -m 0750 $RPM_BUILD_ROOT%{_var}/log/exim + +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8 +install -m644 doc/exim.8 $RPM_BUILD_ROOT%{_mandir}/man8/exim.8 +pod2man --center=EXIM --section=8 \ + $RPM_BUILD_ROOT/usr/sbin/eximstats \ + $RPM_BUILD_ROOT%{_mandir}/man8/eximstats.8 + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +install -m 644 $RPM_SOURCE_DIR/exim.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/exim + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d +install $RPM_SOURCE_DIR/exim.init $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/exim + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +install -m 0644 $RPM_SOURCE_DIR/exim.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/exim + +# install sa +cd sa-exim* +mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/exim +install *.so $RPM_BUILD_ROOT%{_libexecdir}/exim +install -m 644 *.conf $RPM_BUILD_ROOT%{_sysconfdir}/exim +ln -s sa-exim*.so $RPM_BUILD_ROOT%{_libexecdir}/exim/sa-exim.so + +# generate ghost .pem file +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ssl/{certs,private} +touch $RPM_BUILD_ROOT/%{_datadir}/ssl/{certs,private}/exim.pem +chmod 600 $RPM_BUILD_ROOT/%{_datadir}/ssl/{certs,private}/exim.pem + + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +%{_sbindir}/useradd -d %{_var}/spool/exim -s /sbin/nologin -G mail -M -r -u 93 exim 2>/dev/null +exit 0 + +%post +/sbin/chkconfig --add exim + +%{_sbindir}/alternatives --install %{_sbindir}/sendmail mta %{_sbindir}/sendmail.exim 10 \ + --slave %{_bindir}/mailq mta-mailq %{_bindir}/mailq.exim \ + --slave %{_bindir}/runq mta-runq %{_bindir}/runq.exim \ + --slave %{_bindir}/rsmtp mta-rsmtp %{_bindir}/rsmtp.exim \ + --slave %{_bindir}/rmail mta-rmail %{_bindir}/rmail.exim \ + --slave /etc/pam.d/smtp mta-pam /etc/pam.d/exim \ + --slave %{_bindir}/newaliases mta-newaliases %{_bindir}/newaliases.exim \ + --slave /usr/lib/sendmail mta-sendmail /usr/lib/sendmail.exim \ + --slave %{_mandir}/man1/mailq.1.gz mta-mailqman %{_mandir}/man8/exim.8.gz \ + --initscript exim + +if [ ! -f %{_datadir}/ssl/certs/exim.pem ] ; then + umask 077 + FQDN=`hostname` + if [ "x${FQDN}" = "x" ]; then + FQDN=localhost.localdomain + fi + cat << EOF | openssl req -new -x509 -days 365 -nodes -out %{_datadir}/ssl/certs/exim.pem -keyout %{_datadir}/ssl/private/exim.pem &>/dev/null +-- +SomeState +SomeCity +SomeOrganization +SomeOrganizationalUnit +${FQDN} +root@${FQDN} +EOF +chown exim.exim %{_datadir}/ssl/{private,certs}/exim.pem +chmod 600 %{_datadir}/ssl/{private,certs}/exim.pem +fi + +%preun +if [ $1 = 0 ]; then + /sbin/service exim stop > /dev/null 2>&1 + /sbin/chkconfig --del exim + %{_sbindir}/alternatives --remove mta %{_sbindir}/sendmail.exim +fi + +%postun +if [ "$1" -ge "1" ]; then + /sbin/service exim condrestart > /dev/null 2>&1 + mta=`readlink /etc/alternatives/mta` + if [ "$mta" == "%{_sbindir}/sendmail.exim" ]; then + /usr/sbin/alternatives --set mta %{_sbindir}/sendmail.exim + fi +fi + +%files +%defattr(-,root,root) +%attr(4755,root,root) %{_sbindir}/exim +%{_sbindir}/exim_dumpdb +%{_sbindir}/exim_fixdb +%{_sbindir}/exim_tidydb +%{_sbindir}/exinext +%{_sbindir}/exiwhat +%{_sbindir}/exim_dbmbuild +%{_sbindir}/exicyclog +%{_sbindir}/exigrep +%{_sbindir}/eximstats +%{_sbindir}/exipick +%{_sbindir}/exiqgrep +%{_sbindir}/exiqsumm +%{_sbindir}/exim_lock +%{_sbindir}/exim_checkaccess +%{_sbindir}/convert4r4 +%{_sbindir}/sendmail.exim +%{_bindir}/mailq.exim +%{_bindir}/runq.exim +%{_bindir}/rsmtp.exim +%{_bindir}/rmail.exim +%{_bindir}/newaliases.exim +/usr/lib/sendmail.exim +%{_mandir}/*/* + +%defattr(-,exim,exim) +%dir %{_var}/spool/exim +%dir %{_var}/spool/exim/db +%dir %{_var}/spool/exim/input +%dir %{_var}/spool/exim/msglog +%dir %{_var}/log/exim + +%defattr(-,root,mail) +%config(noreplace) %{_sysconfdir}/exim/exim.conf + +%defattr(-,root,root) +%config %{_sysconfdir}/sysconfig/exim +%config %{_sysconfdir}/rc.d/init.d/exim +%config %{_sysconfdir}/logrotate.d/exim +%config %{_sysconfdir}/pam.d/exim + +%doc ACKNOWLEDGMENTS LICENCE NOTICE README.UPDATING README +%doc doc util/unknownuser.sh + +%attr(0600,root,root) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_datadir}/ssl/certs/exim.pem +%attr(0600,root,root) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_datadir}/ssl/private/exim.pem + +%files mon +%defattr(-,root,root) +%{_sbindir}/eximon +%{_sbindir}/eximon.bin + +%files sa +%defattr(-,root,root) +%{_libexecdir}/exim +%config(noreplace) %{_sysconfdir}/exim/sa-*.conf +%doc sa-exim*/*.html +%doc sa-exim*/{ACKNOWLEDGEMENTS,INSTALL,LICENSE,TODO} + +%changelog +* Tue Feb 22 2005 David Woodhouse 4.50-2 +- Move exim-doc into a separate package + +* Tue Feb 22 2005 David Woodhouse 4.50-1 +- Update to Exim 4.50 and sa-exim 4.2 +- Default headers_charset to utf-8 +- Add sample spamd stuff to default configuration like exiscan-acl used to + +* Sat Jan 15 2005 David Woodhouse 4.44-1 +- Update to Exim 4.44 and exiscan-acl-4.44-28 + +* Tue Jan 4 2005 David Woodhouse 4.43-4 +- Fix buffer overflows in host_aton() and SPA authentication + +* Thu Dec 16 2004 David Woodhouse 4.43-3 +- Demonstrate SASL auth configuration in default config file +- Enable TLS and provide certificate if necessary +- Don't reject all GB2312 charset mail by default + +* Mon Dec 6 2004 Thomas Woerner 4.43-2 +- rebuild + +* Thu Oct 7 2004 Thomas Woerner 4.43-1 +- new version 4.43 with sasl support +- new exiscan-acl-4.43-28 +- new config.samples and FAQ-html (added publication date) +- new BuildRequires for cyrus-sasl-devel openldap-devel openssl-devel + and PreReq for cyrus-sasl openldap openssl + +* Mon Sep 13 2004 Thomas Woerner 4.42-2 +- update to sa-exim-4.1: fixes spamassassin's new score= string (#131796) + +* Fri Aug 27 2004 Thomas Woerner 4.42-1 +- new version 4.42 + +* Mon Aug 2 2004 Thomas Woerner 4.41-1 +- new version 4.41 + +* Fri Jul 2 2004 Thomas Woerner 4.34-3 +- added pre-definition of local_delivery using Cyrus-IMAP (#122912) +- added BuildRequires for pam-devel (#124555) +- fixed format string bugs (#125117) +- fixed sa-exim code placed wrong in spec file (#127102) +- extended postun with alternatives call + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed May 12 2004 David Woodhouse 4.34-1 +- Update to Exim 4.34, exiscan-acl 4.34-21 + +* Sat May 8 2004 David Woodhouse 4.33-2 +- fix buffer overflow in header_syntax check + +* Wed May 5 2004 David Woodhouse 4.33-1 +- Update to Exim 4.33, exiscan-acl 4.33-20 to + fix crashes both in exiscan-acl and Exim itself. + +* Fri Apr 30 2004 David Woodhouse 4.32-2 +- Enable IPv6 support, Cyrus saslauthd support, iconv. + +* Thu Apr 15 2004 David Woodhouse 4.32-1 +- update to Exim 4.32, exiscan-acl 4.32-17, sa-exim 4.0 +- Fix Provides: and Source urls. +- include exiqgrep, exim_checkaccess, exipick +- require /etc/aliases instead of setup + +* Tue Feb 24 2004 Thomas Woerner 4.30-6.1 +- rebuilt + +* Mon Feb 23 2004 Tim Waugh +- Use ':' instead of '.' as separator for chown. + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Jan 27 2004 Thomas Woerner 4.30-5 +- /usr/lib/sendmail is in alternatives, now +- /etc/alises is now in setup: new Requires for setup >= 2.5.31-1 + +* Tue Jan 13 2004 Thomas Woerner 4.30-4 +- fixed group test in init script +- fixed config patch: use /etc/exim/exim.conf instead of /usr/exim/exim4.conf + +* Wed Dec 10 2003 Nigel Metheringham - 4.30-3 +- Use exim.8 manpage from upstream +- Add eximstats.8 man page (from pod) +- Fixed mailq(1) man page alternatives links + +* Mon Dec 08 2003 Florian La Roche +- do not package /etc/aliases. We currently require sendmail rpm until + /etc/aliases moves into a more suitable rpm like "setup" or something else. + +* Thu Dec 4 2003 Thomas Woerner 4.30-1 +- new version 4.30 +- new exiscan-acl-4.30-14 +- disabled pie for s390 and s390x + +* Wed Dec 3 2003 Tim Waugh +- Fixed PIE support to make it actually work. + +* Wed Dec 3 2003 Thomas Woerner 4.24-1.2 +- added -fPIE to CFLAGS + +* Sat Nov 15 2003 Thomas Woerner 4.24-1.1 +- fixed useradd in pre +- fixed alternatives in post + +* Thu Nov 13 2003 Thomas Woerner 4.24-1 +- new version 4.24 with LDAP and perl support +- added SpamAssassin sa plugin + +* Mon Sep 23 2002 Bernhard Rosenkraenzer 3.36-1 +- 3.36, fixes security bugs + +* Thu Jun 21 2001 Tim Waugh 3.22-14 +- Bump release number. + +* Tue Jun 12 2001 Tim Waugh 3.22-13 +- Remove pam-devel build dependency in order to share package between + Guinness and Seawolf. + +* Fri Jun 8 2001 Tim Waugh 3.22-12 +- Fix format string bug. + +* Wed May 2 2001 Tim Waugh 3.22-11 +- SIGALRM patch from maintainer (bug #20908). +- There's no README.IPV6 any more (bug #32378). +- Fix logrotate entry for exim's pidfile scheme (bug #35436). +- ignore_target_hosts crash fix from maintainer. +- Make the summary start with a capital letter. +- Add reload entry to initscript; use $0 in strings. + +* Sun Mar 4 2001 Tim Waugh 3.22-10 +- Make sure db ownership is correct on upgrade, since we don't run as + root when running as a daemon any more. + +* Fri Mar 2 2001 Tim Powers +- rebuilt against openssl-0.9.6-1 + +* Sat Feb 17 2001 Tim Waugh +- Run as user mail, group mail when we drop privileges (bug #28193). + +* Tue Feb 13 2001 Tim Powers +- added conflict with postfix + +* Thu Jan 25 2001 Tim Waugh +- Avoid using zero-length salt in crypteq expansion. + +* Tue Jan 23 2001 Tim Waugh +- Redo initscript internationalisation. +- Initscript uses bash not sh. + +* Mon Jan 22 2001 Tim Waugh +- Okay, the real bug was in libident. + +* Mon Jan 22 2001 Tim Waugh +- Revert the RST patch for now; if it's needed, it's a pidentd bug + and should be fixed there. + +* Mon Jan 22 2001 Tim Waugh +- 3.22. +- Build requires XFree86-devel. + +* Mon Jan 15 2001 Tim Waugh +- New-style prereqs. +- Initscript internationalisation. + +* Thu Jan 11 2001 Tim Waugh +- Security patch no longer required; 3.20 and later have a hide feature + to do the same thing. +- Mark exim.conf noreplace. +- Better libident (RST) patch. + +* Wed Jan 10 2001 Tim Waugh +- Fix eximconfig so that it tells the user the correct place to look + for documentation +- Fix configure.default to deliver mail as group mail so that local + delivery works + +* Tue Jan 09 2001 Tim Waugh +- 3.21 + +* Mon Jan 08 2001 Tim Waugh +- Enable TLS support (bug #23196) + +* Mon Jan 08 2001 Tim Waugh +- 3.20 (bug #21895). Absorbs configure.default patch +- Put URLs in source tags where applicable +- Add build requirement on pam-devel + +* Wed Oct 18 2000 Bernhard Rosenkraenzer +- Fix up eximconfig's header generation (we're not Debian), Bug #18068 +- BuildRequires db2-devel (Bug #18089) +- Fix typo in logrotate script (Bug #18308) +- Local delivery must be setuid to work (Bug #18314) +- Don't send TCP RST packages to ident (Bug #19048) + +* Wed Oct 18 2000 Bernhard Rosenkraenzer +- 3.16 +- fix security bug +- some specfile cleanups +- fix handling of RPM_OPT_FLAGS + +* Fri Aug 18 2000 Tim Powers +- fixed bug #16535, logrotate script changes + +* Thu Aug 17 2000 Tim Powers +- fixed bug #16460 +- fixed bug #16458 +- fixed bug #16476 + +* Wed Aug 2 2000 Tim Powers +- fixed bug #15142 + +* Fri Jul 28 2000 Than Ngo +- add missing restart function in startup script +- add rm -rf $RPM_BUILD_ROOT in install section +- use %%{_tmppath} + +* Fri Jul 28 2000 Tim Powers +- fixed initscript so that condrestart doesn't return 1 when the test fails + +* Mon Jul 24 2000 Prospector +- rebuilt + +* Mon Jul 17 2000 Tim Powers +- inits bakc to rc.d/init.d, using service to start inits + +* Thu Jul 13 2000 Tim Powers +- applied patch from bug #13890 + +* Mon Jul 10 2000 Tim Powers +- rebuilt + +* Thu Jul 06 2000 Tim Powers +- added patch submitted by , fixes bug #13539 + +* Thu Jul 06 2000 Tim Powers +- fixed broken prereq to require /etc/init.d + +* Tue Jun 27 2000 Tim Powers +- PreReq initscripts >= 5.20 + +* Mon Jun 26 2000 Tim Powers +- fix init.d script location +- add condrestart to init.d script + +* Wed Jun 14 2000 Nalin Dahyabhai +- migrate to system-auth setup + +* Tue Jun 6 2000 Tim Powers +- fixed man page location + +* Tue May 9 2000 Tim Powers +- rebuilt for 7.0 + +* Fri Feb 04 2000 Tim Powers +- fixed the groups to be in Red Hat groups. +- removed Vendor header since it is going to be marked Red Hat in our build + system. +- quiet setups +- strip binaries +- fixed so that man pages can be auto gzipped by new RPM (in files list + /usr/man/*/* ) +- built for Powertools 6.2 + +* Tue Jan 18 2000 Mark Bergsma +- Upgraded to exim 3.13 +- Removed i386 specialization +- Added syslog support + +* Wed Dec 8 1999 Mark Bergsma +- Upgraded to exim 3.12 +- Procmail no longer used as the delivery agent + +* Wed Dec 1 1999 Mark Bergsma +- Upgraded to exim 3.11 + +* Sat Nov 27 1999 Mark Bergsma +- Added /etc/pam.d/exim + +* Wed Nov 24 1999 Mark Bergsma +- Upgraded to exim 3.10 + +* Thu Nov 11 1999 Mark Bergsma +- Added eximconfig script, thanks to Mark Baker +- Exim now uses the Berkeley DB library. + +* Fri Aug 4 1999 Mark Bergsma +- Upgraded to version 3.03 +- Removed version number out of the spec file name. + +* Fri Jul 23 1999 Mark Bergsma +- Added embedded Perl support. +- Added tcp_wrappers support. +- Added extra documentation in a new doc subpackage. + +* Mon Jul 12 1999 Mark Bergsma +- Added /usr/sbin/sendmail as a link to exim. +- Fixed wrong filenames in logrotate entry. + +* Sun Jul 11 1999 Mark Bergsma +- Now using the '%changelog' tag. +- Removed the SysV init links - let chkconfig handle them. +- Replaced install -d with mkdir -p + +* Sat Jul 10 1999 Mark Bergsma +- Fixed owner of the exim-mon files - the owner is now root + +* Thu Jul 08 1999 Mark Bergsma +- Removed executable permission bits of /etc/exim.conf +- Removed setuid permission bits of all programs except exim +- Changed spool/log directory owner/groups to 'mail' +- Changed the default configuration file to make exim run + as user and group 'mail'. + +* Thu Jul 08 1999 Mark Bergsma +- Added the /usr/bin/rmail -> /usr/sbin/exim symlink. +- Added the convert4r3 script. +- Added the transport-filter.pl script to the documentation. + +* Thu Jul 08 1999 Mark Bergsma +- Added procmail transport and director, and made that the + default. +- Added the unknownuser.sh script to the documentation. + +* Thu Jul 08 1999 Mark Bergsma +- Added manpage for exim. +- Fixed symlinks pointing to targets under Buildroot. +- The exim logfiles will now only be removed when uninstalling, + not upgrading. + +* Wed Jul 07 1999 Mark Bergsma +- Added 'Obsoletes' header. +- Added several symlinks to /usr/sbin/exim. + +* Wed Jul 07 1999 Mark Bergsma +- First RPM packet release. +- Not tested on other architectures/OS'es than i386/Linux.. diff --git a/exim.sysconfig b/exim.sysconfig new file mode 100644 index 0000000..cada3c9 --- /dev/null +++ b/exim.sysconfig @@ -0,0 +1,2 @@ +DAEMON=yes +QUEUE=1h diff --git a/sources b/sources index e69de29..c9bc6be 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +7844eff82171872f6b3971a4183368d9 exim-4.50.tar.bz2 +ad76f73c6b3d01caa88078e3e622745a sa-exim-4.2.tar.gz