Big year change in copyright, also a number of bug fixes, see changelog for more...
authorColin Morey <peitolm@gentoo.org>
Sat, 8 Jan 2005 19:09:19 +0000 (19:09 +0000)
committerColin Morey <peitolm@gentoo.org>
Sat, 8 Jan 2005 19:09:19 +0000 (19:09 +0000)
15 files changed:
mail-mta/exim/ChangeLog
mail-mta/exim/Manifest
mail-mta/exim/exim-4.33-r1.ebuild
mail-mta/exim/exim-4.34-r1.ebuild
mail-mta/exim/exim-4.34.ebuild
mail-mta/exim/exim-4.40.ebuild
mail-mta/exim/exim-4.41.ebuild
mail-mta/exim/exim-4.42.ebuild
mail-mta/exim/exim-4.43-r1.ebuild
mail-mta/exim/exim-4.43-r2.ebuild [new file with mode: 0644]
mail-mta/exim/exim-4.43.ebuild
mail-mta/exim/files/digest-exim-4.43-r2 [new file with mode: 0644]
mail-mta/exim/files/exim-4.43-r2-host_aton-buff.patch [new file with mode: 0644]
mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch [new file with mode: 0644]
mail-mta/exim/files/exim.rc6

index 64749a03d5befe2695d3af83e1f8a49ded84983d..ceb7eaf1af089ed19971c28655d08f11b52430d3 100644 (file)
@@ -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
index 690d0c320d211998da29f84398de24656f10fd1f..eb99b9590ca6e5e2bcac93fe26b507a2382ee3fc 100644 (file)
@@ -1,41 +1,35 @@
------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 47c3c5ad191b7b0269c6ece182b09c46 ChangeLog 15181
+MD5 88b4c1c053ef791fe7fadfc5cef83562 exim-4.43.ebuild 7716
+MD5 bb381704e82e9a52302bf0b4e4c77882 exim-4.43-r1.ebuild 7773
+MD5 9f3cba5e7952833e194da7eb7ccecf62 exim-4.42.ebuild 7707
+MD5 3ecb9337efa305ddd4a8708fe9fd3dae exim-4.43-r2.ebuild 8034
+MD5 a3a0aac4ec43461f082173a6057c7d2b exim-4.33-r1.ebuild 7625
+MD5 bb6dbf0fcde9bdebe5158571a374dd9d exim-4.34-r1.ebuild 7932
+MD5 820769c4b61474a2f17749d45b6e0259 exim-4.34.ebuild 7561
 MD5 3dcc3562423bb66d0c2ea93caf41a36a metadata.xml 994
-MD5 4c0b8ee742360c08f0bc0b526fcaad10 files/system_filter.exim 8120
+MD5 7f6893b51bca039df45981f6dadd37dd exim-4.40.ebuild 7740
+MD5 64a7419fa83a3975d5caa8c74febf601 exim-4.41.ebuild 7742
+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 dec246086bc5cef333efaa95785a4d5e files/exim-4.43-r2-host_aton-buff.patch 6444
+MD5 f05ff505c7b77a17696736e2730ae8d1 files/digest-exim-4.43-r2 133
+MD5 c76437104cbde9184f01eb0987bfd738 files/exim-4.43-r2-localscan_dlopen.patch 9236
+MD5 78fc301e3f788a443b3011c4c331ddeb files/exim.rc6 522
+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 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-----
index 1f816e0296f638eb0204cadf8569907efe955292..eec6d76da3be497a166ef7c9b495aaf6fa9d3bc0 100644 (file)
@@ -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
 
index f8351eebe1790cbcd644b52447c9545411105ee9..5d20e9b64371bbae5ec315f69522e774cca08d1f 100644 (file)
@@ -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
 
index fa76bf951d17f8edb71e98883255dc4fcd8ab1c4..e134ba13e84af374f67614e8d0bdcd752f16dcf3 100644 (file)
@@ -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
 
index 140fd630890c09d986b65a00d071fe3539630c58..f22b829e110d8e0142f906ea4e62241a199e3c9f 100644 (file)
@@ -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
 
index 07a7b9f42785faa2106a770dd8227f84ee4cf0ab..cefc99a6dbe4ace7b71d5b268ae721079a9a46dd 100644 (file)
@@ -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
 
index 9815679a0091213042688f4757e440c77f73a4cd..7b6d9811adf4ae7d7a09ca3ab7bead3aa4b23c37 100644 (file)
@@ -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
 
index 60e452c16a3aad7be72a333681a6263dc7a32688..1cf8a5fb1135c2dde075d7612bb8f6ed6f6faccd 100644 (file)
@@ -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 (file)
index 0000000..459a891
--- /dev/null
@@ -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
+}
index 674fb01723e1b46a9e4373f968d0dc53020cd709..18d51aaa5199f22b331767e1871a894a5ce3488f 100644 (file)
@@ -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 (file)
index 0000000..5deaf29
--- /dev/null
@@ -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 (file)
index 0000000..bf69b49
--- /dev/null
@@ -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 (file)
index 0000000..146606a
--- /dev/null
@@ -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 },
index e858463a87e0ce87162dc775ac0bb58c3afbb779..ac162940842a979c5f45c9940a5afa9fe7704e0b 100644 (file)
@@ -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 $?
 }