diff options
Diffstat (limited to 'mail-mta')
-rw-r--r-- | mail-mta/Manifest.gz | bin | 2228 -> 2233 bytes | |||
-rw-r--r-- | mail-mta/courier/Manifest | 2 | ||||
-rw-r--r-- | mail-mta/courier/courier-1.0.13.ebuild | 312 | ||||
-rw-r--r-- | mail-mta/exim/Manifest | 13 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.92.3.ebuild | 581 | ||||
-rw-r--r-- | mail-mta/exim/exim-4.93.0.4-r1.ebuild (renamed from mail-mta/exim/exim-4.93.0.4.ebuild) | 12 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.82-makefile-freebsd.patch | 45 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.89-as-needed-ldflags.patch | 145 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.92-fix-eval-expansion-32bit.patch | 51 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.92-localscan_dlopen.patch | 267 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.93-CVE-2020-12783.patch | 83 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.93-localscan_dlopen.patch | 4 | ||||
-rw-r--r-- | mail-mta/exim/files/exim-4.93-radius.patch | 66 | ||||
-rw-r--r-- | mail-mta/postfix/Manifest | 4 | ||||
-rw-r--r-- | mail-mta/postfix/postfix-3.6_pre20200511.ebuild (renamed from mail-mta/postfix/postfix-3.6_pre20200419.ebuild) | 0 |
15 files changed, 480 insertions, 1105 deletions
diff --git a/mail-mta/Manifest.gz b/mail-mta/Manifest.gz Binary files differindex 1785501662f5..c07af5b8f906 100644 --- a/mail-mta/Manifest.gz +++ b/mail-mta/Manifest.gz diff --git a/mail-mta/courier/Manifest b/mail-mta/courier/Manifest index ac9a4b9e67f4..ad5af45d5f79 100644 --- a/mail-mta/courier/Manifest +++ b/mail-mta/courier/Manifest @@ -2,6 +2,8 @@ AUX apache-sqwebmail.inc 347 BLAKE2B e77a680065e064c300d01ec21db524f3a440623b685 AUX courier-init-r4 4965 BLAKE2B 09f29543599abfb6dd5df058f832e979bde471be3f9d293d975fdfc28787e8622ddab797c9d51fa89207fbc1a1ee23fb82471617366bf1467d1e7f2d7d3f2bcc SHA512 ca5e12bfa4fe2166cd2c1ef8c68e3cda957fd33011971237f3f76ec9d4ec1503eb22d78ec08ed42671d8858790ea7761c272a4896c680a51691c094696fee5f9 AUX norewrite.patch 489 BLAKE2B f4ed2e1af731811d8da96ee817335016c5ec9a77a53ccd194360e95804f71e7c7825511f1831f1575f77cec35d72f12d39c02f8d10524fc189ff64b8a1a7fb9b SHA512 e9e95bd5d1a78b510f6dd7e155999089f123eecfdc16d3b5005b00981a7b6d29827cdddc61035ed3c3edcf0b9907ddfbae76df6503a1a8ef26b4de43a02bfc8e AUX password.dist 247 BLAKE2B 1803a6663c32ccc74c4dfb1d591a01d4416f9de9c4bf35c9a7ca277c2007b8c29a8899f4285c78eeb8592766457eef0caf377a344adee7a61be15bbf8b80c7de SHA512 f488b0ab1a909c9b878b9f3f3147641a9ed6d8d2ad44c67cd641934b800b18a62de2a7f5f51fdbecfbbcdd7c39c753734984cc0836c905a3b708858e1b91093d +DIST courier-1.0.13.tar.bz2 7533779 BLAKE2B 38db2127df3f9d0371ee01563663ebabefdfb0e03bad01f6bdc421d2371191a27cfda00cb7927af2d4f8f3cec4f9e7756c786ae53cf60a23c1067d8620a105d7 SHA512 f2cf42791b6422151b7c155ae1533c0587abe4d13c498a96a678c8bafd8dd103631896cbf6c4ef53e288a81355ac625ee65eb3fec695d0d6d96bbfd6d3dd5d7b DIST courier-1.0.5.tar.bz2 7465054 BLAKE2B 55e9ba2a85889e7210652475149f4d3e687fd63a27b44a5a16c888b2f60bb18c4156e3344792585fed2ee3d81770e79c55ce5791842c255b8701bad5d2f8af4e SHA512 99a8e98633da99abd1f6f4e24328d4655526d51dc9fc03ffcb9c1e0cce0e608dedb2ac9511829af4487ff5af4618500d6fbbee26568f2a05e3c9d3cf3b48b2a5 +EBUILD courier-1.0.13.ebuild 9291 BLAKE2B 52c35829d70eefaca1df737e573624dd8d4c8d4f6f42174c85daa0af01e5b42e02937e4fef6e2b83fb4569b182f451079a490f09a740058ca44ae7deb5396b6d SHA512 e4f4fd89c5b4e690086c2bbaa55acc63a60a9d1e6413c46c8543194222ea5fefd323c3ff020ad811c7cf9328def1fa31ce5c69688a5762c0e215793e13cbafaa EBUILD courier-1.0.5.ebuild 9508 BLAKE2B f6588fa35657482b9146162b86b4a96dcb2898a27afed98ddc719c05802e3f6754f2f13a32f836ce0e826c689a42fb38827ec2c9e96393d897559fa7e74f6862 SHA512 88ec7b7feaf30bfcfc32216ff07d4d60728a79dafd6de9852fb290cabb392bac93d3a6dbb426f84639489935b519b2df5daf4a73382132d34269d8a676c20029 MISC metadata.xml 755 BLAKE2B 8ec0dd31ad59193d95585ab88f0bac6ced87132444a4136b2c2f80458a11f5296c42283574c3b56c26a31dad25fff530ebbfbf1ef467a1b824d11afe93a6da31 SHA512 de15af05e98deba4d3b297b4301439d892c3ba0d8af30ca459fcac72bf0179de87bf11260b8bfdb3827dd1f0e5123d68817766ffe037cece9c30adb3e8bd8b06 diff --git a/mail-mta/courier/courier-1.0.13.ebuild b/mail-mta/courier/courier-1.0.13.ebuild new file mode 100644 index 000000000000..4451b6d47e0d --- /dev/null +++ b/mail-mta/courier/courier-1.0.13.ebuild @@ -0,0 +1,312 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit eutils flag-o-matic multilib + +DESCRIPTION="An MTA designed specifically for maildirs" +HOMEPAGE="https://www.courier-mta.org/" +SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="postgres ldap libressl mysql pam nls ipv6 spell fax crypt norewrite \ + fam web webmail gnutls" + +DEPEND=" + >=net-libs/courier-authlib-0.70.0 + >=net-libs/courier-unicode-2.1 + net-dns/libidn:= + gnutls? ( net-libs/gnutls:= ) + !gnutls? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + >=sys-libs/gdbm-1.8.0 + dev-libs/libpcre + app-misc/mime-types + fax? ( >=media-libs/netpbm-9.12 app-text/ghostscript-gpl >=net-dialup/mgetty-1.1.28 ) + pam? ( sys-libs/pam ) + mysql? ( dev-db/mysql-connector-c ) + ldap? ( >=net-nds/openldap-1.2.11 ) + postgres? ( dev-db/postgresql:= ) + spell? ( app-text/aspell ) + fam? ( virtual/fam ) + !mail-filter/maildrop + !mail-mta/esmtp + !mail-mta/exim + !mail-mta/mini-qmail + !mail-mta/msmtp[mta] + !mail-mta/netqmail + !mail-mta/nullmailer + !mail-mta/postfix + !mail-mta/qmail-ldap + !mail-mta/sendmail + !mail-mta/ssmtp[mta] + !mail-mta/opensmtpd + !net-mail/dot-forward + !sys-apps/ucspi-tcp + " + +RDEPEND="${DEPEND} + dev-lang/perl + sys-process/procps" + +# get rid of old style virtual/imapd - bug 350792 +# all blockers really needed? +RDEPEND="${RDEPEND} + !net-mail/bincimap + !net-mail/courier-imap + !net-mail/cyrus-imapd + !net-mail/uw-imap" + +PDEPEND="pam? ( net-mail/mailbase ) + crypt? ( >=app-crypt/gnupg-1.0.4 )" + +src_prepare() { + use norewrite && epatch "${FILESDIR}/norewrite.patch" + default +} + +src_configure() { + filter-flags '-fomit-frame-pointer' + + local myconf + myconf="" + + use ldap && myconf="${myconf} --with-ldapconfig=/etc/courier/maildropldap.conf" + + econf ${myconf} \ + $(use_with fam) \ + $(use_with ipv6) \ + $(use_with spell ispell) \ + $(use_with ldap ldapaliasd) \ + $(use_enable ldap maildroldap) \ + $(use_with gnutls) \ + --with-notice=unicode \ + --enable-mimetypes=/etc/mime.types \ + --prefix=/usr \ + --disable-root-check \ + --mandir=/usr/share/man \ + --sysconfdir=/etc/courier \ + --datadir=/usr/share/courier \ + --sharedstatedir=/var/lib/courier/com \ + --localstatedir=/var/lib/courier \ + --with-piddir=/var/run/courier \ + --with-authdaemonvar=/var/lib/courier/authdaemon \ + --with-mailuser=mail \ + --with-mailgroup=mail \ + --with-paranoid-smtpext \ + --with-db=gdbm \ + --disable-autorenamesent \ + --cache-file="${S}/configuring.cache" \ + --host="${CHOST}" debug=true || die "./configure" + sed -e'/^install-perms-local:/a\ sed -e\"s|^|'"${D}"'|g\" -i permissions.dat' -i Makefile +} + +src_compile() { + default +} + +etc_courier() { + # Import existing /etc/courier/file if it exists. + # Add option only if it was not already set or even commented out + file="${1}" ; word="`echo \"${2}\" | sed -e\"s|=.*$||\" -e\"s|^.*opt ||\"`" + [ ! -e "${D}/etc/courier/${file}" ] && [ -e "/etc/courier/${file}" ] && \ + cp "/etc/courier/${file}" "${D}/etc/courier/${file}" + grep -q "${word}" "${D}/etc/courier/${file}" || \ + echo "${2}" >> "${D}/etc/courier/${file}" +} + +etc_courier_chg() { + file="${1}" ; key="${2}" ; value="${3}" ; section="${4}" + [ -z "${section}" ] && section="${2}" + grep -q "${key}" "${file}" && elog "Changing ${file}: ${key} to ${value}" + sed -i -e"/\#\#NAME: ${section}/,+30 s|${key}=.*|${key}=\"${value}\"|g" ${file} +} + +src_install() { + local f + diropts -o mail -g mail + keepdir /var/lib/courier/tmp + keepdir /var/lib/courier/msgs + make install DESTDIR="${D}" || die "install" + make install-configure || die "install-configure" + + # init script takes care of this + rm -rf "${D}/var/run" + + # Get rid of files we dont want + if ! use webmail ; then + rm -rf "${D}/usr/$(get_libdir)/courier/courier/webmail" \ + "${D}/usr/$(get_libdir)/courier/courier/sqwebmaild" \ + "${D}/usr/share/courier/sqwebmail/" \ + "${D}/usr/sbin/webmaild" \ + "${D}/usr/sbin/webgpg" \ + "${D}/etc/courier/webmail.authpam" \ + "${D}/var/lib/courier/webmail-logincache" \ + "${D}"/etc/courier/sqwebmaild* + fi + + if ! use web ; then + rm -rf "${D}/usr/share/courier/courierwebadmin/" \ + "${D}/etc/courier/webadmin" + fi + + for dir2keep in $(cd "${D}" && find ./var/lib/courier -type d) ; do + keepdir "$dir2keep" || die "failed running keepdir: $dir2keep" + done + + newinitd "${FILESDIR}/courier-init-r4" "courier" + use fam || sed -i -e's|^.*use famd$||g' "${D}/etc/init.d/courier" + + cd "${D}/etc/courier" + if use webmail ; then + insinto /etc/courier + newins "${FILESDIR}/apache-sqwebmail.inc" apache-sqwebmail.inc + fi + + for f in *.dist ; do cp "${f}" "${f%%.dist}" ; done + if use ldap ; then + [ -e ldapaliasrc ] && ( chown root:mail ldapaliasrc ; chmod 640 ldapaliasrc ) + else + rm -f ldapaliasrc + fi + + ( [ -e /etc/courier/sizelimit ] && cat /etc/courier/sizelimit || echo 0 ) \ + > "${D}/etc/courier/sizelimit" + etc_courier maildroprc "" + etc_courier esmtproutes "" + etc_courier backuprelay "" + etc_courier locallowercase "" + etc_courier bofh "opt BOFHBADMIME=accept" + etc_courier bofh "opt BOFHSPFTRUSTME=1" + etc_courier bofh "opt BOFHSPFHELO=pass,neutral,unknown,none,error,softfail,fail" + etc_courier bofh "opt BOFHSPFHELO=pass,neutral,unknown,none" + etc_courier bofh "opt BOFHSPFFROM=all" + etc_courier bofh "opt BOFHSPFMAILFROM=all" + etc_courier bofh "#opt BOFHSPFHARDERROR=fail" + etc_courier esmtpd "BOFHBADMIME=accept" + etc_courier esmtpd-ssl "BOFHBADMIME=accept" + etc_courier esmtpd-msa "BOFHBADMIME=accept" + + use fam && etc_courier_chg imapd IMAP_CAPABILITY "IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE" + use fam || etc_courier_chg imapd IMAP_CAPABILITY "IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256" + + # Fix for a sandbox violation on subsequential merges + # - ticho@gentoo.org, 2005-07-10 + dosym ../share/courier/pop3d /usr/sbin/courier-pop3d + dosym ../share/courier/pop3d-ssl /usr/sbin/courier-pop3d-ssl + dosym ../share/courier/imapd /usr/sbin/courier-imapd + dosym ../share/courier/imapd-ssl /usr/sbin/courier-imapd-ssl + + cd "${S}" + cp imap/README README.imap + use nls && cp unicode/README README.unicode + dodoc AUTHORS BENCHMARKS COPYING* ChangeLog* INSTALL NEWS README* TODO courier/doc/*.txt + dodoc libs/tcpd/README.couriertls + mv "${D}/usr/share/courier/htmldoc" "${D}/usr/share/doc/${PF}/html" + + if use webmail ; then + insinto /usr/$(get_libdir)/courier/courier + insopts -m 755 -o mail -g mail + doins "${S}/courier/webmaild" + fi + + if use web ; then + insinto /etc/courier/webadmin + insopts -m 400 -o mail -g mail + doins "${FILESDIR}/password.dist" + fi + + # avoid name collisions in /usr/sbin, make webadmin match + cd "${D}/usr/sbin" + for f in imapd imapd-ssl pop3d pop3d-ssl ; do mv "${f}" "courier-${f}" ; done + if use web ; then + sed -i -e 's:\$sbindir\/imapd:\$sbindir\/courier-imapd:g' \ + -e 's:\$sbindir\/imapd-ssl:\$sbindir\/courier-imapd-ssl:g' \ + "${D}/usr/share/courier/courierwebadmin/admin-40imap.pl" \ + || ewarn "failed to fix webadmin" + sed -i -e 's:\$sbindir\/pop3d:\$sbindir\/courier-pop3d:g' \ + -e 's:\$sbindir\/pop3d-ssl:\$sbindir\/courier-pop3d-ssl:g' \ + "${D}/usr/share/courier/courierwebadmin/admin-45pop3.pl" \ + || ewarn "failed to fix webadmin" + fi + + # users should be able to send mail. Could be restricted with suictl. + chmod u+s "${D}/usr/bin/sendmail" + + dosym ../bin/sendmail /usr/sbin/sendmail +} + +src_test() { + if [ `whoami` != 'root' ]; then + emake -j1 check + else + einfo "make check skipped, can't run as root." + einfo "You can enable it with FEATURES=\"userpriv\"" + fi +} + +pkg_postinst() { + use fam && elog "fam daemon is needed for courier-imapd" \ + || ewarn "courier was built without fam support" +} + +pkg_config() { + mailhost="$(hostname)" + export mailhost + + domainname="$(domainname)" + if [ "x$domainname" = "x(none)" ] ; then + domainname="$(echo ${mailhost} | sed -e "s/[^\.]*\.\(.*\)/\1/")" + fi + export domainname + + if [ "${ROOT}" = "/" ] ; then + file="${ROOT}/etc/courier/locals" + if [ ! -f "${file}" ] ; then + echo "localhost" > "${file}"; + echo "${domainname}" >> "${file}"; + fi + file="${ROOT}/etc/courier/esmtpacceptmailfor.dir/${domainname}" + if [ ! -f "${file}" ] ; then + echo "${domainname}" > "${file}" + /usr/sbin/makeacceptmailfor + fi + + file="${ROOT}/etc/courier/smtpaccess/${domainname}" + if [ ! -f "${file}" ] + then + netstat -nr | grep "^[1-9]" | while read network gateway netmask rest + do + i=1 + net="" + TIFS="${IFS}" + IFS="." + for o in "${netmask}" + do + if [ "${o}" == "255" ] + then + [ "_${net}" == "_" ] || net="${net}." + t="$(echo "${network}" | cut -d " " -f ${i})" + net="${net}${t}" + fi + i="$((${i} + 1))" + done + IFS="${TIFS}" + echo "doing configuration - relay control for the network ${net} !" + echo "${net} allow,RELAYCLIENT" >> ${file} + done + /usr/sbin/makesmtpaccess + fi + fi + + echo "creating cert for esmtpd-ssl:" + /usr/sbin/mkesmtpdcert + echo "creating cert for imapd-ssl:" + /usr/sbin/mkpop3dcert + echo "creating cert for pop3d-ssl:" + /usr/sbin/mkimapdcert +} diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest index 16fdf00d7dd4..0bbc3531b4ec 100644 --- a/mail-mta/exim/Manifest +++ b/mail-mta/exim/Manifest @@ -5,12 +5,10 @@ AUX exim-4.69-r1.27021.patch 1447 BLAKE2B d1f40f68b056ae49cd78408d3dc54a1f4fb158 AUX exim-4.74-radius-db-ENV-clash.patch 667 BLAKE2B 3cc03dd925333774c08484efbb5daadcebc819cc49283205960146f176d225c8952dacb891e1a1be13046bb68e6d6571a732dbbb7d78c6b1758d93f256e41509 SHA512 040bbdb2259df882569a428b7fef03f89c3685428654ac29e93360a4791bdabe66e52d33d14f0822461fac119295bd31aad5998f63d59d4af057bd26b310a568 AUX exim-4.76-crosscompile.patch 462 BLAKE2B de78322f93760cef0d5a768b8be6c723f00d5c7557da6189ffa6ee34215c41ebe8896a2457b2e6a704d05a1730eab09c8cc73e3ba3140954f9ac32423210b612 SHA512 d4fd4417c1ce727f139999c399795312cdbbb9735d0793d68f8e3150240bc53b31277cb26f9946ba549b34c661fc0a61147d376bda09aa6763cab55d80d62343 AUX exim-4.80-spool-mail-group.patch 946 BLAKE2B a3b6783b77823c5a8373623d16b85e2ba209b419b6724f307c46bf961bc5195690453208cdd40e45bc36e5a070892414c7737a97fa04e653e78050c153c59079 SHA512 24f30e9a9d90dc0f1fe8b3db26f8bc2649182b4e78110dc28a9c0f3a3feb7589f923144a4f1c54a1c46ff8cfe40826a1f2212787753be752f4d15a72d54a143b -AUX exim-4.82-makefile-freebsd.patch 1252 BLAKE2B 29c58b487850e28e0b2dfd5bbaa7e8ac341ebc00093a46a9d6b44c8d1c508629f78f646ccd3d022b2acee20d0572320f79acc21c519727f007e11e08623f4fec SHA512 fb440ad3e46b90d4c2e4826841944f4006390ccebee08154a39e46f6854be15edd7d0b028333b41451a0511f886ad3a30cb4b86e7ba8be99f12616a137f09d56 -AUX exim-4.89-as-needed-ldflags.patch 6048 BLAKE2B 229dbc384c64a30f620c2965b030f6e6773efca5390ccd67a6a69b5565b0d2d536f0385d8095f92e43e1bc45ab43822efd10cb8aafe2d3cee7d21c0b330e08d1 SHA512 a0ac891c2708afdf8be339a15e6c74d27a19ac87ab63e97de71b5b5d4fab63b898018f7f0ad1dc2e22a86d71c05c1a1b250d598d7622e6172f187ac36e5c3adf -AUX exim-4.92-fix-eval-expansion-32bit.patch 1792 BLAKE2B 81ac3cc505e62c95624b8f55771d7cdce39c882cbcdd553e9cd6263417f31fe7a800dec4386cc4534609fa9b20fc493d2ae6393c8de0d09dd3b3056f3b7da501 SHA512 108e782f1483dcb2d1a34ba226d1829da78fbfb18eddd68def8e693091cf05c8e448c1bcd197fe893dc51996c434f8d9168c131e5ca67125e6362491c5aeeb77 -AUX exim-4.92-localscan_dlopen.patch 9483 BLAKE2B 8fe480bbdccfa7388428fcb9aad876bcdcfc33220a529aebfca64e90c62f5a3b5ccf3477586349204f3c0be9ee3bb4d753e18cc24e759f26cf1a427d4f3e77da SHA512 7226ae2ef3d29537241f8c392dcc7522978861f8ad32ca280ec2da2f465f6dad0561ea3ad6a7606f8f6b2e7328704d464c892cd2ddaf0e132bc51f29f8003f4c +AUX exim-4.93-CVE-2020-12783.patch 2469 BLAKE2B b4a98d5d5c45756ea8da01cb18bae40b6d242076557e80cc79dfd2d3d21b96f9860c2a6b17433a849e631504b8669a281b1ae3d0a67f6d599b631df03e54a630 SHA512 5efc5fb8375cdd560d8efe414094751c875a3dd363c93d8228248440e3c269348d54e039c52d311113d2a62a8d0016d1ad0e44314350ea6a5e3c59a9d66af58a AUX exim-4.93-as-needed-ldflags.patch 6013 BLAKE2B 2de473f089a36cabd5481020524dcb2efb7a5681b224608a8454aebc70e07f7776fe812f02fa5d81fb80b25bc2cc154924953d173d65664b1e576176a01191b9 SHA512 df6c18a7d092d9069dd6d4177154681197de86ab41dbd399055ad663cbd0c7da149f8bbcb7c888965851475ee2cf891dc934f1d5ad7a4ea3dc46a54ece582418 -AUX exim-4.93-localscan_dlopen.patch 9489 BLAKE2B 433a4328d627b742c3aba11daadb2566a0e94bad7f02626ada56ba44336c02ceb12351f81726102398f7d0800ecd0a859751ac72ae4e15053964031e35c88f8d SHA512 3d9844373c6c8372e5f4feccf441e4ecc207feac1fd0a4295a28dc69d7ad05aff63d5fde869b3d35f9dea7e63965a013c753cc82866b0ff6d29bab03198c0b2d +AUX exim-4.93-localscan_dlopen.patch 9585 BLAKE2B 02b11e75c94d70a787973e89dc329fc006b263d4411ccfb177acf596fd3832cc471004394cf126a9299b62113dc25fcf61bff9bb63d39c19f60ca7203c732be3 SHA512 5de142c1da26cd60e9e05de25e7c7de1f338591b3d73ea9ff151dc446ca45a2361841a28776e9680e77183f2071a7cac68063d5f83e79257b7b4a4884e1e9110 +AUX exim-4.93-radius.patch 2791 BLAKE2B 94edcc141e9ed4b8f669298fc9af5e2fdc2835488567917721c7061835e7d7980c3944cb21b2cdb46041be7e8f93d57fc4d26cda0aa9583b98a594ee6c11260a SHA512 8393bddb5f85879e6fb3e4a8272df8583d99600f5ef25abbcea429743e9e396248e47c2dabeba7c6178d2a4d21f82ae68cde92a50bcb9598370bd0b3d8bc220f AUX exim-submission.socket 161 BLAKE2B 409a5a687897af369a6a2ff0c30564096cc6b308dbc5d0afb6742df44d2aa972e45bad9681d2cb72be9731b260d23fdadb80bae644e7b875af5e34e9c8b8b40f SHA512 4a233761793e3510e9efa5aad3a6098c41b757f13133a7ea825680f2b393aba8d7935f16bf1dd065dde884fe7ba45639a8d398333a7d9bf0a6b72f88c8f2a09d AUX exim-submission_at.service 360 BLAKE2B 9ebcac1ab0f01a8264141843a4e711d77f634bdd910406bd466a0c197fdad8a9ff4bc31b9b28ef73c810aaff3e549eb60c0a2546507910dfc800da154eb1da00 SHA512 dc28698f15e8eaa4614ae81fc8cb76d92fed1110ce02f7a6ee8feace418dbb194711eb2d4dd444cf818628c11721e21d80b7b974879ab6ddd78cc717cce17c2f AUX exim.confd 141 BLAKE2B bc200e6121544d17e7feb0e162b5f6a5157647c3323492218da1556a19f3a2febf89a698e157a6dc657540d2f46088a9b1e34700655c715fbeaf0c201bc4aa9f SHA512 cb5e4aa71d3f0b7945e9806064f6a3ab64cb894381654ead40c73a49ae2d1bbb3dc587919952a09b2c81b9fcf8784f73d59c12081cda96a5b7210442f5088998 @@ -19,11 +17,8 @@ AUX exim.rc10 1135 BLAKE2B abc7247ee8171069f30f954d9e4275fa85f09f5488a372f9c4f7f AUX exim.service 229 BLAKE2B 6d6396ef98b8e7c4fcfa28e24223bd58393387abedfb960284dfd1a297d1612deea6b77e2affeca8c5ff6f7db3eb32717893ed0dc1eaf3525e6969520e8589a3 SHA512 a071e9fb74b5fc2fdf0c73ad64ddfbc3954d8f7095d6a363dacf8c75d72a479fbf6821822ec5c8f3846d7687342e1bd447b97f91ca7b0582e5c98008aac30cca AUX exim.socket 139 BLAKE2B bb8281a98fdac1b52031d5250fd1e658bf5a2c32e24b49ed0daa857d0d32285abf6db23c3d717992c43443ab4bcd97a19ec3811f182200a2d99a48ced6cfb6bc SHA512 db621116907ceb573e6f34581f47c91f751bff593054d7ddc32397b34c7f2405bec184bdb0589d2ac457fa3a61bcba072761e3a6293a99c9c764d2d9fd6069ae AUX exim_at.service 140 BLAKE2B 8624f4a555e2acdc7aaf917952c4152ad00dc063a51076aefa1d023d47d5f7fe8b268f3308734f363ed9628cd8551ccac7fc369657e0fdf65507d2e6419f704c SHA512 11c8133ee15b3e5193c9b1c59aed66c81b6e045dd23310bede9fcde6c88905db5ef08afdb798b53b75a7465915ea1247e980edf95db07a7f9b7bb58ce95fbb5a -DIST exim-4.92.3.tar.xz 1773156 BLAKE2B 7866c23c862f5b5aadac709279f9ed376e526e90e8ca09d41c1789041ec0a3ecd48f8d2237e4d462e547efa2178babd5942d3142fef7419e16d1707fe23fa226 SHA512 ca6d6f50653502345511b683859b33aa02faa48454fb2100ff89fed3dcb8af8933e7bce68939365fdee42f96eec0c3b135cf748f4581e92a62be0f0ab093868a DIST exim-4.93.0.4.tar.xz 1804696 BLAKE2B 721336101104d9c71b3bb6f432e382c28ad17d80cdb50d04213989e65a719d906caf8eb95639bfaf7a1bfdd62c7000d9df14484953446ecfca901fd7c708514e SHA512 84951849b69399d6f187d2801760dc0cb9e61c88c7c88aaca4e07e48120199a6be94b2236d058ffeacb8d611dd84056b610d480353c301a3ad5799768dd39d96 -DIST exim-pdf-4.92.3.tar.xz 2039436 BLAKE2B 8d20e7f0ebfcb573d08b490737923afc2cd2d5837f5c91bd2f3e6b5e637d86a5d5a59123c57ba9219ead675c72bfc46351d5b705d9533fab80bedeeca8bdd580 SHA512 3245a627a924db92e5a50e842e096731d08284f757274b5083ea234707c493abd6f27a3b34a2025e3acff167260df0f4ebe68b9f5832920c5f22c258143ab43f DIST exim-pdf-4.93.0.4.tar.xz 2069744 BLAKE2B 28730134293d87b16d672df66119ff97aaf2d796cf28842bb5bf6831a0be6a186a5cce503200b9fc985aaa14386053ca83c259625949634c5a28937b285247ca SHA512 929b4198a3e8764a64478e7ff5a9c7398ad1990114206b68494b1f1f563c23405c7b440e2f21a9f777e9e3cd3a3398d6faea3b882407f731ef3a767c27fd9361 DIST system_filter.exim.gz 3075 BLAKE2B d05e872b5cef377d29126cda03fc0a74c8777b2119b76ff43da6e8de808035eb9bfcb034a85d81824f135d484e864bfc0629fc1af2c228a7277d5ee7cf9cde79 SHA512 cb358d3ce2499a0bb5920d962a06f2af8486e55ec90c8c928bd8e3aefb279aa57f5f960d5adfcef68bd94110b405eaa144e9629cfe6014a529c79c544600bbf3 -EBUILD exim-4.92.3.ebuild 13570 BLAKE2B 02fb2498b0c008a121ea2c05ae1071de844629a969508835dc003903bf1393c0c11d5d7c860a65db3ed2ba3325c76d0bee8f6f976f39cf50c7ed7f79efe296d0 SHA512 081feef83e973d073f89c072de78dc355e3f80b83dfb0e3bf509271f25099fc49f018114fc38e8230e48c09eabb7c974c54fb8162c1e6ceac8033dc7f8d2d4b7 -EBUILD exim-4.93.0.4.ebuild 13733 BLAKE2B 5a992002e5d5847672f4d0a7cc037614a1cd952aa7ab85b1977a85fcc41f4b698191a37578e31f98e1d92926a1fbf94e250d7c24a1506380d3b4dad4720de005 SHA512 fcd07f6f04e317cb2baef61afe0bac271f08a68bcb2bd96f23f68b76471ebd88297b84b1735e02acf5df6ec58830086e62463dbcb09a625ab2a8f093f89e4f50 +EBUILD exim-4.93.0.4-r1.ebuild 13958 BLAKE2B 83f81ea89be60289fbc7a6b8f486cee5de7d8104cb5b92cf50b247bfe1dd5546176bce8e15ef37ceb3c852a2b5a7b2464760f270a264b7195eb502991a0ec168 SHA512 0b0b43a6557d52c10f24d7864b46ff7d2a65566450016efb7d101af4367344a5686bb4ffaed031721e7e06a969062057153e5a0fa871736d181f72b205107944 MISC metadata.xml 2457 BLAKE2B c1dcbaedd069b41c4cfb190806b44014229d53cf6d6f72e04b99dc91f223567cb4f30100792aae72658780da0579fa26e6fb8a0266565bcc0c307996d59ac3ed SHA512 9044abccd15525c7676fc218b62d9b663bd155482894eced9c0cfc8a22e8cd7353009adc75a9f3de15b14f267e6ee6b4f4c91d8bd9260931c0b9de6bf48c762f diff --git a/mail-mta/exim/exim-4.92.3.ebuild b/mail-mta/exim/exim-4.92.3.ebuild deleted file mode 100644 index 03bdaab227c0..000000000000 --- a/mail-mta/exim/exim-4.92.3.ebuild +++ /dev/null @@ -1,581 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit db-use toolchain-funcs multilib pam systemd - -IUSE="arc dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl dsn elibc_glibc exiscan-acl gnutls idn ipv6 ldap libressl lmtp maildir mbx mysql nis pam perl pkcs11 postgres +prdr proxy radius redis sasl selinux spf sqlite srs ssl syslog tcpd +tpda X" -REQUIRED_USE=" - arc? ( dkim spf ) - dane? ( ssl !gnutls ) - dmarc? ( dkim spf ) - gnutls? ( ssl ) - pkcs11? ( ssl ) - spf? ( exiscan-acl ) - srs? ( exiscan-acl ) - !ssl? ( !dkim ) -" -# NOTE on USE="gnutls dane", gnutls[dane] is masked in base, unmasked -# for x86 and amd64 only, due to this, repoman won't allow depending on -# gnutls[dane] for all else. Because we cannot express USE=dane when -# USE=gnutls is in effect only in package.use.mask, the only option we -# have left is to a) ignore the dependency (but that results in bug -# #661164) or b) mask the usage of USE=dane with USE=gnutls. Both are -# incorrect, but b) is the only "correct" view from repoman. - -COMM_URI="https://downloads.exim.org/exim4$([[ ${PV} == *_rc* ]] && echo /test)" - -DESCRIPTION="A highly configurable, drop-in replacement for sendmail" -SRC_URI="${COMM_URI}/${P//rc/RC}.tar.xz - mirror://gentoo/system_filter.exim.gz - doc? ( ${COMM_URI}/${PN}-pdf-${PV//rc/RC}.tar.xz )" -HOMEPAGE="https://www.exim.org/" - -SLOT="0" -LICENSE="GPL-2" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-solaris" - -COMMON_DEPEND=">=sys-apps/sed-4.0.5 - ( >=sys-libs/db-3.2:= <sys-libs/db-6:= ) - dev-libs/libpcre - idn? ( net-dns/libidn:= net-dns/libidn2:= ) - perl? ( dev-lang/perl:= ) - pam? ( sys-libs/pam ) - tcpd? ( sys-apps/tcp-wrappers ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - gnutls? ( - net-libs/gnutls:0=[pkcs11?] - dev-libs/libtasn1 - ) - ldap? ( >=net-nds/openldap-2.0.7 ) - nis? ( - elibc_glibc? ( - net-libs/libtirpc - >=net-libs/libnsl-1:= - ) - ) - mysql? ( dev-db/mysql-connector-c:= ) - postgres? ( dev-db/postgresql:= ) - sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 ) - redis? ( dev-libs/hiredis ) - spf? ( >=mail-filter/libspf2-1.2.5-r1 ) - dmarc? ( mail-filter/opendmarc ) - srs? ( mail-filter/libsrs_alt ) - X? ( - x11-libs/libX11 - x11-libs/libXmu - x11-libs/libXt - x11-libs/libXaw - ) - sqlite? ( dev-db/sqlite ) - radius? ( net-dialup/freeradius-client ) - virtual/libiconv - elibc_glibc? ( net-libs/libnsl ) - " - # added X check for #57206 -BDEPEND="virtual/pkgconfig" -DEPEND="${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND} - !mail-mta/courier - !mail-mta/esmtp - !mail-mta/mini-qmail - !<mail-mta/msmtp-1.4.19-r1 - !>=mail-mta/msmtp-1.4.19-r1[mta] - !mail-mta/netqmail - !mail-mta/nullmailer - !mail-mta/postfix - !mail-mta/qmail-ldap - !mail-mta/sendmail - !mail-mta/opensmtpd - !<mail-mta/ssmtp-2.64-r2 - !>=mail-mta/ssmtp-2.64-r2[mta] - !net-mail/mailwrapper - >=net-mail/mailbase-0.00-r5 - virtual/logger - dcc? ( mail-filter/dcc ) - selinux? ( sec-policy/selinux-exim ) - " - -PATCHES=( - "${FILESDIR}"/exim-4.69-r1.27021.patch - "${FILESDIR}"/exim-4.92-localscan_dlopen.patch -) - -S=${WORKDIR}/${P//rc/RC} - -src_prepare() { - # Legacy patches which need a respin for -p1 - eapply -p0 "${FILESDIR}"/exim-4.14-tail.patch - eapply -p0 "${FILESDIR}"/exim-4.74-radius-db-ENV-clash.patch # 287426 - eapply -p0 "${FILESDIR}"/exim-4.82-makefile-freebsd.patch # 235785 - eapply -p0 "${FILESDIR}"/exim-4.89-as-needed-ldflags.patch # 352265, 391279 - eapply -p0 "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591 - eapply -p2 "${FILESDIR}"/exim-4.92-fix-eval-expansion-32bit.patch #687554 - - if use maildir ; then - eapply "${FILESDIR}"/exim-4.20-maildir.patch - else - eapply -p0 "${FILESDIR}"/exim-4.80-spool-mail-group.patch # 438606 - fi - - default - - # user Exim believes it should be - MAILUSER=mail - MAILGROUP=mail - if use prefix && [[ ${EUID} != 0 ]] ; then - MAILUSER=$(id -un) - MAILGROUP=$(id -gn) - fi -} - -src_configure() { - # general config and paths - - local aliases="${EPREFIX}/etc/mail/aliases" - sed -i \ - -e "/SYSTEM_ALIASES_FILE/s'SYSTEM_ALIASES_FILE'${aliases}'" \ - src/configure.default || die - - sed -i -e 's/^buildname=.*/buildname=exim-gentoo/' Makefile || die - - if use elibc_musl; then - sed -i -e 's/^LIBS = -lnsl/LIBS =/g' OS/Makefile-Linux || die - fi - - local conffile="${EPREFIX}/etc/exim/exim.conf" - sed -e "48i\CFLAGS=${CFLAGS}" \ - -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=${EPREFIX}/usr/sbin:" \ - -e "s:EXIM_USER=:EXIM_USER=${MAILUSER}:" \ - -e "s:CONFIGURE_FILE=.*$:CONFIGURE_FILE=${conffile}:" \ - -e "s:ZCAT_COMMAND=.*$:ZCAT_COMMAND=${EPREFIX}/bin/zcat:" \ - -e "s:COMPRESS_COMMAND=.*$:COMPRESS_COMMAND=${EPREFIX}/bin/gzip:" \ - src/EDITME > Local/Makefile || die - - # work on Local/Makefile from now on - cd Local - - cat >> Makefile <<- EOC - INFO_DIRECTORY=${EPREFIX}/usr/share/info - PID_FILE_PATH=${EPREFIX}/run/exim.pid - SPOOL_DIRECTORY=${EPREFIX}/var/spool/exim - HAVE_ICONV=yes - EOC - - # if we use libiconv, now is the time to tell so - use !elibc_glibc && use !elibc_musl && \ - echo "EXTRALIBS_EXIM=-liconv" >> Makefile - - # support for IPv6 - if use ipv6; then - cat >> Makefile <<- EOC - HAVE_IPV6=YES - EOC - fi - - # support i18n/IDNA - if use idn; then - cat >> Makefile <<- EOC - SUPPORT_I18N=yes - SUPPORT_I18N_2008=yes - EXTRALIBS_EXIM += -lidn -lidn2 - EOC - fi - - # - # mail storage formats - # - - # mailstore is Exim's traditional storage format - cat >> Makefile <<- EOC - SUPPORT_MAILSTORE=yes - EOC - - # mbox - if use mbx; then - cat >> Makefile <<- EOC - SUPPORT_MBX=yes - EOC - fi - - # maildir - if use maildir; then - cat >> Makefile <<- EOC - SUPPORT_MAILDIR=yes - EOC - fi - - # - # lookup methods - - # use the "native" interfaces to the DBM and CDB libraries, support - # passwd and directory lookups by default - local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2" - cat >> Makefile <<- EOC - USE_DB=yes - CFLAGS+=-I$(db_includedir ${DB_VERS}) - DBMLIB=-l$(db_libname ${DB_VERS}) - LOOKUP_CDB=yes - LOOKUP_PASSWD=yes - LOOKUP_DSEARCH=yes - EOC - - if ! use dnsdb; then - # DNSDB lookup is enabled by default - sed -i -e 's:^LOOKUP_DNSDB=yes:# LOOKUP_DNSDB=yes:' Makefile || die - fi - - if use ldap; then - cat >> Makefile <<- EOC - LOOKUP_LDAP=yes - LDAP_LIB_TYPE=OPENLDAP2 - LOOKUP_INCLUDE += -I"${EPREFIX}"/usr/include/ldap - LOOKUP_LIBS += -lldap -llber - EOC - fi - - if use mysql; then - cat >> Makefile <<- EOC - LOOKUP_MYSQL=yes - LOOKUP_INCLUDE += $(mysql_config --include) - LOOKUP_LIBS += $(mysql_config --libs) - EOC - fi - - if use nis; then - cat >> Makefile <<- EOC - LOOKUP_NIS=yes - LOOKUP_NISPLUS=yes - EOC - if use elibc_glibc ; then - cat >> Makefile <<- EOC - CFLAGS += -I"${EPREFIX}"/usr/include/tirpc - EOC - fi - fi - - if use postgres; then - cat >> Makefile <<- EOC - LOOKUP_PGSQL=yes - LOOKUP_INCLUDE += -I$(pg_config --includedir) - LOOKUP_LIBS += -L$(pg_config --libdir) -lpq - EOC - fi - - if use sqlite; then - cat >> Makefile <<- EOC - LOOKUP_SQLITE=yes - LOOKUP_SQLITE_PC=sqlite3 - EOC - fi - - if use redis; then - cat >> Makefile <<- EOC - LOOKUP_REDIS=yes - LOOKUP_LIBS += -lhiredis - EOC - fi - - # Exim monitor, enabled by default, controlled via X USE-flag, - # disable if not requested, bug #46778 - if use X; then - cp ../exim_monitor/EDITME eximon.conf || die - else - sed -i -e '/^EXIM_MONITOR=/s/^/# /' Makefile || die - fi - - # - # features - # - - # content scanning support - if use exiscan-acl; then - cat >> Makefile <<- EOC - WITH_CONTENT_SCAN=yes - EOC - fi - - # DomainKeys Identified Mail, RFC4871 - if ! use dkim; then - # DKIM is enabled by default - cat >> Makefile <<- EOC - DISABLE_DKIM=yes - EOC - fi - - # Per-Recipient-Data-Response - if ! use prdr; then - # PRDR is enabled by default - cat >> Makefile <<- EOC - DISABLE_PRDR=yes - EOC - fi - - # Transport post-delivery actions - if use !tpda && use !dane; then - # EVENT is enabled by default - cat >> Makefile <<- EOC - DISABLE_EVENT=yes - EOC - fi - - # log to syslog - if use syslog; then - local eximlog="${EPREFIX}/var/log/exim/exim_%s.log" - sed -i \ - -e "s:LOG_FILE_PATH=${eximlog}:LOG_FILE_PATH=syslog:" \ - Makefile || die - cat >> Makefile <<- EOC - LOG_FILE_PATH=syslog - EOC - else - cat >> Makefile <<- EOC - LOG_FILE_PATH=${EPREFIX}/var/log/exim/exim_%s.log - EOC - fi - - # starttls support (ssl) - if use ssl; then - echo "SUPPORT_TLS=yes" >> Makefile - if use gnutls; then - echo "USE_GNUTLS=yes" >> Makefile - echo "USE_GNUTLS_PC=gnutls" >> Makefile - use pkcs11 || echo "AVOID_GNUTLS_PKCS11=yes" >> Makefile - else - echo "USE_OPENSSL_PC=openssl" >> Makefile - fi - fi - - # TCP wrappers - if use tcpd; then - cat >> Makefile <<- EOC - USE_TCP_WRAPPERS=yes - EXTRALIBS_EXIM += -lwrap - EOC - fi - - # Light Mail Transport Protocol - if use lmtp; then - cat >> Makefile <<- EOC - TRANSPORT_LMTP=yes - EOC - fi - - # embedded Perl - if use perl; then - cat >> Makefile <<- EOC - EXIM_PERL=perl.o - EOC - fi - - # dlfunc - if use dlfunc; then - cat >> Makefile <<- EOC - EXPAND_DLFUNC=yes - HAVE_LOCAL_SCAN=yes - DLOPEN_LOCAL_SCAN=yes - EOC - fi - - # Proxy Protocol - if use proxy; then - cat >> Makefile <<- EOC - SUPPORT_PROXY=yes - EOC - fi - - # DANE - if use dane; then - cat >> Makefile <<- EOC - SUPPORT_DANE=yes - EOC - fi - - # Sender Policy Framework - if use spf; then - cat >> Makefile <<- EOC - SUPPORT_SPF=yes - EXTRALIBS_EXIM += -lspf2 - EOC - fi - - # - # experimental features - # - - # Authenticated Receive Chain - if use arc; then - echo "EXPERIMENTAL_ARC=yes">> Makefile - fi - - # Distributed Checksum Clearinghouse - if use dcc; then - echo "EXPERIMENTAL_DCC=yes">> Makefile - fi - - # Sender Rewriting Scheme - if use srs; then - cat >> Makefile <<- EOC - EXPERIMENTAL_SRS=yes - EXTRALIBS_EXIM += -lsrs_alt - EOC - fi - - # DMARC - if use dmarc; then - cat >> Makefile <<- EOC - EXPERIMENTAL_DMARC=yes - EXTRALIBS_EXIM += -lopendmarc - EOC - fi - - # Delivery Sender Notifications extra information in fail message - if use dsn; then - cat >> Makefile <<- EOC - EXPERIMENTAL_DSN_INFO=yes - EOC - fi - - # - # authentication (SMTP AUTH) - # - - # standard bits - cat >> Makefile <<- EOC - AUTH_SPA=yes - AUTH_CRAM_MD5=yes - AUTH_PLAINTEXT=yes - EOC - - # Cyrus SASL - if use sasl; then - cat >> Makefile <<- EOC - CYRUS_SASLAUTHD_SOCKET=${EPREFIX}/run/saslauthd/mux - AUTH_CYRUS_SASL=yes - AUTH_LIBS += -lsasl2 - EOC - fi - - # Dovecot - if use dovecot-sasl; then - cat >> Makefile <<- EOC - AUTH_DOVECOT=yes - EOC - fi - - # Pluggable Authentication Modules - if use pam; then - cat >> Makefile <<- EOC - SUPPORT_PAM=yes - AUTH_LIBS += -lpam - EOC - fi - - # Radius - if use radius; then - cat >> Makefile <<- EOC - RADIUS_CONFIG_FILE=${EPREFIX}/etc/radiusclient/radiusclient.conf - RADIUS_LIB_TYPE=RADIUSCLIENTNEW - AUTH_LIBS += -lfreeradius-client - EOC - fi -} - -src_compile() { - emake CC="$(tc-getCC)" HOSTCC="$(tc-getBUILD_CC)" \ - AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' -} - -src_install() { - cd "${S}"/build-exim-gentoo || die - dosbin exim - if use X; then - dosbin eximon.bin - dosbin eximon - fi - fperms 4755 /usr/sbin/exim - - dosym exim /usr/sbin/sendmail - dosym exim /usr/sbin/rsmtp - dosym exim /usr/sbin/rmail - dosym ../sbin/exim /usr/bin/mailq - dosym ../sbin/exim /usr/bin/newaliases - dosym ../sbin/sendmail /usr/lib/sendmail - - for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \ - exim_tidydb exinext exiwhat exigrep eximstats exiqsumm exiqgrep \ - convert4r3 convert4r4 exipick - do - dosbin $i - done - - dodoc -r "${S}"/doc/. - doman "${S}"/doc/exim.8 - use dsn && dodoc "${S}"/README.DSN - use doc && dodoc "${WORKDIR}"/${PN}-pdf-${PV//rc/RC}/doc/*.pdf - - # conf files - insinto /etc/exim - newins "${S}"/src/configure.default exim.conf.dist - if use exiscan-acl; then - newins "${S}"/src/configure.default exim.conf.exiscan-acl - fi - doins "${WORKDIR}"/system_filter.exim - doins "${FILESDIR}"/auth_conf.sub - - pamd_mimic system-auth exim auth account - - # headers, #436406 - if use dlfunc ; then - # fixup includes so they actually can be found when including - sed -i \ - -e '/#include "\(config\|store\|mytypes\).h"/s:"\(.\+\)":<exim/\1>:' \ - local_scan.h || die - insinto /usr/include/exim - doins {config,local_scan}.h ../src/{mytypes,store}.h - fi - - insinto /etc/logrotate.d - newins "${FILESDIR}/exim.logrotate" exim - - newinitd "${FILESDIR}"/exim.rc10 exim - newconfd "${FILESDIR}"/exim.confd exim - - systemd_dounit \ - "${FILESDIR}"/{exim.service,exim.socket,exim-submission.socket} - systemd_newunit \ - "${FILESDIR}"/exim_at.service 'exim@.service' - systemd_newunit \ - "${FILESDIR}"/exim-submission_at.service 'exim-submission@.service' - - diropts -m 0750 -o ${MAILUSER} -g ${MAILGROUP} - keepdir /var/log/${PN} -} - -pkg_postinst() { - if [[ ! -f ${EROOT}/etc/exim/exim.conf ]] ; then - einfo "${EROOT}/etc/exim/system_filter.exim is a sample system_filter." - einfo "${EROOT}/etc/exim/auth_conf.sub contains the configuration sub" - einfo "for using smtp auth." - einfo "Please create ${EROOT}/etc/exim/exim.conf from" - einfo " ${EROOT}/etc/exim/exim.conf.dist." - fi - if use dcc ; then - einfo "DCC support is experimental, you can find some limited" - einfo "documentation at the bottom of this prerelease message:" - einfo "http://article.gmane.org/gmane.mail.exim.devel/3579" - fi - use srs && einfo "SRS support is experimental" - if use dmarc ; then - einfo "DMARC support is experimental. See global settings to" - einfo "configure DMARC, for usage see the documentation at " - einfo "experimental-spec.txt." - fi - use dsn && einfo "extra information in fail DSN message is experimental" - elog "The obsolete acl condition 'demime' is removed, the replacements" - elog "are the ACLs acl_smtp_mime and acl_not_smtp_mime" -} diff --git a/mail-mta/exim/exim-4.93.0.4.ebuild b/mail-mta/exim/exim-4.93.0.4-r1.ebuild index a7ac64a9ffb4..cb68569b7c84 100644 --- a/mail-mta/exim/exim-4.93.0.4.ebuild +++ b/mail-mta/exim/exim-4.93.0.4-r1.ebuild @@ -36,7 +36,7 @@ HOMEPAGE="https://www.exim.org/" SLOT="0" LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-solaris" COMMON_DEPEND=">=sys-apps/sed-4.0.5 ( >=sys-libs/db-3.2:= <sys-libs/db-6:= ) @@ -114,6 +114,8 @@ src_prepare() { eapply -p0 "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591 eapply "${FILESDIR}"/exim-4.69-r1.27021.patch eapply "${FILESDIR}"/exim-4.93-localscan_dlopen.patch + eapply -p2 "${FILESDIR}"/exim-4.93-radius.patch # 720364 + eapply "${FILESDIR}"/exim-4.93-CVE-2020-12783.patch # 722484 if use maildir ; then eapply "${FILESDIR}"/exim-4.20-maildir.patch @@ -219,11 +221,12 @@ src_configure() { local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2" cat >> Makefile <<- EOC USE_DB=yes - CFLAGS+=-I$(db_includedir ${DB_VERS}) - DBMLIB=-l$(db_libname ${DB_VERS}) LOOKUP_CDB=yes LOOKUP_PASSWD=yes LOOKUP_DSEARCH=yes + # keep include in CFLAGS because exim.h -> dbstuff.h -> db.h + CFLAGS += -I$(db_includedir ${DB_VERS}) + DBMLIB = -l$(db_libname ${DB_VERS}) EOC if ! use dnsdb; then @@ -255,7 +258,8 @@ src_configure() { EOC if use elibc_glibc ; then cat >> Makefile <<- EOC - CFLAGS += -I"${EPREFIX}"/usr/include/tirpc + LOOKUP_INCLUDE += -I"${EPREFIX}"/usr/include/tirpc + LOOKUP_LIBS += -lnsl EOC fi fi diff --git a/mail-mta/exim/files/exim-4.82-makefile-freebsd.patch b/mail-mta/exim/files/exim-4.82-makefile-freebsd.patch deleted file mode 100644 index 9693d4945ad9..000000000000 --- a/mail-mta/exim/files/exim-4.82-makefile-freebsd.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- OS/Makefile-FreeBSD.orig 2013-09-30 19:59:09.000000000 +0200 -+++ OS/Makefile-FreeBSD 2013-09-30 20:01:22.000000000 +0200 -@@ -1,10 +1,8 @@ --# Exim: OS-specific make file for FreeBSD --# There's no setting of CFLAGS here, to allow the system default --# for "make" to be the default. -- --CHOWN_COMMAND=/usr/sbin/chown --STRIP_COMMAND=/usr/bin/strip --CHMOD_COMMAND=/bin/chmod -+# Exim: OS-specific FreeBSD make file, modified for Gentoo Prefix -+ -+CHOWN_COMMAND=look_for_it -+STRIP_COMMAND= -+CHMOD_COMMAND=look_for_it - - HAVE_SA_LEN=YES - -@@ -15,17 +13,9 @@ - CFLAGS_DYNAMIC=-shared -rdynamic -fPIC - - # FreeBSD always ships with Berkeley DB -+DBMLIB = -ldb - USE_DB=yes - --# This code for building outside ports suggested by Richard Clayton --.ifdef X11BASE --X11=${X11BASE} --.elifdef LOCALBASE --X11=$(LOCALBASE) --.else --X11=/usr/local --.endif -- - # nb: FreeBSD is entirely elf; objformat was removed prior to FreeBSD 7 - # http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/objformat/Attic/objformat.c - # deleted Jan 2007. -@@ -37,6 +27,7 @@ - # switch to default to ELF came with FreeBSD 3. elf(5) claims ELF support - # introduced in FreeBSD 2.2.6. - # -+X11=/usr/X11R6 - XINCLUDE=-I$(X11)/include - XLFLAGS=-L$(X11)/lib -Wl,-rpath,${X11}/lib - X11_LD_LIB=$(X11)/lib diff --git a/mail-mta/exim/files/exim-4.89-as-needed-ldflags.patch b/mail-mta/exim/files/exim-4.89-as-needed-ldflags.patch deleted file mode 100644 index 49e430939fcd..000000000000 --- a/mail-mta/exim/files/exim-4.89-as-needed-ldflags.patch +++ /dev/null @@ -1,145 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=352265 - -Make sure LDFLAGS comes first, such that all libraries are considered, -and not discarded when --as-needed is in effect. - -https://bugs.gentoo.org/show_bug.cgi?id=391279 - -Use LDFLAGS for all targets, not just the exim binary, such that ---as-needed works as well. - - ---- OS/Makefile-Base -+++ OS/Makefile-Base -@@ -346,12 +346,12 @@ - buildrouters buildtransports \ - $(OBJ_EXIM) version.o - @echo "$(LNCC) -o exim" -- $(FE)$(PURIFY) $(LNCC) -o exim $(LFLAGS) $(OBJ_EXIM) version.o \ -+ $(FE)$(PURIFY) $(LNCC) -o exim $(LDFLAGS) $(OBJ_EXIM) version.o \ - routers/routers.a transports/transports.a lookups/lookups.a \ - auths/auths.a pdkim/pdkim.a \ - $(LIBRESOLV) $(LIBS) $(LIBS_EXIM) $(IPV6_LIBS) $(EXTRALIBS) \ - $(EXTRALIBS_EXIM) $(DBMLIB) $(LOOKUP_LIBS) $(AUTH_LIBS) \ -- $(PERL_LIBS) $(TLS_LIBS) $(PCRE_LIBS) $(LDFLAGS) -+ $(PERL_LIBS) $(TLS_LIBS) $(PCRE_LIBS) $(LFLAGS) - @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ - echo $(STRIP_COMMAND) exim; \ - $(STRIP_COMMAND) exim; \ -@@ -367,8 +367,8 @@ - - exim_dumpdb: $(OBJ_DUMPDB) - @echo "$(LNCC) -o exim_dumpdb" -- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dumpdb $(LFLAGS) $(OBJ_DUMPDB) \ -- $(LIBS) $(EXTRALIBS) $(DBMLIB) -+ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dumpdb $(LDFLAGS) $(OBJ_DUMPDB) \ -+ $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) - @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ - echo $(STRIP_COMMAND) exim_dumpdb; \ - $(STRIP_COMMAND) exim_dumpdb; \ -@@ -382,8 +382,8 @@ - - exim_fixdb: $(OBJ_FIXDB) buildauths - @echo "$(LNCC) -o exim_fixdb" -- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_fixdb $(LFLAGS) $(OBJ_FIXDB) \ -- auths/auths.a $(LIBS) $(EXTRALIBS) $(DBMLIB) -+ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_fixdb $(LDFLAGS) $(OBJ_FIXDB) \ -+ auths/auths.a $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) - @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ - echo $(STRIP_COMMAND) exim_fixdb; \ - $(STRIP_COMMAND) exim_fixdb; \ -@@ -397,8 +397,8 @@ - - exim_tidydb: $(OBJ_TIDYDB) - @echo "$(LNCC) -o exim_tidydb" -- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_tidydb $(LFLAGS) $(OBJ_TIDYDB) \ -- $(LIBS) $(EXTRALIBS) $(DBMLIB) -+ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_tidydb $(LDFLAGS) $(OBJ_TIDYDB) \ -+ $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) - @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ - echo $(STRIP_COMMAND) exim_tidydb; \ - $(STRIP_COMMAND) exim_tidydb; \ -@@ -410,8 +410,8 @@ - - exim_dbmbuild: exim_dbmbuild.o - @echo "$(LNCC) -o exim_dbmbuild" -- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dbmbuild $(LFLAGS) exim_dbmbuild.o \ -- $(LIBS) $(EXTRALIBS) $(DBMLIB) -+ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dbmbuild $(LDFLAGS) exim_dbmbuild.o \ -+ $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) - @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ - echo $(STRIP_COMMAND) exim_dbmbuild; \ - $(STRIP_COMMAND) exim_dbmbuild; \ -@@ -425,8 +425,8 @@ - @echo "$(CC) exim_lock.c" - $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) exim_lock.c - @echo "$(LNCC) -o exim_lock" -- $(FE)$(LNCC) -o exim_lock $(LFLAGS) exim_lock.o \ -- $(LIBS) $(EXTRALIBS) -+ $(FE)$(LNCC) -o exim_lock $(LDFLAGS) exim_lock.o \ -+ $(LIBS) $(EXTRALIBS) $(LFLAGS) - @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ - echo $(STRIP_COMMAND) exim_lock; \ - $(STRIP_COMMAND) exim_lock; \ -@@ -462,9 +462,9 @@ - $(FE)$(CC) -o em_version.o -c \ - $(CFLAGS) $(XINCLUDE) -I. ../exim_monitor/em_version.c - @echo "$(LNCC) -o eximon.bin" -- $(FE)$(PURIFY) $(LNCC) -o eximon.bin em_version.o $(LFLAGS) $(XLFLAGS) \ -+ $(FE)$(PURIFY) $(LNCC) -o eximon.bin em_version.o $(LDFLAGS) $(XLFLAGS) \ - $(OBJ_MONBIN) -lXaw -lXmu -lXt -lXext -lX11 $(PCRE_LIBS) \ -- $(LIBS) $(LIBS_EXIMON) $(EXTRALIBS) $(EXTRALIBS_EXIMON) -lc -+ $(LIBS) $(LIBS_EXIMON) $(EXTRALIBS) $(EXTRALIBS_EXIMON) -lc $(LFLAGS) - @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ - echo $(STRIP_COMMAND) eximon.bin; \ - $(STRIP_COMMAND) eximon.bin; \ -@@ -780,9 +780,9 @@ - string.o tod.o version.o utf8.o - $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE dbfn.c - $(CC) -c $(CFLAGS) $(INCLUDE) -DCOMPILE_UTILITY store.c -- $(LNCC) -o test_dbfn $(LFLAGS) dbfn.o \ -+ $(LNCC) -o test_dbfn $(LDFLAGS) dbfn.o \ - dummies.o sa-globals.o sa-os.o store.o string.o \ -- tod.o version.o utf8.o $(LIBS) $(DBMLIB) $(LDFLAGS) -+ tod.o version.o utf8.o $(LIBS) $(DBMLIB) $(LFLAGS) - rm -f dbfn.o store.o - - test_host: config.h child.c host.c dns.c dummies.c sa-globals.o os.o \ -@@ -790,29 +790,29 @@ - $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE -DTEST_HOST host.c - $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE -DTEST_HOST dns.c - $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE -DTEST_HOST dummies.c -- $(LNCC) -o test_host $(LFLAGS) \ -+ $(LNCC) -o test_host $(LDFLAGS) \ - host.o child.o dns.o dummies.o sa-globals.o os.o store.o string.o \ -- tod.o tree.o $(LIBS) $(LIBRESOLV) -+ tod.o tree.o $(LIBS) $(LIBRESOLV) $(LFLAGS) - rm -f child.o dummies.o host.o dns.o - - test_os: os.h os.c dummies.o sa-globals.o store.o string.o tod.o utf8.o - $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE os.c -- $(LNCC) -o test_os $(LFLAGS) os.o dummies.o \ -- sa-globals.o store.o string.o tod.o utf8.o $(LIBS) $(LDFLAGS) -+ $(LNCC) -o test_os $(LDFLAGS) os.o dummies.o \ -+ sa-globals.o store.o string.o tod.o utf8.o $(LIBS) $(LFLAGS) - rm -f os.o - - test_parse: config.h parse.c dummies.o sa-globals.o \ - store.o string.o tod.o version.o utf8.o - $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE parse.c -- $(LNCC) -o test_parse $(LFLAGS) parse.o \ -+ $(LNCC) -o test_parse $(LDFLAGS) parse.o \ - dummies.o sa-globals.o store.o string.o tod.o version.o \ -- utf8.o $(LDFLAGS) -+ utf8.o $(LFLAGS) - rm -f parse.o - - test_string: config.h string.c dummies.o sa-globals.o store.o tod.o utf8.o - $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE string.c -- $(LNCC) -o test_string $(LFLAGS) -DSTAND_ALONE string.o \ -- dummies.o sa-globals.o store.o tod.o utf8.o $(LIBS) $(LDFLAGS) -+ $(LNCC) -o test_string $(LDFLAGS) -DSTAND_ALONE string.o \ -+ dummies.o sa-globals.o store.o tod.o utf8.o $(LIBS) $(LFLAGS) - rm -f string.o - - # End diff --git a/mail-mta/exim/files/exim-4.92-fix-eval-expansion-32bit.patch b/mail-mta/exim/files/exim-4.92-fix-eval-expansion-32bit.patch deleted file mode 100644 index 17d7d21113de..000000000000 --- a/mail-mta/exim/files/exim-4.92-fix-eval-expansion-32bit.patch +++ /dev/null @@ -1,51 +0,0 @@ -Extract from complete patch from -https://git.exim.org/exim.git/patch/26dd3aa007b3b77969610c031f59388e0953bd00 -to only take the buildconfig.c change because the git directory -structure is different from a release tarball causing this patch to fail -otherwise. - -From 26dd3aa007b3b77969610c031f59388e0953bd00 Mon Sep 17 00:00:00 2001 -From: Jeremy Harris <jgh146exb@wizmail.org> -Date: Fri, 7 Jun 2019 11:54:10 +0100 -Subject: [PATCH] Fix detection of 32b platform at build time. Bug 2405 - ---- - src/src/buildconfig.c | 12 +++++--- - test/scripts/0000-Basic/0002 | 72 +++++++++++++++++++++++--------------------- - test/stdout/0002 | 72 +++++++++++++++++++++++--------------------- - 3 files changed, 83 insertions(+), 73 deletions(-) - -diff --git a/src/src/buildconfig.c b/src/src/buildconfig.c -index 71cf97b..a680b34 100644 ---- a/src/src/buildconfig.c -+++ b/src/src/buildconfig.c -@@ -111,6 +111,7 @@ unsigned long test_ulong_t = 0L; - unsigned int test_uint_t = 0; - #endif - long test_long_t = 0; -+long long test_longlong_t = 0; - int test_int_t = 0; - FILE *base; - FILE *new; -@@ -155,15 +156,16 @@ This assumption is known to be OK for the common operating systems. */ - - fprintf(new, "#ifndef OFF_T_FMT\n"); - if (sizeof(test_off_t) > sizeof(test_long_t)) -- { - fprintf(new, "# define OFF_T_FMT \"%%lld\"\n"); -- fprintf(new, "# define LONGLONG_T long long int\n"); -- } - else -- { - fprintf(new, "# define OFF_T_FMT \"%%ld\"\n"); -+fprintf(new, "#endif\n\n"); -+ -+fprintf(new, "#ifndef LONGLONG_T\n"); -+if (sizeof(test_longlong_t) > sizeof(test_long_t)) -+ fprintf(new, "# define LONGLONG_T long long int\n"); -+else - fprintf(new, "# define LONGLONG_T long int\n"); -- } - fprintf(new, "#endif\n\n"); - - /* Now do the same thing for time_t variables. If the length is greater than diff --git a/mail-mta/exim/files/exim-4.92-localscan_dlopen.patch b/mail-mta/exim/files/exim-4.92-localscan_dlopen.patch deleted file mode 100644 index 57363e56d50e..000000000000 --- a/mail-mta/exim/files/exim-4.92-localscan_dlopen.patch +++ /dev/null @@ -1,267 +0,0 @@ -diff -ur exim-4.92.orig/src/config.h.defaults exim-4.92/src/config.h.defaults ---- exim-4.92.orig/src/config.h.defaults 2019-01-30 14:59:52.000000000 +0100 -+++ exim-4.92/src/config.h.defaults 2019-02-16 18:17:24.547216157 +0100 -@@ -32,6 +32,8 @@ - - #define AUTH_VARS 3 - -+#define DLOPEN_LOCAL_SCAN -+ - #define BIN_DIRECTORY - - #define CONFIGURE_FILE -Only in exim-4.92/src: config.h.defaults.orig -diff -ur exim-4.92.orig/src/EDITME exim-4.92/src/EDITME ---- exim-4.92.orig/src/EDITME 2019-01-30 14:59:52.000000000 +0100 -+++ exim-4.92/src/EDITME 2019-02-16 18:17:24.547216157 +0100 -@@ -824,6 +824,24 @@ - - - #------------------------------------------------------------------------------ -+# 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 -+ifeq ($(OSTYPE),Linux) -+LFLAGS += -ldl -+endif -+ -+ -+#------------------------------------------------------------------------------ - # 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 -Only in exim-4.92/src: EDITME.orig -diff -ur exim-4.92.orig/src/globals.c exim-4.92/src/globals.c ---- exim-4.92.orig/src/globals.c 2019-01-30 14:59:52.000000000 +0100 -+++ exim-4.92/src/globals.c 2019-02-16 18:17:24.549216150 +0100 -@@ -41,6 +41,10 @@ - - uschar *no_aliases = NULL; - -+#ifdef DLOPEN_LOCAL_SCAN -+uschar *local_scan_path = NULL; -+#endif -+ - - /* For comments on these variables, see globals.h. I'm too idle to - duplicate them here... */ -Only in exim-4.92/src: globals.c.orig -diff -ur exim-4.92.orig/src/globals.h exim-4.92/src/globals.h ---- exim-4.92.orig/src/globals.h 2019-01-30 14:59:52.000000000 +0100 -+++ exim-4.92/src/globals.h 2019-02-16 18:17:24.549216150 +0100 -@@ -152,6 +152,9 @@ - extern int (*receive_ferror)(void); - extern BOOL (*receive_smtp_buffered)(void); - -+#ifdef DLOPEN_LOCAL_SCAN -+extern uschar *local_scan_path; /* Path to local_scan() library */ -+#endif - - /* For clearing, saving, restoring address expansion variables. We have to have - the size of this vector set explicitly, because it is referenced from more than -Only in exim-4.92/src: globals.h.orig -diff -ur exim-4.92.orig/src/local_scan.c exim-4.92/src/local_scan.c ---- exim-4.92.orig/src/local_scan.c 2019-01-30 14:59:52.000000000 +0100 -+++ exim-4.92/src/local_scan.c 2019-02-16 18:29:56.832732592 +0100 -@@ -5,61 +5,131 @@ - /* Copyright (c) University of Cambridge 1995 - 2009 */ - /* 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 -- --HAVE_LOCAL_SCAN=yes --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 -ur exim-4.92.orig/src/readconf.c exim-4.92/src/readconf.c ---- exim-4.92.orig/src/readconf.c 2019-01-30 14:59:52.000000000 +0100 -+++ exim-4.92/src/readconf.c 2019-02-16 18:18:46.013947455 +0100 -@@ -199,6 +199,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 - #ifdef HAVE_LOCAL_SCAN - { "local_scan_timeout", opt_time, &local_scan_timeout }, - #endif diff --git a/mail-mta/exim/files/exim-4.93-CVE-2020-12783.patch b/mail-mta/exim/files/exim-4.93-CVE-2020-12783.patch new file mode 100644 index 000000000000..c957d5541e47 --- /dev/null +++ b/mail-mta/exim/files/exim-4.93-CVE-2020-12783.patch @@ -0,0 +1,83 @@ +auths/spa: fix for CVE-2020-12783 + +This is a combined patch of git commits: + +57aa14b216432be381b6295c312065b2fd034f86 +a04174dc2a84ae1008c23b6a7109e7fa3fb7b8b0 + +leaving out whitespace noise for a smaller patch +and made it apply to the 4.93 release + +modified paths because Exim dists differ in layout from the git repo + +Fix SPA authenticator, checking client-supplied data before using it. Bug 2571 +Rework SPA fix to avoid overflows. Bug 2571 + + +--- a/src/auths/auth-spa.c ++++ b/src/auths/auth-spa.c +@@ -405,7 +405,7 @@ int + /* base 64 to raw bytes in quasi-big-endian order, returning count of bytes */ + { + int len = 0; +- register uschar digit1, digit2, digit3, digit4; ++ uschar digit1, digit2, digit3, digit4; + + if (in[0] == '+' && in[1] == ' ') + in += 2; +--- a/src/auths/spa.c ++++ b/src/auths/spa.c +@@ -139,7 +139,8 @@ SPAAuthChallenge challenge; + SPAAuthResponse response; + SPAAuthResponse *responseptr = &response; + uschar msgbuf[2048]; +-uschar *clearpass; ++uschar *clearpass, *s; ++unsigned off; + + /* send a 334, MS Exchange style, and grab the client's request, + unless we already have it via an initial response. */ +@@ -194,9 +195,19 @@ that causes failure if the size of msgbuf is exceeded. ****/ + + { + int i; +- char *p = ((char*)responseptr) + IVAL(&responseptr->uUser.offset,0); ++ char * p; + int len = SVAL(&responseptr->uUser.len,0)/2; + ++ if ( (off = IVAL(&responseptr->uUser.offset,0)) >= sizeof(SPAAuthResponse) ++ || len >= sizeof(responseptr->buffer)/2 ++ || (p = (CS responseptr) + off) + len*2 >= CS (responseptr+1) ++ ) ++ { ++ DEBUG(D_auth) ++ debug_printf("auth_spa_server(): bad uUser spec in response\n"); ++ return FAIL; ++ } ++ + if (len + 1 >= sizeof(msgbuf)) return FAIL; + for (i = 0; i < len; ++i) + { +@@ -245,12 +256,16 @@ spa_smb_nt_encrypt(clearpass, challenge.challengeData, ntRespData); + + /* compare NT hash (LM may not be available) */ + +-if (memcmp(ntRespData, +- ((unsigned char*)responseptr)+IVAL(&responseptr->ntResponse.offset,0), +- 24) == 0) +- /* success. we have a winner. */ +- { ++off = IVAL(&responseptr->ntResponse.offset,0); ++if (off >= sizeof(SPAAuthResponse) - 24) ++ { ++ DEBUG(D_auth) ++ debug_printf("auth_spa_server(): bad ntRespData spec in response\n"); ++ return FAIL; ++ } ++s = (US responseptr) + off; ++ ++if (memcmp(ntRespData, s, 24) == 0) + return auth_check_serv_cond(ablock); +- } + + /* Expand server_condition as an authorization check (PH) */ diff --git a/mail-mta/exim/files/exim-4.93-localscan_dlopen.patch b/mail-mta/exim/files/exim-4.93-localscan_dlopen.patch index d2a5e63128aa..0d016dbeb26d 100644 --- a/mail-mta/exim/files/exim-4.93-localscan_dlopen.patch +++ b/mail-mta/exim/files/exim-4.93-localscan_dlopen.patch @@ -72,7 +72,7 @@ Only in exim-4.92/src: globals.h.orig diff -ur exim-4.92.orig/src/local_scan.c exim-4.92/src/local_scan.c --- exim-4.92.orig/src/local_scan.c 2019-01-30 14:59:52.000000000 +0100 +++ exim-4.92/src/local_scan.c 2019-02-16 18:29:56.832732592 +0100 -@@ -5,61 +5,131 @@ +@@ -5,61 +5,133 @@ /* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -126,9 +126,11 @@ diff -ur exim-4.92.orig/src/local_scan.c exim-4.92/src/local_scan.c - is used in the rejection message. -*/ +#ifdef DLOPEN_LOCAL_SCAN ++#include <stdlib.h> +#include <dlfcn.h> +static int (*local_scan_fn)(int fd, uschar **return_text) = NULL; +static int load_local_scan_library(void); ++extern uschar *local_scan_path; /* Path to local_scan() library */ +#endif int diff --git a/mail-mta/exim/files/exim-4.93-radius.patch b/mail-mta/exim/files/exim-4.93-radius.patch new file mode 100644 index 000000000000..55c52bee561f --- /dev/null +++ b/mail-mta/exim/files/exim-4.93-radius.patch @@ -0,0 +1,66 @@ +From 70b28b113e21d21a528876c3abe88ccb5f7cc77d Mon Sep 17 00:00:00 2001 +From: Fabian Groffen <grobian@gentoo.org> +Date: Sat, 9 May 2020 11:35:12 +0200 +Subject: [PATCH] call_radius: fix compilation due to incorrect usage of + string_sprintf + +Since f3ebb786e451da973560f1c9d8cdb151d25108b5, string_sprintf cannot be +used without arguments any more, so use US directly. + +While at it, also make newline usage consistent to not return a newline +in errptr, when it is debug-printed, a newline is added. + +https://bugs.gentoo.org/720364 + +Signed-off-by: Fabian Groffen <grobian@gentoo.org> +--- + src/src/auths/call_radius.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/src/auths/call_radius.c b/src/src/auths/call_radius.c +index c3637436d..253fd75cd 100644 +--- a/src/src/auths/call_radius.c ++++ b/src/src/auths/call_radius.c +@@ -115,16 +115,16 @@ if (rc_read_config(RADIUS_CONFIG_FILE) != 0) + *errptr = string_sprintf("RADIUS: can't open %s", RADIUS_CONFIG_FILE); + + else if (rc_read_dictionary(rc_conf_str("dictionary")) != 0) +- *errptr = string_sprintf("RADIUS: can't read dictionary"); ++ *errptr = US("RADIUS: can't read dictionary"); + + else if (rc_avpair_add(&send, PW_USER_NAME, user, 0) == NULL) +- *errptr = string_sprintf("RADIUS: add user name failed\n"); ++ *errptr = US("RADIUS: add user name failed"); + + else if (rc_avpair_add(&send, PW_USER_PASSWORD, CS radius_args, 0) == NULL) +- *errptr = string_sprintf("RADIUS: add password failed\n"); ++ *errptr = US("RADIUS: add password failed"); + + else if (rc_avpair_add(&send, PW_SERVICE_TYPE, &service, 0) == NULL) +- *errptr = string_sprintf("RADIUS: add service type failed\n"); ++ *errptr = US("RADIUS: add service type failed"); + + #else /* RADIUS_LIB_RADIUSCLIENT unset => RADIUS_LIB_RADIUSCLIENT2 */ + +@@ -132,17 +132,17 @@ if ((h = rc_read_config(RADIUS_CONFIG_FILE)) == NULL) + *errptr = string_sprintf("RADIUS: can't open %s", RADIUS_CONFIG_FILE); + + else if (rc_read_dictionary(h, rc_conf_str(h, "dictionary")) != 0) +- *errptr = string_sprintf("RADIUS: can't read dictionary"); ++ *errptr = US("RADIUS: can't read dictionary"); + + else if (rc_avpair_add(h, &send, PW_USER_NAME, user, Ustrlen(user), 0) == NULL) +- *errptr = string_sprintf("RADIUS: add user name failed\n"); ++ *errptr = US("RADIUS: add user name failed"); + + else if (rc_avpair_add(h, &send, PW_USER_PASSWORD, CS radius_args, + Ustrlen(radius_args), 0) == NULL) +- *errptr = string_sprintf("RADIUS: add password failed\n"); ++ *errptr = US("RADIUS: add password failed"); + + else if (rc_avpair_add(h, &send, PW_SERVICE_TYPE, &service, 0, 0) == NULL) +- *errptr = string_sprintf("RADIUS: add service type failed\n"); ++ *errptr = US("RADIUS: add service type failed"); + + #endif /* RADIUS_LIB_RADIUSCLIENT */ + diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest index 17c684961fef..a279abf80573 100644 --- a/mail-mta/postfix/Manifest +++ b/mail-mta/postfix/Manifest @@ -10,10 +10,10 @@ DIST postfix-3.4.10.tar.gz 4573370 BLAKE2B 57ed51539de2c06bdc8d5105ab28b06d9d9ae DIST postfix-3.4.9.tar.gz 4573241 BLAKE2B 6f6bd977d4670328aa89a296c0d92d7022a85e289b5197ad46f80e0fb88af565ca93f2affab50c742dd05010aa9a9ea2a68264c07f986ad39a6c1d7d6dec8300 SHA512 9038850d79bf19460d55dede2dd97e6f4bd8255363b4004704e5f0493bf9b1c0729f5bb11663ba6f6ed34177205609f72401b0f55d1d9dbce5398b4603a0a991 DIST postfix-3.5.0.tar.gz 4609501 BLAKE2B 476520658c64ea2ee8b04896196d83bd2955613a6c2f80c66f8483ff5872bfe4480bf624485be80005c5eb1d73478fc59b90ee5eb44f903da324d5d261124d33 SHA512 7633687c8f9fb4f7204443dda66c1234b8ae121ae750916b23ea7cd16f2fd5944c0e4541c51cbdeb66f51437e3186433bbb9d2b1f538002a3c8aaeb6ddbfe154 DIST postfix-3.5.1.tar.gz 4609587 BLAKE2B 94b06ed536417ca72729d93f03d4fa2dce602508e4c5816ad902740d4203ad3df66d7380ea41859ab75ab327c0f53bc2bbaf09ba45fe83490d02808426a6253d SHA512 9c091cda6c2d54fefc7093736f69dc60dc4d9d2d858260bde1430427bc49caa59f81aea7a992b9764998a4edaaa015ddd50392b8f0a1bccd15f52b563887a698 -DIST postfix-3.6-20200419.tar.gz 4629420 BLAKE2B 44c1a00b333b8b45b4cba599e446f086baa09d5ffd1ae3f21b8d0f73ca35a36af2435cfc35501280955ebe931801a908bab130b8ff295c791cff3fa81d37c23a SHA512 f33664bb598cbfeafffb44ff72cf62cea044580f4a193e12e7f13233aed93e10a536061331e5635b52fe42c0fb0332fe59340c32f105dc6a6182cfc5ee6543a5 +DIST postfix-3.6-20200511.tar.gz 4643850 BLAKE2B 1226d0582966fe2494e43a6608ab0b890c6e78fe9a784dece3bb3a55592a37cddbf2bff382b5266df373e501c589eb4be6f9fa3c464c576d899ff85669f98024 SHA512 bf2b5840f06ec87abb4383d166825fc26451e35735c33b57dd465cf64250b659b7bba8c35b27846e66a6dce93dbd339488d43e45e30af96044ad09864cab9f56 EBUILD postfix-3.4.10.ebuild 8940 BLAKE2B f0e8378164c42ddbda74d5eb0742e510603f33a8241110b9a02dc2e4c89979c4cf8966a7acff065a29fc884c5770a2a8bbc5429e07f9bad7f5df0a2092083334 SHA512 c071a9601a57107a3a22fcb0ee47484706bf23f53492fcc18c271829bc97509da8edb26ab7a245b8992a0e48bd77dc111e39262d75bbb999a3a3a9e958dd910e EBUILD postfix-3.4.9.ebuild 8935 BLAKE2B fcca6dbae7d9ffb6d5397b1c70b23869bc2c4e33d12e840b380a3405278ac6576b8e8bf8138ab6b38aace484b91d3091e46eeb6f3eb2941b3d21853f3389586d SHA512 b89a403c4ab6c14174c2474787e8b9bc9a3b4307475a8b29cb0a224f3c536a0356c0477dd4fbc54e756701d59fe5eb394bcd43a20219b67e49fd7f40b4b43641 EBUILD postfix-3.5.0.ebuild 8835 BLAKE2B 783402f5b3fb51890afbba59bb042fdfc26726804ede9d523882f759c870fbfcb63a66463100bc8bb5d21e1030c59a887de263239b4e0f9e37f38fd2383ddef7 SHA512 db14226c5259442c15a3c0ef3ec9bb6b00e331840df15764e6eec2f9bb8d6d93475334924445f31e1b8d1460da9d3c24f07f94809e5dea11149e6c7d0e6781ef EBUILD postfix-3.5.1.ebuild 8835 BLAKE2B 783402f5b3fb51890afbba59bb042fdfc26726804ede9d523882f759c870fbfcb63a66463100bc8bb5d21e1030c59a887de263239b4e0f9e37f38fd2383ddef7 SHA512 db14226c5259442c15a3c0ef3ec9bb6b00e331840df15764e6eec2f9bb8d6d93475334924445f31e1b8d1460da9d3c24f07f94809e5dea11149e6c7d0e6781ef -EBUILD postfix-3.6_pre20200419.ebuild 8117 BLAKE2B 1468eefc69666723812aa440b38bfa6913c63b8044b221a6369ae7006a14ebc3968bb0df91103c7daa97864986acdf9f8cf836c495a424b4b33594747dc58847 SHA512 af5af7b2a8ddd2cd769ed4b56942cbdae05d01afadc9ccaa0ab575f80fd4973f407af2e82b129a575ac7f36a5c4a5114949bd849eef0e29fa073e2610207fbcf +EBUILD postfix-3.6_pre20200511.ebuild 8117 BLAKE2B 1468eefc69666723812aa440b38bfa6913c63b8044b221a6369ae7006a14ebc3968bb0df91103c7daa97864986acdf9f8cf836c495a424b4b33594747dc58847 SHA512 af5af7b2a8ddd2cd769ed4b56942cbdae05d01afadc9ccaa0ab575f80fd4973f407af2e82b129a575ac7f36a5c4a5114949bd849eef0e29fa073e2610207fbcf MISC metadata.xml 939 BLAKE2B 01474efe62df1eda9a3ba5976847064d615b3c32d9c71838354ef375c851c7ab4d1fcc2bc0d2945ce3d259fc6a698938cee6d1354c4e0f02f1e66395e377a0c5 SHA512 8602700c2a21b66ecf2c024c06ce23452f7effd9c06a5d58c1ccb351bcdef43a3c89575cc9136efc72fcd4e06ecb0654017b51bb145e7ffeeda771e3f4e7a673 diff --git a/mail-mta/postfix/postfix-3.6_pre20200419.ebuild b/mail-mta/postfix/postfix-3.6_pre20200511.ebuild index fc79ce127b82..fc79ce127b82 100644 --- a/mail-mta/postfix/postfix-3.6_pre20200419.ebuild +++ b/mail-mta/postfix/postfix-3.6_pre20200511.ebuild |