diff options
author | Colin Morey <peitolm@gentoo.org> | 2005-01-08 19:09:19 +0000 |
---|---|---|
committer | Colin Morey <peitolm@gentoo.org> | 2005-01-08 19:09:19 +0000 |
commit | e552061e7599bc8274484995059a1b760d444724 (patch) | |
tree | 1ae3a578a83392a122b68192ca3331f87ab92582 /mail-mta/exim | |
parent | Initial commit. Thanks to Olivier Rolland in bug #72041. (Manifest recommit) (diff) | |
download | gentoo-2-e552061e7599bc8274484995059a1b760d444724.tar.gz gentoo-2-e552061e7599bc8274484995059a1b760d444724.tar.bz2 gentoo-2-e552061e7599bc8274484995059a1b760d444724.zip |
Big year change in copyright, also a number of bug fixes, see changelog for more details
Diffstat (limited to 'mail-mta/exim')
-rw-r--r-- | mail-mta/exim/ChangeLog | 20 | ||||
-rw-r--r-- | mail-mta/exim/Manifest | 55 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.33-r1.ebuild | 4 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.34-r1.ebuild | 4 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.34.ebuild | 4 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.40.ebuild | 4 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.41.ebuild | 4 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.42.ebuild | 4 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.43-r1.ebuild | 4 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.43-r2.ebuild | 268 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.43.ebuild | 6 | ||||
-rw-r--r-- | mail-mta/exim/files/digest-exim-4.43-r2 | 2 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.43-r2-host_aton-buff.patch | 191 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch | 259 | ||||
-rw-r--r-- | mail-mta/exim/files/exim.rc6 | 4 |
15 files changed, 781 insertions, 52 deletions
diff --git a/mail-mta/exim/ChangeLog b/mail-mta/exim/ChangeLog index 64749a03d5be..ceb7eaf1af08 100644 --- a/mail-mta/exim/ChangeLog +++ b/mail-mta/exim/ChangeLog @@ -1,6 +1,22 @@ # ChangeLog for mail-mta/exim -# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/ChangeLog,v 1.20 2004/12/29 00:23:43 ciaranm Exp $ +# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/ChangeLog,v 1.21 2005/01/08 19:09:19 peitolm Exp $ + + 08 Jan 2005; Colin Morey <peitolm@gentoo.org> files/exim.rc6, + exim-4.43.ebuild: + Added "syslog" USE flag, enables the ability to define syslog as the default + log path, rather than /var/log/exim/exim_%s.log + + 08 Jan 2005; Colin Morey <peitolm@gentoo.org> files/exim.rc6, + exim-4.43.ebuild: + Added optional explict perl dependancy see bug #46778 + + 08 Jan 2005; Colin Morey <peitolm@gentoo.org> files/exim.rc6, + exim-4.43.ebuild: + Added Security path (host_aton) for bug 76893 Added dlopen patch for sa-exim + bug #47106 Removed wildlsearch USE flag, and added nis USE flag, and passwd + lookups, bug #51257. Updated exim.rc6 to stop exim using the pidfile, rather + than exec. 29 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> : Change encoding to UTF-8 for GLEP 31 compliance diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest index 690d0c320d21..cb088077ac45 100644 --- a/mail-mta/exim/Manifest +++ b/mail-mta/exim/Manifest @@ -1,41 +1,34 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 861bb14b8dbf53aed22d03f8778fd118 exim-4.41.ebuild 7743 -MD5 41aedc6d7a7ac73f5ea5705a772009d7 exim-4.43.ebuild 7719 -MD5 4f81a30a363f8dee30864633df6649f4 exim-4.34.ebuild 7562 -MD5 8807b47f2f299eb16a17bf4904c4ca81 exim-4.34-r1.ebuild 7933 -MD5 3230f68c6fc65134613e31a7e7dd5009 exim-4.40.ebuild 7741 -MD5 3faecfffa69ae8404a41a8d39201b3e1 exim-4.33-r1.ebuild 7626 -MD5 dcd25bc48532a523ee61db7f2d7d4244 exim-4.42.ebuild 7706 -MD5 3ef831e83bfbf590fea0ad01f33f1ea7 exim-4.43-r1.ebuild 7771 MD5 5d03dd2b7be78011816355b5c9481119 ChangeLog 14492 +MD5 a4640277d04c1a4111ad413349758045 exim-4.43.ebuild 7717 +MD5 3ef831e83bfbf590fea0ad01f33f1ea7 exim-4.43-r1.ebuild 7771 +MD5 dcd25bc48532a523ee61db7f2d7d4244 exim-4.42.ebuild 7706 +MD5 896358424e808e179b670a60eb7ca1ce exim-4.43-r2.ebuild 7824 +MD5 3faecfffa69ae8404a41a8d39201b3e1 exim-4.33-r1.ebuild 7626 +MD5 8807b47f2f299eb16a17bf4904c4ca81 exim-4.34-r1.ebuild 7933 +MD5 4f81a30a363f8dee30864633df6649f4 exim-4.34.ebuild 7562 MD5 3dcc3562423bb66d0c2ea93caf41a36a metadata.xml 994 -MD5 4c0b8ee742360c08f0bc0b526fcaad10 files/system_filter.exim 8120 +MD5 3230f68c6fc65134613e31a7e7dd5009 exim-4.40.ebuild 7741 +MD5 861bb14b8dbf53aed22d03f8778fd118 exim-4.41.ebuild 7743 +MD5 22fec326813079b35bb1997f9b323060 files/digest-exim-4.40 133 +MD5 68fc403ba2c98ccba281939085cb9052 files/auth_conf.sub 775 MD5 0cb2ffe88c81fd7ac8429b5a19d58b35 files/configure 16346 -MD5 369b42cafcbe5631c2d03cbbfd4aeddd files/exim-4.10-gentoo.diff 1889 -MD5 f442b68d435598831bab8536ade071b8 files/exim.confd 62 -MD5 5127f4b2ace5cf148e2ac21e101ac967 files/exim-4.33-r1-header-syntax.patch 1017 -MD5 f03fc637e154f9ca79d991e71eb063bf files/exim-4.30-conf.patch 887 +MD5 f05ff505c7b77a17696736e2730ae8d1 files/digest-exim-4.43 133 MD5 904b31332322109b4d2a382d6a253412 files/digest-exim-4.33-r1 133 -MD5 6a964dbcdbca2690ed166e9a59cebe84 files/digest-exim-4.34-r1 133 MD5 f05ff505c7b77a17696736e2730ae8d1 files/digest-exim-4.43-r1 133 -MD5 eb249c90af3ab11e5a4d307e184a75ac files/exiscan.conf 22113 -MD5 68fc403ba2c98ccba281939085cb9052 files/auth_conf.sub 775 +MD5 71fc4a1b667b1b777e8302c49a41420d files/exim-4.43-r2-host_aton-buff.patch 6494 +MD5 f05ff505c7b77a17696736e2730ae8d1 files/digest-exim-4.43-r2 133 +MD5 6a964dbcdbca2690ed166e9a59cebe84 files/digest-exim-4.34 133 +MD5 6a964dbcdbca2690ed166e9a59cebe84 files/digest-exim-4.34-r1 133 +MD5 369b42cafcbe5631c2d03cbbfd4aeddd files/exim-4.10-gentoo.diff 1889 +MD5 5d5aabea7d56a91803df1312c04d32c0 files/exim-4.14-tail.patch 446 MD5 622b726ea7b32aae93a8fe9f3c2af9cd files/exim-4.20-maildir.patch 478 +MD5 f03fc637e154f9ca79d991e71eb063bf files/exim-4.30-conf.patch 887 +MD5 5127f4b2ace5cf148e2ac21e101ac967 files/exim-4.33-r1-header-syntax.patch 1017 +MD5 f442b68d435598831bab8536ade071b8 files/exim.confd 62 +MD5 fbbcb4be0ca4e33398067706ba35c027 files/exim.rc6 505 +MD5 eb249c90af3ab11e5a4d307e184a75ac files/exiscan.conf 22113 MD5 de6d33cbc3f6762f73fbe852c318e461 files/mailer.conf 1301 -MD5 5d5aabea7d56a91803df1312c04d32c0 files/exim-4.14-tail.patch 446 MD5 d230e0fa45f2b65d5bc50c0879c40148 files/pam.d-exim 101 -MD5 fbbcb4be0ca4e33398067706ba35c027 files/exim.rc6 505 -MD5 6a964dbcdbca2690ed166e9a59cebe84 files/digest-exim-4.34 133 -MD5 22fec326813079b35bb1997f9b323060 files/digest-exim-4.40 133 +MD5 4c0b8ee742360c08f0bc0b526fcaad10 files/system_filter.exim 8120 MD5 fc1d2de3c279dab8107d973ae63301d6 files/digest-exim-4.41 133 MD5 02d10d38a03184cc913c44a59f7d61ed files/digest-exim-4.42 133 -MD5 f05ff505c7b77a17696736e2730ae8d1 files/digest-exim-4.43 133 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.9.10 (GNU/Linux) - -iD8DBQFB0oF4I1lqEGTUzyQRAtstAJ4kabdo+dDuZaGQvJSeegeLDAhw/ACgnyhd -SvgHgTO4lc9yCfe2tZNK8Hw= -=6CHT ------END PGP SIGNATURE----- diff --git a/mail-mta/exim/exim-4.33-r1.ebuild b/mail-mta/exim/exim-4.33-r1.ebuild index 1f816e0296f6..eec6d76da3be 100644 --- a/mail-mta/exim/exim-4.33-r1.ebuild +++ b/mail-mta/exim/exim-4.33-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.33-r1.ebuild,v 1.4 2004/07/14 16:50:36 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.33-r1.ebuild,v 1.5 2005/01/08 19:09:19 peitolm Exp $ inherit eutils diff --git a/mail-mta/exim/exim-4.34-r1.ebuild b/mail-mta/exim/exim-4.34-r1.ebuild index f8351eebe179..5d20e9b64371 100644 --- a/mail-mta/exim/exim-4.34-r1.ebuild +++ b/mail-mta/exim/exim-4.34-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.34-r1.ebuild,v 1.4 2004/07/14 16:50:36 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.34-r1.ebuild,v 1.5 2005/01/08 19:09:19 peitolm Exp $ inherit eutils diff --git a/mail-mta/exim/exim-4.34.ebuild b/mail-mta/exim/exim-4.34.ebuild index fa76bf951d17..e134ba13e84a 100644 --- a/mail-mta/exim/exim-4.34.ebuild +++ b/mail-mta/exim/exim-4.34.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.34.ebuild,v 1.4 2004/07/14 16:50:36 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.34.ebuild,v 1.5 2005/01/08 19:09:19 peitolm Exp $ inherit eutils diff --git a/mail-mta/exim/exim-4.40.ebuild b/mail-mta/exim/exim-4.40.ebuild index 140fd630890c..f22b829e110d 100644 --- a/mail-mta/exim/exim-4.40.ebuild +++ b/mail-mta/exim/exim-4.40.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.40.ebuild,v 1.2 2004/10/04 23:34:59 pvdabeel Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.40.ebuild,v 1.3 2005/01/08 19:09:19 peitolm Exp $ inherit eutils diff --git a/mail-mta/exim/exim-4.41.ebuild b/mail-mta/exim/exim-4.41.ebuild index 07a7b9f42785..cefc99a6dbe4 100644 --- a/mail-mta/exim/exim-4.41.ebuild +++ b/mail-mta/exim/exim-4.41.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.41.ebuild,v 1.4 2004/10/04 23:34:59 pvdabeel Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.41.ebuild,v 1.5 2005/01/08 19:09:19 peitolm Exp $ inherit eutils diff --git a/mail-mta/exim/exim-4.42.ebuild b/mail-mta/exim/exim-4.42.ebuild index 9815679a0091..7b6d9811adf4 100644 --- a/mail-mta/exim/exim-4.42.ebuild +++ b/mail-mta/exim/exim-4.42.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.42.ebuild,v 1.8 2004/12/04 17:51:38 slarti Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.42.ebuild,v 1.9 2005/01/08 19:09:19 peitolm Exp $ inherit eutils diff --git a/mail-mta/exim/exim-4.43-r1.ebuild b/mail-mta/exim/exim-4.43-r1.ebuild index 60e452c16a3a..1cf8a5fb1135 100644 --- a/mail-mta/exim/exim-4.43-r1.ebuild +++ b/mail-mta/exim/exim-4.43-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.43-r1.ebuild,v 1.1 2004/12/28 22:05:18 ticho Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.43-r1.ebuild,v 1.2 2005/01/08 19:09:19 peitolm Exp $ inherit eutils diff --git a/mail-mta/exim/exim-4.43-r2.ebuild b/mail-mta/exim/exim-4.43-r2.ebuild new file mode 100644 index 000000000000..459a89162304 --- /dev/null +++ b/mail-mta/exim/exim-4.43-r2.ebuild @@ -0,0 +1,268 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.43-r2.ebuild,v 1.1 2005/01/08 19:09:19 peitolm Exp $ + +inherit eutils + +IUSE="tcpd ssl postgres mysql ldap pam exiscan-acl mailwrapper lmtp ipv6 sasl dnsdb perl mbox X exiscan nis syslog" + +EXISCANACL_VER=${PV}-28 + +DESCRIPTION="A highly configurable, drop-in replacement for sendmail" +SRC_URI="ftp://ftp.exim.org/pub/exim/exim4/${P}.tar.bz2 + exiscan-acl? ( http://duncanthrax.net/exiscan-acl/exiscan-acl-${EXISCANACL_VER}.patch )" +HOMEPAGE="http://www.exim.org/" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~sparc ~hppa ~alpha ~amd64 ~ia64" + +PROVIDE="virtual/mta" +DEPEND=">=sys-apps/sed-4.0.5 + perl? ( sys-devel/libperl ) + >=sys-libs/db-3.2 + pam? ( >=sys-libs/pam-0.75 ) + tcpd? ( sys-apps/tcp-wrappers ) + ssl? ( >=dev-libs/openssl-0.9.6 ) + ldap? ( >=net-nds/openldap-2.0.7 ) + mysql? ( >=dev-db/mysql-3.23.28 ) + postgres? ( >=dev-db/postgresql-7 ) + sasl? ( >=dev-libs/cyrus-sasl-2.1.14 ) + X? ( virtual/x11 )" + # added X check for #57206 +RDEPEND="${DEPEND} + mailwrapper? ( >=net-mail/mailwrapper-0.2 ) + !mailwrapper? ( !virtual/mta ) + >=net-mail/mailbase-0.00-r5" + +src_unpack() { + unpack ${A} + cd ${S} + + local myconf + + epatch ${FILESDIR}/exim-4.14-tail.patch + epatch ${FILESDIR}/exim-4.43-r2-host_aton-buff.patch + epatch ${FILESDIR}/exim-4.43-r2-localscan_dlopen.patch + + if ! use mbox; then + einfo "Patching maildir support into exim.conf" + epatch ${FILESDIR}/exim-4.20-maildir.patch + fi + + sed -i "/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'/etc/mail/aliases'" ${S}/src/configure.default + cp ${S}/src/configure.default ${S}/src/configure.default.orig + epatch ${FILESDIR}/exim-4.30-conf.patch + + if use exiscan-acl; then + einfo "Patching exican-acl support into exim ${PV}.." + epatch ${DISTDIR}/exiscan-acl-${EXISCANACL_VER}.patch + fi + # Includes Typo fix for bug 47106 + sed -e "48i\CFLAGS=${CFLAGS}" \ + -e "s:# AUTH_CRAM_MD5=yes:AUTH_CRAM_MD5=yes:" \ + -e "s:# AUTH_PLAINTEXT=yes:AUTH_PLAINTEXT=yes:" \ + -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=/usr/sbin:" \ + -e "s:COMPRESS_COMMAND=/opt/gnu/bin/gzip:COMPRESS_COMMAND=/usr/bin/gzip:" \ + -e "s:ZCAT_COMMAND=/opt/gnu/bin/zcat:ZCAT_COMMAND=/usr/bin/zcat:" \ + -e "s:CONFIGURE_FILE=/usr/exim/configure:CONFIGURE_FILE=/etc/exim/exim.conf:" \ + -e "s:EXIM_MONITOR=eximon.bin:# EXIM_MONITOR=eximon.bin:" \ + -e "s:# INFO_DIRECTORY=/usr/local/info:INFO_DIRECTORY=/usr/share/info:" \ + -e "s:# LOG_FILE_PATH=/var/log/exim_%slog:LOG_FILE_PATH=/var/log/exim/exim_%s.log:" \ + -e "s:# PID_FILE_PATH=/var/lock/exim.pid:PID_FILE_PATH=/var/run/exim.pid:" \ + -e "s:# SPOOL_DIRECTORY=/var/spool/exim:SPOOL_DIRECTORY=/var/spool/exim:" \ + -e "s:# SUPPORT_MAILDIR=yes:SUPPORT_MAILDIR=yes:" \ + -e "s:# SUPPORT_MAILSTORE=yes:SUPPORT_MAILSTORE=yes:" \ + -e "s:EXIM_USER=:EXIM_USER=mail:" \ + -e "s:# AUTH_SPA=yes:AUTH_SPA=yes:" \ + -e "s:^ZCAT_COMMAND.*$:ZCAT_COMMAND=/bin/zcat:" \ + -e "s:# LOOKUP_PASSWD=yes:LOOKUP_PASSWD=yes:" \ + src/EDITME > Local/Makefile + + cd Local + # enable optional exim_monitor support via X use flag bug #46778 + if use X; then + einfo "Configuring eximon" + cp ../exim_monitor/EDITME eximon.conf + sed -i "s:# EXIM_MONITOR=eximon.bin:EXIM_MONITOR=eximon.bin:" Makefile + fi + #These next two should resolve 37964 + if use perl; then + sed -i "s:# EXIM_PERL=perl.o:EXIM_PERL=perl.o:" Makefile + fi + if use mbox; then + sed -i "s:# SUPPORT_MBX=yes:SUPPORT_MBX=yes:" Makefile + fi + if use pam; then + sed -i "s:# \(SUPPORT_PAM=yes\):\1:" Makefile + myconf="${myconf} -lpam" + fi + if use sasl; then + sed -i "s:# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux:CYRUS_SASLAUTHD_SOCKET=/var/lib/sasl2/mux:" \ + Makefile + myconf="${myconf} -lsasl2" + fi + if use tcpd; then + sed -i "s:# \(USE_TCP_WRAPPERS=yes\):\1:" Makefile + myconf="${myconf} -lwrap" + fi + if use lmtp; then + sed -i "s:# \(TRANSPORT_LMTP=yes\):\1:" Makefile + fi + if use ipv6; then + echo "HAVE_IPV6=YES" >> Makefile + #To fix bug 41196 + echo "IPV6_USE_INET_PTON=yes" >> Makefile + fi + + if [ -n "$myconf" ] ; then + echo "EXTRALIBS=${myconf} ${LDFLAGS}" >> Makefile + fi + + cd ${S} + if use ssl; then + sed -i \ + -e "s:# \(SUPPORT_TLS=yes\):\1:" \ + -e "s:# \(TLS_LIBS=-lssl -lcrypto\):\1:" Local/Makefile + fi + + LOOKUP_INCLUDE= + LOOKUP_LIBS= + + if use ldap; then + sed -i \ + -e "s:# \(LOOKUP_LDAP=yes\):\1:" \ + -e "s:# \(LDAP_LIB_TYPE=OPENLDAP2\):\1:" Local/Makefile + LOOKUP_INCLUDE="-I/usr/include/ldap" + LOOKUP_LIBS="-L/usr/lib -lldap -llber" + fi + + if use mysql; then + sed -i "s:# LOOKUP_MYSQL=yes:LOOKUP_MYSQL=yes:" Local/Makefile + LOOKUP_INCLUDE="$LOOKUP_INCLUDE -I/usr/include/mysql" + LOOKUP_LIBS="$LOOKUP_LIBS -L/usr/lib -lmysqlclient" + fi + + if use postgres; then + sed -i "s:# LOOKUP_PGSQL=yes:LOOKUP_PGSQL=yes:" Local/Makefile + LOOKUP_INCLUDE="$LOOKUP_INCLUDE -I/usr/include/postgresql" + LOOKUP_LIBS="$LOOKUP_LIBS -lpq" + fi + + if [ -n "$LOOKUP_INCLUDE" ]; then + sed -i "s:# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include:LOOKUP_INCLUDE=$LOOKUP_INCLUDE:" \ + Local/Makefile + fi + + if [ -n "$LOOKUP_LIBS" ]; then + sed -i "s:# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds:LOOKUP_LIBS=$LOOKUP_LIBS:" \ + Local/Makefile + fi + + + cat Makefile | sed -e 's/^buildname=.*/buildname=exim-gentoo/g' > Makefile.gentoo && mv -f Makefile.gentoo Makefile + + sed -i "s:# LOOKUP_DSEARCH=yes:LOOKUP_DSEARCH=yes:" Local/Makefile + + if use dnsdb; then + sed -i "s:# LOOKUP_DNSDB=yes:LOOKUP_DNSDB=yes:" Local/Makefile + fi + sed -i "s:# LOOKUP_CDB=yes:LOOKUP_CDB=yes:" Local/Makefile + + if use nis; then + sed -i "s:# LOOKUP_NIS=yes:LOOKUP_NIS=yes:" Local/Makefile + sed -i "s:# LOOKUP_NISPLUS=yes:LOOKUP_NISPLUS=yes:" Local/Makefile + fi + if use syslog; then + sed -i "s:LOG_FILE_PATH=/var/log/exim/exim_%s.log:LOG_FILE_PATH=syslog:" Local/Makefile + fi +# Use the "native" interface to the DBM library + echo "USE_DB=yes" >> ${S}/Local/Makefile +} + +src_compile() { + make || die "make failed" +} + + +src_install () { + cd ${S}/build-exim-gentoo + exeinto /usr/sbin + doexe exim + if use X;then + doexe eximon.bin + doexe eximon + fi + fperms 4755 /usr/sbin/exim + + dodir /usr/bin /usr/sbin /usr/lib + dosym ../sbin/exim /usr/bin/mailq + dosym ../sbin/exim /usr/bin/newaliases + einfo "The Exim ebuild will no longer touch /usr/bin/mail, so as not to interfere with mailx/nail." + dosym exim /usr/sbin/rsmtp + dosym exim /usr/sbin/rmail + if \[ ! -e /usr/lib/sendmail \]; + then + dosym /usr/sbin/sendmail /usr/lib/sendmail + fi + + if use mailwrapper + then + insinto /etc/mail + doins ${FILESDIR}/mailer.conf + else + dosym exim /usr/sbin/sendmail + fi + + exeinto /usr/sbin + for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \ + exim_tidydb exinext exiwhat exigrep eximstats exiqsumm \ + convert4r3 convert4r4 + do + doexe $i + done + + dodoc ${S}/doc/* + doman ${S}/doc/exim.8 + + # conf files + insinto /etc/exim + newins ${S}/src/configure.default.orig exim.conf.dist + if use exiscan-acl; then + newins ${S}/src/configure.default exim.conf.exiscan-acl + fi + doins ${FILESDIR}/system_filter.exim + doins ${FILESDIR}/auth_conf.sub + if use exiscan; then + newins ${S}/src/configure.default exim.conf.exiscan + doins ${FILESDIR}/exiscan.conf + fi + + # INSTALL a pam.d file for SMTP AUTH that works with gentoo's pam + insinto /etc/pam.d + newins ${FILESDIR}/pam.d-exim exim + + exeinto /etc/init.d + newexe ${FILESDIR}/exim.rc6 exim + + insinto /etc/conf.d + newins ${FILESDIR}/exim.confd exim + + DIROPTIONS="--mode=0750 --owner=mail --group=mail" + dodir /var/log/${PN} +} + + +pkg_postinst() { + einfo "/etc/exim/system_filter.exim is a sample system_filter." + einfo "/etc/exim/auth_conf.sub contains the configuration sub for using smtp auth." + einfo "Please create /etc/exim/exim.conf from /etc/exim/exim.conf.dist." + + if ! use mailwrapper && [[ -e /etc/mailer.conf ]] + then + einfo + einfo "Since you emerged $PN without mailwrapper in USE," + einfo "you probably want to 'emerge -C mailwrapper' now." + einfo + fi +} diff --git a/mail-mta/exim/exim-4.43.ebuild b/mail-mta/exim/exim-4.43.ebuild index 674fb01723e1..18d51aaa5199 100644 --- a/mail-mta/exim/exim-4.43.ebuild +++ b/mail-mta/exim/exim-4.43.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.43.ebuild,v 1.3 2004/11/09 23:13:47 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.43.ebuild,v 1.4 2005/01/08 19:09:19 peitolm Exp $ inherit eutils @@ -15,7 +15,7 @@ HOMEPAGE="http://www.exim.org/" SLOT="0" LICENSE="GPL-2" -KEYWORDS="~x86 ~sparc ~hppa ~alpha ~amd64 ~ia64" +KEYWORDS="x86 sparc ~hppa ~alpha ~amd64 ~ia64" PROVIDE="virtual/mta" DEPEND=">=sys-apps/sed-4.0.5 diff --git a/mail-mta/exim/files/digest-exim-4.43-r2 b/mail-mta/exim/files/digest-exim-4.43-r2 new file mode 100644 index 000000000000..5deaf298b99b --- /dev/null +++ b/mail-mta/exim/files/digest-exim-4.43-r2 @@ -0,0 +1,2 @@ +MD5 f8f646d4920660cb5579becd9265a3bf exim-4.43.tar.bz2 1388183 +MD5 5363ec73d6c3f9b5c8c87b246027cbf7 exiscan-acl-4.43-28.patch 440225 diff --git a/mail-mta/exim/files/exim-4.43-r2-host_aton-buff.patch b/mail-mta/exim/files/exim-4.43-r2-host_aton-buff.patch new file mode 100644 index 000000000000..bf69b49c6ea6 --- /dev/null +++ b/mail-mta/exim/files/exim-4.43-r2-host_aton-buff.patch @@ -0,0 +1,191 @@ +*** src/lookups/dnsdb.c Tue Oct 5 09:32:08 2004 +- --- dnsdb.c Wed Dec 29 09:36:13 2004 +*************** +*** 125,131 **** + /* If the type is PTR, we have to construct the relevant magic lookup + key. This code is now in a separate function. */ + +! if (type == T_PTR) + { + dns_build_reverse(keystring, buffer); + keystring = buffer; +- --- 125,131 ---- + /* If the type is PTR, we have to construct the relevant magic lookup + key. This code is now in a separate function. */ + +! if (type == T_PTR && string_is_ip_address(keystring, NULL)) + { + dns_build_reverse(keystring, buffer); + keystring = buffer; +*** src/host.c Tue Oct 5 09:32:08 2004 +- --- host.c Wed Dec 29 09:43:17 2004 +*************** +*** 710,721 **** + + if (*p == ':') p++; + +! /* Split the address into components separated by colons. */ + + while (*p != 0) + { + int len = Ustrcspn(p, ":"); + if (len == 0) nulloffset = ci; + component[ci++] = p; + p += len; + if (*p == ':') p++; +- --- 754,771 ---- + + if (*p == ':') p++; + +! /* Split the address into components separated by colons. The input address +! is supposed to be checked for syntax. There was a case where this was +! overlooked; to guard against that happening again, check here and crash if +! there is a violation. */ + + while (*p != 0) + { + int len = Ustrcspn(p, ":"); + if (len == 0) nulloffset = ci; ++ if (ci > 7) log_write(0, LOG_MAIN|LOG_PANIC_DIE, ++ "Internal error: invalid IPv6 address \"%s\" passed to host_aton()", ++ address); + component[ci++] = p; + p += len; + if (*p == ':') p++; +*** src/auths/auth-spa.c Tue Oct 5 09:32:08 2004 +- --- auth-spa.c Wed Dec 29 10:55:58 2004 +*************** +*** 404,411 **** + *out = '\0'; + } + + int +! spa_base64_to_bits (char *out, const char *in) + /* base 64 to raw bytes in quasi-big-endian order, returning count of bytes */ + { + int len = 0; +- --- 406,416 ---- + *out = '\0'; + } + ++ ++ /* The outlength parameter was added by PH, December 2004 */ ++ + int +! spa_base64_to_bits (char *out, int outlength, const char *in) + /* base 64 to raw bytes in quasi-big-endian order, returning count of bytes */ + { + int len = 0; +*************** +*** 418,423 **** +- --- 423,430 ---- + + do + { ++ if (len >= outlength) /* Added by PH */ ++ return (-1); /* Added by PH */ + digit1 = in[0]; + if (DECODE64 (digit1) == BAD) + return (-1); +*************** +*** 435,445 **** +- --- 442,456 ---- + ++len; + if (digit3 != '=') + { ++ if (len >= outlength) /* Added by PH */ ++ return (-1); /* Added by PH */ + *out++ = + ((DECODE64 (digit2) << 4) & 0xf0) | (DECODE64 (digit3) >> 2); + ++len; + if (digit4 != '=') + { ++ if (len >= outlength) /* Added by PH */ ++ return (-1); /* Added by PH */ + *out++ = ((DECODE64 (digit3) << 6) & 0xc0) | DECODE64 (digit4); + ++len; + } +*** src/auths/auth-spa.h Tue Oct 5 09:32:08 2004 +- --- auth-spa.h Wed Dec 29 10:55:58 2004 +*************** +*** 9,14 **** +- --- 11,19 ---- + * All the code used here was torn by Marc Prud'hommeaux out of the + * Samba project (by Andrew Tridgell, Jeremy Allison, and others). + */ ++ ++ /* December 2004: The spa_base64_to_bits() function has no length checking in ++ it. I have added a check. PH */ + + /* It seems that some systems have existing but different definitions of some + of the following types. I received a complaint about "int16" causing +*************** +*** 75,81 **** + #define spa_request_length(ptr) (((ptr)->buffer - (uint8x*)(ptr)) + (ptr)->bufIndex) + + void spa_bits_to_base64 (unsigned char *, const unsigned char *, int); +! int spa_base64_to_bits(char *, const char *); + void spa_build_auth_response (SPAAuthChallenge *challenge, + SPAAuthResponse *response, char *user, char *password); + void spa_build_auth_request (SPAAuthRequest *request, char *user, +- --- 80,86 ---- + #define spa_request_length(ptr) (((ptr)->buffer - (uint8x*)(ptr)) + (ptr)->bufIndex) + + void spa_bits_to_base64 (unsigned char *, const unsigned char *, int); +! int spa_base64_to_bits(char *, int, const char *); + void spa_build_auth_response (SPAAuthChallenge *challenge, + SPAAuthResponse *response, char *user, char *password); + void spa_build_auth_request (SPAAuthRequest *request, char *user, +*** src/auths/spa.c Tue Oct 5 09:32:08 2004 +- --- spa.c Wed Dec 29 10:55:58 2004 +*************** +*** 133,139 **** + return FAIL; + } + +! if (spa_base64_to_bits((char *)(&request), (const char *)(data)) < 0) + { + DEBUG(D_auth) debug_printf("auth_spa_server(): bad base64 data in " + "request: %s\n", data); +- --- 135,141 ---- + return FAIL; + } + +! if (spa_base64_to_bits((char *)(&request), sizeof(request), (const char *)(data)) < 0) + { + DEBUG(D_auth) debug_printf("auth_spa_server(): bad base64 data in " + "request: %s\n", data); +*************** +*** 153,159 **** + } + + /* dump client response */ +! if (spa_base64_to_bits((char *)(&response), (const char *)(data)) < 0) + { + DEBUG(D_auth) debug_printf("auth_spa_server(): bad base64 data in " + "response: %s\n", data); +- --- 155,161 ---- + } + + /* dump client response */ +! if (spa_base64_to_bits((char *)(&response), sizeof(response), (const char *)(data)) < 0) + { + DEBUG(D_auth) debug_printf("auth_spa_server(): bad base64 data in " + "response: %s\n", data); +*************** +*** 319,325 **** + /* convert the challenge into the challenge struct */ + DSPA("\n\n%s authenticator: challenge (%s)\n\n", + ablock->name, buffer + 4); +! spa_base64_to_bits ((char *)(&challenge), (const char *)(buffer + 4)); + + spa_build_auth_response (&challenge, &response, + CS username, CS password); +- --- 324,330 ---- + /* convert the challenge into the challenge struct */ + DSPA("\n\n%s authenticator: challenge (%s)\n\n", + ablock->name, buffer + 4); +! spa_base64_to_bits ((char *)(&challenge), sizeof(challenge), (const char *)(buffer + 4)); + + spa_build_auth_response (&challenge, &response, + CS username, CS password); diff --git a/mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch b/mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch new file mode 100644 index 000000000000..146606a1fd0c --- /dev/null +++ b/mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch @@ -0,0 +1,259 @@ +diff -Naur exim-4.32/src/EDITME exim-4.32-dlopen/src/EDITME +--- src/EDITME 2004-04-15 08:27:01.000000000 +0000 ++++ src/EDITME 2004-05-06 16:15:47.000000000 +0000 +@@ -505,6 +505,21 @@ + + + #------------------------------------------------------------------------------ ++# On systems which support dynamic loading of shared libraries, Exim can ++# load a local_scan function specified in its config file instead of having ++# to be recompiled with the desired local_scan function. For a full ++# description of the API to this function, see the Exim specification. ++ ++DLOPEN_LOCAL_SCAN=yes ++ ++# If you set DLOPEN_LOCAL_SCAN, then you need to include -rdynamic in the ++# linker flags. Without it, the loaded .so won't be able to access any ++# functions from exim. ++ ++LFLAGS=-rdynamic -ldl ++ ++ ++#------------------------------------------------------------------------------ + # The default distribution of Exim contains only the plain text form of the + # documentation. Other forms are available separately. If you want to install + # the documentation in "info" format, first fetch the Texinfo documentation +diff -Naur exim-4.32/src/config.h.defaults exim-4.32-dlopen/src/config.h.defaults +--- src/config.h.defaults 2004-04-15 08:27:01.000000000 +0000 ++++ src/config.h.defaults 2004-05-06 16:16:30.000000000 +0000 +@@ -20,6 +20,8 @@ + #define AUTH_PLAINTEXT + #define AUTH_SPA + ++#define DLOPEN_LOCAL_SCAN ++ + #define BIN_DIRECTORY + + #define CONFIGURE_FILE +diff -Naur exim-4.32/src/globals.c exim-4.32-dlopen/src/globals.c +--- src/globals.c 2004-04-15 08:27:01.000000000 +0000 ++++ src/globals.c 2004-05-06 16:17:07.000000000 +0000 +@@ -109,6 +109,10 @@ + uschar *tls_verify_hosts = NULL; + #endif + ++#ifdef DLOPEN_LOCAL_SCAN ++uschar *local_scan_path = NULL; ++#endif ++ + + /* Input-reading functions for messages, so we can use special ones for + incoming TCP/IP. The defaults use stdin. We never need these for any +diff -Naur exim-4.32/src/globals.h exim-4.32-dlopen/src/globals.h +--- src/globals.h 2004-04-15 08:27:01.000000000 +0000 ++++ src/globals.h 2004-05-06 16:17:50.000000000 +0000 +@@ -73,6 +73,9 @@ + extern uschar *tls_verify_hosts; /* Mandatory client verification */ + #endif + ++#ifdef DLOPEN_LOCAL_SCAN ++extern uschar *local_scan_path; /* Path to local_scan() library */ ++#endif + + /* Input-reading functions for messages, so we can use special ones for + incoming TCP/IP. */ +diff -Naur exim-4.32/src/local_scan.c exim-4.32-dlopen/src/local_scan.c +--- src/local_scan.c 2004-04-15 08:27:01.000000000 +0000 ++++ src/local_scan.c 2004-05-06 16:21:57.000000000 +0000 +@@ -5,60 +5,131 @@ + /* Copyright (c) University of Cambridge 1995 - 2004 */ + /* See the file NOTICE for conditions of use and distribution. */ + ++#include "exim.h" + +-/****************************************************************************** +-This file contains a template local_scan() function that just returns ACCEPT. +-If you want to implement your own version, you should copy this file to, say +-Local/local_scan.c, and edit the copy. To use your version instead of the +-default, you must set +- +-LOCAL_SCAN_SOURCE=Local/local_scan.c +- +-in your Local/Makefile. This makes it easy to copy your version for use with +-subsequent Exim releases. +- +-For a full description of the API to this function, see the Exim specification. +-******************************************************************************/ +- +- +-/* This is the only Exim header that you should include. The effect of +-including any other Exim header is not defined, and may change from release to +-release. Use only the documented interface! */ +- +-#include "local_scan.h" +- +- +-/* This is a "do-nothing" version of a local_scan() function. The arguments +-are: +- +- fd The file descriptor of the open -D file, which contains the +- body of the message. The file is open for reading and +- writing, but modifying it is dangerous and not recommended. +- +- return_text A pointer to an unsigned char* variable which you can set in +- order to return a text string. It is initialized to NULL. +- +-The return values of this function are: +- +- LOCAL_SCAN_ACCEPT +- The message is to be accepted. The return_text argument is +- saved in $local_scan_data. +- +- LOCAL_SCAN_REJECT +- The message is to be rejected. The returned text is used +- in the rejection message. +- +- LOCAL_SCAN_TEMPREJECT +- This specifies a temporary rejection. The returned text +- is used in the rejection message. +-*/ ++#ifdef DLOPEN_LOCAL_SCAN ++#include <dlfcn.h> ++static int (*local_scan_fn)(int fd, uschar **return_text) = NULL; ++static int load_local_scan_library(void); ++#endif + + int + local_scan(int fd, uschar **return_text) + { + fd = fd; /* Keep picky compilers happy */ + return_text = return_text; +-return LOCAL_SCAN_ACCEPT; ++#ifdef DLOPEN_LOCAL_SCAN ++/* local_scan_path is defined AND not the empty string */ ++if (local_scan_path && *local_scan_path) ++ { ++ if (!local_scan_fn) ++ { ++ if (!load_local_scan_library()) ++ { ++ char *base_msg , *error_msg , *final_msg ; ++ int final_length = -1 ; ++ ++ base_msg=US"Local configuration error - local_scan() library failure\n"; ++ error_msg = dlerror() ; ++ ++ final_length = strlen(base_msg) + strlen(error_msg) + 1 ; ++ final_msg = (char*)malloc( final_length*sizeof(char) ) ; ++ *final_msg = '\0' ; ++ ++ strcat( final_msg , base_msg ) ; ++ strcat( final_msg , error_msg ) ; ++ ++ *return_text = final_msg ; ++ return LOCAL_SCAN_TEMPREJECT; ++ } ++ } ++ return local_scan_fn(fd, return_text); ++ } ++else ++#endif ++ return LOCAL_SCAN_ACCEPT; ++} ++ ++#ifdef DLOPEN_LOCAL_SCAN ++ ++static int load_local_scan_library(void) ++{ ++/* No point in keeping local_scan_lib since we'll never dlclose() anyway */ ++void *local_scan_lib = NULL; ++int (*local_scan_version_fn)(void); ++int vers_maj; ++int vers_min; ++ ++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 - " ++ "message temporarily rejected"); ++ return FALSE; ++ } ++ ++local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_major"); ++if (!local_scan_version_fn) ++ { ++ dlclose(local_scan_lib); ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " ++ "local_scan_version_major() function - message temporarily rejected"); ++ return FALSE; ++ } ++ ++/* The major number is increased when the ABI is changed in a non ++ backward compatible way. */ ++vers_maj = local_scan_version_fn(); ++ ++local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_minor"); ++if (!local_scan_version_fn) ++ { ++ dlclose(local_scan_lib); ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " ++ "local_scan_version_minor() function - message temporarily rejected"); ++ return FALSE; ++ } ++ ++/* The minor number is increased each time a new feature is added (in a ++ way that doesn't break backward compatibility) -- Marc */ ++vers_min = local_scan_version_fn(); ++ ++ ++if (vers_maj != LOCAL_SCAN_ABI_VERSION_MAJOR) ++ { ++ dlclose(local_scan_lib); ++ local_scan_lib = NULL; ++ log_write(0, 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, ++ LOCAL_SCAN_ABI_VERSION_MINOR); ++ return FALSE; ++ } ++else if (vers_min > LOCAL_SCAN_ABI_VERSION_MINOR) ++ { ++ dlclose(local_scan_lib); ++ local_scan_lib = NULL; ++ log_write(0, 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, ++ LOCAL_SCAN_ABI_VERSION_MINOR); ++ return FALSE; ++ } ++ ++local_scan_fn = dlsym(local_scan_lib, "local_scan"); ++if (!local_scan_fn) ++ { ++ dlclose(local_scan_lib); ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " ++ "local_scan() function - message temporarily rejected"); ++ return FALSE; ++ } ++ ++return TRUE; + } + ++#endif /* DLOPEN_LOCAL_SCAN */ ++ + /* End of local_scan.c */ +diff -Naur exim-4.32/src/readconf.c exim-4.32-dlopen/src/readconf.c +--- src/readconf.c 2004-04-15 08:27:01.000000000 +0000 ++++ src/readconf.c 2004-05-06 16:23:12.000000000 +0000 +@@ -223,6 +223,9 @@ + { "local_from_prefix", opt_stringptr, &local_from_prefix }, + { "local_from_suffix", opt_stringptr, &local_from_suffix }, + { "local_interfaces", opt_stringptr, &local_interfaces }, ++#ifdef DLOPEN_LOCAL_SCAN ++ { "local_scan_path", opt_stringptr, &local_scan_path }, ++#endif + { "local_scan_timeout", opt_time, &local_scan_timeout }, + { "local_sender_retain", opt_bool, &local_sender_retain }, + { "localhost_number", opt_stringptr, &host_number_string }, diff --git a/mail-mta/exim/files/exim.rc6 b/mail-mta/exim/files/exim.rc6 index e858463a87e0..ac162940842a 100644 --- a/mail-mta/exim/files/exim.rc6 +++ b/mail-mta/exim/files/exim.rc6 @@ -1,7 +1,7 @@ #!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/files/exim.rc6,v 1.2 2004/07/14 22:31:04 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/files/exim.rc6,v 1.3 2005/01/08 19:09:19 peitolm Exp $ depend() { need logger net @@ -16,6 +16,6 @@ start() { stop() { ebegin "Stopping exim" - start-stop-daemon --stop --quiet --exec /usr/sbin/exim + start-stop-daemon --stop --quiet --pidfile /var/run/exim.pid --name exim eend $? } |