diff options
Diffstat (limited to 'mail-mta')
24 files changed, 1400 insertions, 121 deletions
diff --git a/mail-mta/Manifest.gz b/mail-mta/Manifest.gz Binary files differindex 2cbb8bec48c3..bc1c95e6e3fe 100644 --- a/mail-mta/Manifest.gz +++ b/mail-mta/Manifest.gz diff --git a/mail-mta/courier/Manifest b/mail-mta/courier/Manifest index 0f6d71594815..88e6585bf752 100644 --- a/mail-mta/courier/Manifest +++ b/mail-mta/courier/Manifest @@ -3,5 +3,5 @@ AUX courier-init-r4 4965 BLAKE2B 09f29543599abfb6dd5df058f832e979bde471be3f9d293 AUX norewrite.patch 489 BLAKE2B f4ed2e1af731811d8da96ee817335016c5ec9a77a53ccd194360e95804f71e7c7825511f1831f1575f77cec35d72f12d39c02f8d10524fc189ff64b8a1a7fb9b SHA512 e9e95bd5d1a78b510f6dd7e155999089f123eecfdc16d3b5005b00981a7b6d29827cdddc61035ed3c3edcf0b9907ddfbae76df6503a1a8ef26b4de43a02bfc8e AUX password.dist 247 BLAKE2B 1803a6663c32ccc74c4dfb1d591a01d4416f9de9c4bf35c9a7ca277c2007b8c29a8899f4285c78eeb8592766457eef0caf377a344adee7a61be15bbf8b80c7de SHA512 f488b0ab1a909c9b878b9f3f3147641a9ed6d8d2ad44c67cd641934b800b18a62de2a7f5f51fdbecfbbcdd7c39c753734984cc0836c905a3b708858e1b91093d DIST courier-1.0.5.tar.bz2 7465054 BLAKE2B 55e9ba2a85889e7210652475149f4d3e687fd63a27b44a5a16c888b2f60bb18c4156e3344792585fed2ee3d81770e79c55ce5791842c255b8701bad5d2f8af4e SHA512 99a8e98633da99abd1f6f4e24328d4655526d51dc9fc03ffcb9c1e0cce0e608dedb2ac9511829af4487ff5af4618500d6fbbee26568f2a05e3c9d3cf3b48b2a5 -EBUILD courier-1.0.5.ebuild 9537 BLAKE2B 6c633b6d7f99d85452e5bccc6c4b9bbddde1f2fb9d19a55b0acc311f470af8226e9f116a0d5ef92bb48dc97e35204727f5d1705e188f2fad0bfdcd0e4f95e6be SHA512 bf4a3a015b6c17f59226e1d085875bc26d5135c1aec9c36aa66f20b4f42454b18b6ffbd9899338ffa1b353ceb60990f78c31d38d84c7a2a5196813053fcbe2fd +EBUILD courier-1.0.5.ebuild 9509 BLAKE2B d94070e3c460ad29b849595fd1b5587eb4dc407245cc12f09c93cb9cbaac77e01a6e518db83b6a6ad1d9be64230c36497bfb819cc9778d63bc21b54ed65b74d4 SHA512 0788933db2fddcadf5f8437c923af7d993deab18aaa2cbde682a790ab0bd572c0ff4d60ef312268b62c1abbbf904577f4f2cdca9e98da3ab509c1d9432d79b10 MISC metadata.xml 755 BLAKE2B 8ec0dd31ad59193d95585ab88f0bac6ced87132444a4136b2c2f80458a11f5296c42283574c3b56c26a31dad25fff530ebbfbf1ef467a1b824d11afe93a6da31 SHA512 de15af05e98deba4d3b297b4301439d892c3ba0d8af30ca459fcac72bf0179de87bf11260b8bfdb3827dd1f0e5123d68817766ffe037cece9c30adb3e8bd8b06 diff --git a/mail-mta/courier/courier-1.0.5.ebuild b/mail-mta/courier/courier-1.0.5.ebuild index 845fd449bf7f..b165cabcf331 100644 --- a/mail-mta/courier/courier-1.0.5.ebuild +++ b/mail-mta/courier/courier-1.0.5.ebuild @@ -242,7 +242,7 @@ src_install() { src_test() { if [ `whoami` != 'root' ]; then - emake -j1 check || die "Make check failed." + emake -j1 check else einfo "make check skipped, can't run as root." einfo "You can enable it with FEATURES=\"userpriv\"" diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest index b67bd443edd8..296a3bc94c60 100644 --- a/mail-mta/exim/Manifest +++ b/mail-mta/exim/Manifest @@ -9,6 +9,8 @@ AUX exim-4.82-makefile-freebsd.patch 1252 BLAKE2B 29c58b487850e28e0b2dfd5bbaa7e8 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-as-needed-ldflags.patch 6013 BLAKE2B 2de473f089a36cabd5481020524dcb2efb7a5681b224608a8454aebc70e07f7776fe812f02fa5d81fb80b25bc2cc154924953d173d65664b1e576176a01191b9 SHA512 df6c18a7d092d9069dd6d4177154681197de86ab41dbd399055ad663cbd0c7da149f8bbcb7c888965851475ee2cf891dc934f1d5ad7a4ea3dc46a54ece582418 +AUX exim-4.93-localscan_dlopen.patch 9489 BLAKE2B 433a4328d627b742c3aba11daadb2566a0e94bad7f02626ada56ba44336c02ceb12351f81726102398f7d0800ecd0a859751ac72ae4e15053964031e35c88f8d SHA512 3d9844373c6c8372e5f4feccf441e4ecc207feac1fd0a4295a28dc69d7ad05aff63d5fde869b3d35f9dea7e63965a013c753cc82866b0ff6d29bab03198c0b2d 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,9 +21,12 @@ AUX exim.socket 139 BLAKE2B bb8281a98fdac1b52031d5250fd1e658bf5a2c32e24b49ed0daa AUX exim_at.service 140 BLAKE2B 8624f4a555e2acdc7aaf917952c4152ad00dc063a51076aefa1d023d47d5f7fe8b268f3308734f363ed9628cd8551ccac7fc369657e0fdf65507d2e6419f704c SHA512 11c8133ee15b3e5193c9b1c59aed66c81b6e045dd23310bede9fcde6c88905db5ef08afdb798b53b75a7465915ea1247e980edf95db07a7f9b7bb58ce95fbb5a DIST exim-4.92.2.tar.xz 1772688 BLAKE2B 618c70e26811d0e6d453a4b88ab1cdb9e337a9ca8ceec50aee665b1493c75157001483cf9721e3d57313a90910d2605717b2c4be4174c2897b3f992af01c1c26 SHA512 d27aca4d4e9df267b0afcbe7b3f74c9ca6e96e7e6eb4d2f86ff00b0e2234eaec90271405eb387a36a2e0d4ec5597b2920753f85318a5618ddbc8af475a7d81cd DIST exim-4.92.3.tar.xz 1773156 BLAKE2B 7866c23c862f5b5aadac709279f9ed376e526e90e8ca09d41c1789041ec0a3ecd48f8d2237e4d462e547efa2178babd5942d3142fef7419e16d1707fe23fa226 SHA512 ca6d6f50653502345511b683859b33aa02faa48454fb2100ff89fed3dcb8af8933e7bce68939365fdee42f96eec0c3b135cf748f4581e92a62be0f0ab093868a +DIST exim-4.93.0.3.tar.xz 1804240 BLAKE2B 15974e0356640d6deacd82263071cbde76dd88bf7e290de5e04bfcee87f2f11142f03de7d46112942bd052c9f154927eabaaf124d78ae0d1d8e5e33b025763b8 SHA512 8afece1059e4ada85f6ecef8197cf2ac5b56274f8c2e1bdd785e0470d37bb1e8b4fe225650ac03302824e3a7fe0a6db1641c6218edc8394a70adcc48af46a1d5 DIST exim-pdf-4.92.2.tar.xz 2039468 BLAKE2B 3542bb5d38267bb06728ada72cfa89f06027b917799e743a1764cb7568cf0ba4cdbc5b40738c3ae41c9540d348810b388d74ad315a201f2740a5a0b79e83f904 SHA512 da90354cd8133103f08b978dd0422fd1a00e5866cd3f40e523d06875fb8b31163d7fe9791f1cf81d15bc63b16fc7f6bb98cf28c3036d054464336c07245b3c91 DIST exim-pdf-4.92.3.tar.xz 2039436 BLAKE2B 8d20e7f0ebfcb573d08b490737923afc2cd2d5837f5c91bd2f3e6b5e637d86a5d5a59123c57ba9219ead675c72bfc46351d5b705d9533fab80bedeeca8bdd580 SHA512 3245a627a924db92e5a50e842e096731d08284f757274b5083ea234707c493abd6f27a3b34a2025e3acff167260df0f4ebe68b9f5832920c5f22c258143ab43f +DIST exim-pdf-4.93.0.3.tar.xz 2069756 BLAKE2B 5d551e3b0f5e729a1551faa0ce34ea559bfe6e60e7ab7705d576d18d36c0bac3bf5431633981ec477bc133a0592154795760101137b0512e4ad52953bbde043a SHA512 fcc14a89098aec895797f4908e6ddeaded39a9913a6f032a253e3878a2499ed20bb3b3822f19bbf3e53962590bacb250a8293d2e67250e4f6eae6ad4c75054d2 DIST system_filter.exim.gz 3075 BLAKE2B d05e872b5cef377d29126cda03fc0a74c8777b2119b76ff43da6e8de808035eb9bfcb034a85d81824f135d484e864bfc0629fc1af2c228a7277d5ee7cf9cde79 SHA512 cb358d3ce2499a0bb5920d962a06f2af8486e55ec90c8c928bd8e3aefb279aa57f5f960d5adfcef68bd94110b405eaa144e9629cfe6014a529c79c544600bbf3 -EBUILD exim-4.92.2.ebuild 13593 BLAKE2B 5a8b94f227eb6031d5abf0a908751278126925103700235b7682b9b278b8873fd2968a7717ab75b06bd24831560151029853e3c2dbeb2a03b46bba3358b303d4 SHA512 8cfb8c00e62c51837ac1be5b5eee02e933d30c68f4a13921a5a3217864023e9f879115afac5f9435d2ed15672d6decdd2adf2af7055c4367427c9a884fc4d200 -EBUILD exim-4.92.3.ebuild 13602 BLAKE2B 5975361db550a4b075734ee0ea534ec945ca1054d8fac35f027b44aed26833cea75fdd40cb56dc341c6575dfe3b3fa0ef612d0c8651427828a4cb3eea9642a62 SHA512 cf0b9c6ccbb9f352d3f4d8c49c7f0fc4981869809bb5ebfbc58634c01b0f1203f137d891f8307dc4cee0cba6f23bca1a3e974461c51e23da138a0f14821816f1 +EBUILD exim-4.92.2.ebuild 13568 BLAKE2B 4d9ba362db73466714687cc31182398828eaad303487061961e422b5c29171b6cb52e7d3143aaa5289f54df8f3ec0c977b9ebd4d6c9053e7e9b82ca441657983 SHA512 1122156b3f8191473e1b5cc0a8e13014e7685d6f1ebc75d13198395aeb35aa816c1a635d5cb2945ef9cd0952f3065d2077d8c626f68de389e45d1ae4fa9e9562 +EBUILD exim-4.92.3.ebuild 13577 BLAKE2B 480fc32d165b5dbd057f05e1c97b62aeccc67013a5dba37b07d9a7802fc673194df8eed2b2c70eca9e1ca54feec9c50da63cb7ce1413c3d907914048869a56f6 SHA512 49211ced26a43c98551fc005bd1fd74865c54cf021e10b645dd727d98290e0e61e3538207c6f4f342568621d24d338307b1b80fa7fadbfd8a5c7fbe4d77ca2e0 +EBUILD exim-4.93.0.3.ebuild 13656 BLAKE2B 57ae67275539b8cca3b77e5eb1a62eeee3365614ab0eb4bf26e177d94ffe5570f71fdd9313177432ab718ee8445d48257d2bd3f9ce2d6482e20f3d08ed8e76a3 SHA512 dc8acb3b3b6a7227ba173da7b59442d8e180ab440a5953d20863249396d9e7bfee854b88b50a4d723abbd7cef8509288d5b346d438a377b1de2d2c99df24a4ec MISC metadata.xml 2457 BLAKE2B c1dcbaedd069b41c4cfb190806b44014229d53cf6d6f72e04b99dc91f223567cb4f30100792aae72658780da0579fa26e6fb8a0266565bcc0c307996d59ac3ed SHA512 9044abccd15525c7676fc218b62d9b663bd155482894eced9c0cfc8a22e8cd7353009adc75a9f3de15b14f267e6ee6b4f4c91d8bd9260931c0b9de6bf48c762f diff --git a/mail-mta/exim/exim-4.92.2.ebuild b/mail-mta/exim/exim-4.92.2.ebuild index 3628f1466d78..737806a2d8a1 100644 --- a/mail-mta/exim/exim-4.92.2.ebuild +++ b/mail-mta/exim/exim-4.92.2.ebuild @@ -487,8 +487,7 @@ src_configure() { src_compile() { emake CC="$(tc-getCC)" HOSTCC="$(tc-getBUILD_CC)" \ - AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' \ - || die "make failed" + AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' } src_install () { diff --git a/mail-mta/exim/exim-4.92.3.ebuild b/mail-mta/exim/exim-4.92.3.ebuild index 7b828027f63d..05dbf4afa52d 100644 --- a/mail-mta/exim/exim-4.92.3.ebuild +++ b/mail-mta/exim/exim-4.92.3.ebuild @@ -487,8 +487,7 @@ src_configure() { src_compile() { emake CC="$(tc-getCC)" HOSTCC="$(tc-getBUILD_CC)" \ - AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' \ - || die "make failed" + AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' } src_install () { diff --git a/mail-mta/exim/exim-4.93.0.3.ebuild b/mail-mta/exim/exim-4.93.0.3.ebuild new file mode 100644 index 000000000000..e8a98ba54174 --- /dev/null +++ b/mail-mta/exim/exim-4.93.0.3.ebuild @@ -0,0 +1,584 @@ +# Copyright 1999-2019 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 ) + dkim? ( ssl !gnutls ) + gnutls? ( ssl ) + pkcs11? ( ssl ) + spf? ( exiscan-acl ) + srs? ( exiscan-acl ) +" +# 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. + +SDIR=$([[ ${PV} == *_rc* ]] && echo /test + [[ ${PV} == *.*.*.* ]] && echo /fixes) +COMM_URI="https://downloads.exim.org/exim4${SDIR}" + +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? ( + gnutls? ( + net-libs/gnutls:0=[pkcs11?] + dev-libs/libtasn1 + ) + !gnutls? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + ) + 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 ) + " + +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 "${FILESDIR}"/exim-4.93-as-needed-ldflags.patch # 352265, 391279 + 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 + + if use maildir ; then + eapply "${FILESDIR}"/exim-4.20-maildir.patch + else + eapply -p0 "${FILESDIR}"/exim-4.80-spool-mail-group.patch # 438606 + fi + + eapply_user + + # 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 + cat >> Makefile <<- EOC + EXIM_MONITOR=eximon.bin + EOC + 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 + if use gnutls; then + echo "USE_GNUTLS=yes" >> Makefile + echo "USE_GNUTLS_PC=gnutls $(use dane && echo gnutls-dane)" \ + >> Makefile + use pkcs11 || echo "AVOID_GNUTLS_PKCS11=yes" >> Makefile + else + echo "USE_OPENSSL=yes" >> Makefile + echo "USE_OPENSSL_PC=openssl" >> Makefile + fi + else + echo "DISABLE_TLS=yes" >> Makefile + 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 + + # DMARC + if use dmarc; then + cat >> Makefile <<- EOC + SUPPORT_DMARC=yes + EXTRALIBS_EXIM += -lopendmarc + 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 + + # 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 dmarc ; then + einfo "DMARC support requires ${EROOT}/etc/exim/opendmarc.tlds" + einfo "you can populate this file with the contents downloaded from" + einfo " https://publicsuffix.org/list/public_suffix_list.dat" + 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" + 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/files/exim-4.93-as-needed-ldflags.patch b/mail-mta/exim/files/exim-4.93-as-needed-ldflags.patch new file mode 100644 index 000000000000..3b3ea4628174 --- /dev/null +++ b/mail-mta/exim/files/exim-4.93-as-needed-ldflags.patch @@ -0,0 +1,145 @@ +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. + + +--- a/OS/Makefile-Base ++++ b/OS/Makefile-Base +@@ -496,12 +496,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; \ +@@ -517,8 +517,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; \ +@@ -532,8 +532,8 @@ + + exim_fixdb: $(OBJ_FIXDB) + @echo "$(LNCC) -o exim_fixdb" +- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_fixdb $(LFLAGS) $(OBJ_FIXDB) \ +- $(LIBS) $(EXTRALIBS) $(DBMLIB) ++ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_fixdb $(LDFLAGS) $(OBJ_FIXDB) \ ++ $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) + @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ + echo $(STRIP_COMMAND) exim_fixdb; \ + $(STRIP_COMMAND) exim_fixdb; \ +@@ -547,8 +547,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; \ +@@ -560,8 +560,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; \ +@@ -575,8 +575,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; \ +@@ -612,9 +612,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; \ +@@ -947,9 +947,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 \ +@@ -958,29 +958,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.93-localscan_dlopen.patch b/mail-mta/exim/files/exim-4.93-localscan_dlopen.patch new file mode 100644 index 000000000000..d2a5e63128aa --- /dev/null +++ b/mail-mta/exim/files/exim-4.93-localscan_dlopen.patch @@ -0,0 +1,267 @@ +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 "local_scan.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/netqmail/Manifest b/mail-mta/netqmail/Manifest index 8e54a35efc7f..a4e9d4b954a8 100644 --- a/mail-mta/netqmail/Manifest +++ b/mail-mta/netqmail/Manifest @@ -2,6 +2,7 @@ AUX 1.06-exit.patch 551 BLAKE2B 77a928b1aff304bce5b5df69d067e1271f6ce5ecf0342486 AUX 1.06-fbsd-utmpx.patch 1902 BLAKE2B 8c2a278e10ed48db89b76c7005655f6e7707ee4e61d9cbfdcfbd3b7f335450131eecb810b1bc92fd49243ae03ab7f94384bf9078115f01bcf625d8c87d624040 SHA512 c1267365a1199aa5041cc75769e838cfacddd82e1f6dddcc99d86f4b4fc901d8604abdab96a86479109f2278970d88249d8013115dfb89d3e2cfa0e823a01a86 AUX 1.06-readwrite.patch 237 BLAKE2B a8c9af939378bb423c68aebdafeeb3ecb53def9e7d050272e6f669c4d99d938a10a268420b1cf7e699146b3f71bb75c461e45f3f0905b9ccd3371572947aafca SHA512 4cfb7991f2b30740d007a655743e77f5271ebefb4ed31ceb44d10ee53168eec713bbe64ff3616c372851c5fe1f04e57601dc83a27f1ce9cccdd0e2fbc942b550 AUX genqmail-20080406-ldflags.patch 455 BLAKE2B 9a820b3ed89ec74063076ac88933e14ee92776ed310b4e2e1f6ecb472fbf6ff6361c2cbe2cebcf2c8e2c9ca4a3d3a1611edcc601ab32bf2dcca8560e669678e9 SHA512 5579e6d60b4c71dca70163a832ef079a19abe815eeaa83b362edcccd4a2646c2cfb25d30cfab44c49b3b124c3b069c169b299d0f251495a15d0f785c3ef16e82 +AUX netqmail-1.06-any-to-cname.patch 3242 BLAKE2B ea216ecf0d2f3fd4decc92d4826559438edc9764b6910c8ef328863f4c94a1b6af57b1619a74ffd67eb09ae2725a24e53ff75cc24d2aa7896f6bb39392840ed4 SHA512 9f2fea79807d1f6da0494c992993217809f2fda2b00847ed7af7ea73e81fc421c26a14fcae7d77783e2c15be425159f5fba3f20e6c3d88e67134ec0678d3a4cd AUX netqmail-1.06-ipme-multiple.patch 3694 BLAKE2B 53d1db0766a1720cf626210bd9272f2e5bbe310738c934ed8c3c0ffc7adb54ba8938af0d12771c77f59cada9d1c97f858cacfd86a4a0b0bcbb5c6c4e7d0d0d6e SHA512 08f26af9ecab24258956d20c8e7201bd4f3d55ce9f2793417ae3fa1ecae4e610eaa2fcfe01462ffa70f4974b5ee4969851c254ab051fe039dd2a8eb9fb8b8f5e AUX qmail-smtputf8-crlf-fix.patch 397 BLAKE2B 3ca4abcb9f1c1604828c31f358a6da3b3f9734a76d736b1dacada786e69ef010bdb0254d8106c82859ad66f21e1f81249db5f49984116ac84e7c719770999306 SHA512 b6e8060ef00464f429bc8b6d47d294c8e021ddef1991b7cf212a277f375872672d7f4ef799d93f1913fcb9260cb6d74049e6e9978aa43b59228e6c0c067cd87b AUX qmail-smtputf8.patch 6693 BLAKE2B 1b9cd78e63ab9f2f8ca9f49c49406f603efb31d323bb4423aaa8b970c2c26a7e76496a449a98501765dc1a5e6659d9bfd49a6dafbdba14db9a9594e1d1c9b94f SHA512 8cafdf1a4f1fd41e6b11ee2abddac5c3da4a1d2ab17b5d3847433875a91f867a26eb358ae8c41791f1e77758e5a2c311134a286d888ccd23fbede6d9f0b475c4 @@ -18,5 +19,6 @@ DIST qmail-spp-0.42.tar.gz 18689 BLAKE2B df67f10f6daf9601fd074c774c5be4decca59f3 DIST vu555316.patch 617 BLAKE2B fa98c360cb199fc4367c668d605399cc53ab2d26668f5ed6bbf0c26449fdf584f71fd415d80ba7babb6593dc842ec342aba4f7357ae838e6556d43f1dc76b6d9 SHA512 5d7810360e5eaa8e8ee141fe92c765d9458aa12198a8d0ac702e0630e08d060ad4a1d33690d434f20f5aff79eb200cd8173bebc334c411e340c0198b5d8d1a65 EBUILD netqmail-1.06-r10.ebuild 4495 BLAKE2B 9c52dc996231a367638b33fb76536fdafb2ba9c25272ed6b59ab62f32a7652839c411fe03b73ce3f009e5228b03381367f4838aeed52d98711b5092841e647bd SHA512 2477903158c792b8f3ffccfcb5d3986c167666be9a0dc2d3a7a63533ed2d215c266ffd17b5a10f67c8f121647c2d020a26f0c965ba98dbe07dab7154356e4a63 EBUILD netqmail-1.06-r11.ebuild 4507 BLAKE2B 18c750e1f7d859343265fa2c796559e89825ae52fe52104390b90a2aa65d3d5daaf72c287f0ed82b552cfaf7159111e32adc2d648beb531d4d21f49231bbd93e SHA512 932ed207106b8ea30a19b5c80eca7f807ce0ce6317da182f28b89fda5208500a346e82739a7a9d659316638ce6aeeee0bf8bf4927d33ff175cc226b29bfa2772 +EBUILD netqmail-1.06-r12.ebuild 4546 BLAKE2B 3f2310add9a1b0fa9a578005712ff9100579de1eb477c3bde619f7e3df71d6d94683c67432845cbb04099db0b6941daae1943a58653b2ee614c27fe92d3520fb SHA512 9d624a3a1fbcbb0fece4b47284c00f6992d6257cfed00d1adfc38822ad1470897535e5e8e36c300d2583e6a3d3e1c5c6a6e7b060d6800afdfef1cea14e81ee11 EBUILD netqmail-1.06-r4.ebuild 4315 BLAKE2B dbae9536d848bdd648586cc8cb275468688f29a040b9bd767e2b0198a68224484e2a8d3c3a571a461be6b003519614c4271c2299955421e7e6677fa90f47016a SHA512 f8c8fa8a8c8872bda48d3cf80b06f13f43eae9e72d7bf34157884290889365f5199ba45c1f9ce539817f43142f09f74e5020536ef0502520957ca1d412ecb1d8 MISC metadata.xml 720 BLAKE2B 9bd0209a0db8075a22507fb63fa9f045959323da3b4c53e3d9da9d412fd39ff3576dc29c6d2af9db949e5fee4e98e166bbc41ce1d48ba0f8964e85fbe99728bb SHA512 57330a6fa33d3c65b0fe1289f89d356bebca6e7c8ba47cb5edfe53cd74938646ca60e3d001facab1fa5c4071fee7c3a8e0ad2ba2b4604aea3a8525c391991715 diff --git a/mail-mta/netqmail/files/netqmail-1.06-any-to-cname.patch b/mail-mta/netqmail/files/netqmail-1.06-any-to-cname.patch new file mode 100644 index 000000000000..9c9d53963510 --- /dev/null +++ b/mail-mta/netqmail/files/netqmail-1.06-any-to-cname.patch @@ -0,0 +1,74 @@ +From b05ec6cbdacdf40d6c75326394461e22b7f8ab20 Mon Sep 17 00:00:00 2001 +From: Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> +Date: Fri, 12 Jul 2019 23:34:52 -0600 +Subject: [PATCH] Apply Jonathan de Boyne Pollard's any-to-cname patch. + +modifies the behaviour of qmail-remote to remove the workaround +that Dan Bernstein added on 1996-10-03 to work around a bug in +BIND versions earlier than version 4.9.4. + +Applying this patch incurs a risk, but yields a benefit. It is +published in order to allow others to experiment with removing +the workaround. + +The risk is twofold: + + * qmail-remote will not be able to relay any mail if one's own + proxy DNS server is such a version of BIND. This is trivially + overcome by replacing such an old version of BIND either with a + new version of BIND that doesn't have the problem or with some + other proxy DNS server software entirely (such as dnscache). + + * qmail-remote will not be able to relay mail to domains whose + content DNS servers use such versions of BIND, because the + "CNAME" resource record lookup will fail. To gauge the level of + this risk, notice that Dan's own 2002-12-17 survey of content DNS + servers reports a mere 2% of the "*.com." content DNS servers as + employing BIND version 4 (but doesn't report how many of that 2% + employ BIND 4 versions earlier than 4.9.4). + +The benefit of this patch is that it reduces DNS query traffic +and proxy DNS server cache load. + + * Without it, qmail-remote issues "ANY" queries. Some proxy DNS + server softwares (albeit not dnscache) pass such queries through + directly to the back end, meaning that every query issued by + qmail-remote will result in a back-end query to a content DNS + server, no matter if the necessary information is already cached. + Moreover: The results of such a query, which are often a large + collection of resource record sets of various types, are cached + in the proxy DNS server's cache, even though almost none of them + will be used. A caching proxy DNS server dedicated to serving + qmail will end up with all sorts of cruft in its cache that isn't + actually relevant to mail transportation, taking up space that + could be better put to use caching those resource record sets + that are relevant. + + * With it, qmail-remote issues "CNAME" queries. All of the mainstream + proxy DNS server softwares in popular use (apart from dnscache, + because it has problems in this regard) don't pass such queries + directly through, and will answer them from their caches without + issuing a back-end query at all if the data are already there and + still current. Moreover: A caching proxy DNS server dedicated to + serving qmail will not have its cache cluttered with irrelevant + data. +--- + dns.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dns.c b/dns.c +index 44db25b..77e4ff7 100644 +--- a/dns.c ++++ b/dns.c +@@ -197,7 +197,7 @@ stralloc *sa; + if (!sa->len) return loop; + if (sa->s[sa->len - 1] == ']') return loop; + if (sa->s[sa->len - 1] == '.') { --sa->len; continue; } +- switch(resolve(sa,T_ANY)) ++ switch(resolve(sa,T_CNAME)) + { + case DNS_MEM: return DNS_MEM; + case DNS_SOFT: return DNS_SOFT; +-- +2.16.4 + diff --git a/mail-mta/netqmail/netqmail-1.06-r12.ebuild b/mail-mta/netqmail/netqmail-1.06-r12.ebuild new file mode 100644 index 000000000000..8044a26d5027 --- /dev/null +++ b/mail-mta/netqmail/netqmail-1.06-r12.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +GENQMAIL_PV=20191010 +QMAIL_SPP_PV=0.42 + +QMAIL_TLS_PV=20190114 +QMAIL_TLS_F=${PN}-1.05-tls-smtpauth-${QMAIL_TLS_PV}.patch +QMAIL_TLS_CVE=vu555316.patch + +QMAIL_BIGTODO_PV=103 +QMAIL_BIGTODO_F=big-todo.${QMAIL_BIGTODO_PV}.patch + +QMAIL_LARGE_DNS='qmail-103.patch' + +QMAIL_SMTPUTF8='qmail-smtputf8.patch' + +inherit qmail + +DESCRIPTION="qmail -- a secure, reliable, efficient, simple message transfer agent" +HOMEPAGE=" + http://netqmail.org + https://cr.yp.to/qmail.html + http://qmail.org +" +SRC_URI="mirror://qmail/${P}.tar.gz + https://github.com/DerDakon/genqmail/releases/download/genqmail-${GENQMAIL_PV}/${GENQMAIL_F} + https://www.ckdhr.com/ckd/${QMAIL_LARGE_DNS} + !vanilla? ( + highvolume? ( mirror://qmail/${QMAIL_BIGTODO_F} ) + qmail-spp? ( mirror://sourceforge/qmail-spp/${QMAIL_SPP_F} ) + ssl? ( + https://mirror.alexh.name/qmail/netqmail/${QMAIL_TLS_F} + http://inoa.net/qmail-tls/${QMAIL_TLS_CVE} + https://arnt.gulbrandsen.priv.no/qmail/qmail-smtputf8.patch + ) + ) +" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86" +IUSE="authcram gencertdaily highvolume libressl pop3 qmail-spp ssl vanilla" +REQUIRED_USE="vanilla? ( !ssl !qmail-spp !highvolume )" +RESTRICT="test" + +DEPEND=" + acct-group/nofiles + acct-group/qmail + acct-user/alias + acct-user/qmaild + acct-user/qmaill + acct-user/qmailp + acct-user/qmailq + acct-user/qmailr + acct-user/qmails + net-dns/libidn2 + net-mail/queue-repair + sys-apps/gentoo-functions + sys-apps/groff + ssl? ( + !libressl? ( >=dev-libs/openssl-1.1:0= ) + libressl? ( dev-libs/libressl:= ) + ) +" +RDEPEND="${DEPEND} + sys-apps/ucspi-tcp + virtual/checkpassword + virtual/daemontools + authcram? ( >=net-mail/cmd5checkpw-0.30 ) + ssl? ( + pop3? ( sys-apps/ucspi-ssl ) + ) + !mail-mta/courier + !mail-mta/esmtp + !mail-mta/exim + !mail-mta/mini-qmail + !mail-mta/msmtp[mta] + !mail-mta/nullmailer + !mail-mta/opensmtpd + !mail-mta/postfix + !mail-mta/qmail-ldap + !mail-mta/sendmail + !mail-mta/ssmtp[mta] +" + +pkg_setup() { + if [[ -n "${QMAIL_PATCH_DIR}" ]]; then + eerror + eerror "The QMAIL_PATCH_DIR variable for custom patches" + eerror "has been removed from ${PN}. If you need custom patches" + eerror "see 'user patches' in the portage manual." + eerror + die "QMAIL_PATCH_DIR is not supported anymore" + fi +} + +src_unpack() { + genqmail_src_unpack + use qmail-spp && qmail_spp_src_unpack + + unpack ${P}.tar.gz +} + +PATCHES=( + "${FILESDIR}/${PV}-exit.patch" + "${FILESDIR}/${PV}-readwrite.patch" + "${DISTDIR}/${QMAIL_LARGE_DNS}" + "${FILESDIR}/${PV}-fbsd-utmpx.patch" + "${FILESDIR}/${P}-ipme-multiple.patch" + "${FILESDIR}/${P}-any-to-cname.patch" +) + +src_prepare() { + if ! use vanilla; then + if use ssl; then + # This patch contains relative paths and needs to be cleaned up. + sed 's~^--- \.\./\.\./~--- ~g' \ + < "${DISTDIR}"/${QMAIL_TLS_F} \ + > "${T}"/${QMAIL_TLS_F} || die + PATCHES+=( "${T}/${QMAIL_TLS_F}" + "${DISTDIR}/${QMAIL_TLS_CVE}" + "${FILESDIR}/qmail-smtputf8.patch" + "${FILESDIR}/qmail-smtputf8-crlf-fix.patch" + ) + fi + if use highvolume; then + PATCHES+=( "${DISTDIR}/${QMAIL_BIGTODO_F}" ) + fi + + if use qmail-spp; then + if use ssl; then + SPP_PATCH="${QMAIL_SPP_S}/qmail-spp-smtpauth-tls-20060105.diff" + else + SPP_PATCH="${QMAIL_SPP_S}/netqmail-spp.diff" + fi + # make the patch work with "-p1" + sed -e 's#^--- \([Mq]\)#--- a/\1#' -e 's#^+++ \([Mq]\)#+++ b/\1#' -i ${SPP_PATCH} || die + + PATCHES+=( "${SPP_PATCH}" ) + fi + fi + + default + + qmail_src_postunpack + + # Fix bug #33818 but for netqmail (Bug 137015) + if ! use authcram; then + einfo "Disabled CRAM_MD5 support" + sed -e 's,^#define CRAM_MD5$,/*&*/,' -i "${S}"/qmail-smtpd.c || die + else + einfo "Enabled CRAM_MD5 support" + fi + + ht_fix_file Makefile* +} + +src_compile() { + qmail_src_compile + use qmail-spp && qmail_spp_src_compile +} + +src_install() { + qmail_src_install +} + +pkg_postinst() { + qmail_queue_setup + qmail_rootmail_fixup + qmail_tcprules_build + + qmail_config_notice + qmail_supervise_config_notice + elog + elog "If you are looking for documentation, check those links:" + elog "https://wiki.gentoo.org/wiki/Virtual_mail_hosting_with_qmail" + elog " -- qmail/vpopmail Virtual Mail Hosting System Guide" + elog "http://www.lifewithqmail.com/" + elog " -- Life with qmail" + elog +} + +pkg_preinst() { + qmail_tcprules_fixup +} + +pkg_config() { + # avoid some weird locale problems + export LC_ALL=C + + qmail_config_fast + qmail_tcprules_config + qmail_tcprules_build + + use ssl && qmail_ssl_generate +} diff --git a/mail-mta/nullmailer/Manifest b/mail-mta/nullmailer/Manifest index 46dd3526b627..5ded157af5e7 100644 --- a/mail-mta/nullmailer/Manifest +++ b/mail-mta/nullmailer/Manifest @@ -14,7 +14,7 @@ DIST nullmailer-2.2.tar.gz 257740 BLAKE2B 18821caa1a377a899e3fedc84530d7c672f345 DIST nullmailer-patches-1.13.tar.xz 8384 BLAKE2B 523547f8abf9b5d05938aad1e22e4195ee49cfe392c515df442a26d2cfb79f959c37e8f860fb196e99075aaa6fe437aaec182e1c1e2057d97cc32cba78a200d0 SHA512 393531e39a92b0978bccbcdf123e05b2cdad1ec8e600825cc24177ba414c1f615995c0344291ebb664f42b384a160c0359fec5ba3308cc14cbc9ceb8577d799c EBUILD nullmailer-1.13-r5.ebuild 4737 BLAKE2B 38fc205db2a05cabd46966d5ce3068e300564f7f96c4062ccb32bf148f4d935a540f81ec69bec79c92031b628a88066f6be8841935a831f20d8c343f1ac3dbce SHA512 e675c290a7d7033afd3cd2f32bac2dc24d87fba0f8deae0ed8ad424930c394c7de0c7ad2a3f5b57a016f071265659ce96c5e7924ab4e5b605a1b86da8d4e611a EBUILD nullmailer-2.0-r1.ebuild 3641 BLAKE2B 0f856d777485527c4b04ad21077c3646bb2106b69050100e20c663bf895ba1846759a423f23928fec9711ccd7595b8c74183e1d0e6eb51f1f82abc192b5f956d SHA512 bd858bf7830066e10c2ef859d8489a0ab124cb7873e327b14d011d286ab5cae94f4e80d86e64dfd13f1204580e6a57bf0495387f6dd361082a874db655bb69f6 -EBUILD nullmailer-2.0-r2.ebuild 3709 BLAKE2B 41275b774fa0bc2ee9ff1445eda2837b5f4c40cec834d96fc1f26b97d107cde93bef981d5214af5f0f7d3ce58c51c28ca69c2a86b0b4c195f736d7d16c5c842f SHA512 49a5f12cb2810f1d21dbd0cad4d92995a06a32b9e15ab1a341cad12f3afa924a2a47416d8bcf65df3f535b93343c35841386652b315a3ac4d73ab2d427c2ce16 +EBUILD nullmailer-2.0-r2.ebuild 3733 BLAKE2B 51fddc79557a9964fc825db2cf1ed20d1ca1fc86385ac9e878d154e173d68cca5ff7b5a431df984bbe50005c64718e7bafbef4d37b26856a0d4f87569f3487b0 SHA512 5664ca004d9f8556be2118d8f7859b5eeabf088e42e1f0d1d496a99e0c9d68b3d5b9b37723202badbda2b3b9bc46f97c849c51a8e3147d99212be1ac26335760 EBUILD nullmailer-2.0.ebuild 3644 BLAKE2B 0f498b234679f0690a9644d755a9c1cbcbb2cc2c0288b361bea7977644a993ecf61337ca4c1997c9d221f823fd9ddbc70ffaf5b315c99e8aa99041d7c1b845d2 SHA512 5ac17ea2d17a2967399bdfc87b749d1b152741191b801f6e4fec4a1f6ad1977a2cea9dbabf19a8f62e17a7a32c9d90271fbaa93cd68532a8e6ae41ba126af903 -EBUILD nullmailer-2.2.ebuild 4252 BLAKE2B a81f022f87622ad7e140b85f9b73cc74b78431675f9d288ac0b1fb6e2111417aeae36cbb3b325cb1d02c30bae1d434fdce3838f641d20d76d87b8a380c321667 SHA512 4487c594e807fee494215350801d87aa4c8341b67028e5396c44212ea5f9245ac751dc057425fd35408b5ecdf453a9c3428e541f363564c8c8b3379f809fb90f +EBUILD nullmailer-2.2.ebuild 4276 BLAKE2B da45e774d3f78f689ce9f4cbe4266a972f6e8c8be46bb681758b74b873626b785ec8489890c7d2332fce0e49abef8d48ba7555e1cc10a2808b1b26578d1a4504 SHA512 9dd43e5ec03ad40a8e7a74c3ca811a8f727c73722b53340cb9cd62c75d9750b2de4228ebf09ebed5982b7d722870322bc4a2eb64ecb7b5d6d85cbd75971eeb22 MISC metadata.xml 462 BLAKE2B 6bb4c3b64b2a26224d66df58a133e26bec2c8db7069f5f94b131c4b09387d707a8d5170f0581c9c5136e79af4b97b5f5c3ca4a649171497957ef4aef4312a2cd SHA512 d1370220b0d410947a347c71c9dca8070b3c4a28a82742f618f605be86099ffd37dce1a7d6ab706248eae290aaaf8de2df57c5b3c8f8e818464b9eb5d26d7719 diff --git a/mail-mta/nullmailer/nullmailer-2.0-r2.ebuild b/mail-mta/nullmailer/nullmailer-2.0-r2.ebuild index 8da57096407f..1da0d4fe1448 100644 --- a/mail-mta/nullmailer/nullmailer-2.0-r2.ebuild +++ b/mail-mta/nullmailer/nullmailer-2.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -13,6 +13,7 @@ LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~x86" IUSE="ssl test" +RESTRICT="!test? ( test )" DEPEND=" sys-apps/groff diff --git a/mail-mta/nullmailer/nullmailer-2.2.ebuild b/mail-mta/nullmailer/nullmailer-2.2.ebuild index 59e8c37fad7d..cea54398acb5 100644 --- a/mail-mta/nullmailer/nullmailer-2.2.ebuild +++ b/mail-mta/nullmailer/nullmailer-2.2.ebuild @@ -11,8 +11,9 @@ SRC_URI="http://untroubled.org/${PN}/archive/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x64-cygwin" +KEYWORDS="amd64 ~arm ppc x86 ~x64-cygwin" IUSE="ssl test" +RESTRICT="!test? ( test )" DEPEND=" ssl? ( net-libs/gnutls:0= ) diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest index e1be5147a9e4..3632c59e4fa8 100644 --- a/mail-mta/postfix/Manifest +++ b/mail-mta/postfix/Manifest @@ -1,4 +1,3 @@ -AUX postfix-2.11.1-db6.patch 699 BLAKE2B 7d429d118a765fa4ab140b7e88973e1f00372f2983d4dba5a4fbb8b5ee085112dab82a500b598db0daf563356ff1ff367c87b7848a253246ba16694a8c0a1365 SHA512 9a6f00ae2d31b732be929ce647c222871704db02c09af659e260cf1a995bbde7f2045c59b9c33520070f427d4a2b377f6193bf6f9971087bf8df7f0c95d6d824 AUX postfix-glibc230.patch 870 BLAKE2B 5151298b690bcb742c9dee07da11a63e0c96cf0905c648efb9b114462aad1a8355c84be869dde54248c1eedc84f18503ce5af7a9e7fd163c81d642934c87a03c SHA512 930c492f90ae3f3c29ee002efdb717a745df787e064ef4ba6fa28c4c5bd7fef2ef91fbdb3705ed5c81c24053d52103d3969b2d73260aa5d1ccb9654ced401aea AUX postfix-libressl-certkey.patch 436 BLAKE2B fc9a949e8499163010b117971fc817d070f3eb74371fddbcf1cebae51276eaa30da0e8d9aaad24f775971b5ea54f3df35142bbb66d984245674e6e88728992da SHA512 b3913b1158d1fa46868b9f3ed13a2a464abd5d8f4acabc594c0c19bb3134028231503fa05dcb70b8ca0fcaefae30ea45b6e715d3545c5820b70272367e1127b5 AUX postfix-libressl-server.patch 446 BLAKE2B bd07df754cb0d943dfd3483272399b3271471f09ce9c7062f3ad6ee27fed80b714144b9227ec1e91e66e1d7f8766952534662d512bf3e3a89156632cfc4b72bf SHA512 19eaca88239ab6b7ba5dc3ce36ccaae0ad2994dcfa17fbe2e03a9731d2016398dbebb4068f4ebab6c65a389bc7fa8c27b2e8e447cb9a550da5e0ee9c22879854 @@ -6,15 +5,14 @@ AUX postfix.rc6.2.7 2107 BLAKE2B 291d9e02ffdac79a1c7c64febc5674321e675de341b468b AUX postfix.service 662 BLAKE2B dcf9ceb71ad483b580d126fcb5ac68889cdeb898df3333d38f195227190b73cf0fb41cd68a86e97cfe844cc7f9f095cba0a17afe9ce7c8697e0aa30f5faecde6 SHA512 04b475040b153f488a9358567ff9ee2eb8f263c619dadc23c837d17c19106041296e3652bcaded2be0c7c8b9eee7fd5f2ad55bed3e7f9b3a4bf9655f4762d563 AUX smtp.pass 29 BLAKE2B 589915bd2856fa64e22caa12fca54ef342eb07606de38d3879c13ac395413c84de6c3b733c83cc0625a4433167efcc7d504b2f87fa26c05b2facde9c3d103021 SHA512 a8a940099a77ea0547004daf5392a6efc0cd643f10072803d65e37763012464ad25b1b925ae9e32bffb3c3e8a5d4b2d3bb5619a174d58fdc4ea5d4090db0d365 AUX smtp.sasl 42 BLAKE2B 67e9108101779b6027fa1e5cc7c9256a606d440e15bb037a0da186e6b4983ab26e88ede2f0604737c78144c03e182f66005062f1d49e10443d1ddb9757461d1f SHA512 a48e2bd173c4443dd2c389f6973a541dbcba4223b52b42b409a68d934a7fc82a98d4027267befcd5db6ec628cce6a9dffdf044e6fbd774b6e748f07f4106db47 -DIST postfix-2.10.9.tar.gz 3820525 BLAKE2B ed1fc10f016cdc63fe2b86c68cca270c98348417babf6d8e05f76fa2550f5cbca95825f14cf54897e66323cdbe6132a1046402b853b6f000ade630277278c748 SHA512 c77df7ccc051bd72271dc5298da0ca4e45397b1ba96fc8be31e095f5b15cd30ebc0b29cf638e76efc65503cb241efd937f2d64aaa97243402c35e2927b7a7b91 DIST postfix-3.4.5.tar.gz 4581301 BLAKE2B 9de66cab6eea610fc83e4629980b3e201b4e3f9185729cb84933aa940b64b7818d0439c5145ea0b635666db92c970e1974f4f439cd3b733c58e1fe5794c046fa SHA512 af59d960b40799f7667935bef8fafb93ae6dcb70abaa77a15cf498571f37fa0429f411f9f08b1b6bfa588d3f572260d14d6d5409f0cd1e82b1c59928b2124c94 DIST postfix-3.4.6.tar.gz 4571771 BLAKE2B e08b2e6c01fe54fcc7439182783190f4adb81758a1bbcc1bfec71e02dca91a779308f624e081837f7e2deec8666f10bc51238e90cc952de6c8371fb18790604f SHA512 96430d60cf58b9876e52a742dbfe3ca1da4ec82eeea5cd35c6ee4e69714ddd5601561a6663aac51a34b2d64db4f7678d7c5d720ec9ead807b5d7e87e37434961 DIST postfix-3.4.7.tar.gz 4572758 BLAKE2B 8d811293672fc2a1e0e3276fadd172d9e130a3e0b5ccbaf27ddf183a50f25ca9bbf5c0a28806bb1f79d5648c4de44edd8ee98192355077e29a0c69a2685878dc SHA512 2bc29a87a65c46d06b6fc51c4cdf22da773e63f19488871e040eba6250bf686eecc7de11e14224018c35b061e66e1759c69dc649d7388f724a58080195209e68 -DIST postfix-3.5-20191019.tar.gz 4608335 BLAKE2B 8a33ee214de5094abc8dada04e4410b52f781698efa5515549a3c6b4b157766735f91f2b26c6115380e1ec5dc004dbd22e5416c649d048037813d437e0a6f602 SHA512 4e4cd32ee9571fdabf87a7848720574ca7ae17cc0c67f0e8682b5535fbbb8d9630c22f58840bec50caee3e479d786c7bfa391ba59734288cd25069cacb4f0514 -DIST postfix-vda-v13-2.10.0.patch 55701 BLAKE2B d8df041bb4ae7457cd066e71b6ae9470840d42edc9990a550ae51356cd62bfb08516250249030da26d1ef475619f0ebd609570d84ce57f8cdc347a2824b29536 SHA512 0b4b53a8cd28abf56eee3b2ed63ca1814251b60816e6ca1143249d25fd6ef7f905bec3134125ac6e851af685db8aae878012113693261529ae2ddbcf1bd93e62 -EBUILD postfix-2.10.9.ebuild 8729 BLAKE2B 70118c3d40415b33554420fc02d1eef03d4116dd196e39b46f584d6ca36998745ee4e4e8bde9721d0521c3c5654d98192a9955e8ee8e1915d01016db476bfa7f SHA512 42f0f15619c1d9143f00878a9335cd86cac5675ab395669222e6d2d449ec63bb573d670c6015c70257d28a5a4e6ad62d40fde30ef84fae5bc8db567ac6ab3de0 +DIST postfix-3.4.8.tar.gz 4573099 BLAKE2B cef447c8eeb9e2afbb869a94c5d67680ed7e633ea23108c1c109b632bd3f53f9f666302e8d1dac70affcd7d02d27b71a83b06c8e4564b6187268aa656b4c8132 SHA512 782fe83e4b40c7aadfb4c55850db4c7163dd0f647f4ef133e59f7b47c993b2b4fa6c43ebbc45131caa54d968259f9c8568f47e81bfccda02ab142be52aa95d45 +DIST postfix-3.5-20191214.tar.gz 4613855 BLAKE2B 1eeb1df9ca06bb862b19718f6d0d781a9cf5c773b8864d74c556e8ed8cc7c6caf67dfea7259ab104e072bb4208d8c2bcb81b2551b13a6767c9f4a8575520939d SHA512 58f90c4bc14a36fdb3e64d6336ca0b290cabecfa465418f1d67b6c3f2196db04a7321223f57d36dbdb3b8887a915f0c54d08b6eed834d90e37934e6478a4ad22 EBUILD postfix-3.4.5-r1.ebuild 8976 BLAKE2B 8825ccc728a83cff1397e8864cd9c49f7d961dd17644537b8600f035fbc112f2c86b96f38e908a91e50f8fcca5a6a87126f4d9160c70b1e0c894b03aab94170f SHA512 77aebbef0215921e04cd73650b5d37a1e0f53bb251bcc8d189ab86ecb2d6f1a50a739c93839a92fefef41667537b3561bc738cfd2fb7bce2f1d4707ba074d142 EBUILD postfix-3.4.6.ebuild 8985 BLAKE2B 9f97b796aaa6901751b93b5c87af8a444adf5aeaa0f5455b5e8a878439e5873205bc578c58c4e2c035539774f4c822182116a80c77df52e394145526cf116e95 SHA512 d5280081a7e717e73fb140dfafbef3cfe4ca796fb8a26b487419fbd9216985c8ec3a2729b27e0e8dae44523268b82d49f6bf18fb3cc0907046edb1e5ed076457 -EBUILD postfix-3.4.7.ebuild 8906 BLAKE2B 8d6543b946497233a19ce62afb91e7edfbf0c6b55b93fb45a5aaa440a7db25f2c1b72bbdc2fda8cc7b7041e6ccee43224015d856c6d00abd75ff30932993357c SHA512 74967d3298314fa2e8187d21808f63e72a21609306a8f197904f0e8109a510ac4db0a2f87e59c28d7d3725245ca7a6ccaace65fe4d6eb3da68c2f49bee9f0239 -EBUILD postfix-3.5_pre20191019.ebuild 8873 BLAKE2B cd049814e94a9289ef6925bf8bada301e161432290930bb6bd50c9a0370f1752b61a7f13abfecc7c25134f04731fecc367be5191d3e26a0e0915ca787c028210 SHA512 1f1078d635e36bdceb9299c8a1dc7e3bd6ac0fa7a50098c3c1f6ba6f3ae394a2836c076182cf326a97b145b6626a87f2e84ca04b936a783c469f4f5d580187cc -MISC metadata.xml 1023 BLAKE2B f0bcd846c18bf1459ac85c75b6e41c90857d800d49b3efdffdd0106616e453869f43004c9a38395c71e2766b9b7f83b25a702b3b39d6264d83f79481b6cbba43 SHA512 2511ca5d5cc134afa04d1f596084eb2f7102c45e883edf3290c00b2f733b8a1a74ecddcd6b182381ac86da2616097c86a8acedeca199747b33e403b8488067b4 +EBUILD postfix-3.4.7.ebuild 8912 BLAKE2B b364c39428875baa41e9ced900858bca98741977f1fc7c689804c739451793ba5c4d0815379acdcd380f123acf219cd5908eb6e124ecb8cd95524296ae9bd533 SHA512 b658e3fa4c71c5df1a2cde9f0999b4f831d33bec4f6bda7aa4501e11581e42afa9ec9e1176e1159a478f3055976745113134c0c445e2a40fe3470fe590021c5a +EBUILD postfix-3.4.8.ebuild 8912 BLAKE2B b364c39428875baa41e9ced900858bca98741977f1fc7c689804c739451793ba5c4d0815379acdcd380f123acf219cd5908eb6e124ecb8cd95524296ae9bd533 SHA512 b658e3fa4c71c5df1a2cde9f0999b4f831d33bec4f6bda7aa4501e11581e42afa9ec9e1176e1159a478f3055976745113134c0c445e2a40fe3470fe590021c5a +EBUILD postfix-3.5_pre20191214.ebuild 8843 BLAKE2B 8b177dbdc898132a85febb3c3558b82c771e23562bf9f006daa9458b8ef9a735f2515f9708ad3dc8ea4d62c3743c5034e6da86b4ec374ee0abbaa2665d4f3269 SHA512 e9521abb9cf67ccda7fd7dcc218c962e35e155fec6cd342dcbfa5e4b24dc5ecd2ab5ec5bc2c3a7dfd4177a236cce33db228a4b25619cdc099c2c40f5d82f4528 +MISC metadata.xml 939 BLAKE2B 01474efe62df1eda9a3ba5976847064d615b3c32d9c71838354ef375c851c7ab4d1fcc2bc0d2945ce3d259fc6a698938cee6d1354c4e0f02f1e66395e377a0c5 SHA512 8602700c2a21b66ecf2c024c06ce23452f7effd9c06a5d58c1ccb351bcdef43a3c89575cc9136efc72fcd4e06ecb0654017b51bb145e7ffeeda771e3f4e7a673 diff --git a/mail-mta/postfix/files/postfix-2.11.1-db6.patch b/mail-mta/postfix/files/postfix-2.11.1-db6.patch deleted file mode 100644 index 5f5cad406b0c..000000000000 --- a/mail-mta/postfix/files/postfix-2.11.1-db6.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- src/util/dict_db.c 2012-01-25 00:41:08.000000000 +0000 -+++ src/util/dict_db.c 2014-06-25 18:56:10.000000000 +0000 -@@ -693,7 +688,8 @@ - msg_fatal("set DB cache size %d: %m", dict_db_cache_size); - if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0) - msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM); --#if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0) -+#if DB_VERSION_MAJOR == 6 || DB_VERSION_MAJOR == 5 || \ -+ (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0) - if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0) - FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags, - "open database %s: %m", db_path)); diff --git a/mail-mta/postfix/metadata.xml b/mail-mta/postfix/metadata.xml index fe1d9dcbdd67..1193f1cce9d2 100644 --- a/mail-mta/postfix/metadata.xml +++ b/mail-mta/postfix/metadata.xml @@ -23,8 +23,6 @@ for lookup tables</flag> <flag name="lmdb">Add support for using <pkg>dev-db/lmdb</pkg> for lookup tables</flag> - <flag name="vda">Add support for virtual delivery agent quota - enforcing</flag> </use> <upstream> <remote-id type="sourceforge">vda</remote-id> diff --git a/mail-mta/postfix/postfix-3.4.7.ebuild b/mail-mta/postfix/postfix-3.4.7.ebuild index 96be7c735d7e..7603315b82de 100644 --- a/mail-mta/postfix/postfix-3.4.7.ebuild +++ b/mail-mta/postfix/postfix-3.4.7.ebuild @@ -16,7 +16,7 @@ SRC_URI="${MY_URI}/${MY_SRC}.tar.gz" LICENSE="|| ( IBM EPL-2.0 )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" IUSE="+berkdb cdb dovecot-sasl +eai hardened ldap ldap-bind libressl lmdb memcached mbox mysql nis pam postgres sasl selinux sqlite ssl" DEPEND=">=dev-libs/libpcre-3.4 diff --git a/mail-mta/postfix/postfix-2.10.9.ebuild b/mail-mta/postfix/postfix-3.4.8.ebuild index 44058e81d3e5..7603315b82de 100644 --- a/mail-mta/postfix/postfix-2.10.9.ebuild +++ b/mail-mta/postfix/postfix-3.4.8.ebuild @@ -1,44 +1,49 @@ # Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils multilib ssl-cert toolchain-funcs flag-o-matic pam user versionator systemd +EAPI=7 -MY_PV="${PV/_pre/-}" +inherit flag-o-matic pam systemd toolchain-funcs + +MY_PV="${PV/_rc/-RC}" MY_SRC="${PN}-${MY_PV}" MY_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/official" -VDA_PV="2.10.0" -VDA_P="${PN}-vda-v13-${VDA_PV}" RC_VER="2.7" DESCRIPTION="A fast and secure drop-in replacement for sendmail" HOMEPAGE="http://www.postfix.org/" -SRC_URI="${MY_URI}/${MY_SRC}.tar.gz - vda? ( http://vda.sourceforge.net/VDA/${VDA_P}.patch ) " +SRC_URI="${MY_URI}/${MY_SRC}.tar.gz" -LICENSE="IBM" +LICENSE="|| ( IBM EPL-2.0 )" SLOT="0" -KEYWORDS="~s390" -IUSE="+berkdb cdb doc dovecot-sasl hardened ldap ldap-bind memcached mbox mysql nis pam postgres sasl selinux sqlite ssl vda" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="+berkdb cdb dovecot-sasl +eai hardened ldap ldap-bind libressl lmdb memcached mbox mysql nis pam postgres sasl selinux sqlite ssl" DEPEND=">=dev-libs/libpcre-3.4 dev-lang/perl berkdb? ( >=sys-libs/db-3.2:* ) - cdb? ( || ( >=dev-db/tinycdb-0.76 >=dev-db/cdb-0.75-r1 ) ) + cdb? ( || ( >=dev-db/tinycdb-0.76 >=dev-db/cdb-0.75-r4 ) ) + eai? ( dev-libs/icu:= ) ldap? ( net-nds/openldap ) ldap-bind? ( net-nds/openldap[sasl] ) - mysql? ( virtual/mysql ) + lmdb? ( >=dev-db/lmdb-0.9.11 ) + mysql? ( dev-db/mysql-connector-c:0= ) + nis? ( net-libs/libnsl ) pam? ( sys-libs/pam ) postgres? ( dev-db/postgresql:* ) sasl? ( >=dev-libs/cyrus-sasl-2 ) sqlite? ( dev-db/sqlite:3 ) - ssl? ( dev-libs/openssl:0= )" + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( >=dev-libs/libressl-2.9.1:0= ) + )" RDEPEND="${DEPEND} - dovecot-sasl? ( net-mail/dovecot ) + acct-group/postfix + acct-group/postdrop + acct-user/postfix memcached? ( net-misc/memcached ) net-mail/mailbase - selinux? ( sec-policy/selinux-postfix ) !mail-mta/courier !mail-mta/esmtp !mail-mta/exim @@ -51,56 +56,57 @@ RDEPEND="${DEPEND} !mail-mta/opensmtpd !<mail-mta/ssmtp-2.64-r2 !>=mail-mta/ssmtp-2.64-r2[mta] - !net-mail/fastforward" + !net-mail/fastforward + selinux? ( sec-policy/selinux-postfix )" REQUIRED_USE="ldap-bind? ( ldap sasl )" S="${WORKDIR}/${MY_SRC}" -pkg_setup() { - # Add postfix, postdrop user/group (bug #77565) - enewgroup postfix 207 - enewgroup postdrop 208 - enewuser postfix 207 -1 /var/spool/postfix postfix,mail -} +PATCHES=( + "${FILESDIR}/${PN}-libressl-certkey.patch" + "${FILESDIR}/${PN}-libressl-server.patch" + "${FILESDIR}/${PN}-glibc230.patch" +) src_prepare() { - epatch "${FILESDIR}/${PN}-2.11.1-db6.patch" - if use vda; then - epatch "${DISTDIR}"/${VDA_P}.patch - fi - + default sed -i -e "/^#define ALIAS_DB_MAP/s|:/etc/aliases|:/etc/mail/aliases|" \ src/util/sys_defs.h || die "sed failed" - # change default paths to better comply with portage standard paths sed -i -e "s:/usr/local/:/usr/:g" conf/master.cf || die "sed failed" } src_configure() { + for name in CDB LDAP LMDB MYSQL PCRE PGSQL SDBM SQLITE + do + local AUXLIBS_${name}="" + done + # Make sure LDFLAGS get passed down to the executables. - local mycc="-DHAS_PCRE" mylibs="${LDFLAGS} -lpcre -lcrypt -lpthread" + local mycc="-DHAS_PCRE" mylibs="${LDFLAGS} -ldl" + AUXLIBS_PCRE="$(pcre-config --libs)" use pam && mylibs="${mylibs} -lpam" if use ldap; then mycc="${mycc} -DHAS_LDAP" - mylibs="${mylibs} -lldap -llber" + AUXLIBS_LDAP="-lldap -llber" fi if use mysql; then mycc="${mycc} -DHAS_MYSQL $(mysql_config --include)" - mylibs="${mylibs} $(mysql_config --libs)" + AUXLIBS_MYSQL="$(mysql_config --libs)" fi if use postgres; then mycc="${mycc} -DHAS_PGSQL -I$(pg_config --includedir)" - mylibs="${mylibs} -lpq -L$(pg_config --libdir)" + AUXLIBS_PGSQL="-L$(pg_config --libdir) -lpq" fi if use sqlite; then mycc="${mycc} -DHAS_SQLITE" - mylibs="${mylibs} -lsqlite3" + AUXLIBS_SQLITE="-lsqlite3 -lpthread" fi if use ssl; then @@ -108,6 +114,15 @@ src_configure() { mylibs="${mylibs} -lssl -lcrypto" fi + if use lmdb; then + mycc="${mycc} -DHAS_LMDB" + AUXLIBS_LMDB="-llmdb -lpthread" + fi + + if ! use eai; then + mycc="${mycc} -DNO_EAI" + fi + # broken. and "in other words, not supported" by upstream. # Use inet_protocols setting in main.cf #if ! use ipv6; then @@ -129,33 +144,30 @@ src_configure() { fi if ! use nis; then - sed -i -e "s|#define HAS_NIS|//#define HAS_NIS|g" \ - src/util/sys_defs.h || die "sed failed" + mycc="${mycc} -DNO_NIS" fi if ! use berkdb; then mycc="${mycc} -DNO_DB" if use cdb; then # change default hash format from Berkeley DB to cdb - sed -i -e "s/hash/cdb/" src/util/sys_defs.h || die + mycc="${mycc} -DDEF_DB_TYPE=\\\"cdb\\\"" fi fi if use cdb; then mycc="${mycc} -DHAS_CDB -I/usr/include/cdb" - CDB_LIBS="" # Tinycdb is preferred. if has_version dev-db/tinycdb ; then einfo "Building with dev-db/tinycdb" - CDB_LIBS="-lcdb" + AUXLIBS_CDB="-lcdb" else einfo "Building with dev-db/cdb" CDB_PATH="/usr/$(get_libdir)" for i in cdb.a alloc.a buffer.a unix.a byte.a ; do - CDB_LIBS="${CDB_LIBS} ${CDB_PATH}/${i}" + AUXLIBS_CDB="${AUXLIBS_CDB} ${CDB_PATH}/${i}" done fi - mylibs="${mylibs} ${CDB_LIBS}" fi # Robin H. Johnson <robbat2@gentoo.org> 17/Nov/2006 @@ -173,14 +185,18 @@ src_configure() { sed -i -e "/^RANLIB/s/ranlib/$(tc-getRANLIB)/g" "${S}"/makedefs sed -i -e "/^AR/s/ar/$(tc-getAR)/g" "${S}"/makedefs - emake DEBUG="" CC="$(tc-getCC)" OPT="${CFLAGS}" CCARGS="${mycc}" AUXLIBS="${mylibs}" makefiles + + emake makefiles shared=yes dynamicmaps=no pie=yes \ + shlib_directory="/usr/$(get_libdir)/postfix/MAIL_VERSION" \ + DEBUG="" CC="$(tc-getCC)" OPT="${CFLAGS}" CCARGS="${mycc}" AUXLIBS="${mylibs}" \ + AUXLIBS_CDB="${AUXLIBS_CDB}" AUXLIBS_LDAP="${AUXLIBS_LDAP}" \ + AUXLIBS_LMDB="${AUXLIBS_LMDB}" AUXLIBS_MYSQL="${AUXLIBS_MYSQL}" \ + AUXLIBS_PCRE="${AUXLIBS_PCRE}" AUXLIBS_PGSQL="${AUXLIBS_PGSQL}" \ + AUXLIBS_SQLITE="${AUXLIBS_SQLITE}" } src_install () { - local myconf - use doc && myconf="readme_directory=\"/usr/share/doc/${PF}/readme\" \ - html_directory=\"/usr/share/doc/${PF}/html\"" - + LD_LIBRARY_PATH="${S}/lib" \ /bin/sh postfix-install \ -non-interactive \ install_root="${D}" \ @@ -190,7 +206,6 @@ src_install () { mailq_path="/usr/bin/mailq" \ newaliases_path="/usr/bin/newaliases" \ sendmail_path="/usr/sbin/sendmail" \ - ${myconf} \ || die "postfix-install failed" # Fix spool removal on upgrade @@ -201,30 +216,35 @@ src_install () { dobin auxiliary/rmail/rmail # Provide another link for legacy FSH - dosym /usr/sbin/sendmail /usr/$(get_libdir)/sendmail + dosym ../sbin/sendmail /usr/$(get_libdir)/sendmail - # Install qshape tool + # Install qshape, posttls-finger and collate dobin auxiliary/qshape/qshape.pl doman man/man1/qshape.1 + dobin bin/posttls-finger + doman man/man1/posttls-finger.1 + dobin auxiliary/collate/collate.pl + newdoc auxiliary/collate/README README.collate # Performance tuning tools and their manuals dosbin bin/smtp-{source,sink} bin/qmqp-{source,sink} doman man/man1/smtp-{source,sink}.1 man/man1/qmqp-{source,sink}.1 # Set proper permissions on required files/directories - dodir /var/lib/postfix keepdir /var/lib/postfix fowners -R postfix:postfix /var/lib/postfix fperms 0750 /var/lib/postfix fowners root:postdrop /usr/sbin/post{drop,queue} - fperms 02711 /usr/sbin/post{drop,queue} + fperms 02755 /usr/sbin/post{drop,queue} keepdir /etc/postfix + keepdir /etc/postfix/postfix-files.d if use mbox; then mypostconf="mail_spool_directory=/var/spool/mail" else mypostconf="home_mailbox=.maildir/" fi + LD_LIBRARY_PATH="${S}/lib" \ "${D}"/usr/sbin/postconf -c "${D}"/etc/postfix \ -e ${mypostconf} || die "postconf failed" @@ -238,8 +258,9 @@ src_install () { use postgres || sed -i -e "s/postgresql //" "${D}/etc/init.d/postfix" dodoc *README COMPATIBILITY HISTORY PORTING RELEASE_NOTES* - mv "${D}"/etc/postfix/{*.default,makedefs.out} "${D}"/usr/share/doc/${PF}/ - use doc && mv "${S}"/examples "${D}"/usr/share/doc/${PF}/ + mv "${S}"/examples "${D}"/usr/share/doc/${PF}/ + # postfix set-permissions expects uncompressed man files + docompress -x /usr/share/man pamd_mimic_system smtp auth account @@ -252,42 +273,26 @@ src_install () { insinto /usr/include/postfix doins include/*.h - # Remove unnecessary files - rm -f "${D}"/etc/postfix/{*LICENSE,access,aliases,canonical,generic} - rm -f "${D}"/etc/postfix/{header_checks,relocated,transport,virtual} + if has_version mail-mta/postfix; then + # let the sysadmin decide when to change the compatibility_level + sed -i -e /^compatibility_level/"s/^/#/" "${D}"/etc/postfix/main.cf || die + fi systemd_dounit "${FILESDIR}/${PN}.service" } pkg_preinst() { - # Postfix 2.9. - # default for inet_protocols changed from ipv4 to all in postfix-2.9. - # check inet_protocols setting in main.cf and modify if necessary to prevent - # performance loss with useless DNS lookups and useless connection attempts. - [[ -d ${ROOT}/etc/postfix ]] && { - if [[ "$(${D}/usr/sbin/postconf -dh inet_protocols)" != "ipv4" ]]; then - if [[ ! -n "$(${D}/usr/sbin/postconf -c ${ROOT}/etc/postfix -n inet_protocols)" ]]; - then - ewarn "\nCOMPATIBILITY: adding inet_protocols=ipv4 to main.cf." - ewarn "That will keep the same behaviour as previous postfix versions." - ewarn "Specify inet_protocols explicitly if you want to enable IPv6.\n" - else - # delete inet_protocols setting. there is already one in /etc/postfix - sed -i -e /inet_protocols/d "${D}"/etc/postfix/main.cf || die - fi + if has_version '<mail-mta/postfix-3.4'; then + elog + elog "Postfix-3.4 introduces a new master.cf service 'postlog'" + elog "with type 'unix-dgram' that is used by the new postlogd(8) daemon." + elog "Before backing out to an older Postfix version, edit the master.cf" + elog "file and remove the postlog entry." + elog fi - } } pkg_postinst() { - # Do not install server.{key,pem) SSL certificates if they already exist - if use ssl && [[ ! -f "${ROOT}"/etc/ssl/postfix/server.key \ - && ! -f "${ROOT}"/etc/ssl/postfix/server.pem ]] ; then - SSL_ORGANIZATION="${SSL_ORGANIZATION:-Postfix SMTP Server}" - install_cert /etc/ssl/postfix/server - chown postfix:mail "${ROOT}"/etc/ssl/postfix/server.{key,pem} - fi - if [[ ! -e /etc/mail/aliases.db ]] ; then ewarn ewarn "You must edit /etc/mail/aliases to suit your needs" @@ -295,4 +300,19 @@ pkg_postinst() { ewarn "work correctly without it." ewarn fi + + # check and fix file permissions + "${EROOT}"/usr/sbin/postfix set-permissions + + # configure tls + if use ssl ; then + if "${EROOT}"/usr/sbin/postfix tls all-default-client; then + elog "To configure client side TLS settings:" + elog "${EROOT}"/usr/sbin/postfix tls enable-client + fi + if "${EROOT}"/usr/sbin/postfix tls all-default-server; then + elog "To configure server side TLS settings:" + elog "${EROOT}"/usr/sbin/postfix tls enable-server + fi + fi } diff --git a/mail-mta/postfix/postfix-3.5_pre20191019.ebuild b/mail-mta/postfix/postfix-3.5_pre20191214.ebuild index 267950e32ba9..45fc9fcc8c23 100644 --- a/mail-mta/postfix/postfix-3.5_pre20191019.ebuild +++ b/mail-mta/postfix/postfix-3.5_pre20191214.ebuild @@ -16,7 +16,7 @@ SRC_URI="${MY_URI}/${MY_SRC}.tar.gz" LICENSE="|| ( IBM EPL-2.0 )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" IUSE="+berkdb cdb dovecot-sasl +eai hardened ldap ldap-bind libressl lmdb memcached mbox mysql nis pam postgres sasl selinux sqlite ssl" DEPEND=">=dev-libs/libpcre-3.4 @@ -54,8 +54,7 @@ RDEPEND="${DEPEND} !mail-mta/qmail-ldap !mail-mta/sendmail !mail-mta/opensmtpd - !<mail-mta/ssmtp-2.64-r2 - !>=mail-mta/ssmtp-2.64-r2[mta] + !mail-mta/ssmtp[mta] !net-mail/fastforward selinux? ( sec-policy/selinux-postfix )" diff --git a/mail-mta/ssmtp/Manifest b/mail-mta/ssmtp/Manifest index 3788661d093e..bba56fa0f273 100644 --- a/mail-mta/ssmtp/Manifest +++ b/mail-mta/ssmtp/Manifest @@ -1,6 +1,6 @@ DIST ssmtp-2.64-patches-3.tar.bz2 5128 BLAKE2B c41c6366a0cfc59a2bbb935d9edd209b439ec4512bc43e0eeadad944af03dad5e25cf03270f352edf3fed45f1f8ca082ccde775970cae8e48655de01d3a758c8 SHA512 140ca571705ee45ca2d6718b456ab028e3aaeb910a64230d8143a29de837eb3be8f16641f21f56f2c5112867512fabdc952886701d596f0bb303fc1524a1ad46 DIST ssmtp-2.64-patches-4.tar.xz 6928 BLAKE2B 6f1d9a823273298abc58025c94cb288e1e296031580f63ed489a9d2559cd8846761e78c6fdfc1a385e645f990bc739ce3cf3ad0d1c1a3006dd3bd60e4a38c4f4 SHA512 6fa57c0bc5ad363e21bf69fb60f1cbb87ad1ead393a53ab5bd25b709303c321a29ed37ce7fe95b94dae748703bba3b0631fc2a95e40957c5241b5d9f42bc0c4a DIST ssmtp_2.64.orig.tar.bz2 52501 BLAKE2B be158f8d969f98e1a7105bf4b741da960efa2a1c4a941426d6b6ec0677df13a2272fc71a93d2c44fe65c7d0a30e9acc4ec8259ed298b746c8d9ceefd64f95336 SHA512 911752e744420adf58552b9cf3a6e558d8b39103e5ad33a9ed4429b9a3a2091f7674aac11fe9bbd66747a61cdabe6bd638b80efcaadc86b057c12e2e235cca72 -EBUILD ssmtp-2.64-r2.ebuild 2937 BLAKE2B 21561097f864cf943742f1e9f7366f24600c6a22b602a24b47527ba9c51a4c51a58bced8afe6294317e8af2347a203d84d2f525a85f7f819bdf5a7b3ce9faffa SHA512 010659558b26e2a51fb0c97395c68e1614dcc1df41ba924ef037b7ff3eea76d1886ad2f0a842c661a039336d8a53783268675f42d8e5a459043986c50887fd1e -EBUILD ssmtp-2.64-r3.ebuild 3019 BLAKE2B d70bed926d7ef1b7e2bbaa7bc9a5bffc04bdb601a25239719823b5b9c4dace8410aaa1ee610d03cf398e66d98d12471d3070b37fb964380412df97b17286b891 SHA512 658a37336b701f950f6c0b1c972e8ca2dc42206f6b0b7cb050a27ccccc1c863ef06015795336eba35a40d691d61b15eea0cdfbce2001dce2b5277afc9ef2c249 +EBUILD ssmtp-2.64-r2.ebuild 2930 BLAKE2B 3cf879b819c2262a26a743229531190185cd704cf16870f0d0786038b30b4312c5af44310306081058a2b0cef644a9afed3c0eda7e25ec7315eadb3e8c1d9a2d SHA512 35b5a8bd404fa2d42061dd14fea940afcf3f33b8c3f96b57ebe2ea4b65d099549d518532694863d735fa62f2a37ca56d29b652a32dc2b58ff76918e894230711 +EBUILD ssmtp-2.64-r3.ebuild 3012 BLAKE2B ba40d9f85260c6b37aa340bf4f3f25b8fe0adce49d84d812499ff4b07568dbd2bf9915fe0e722f6e05157fffe0ce7de3407a4baad41f0d02a0d3c966326dd58b SHA512 1b7308e87ded215d651d32c2ebc26023fb0d67bab8b5b6e4f9c01cac6655da8463d9ab7d523cbac1635acc08f5d04154e5c68af5cde1ccccad6cf6af0009cd6b MISC metadata.xml 259 BLAKE2B eb59516b105b0fdc4b755c3852b714707dba4f5b414eb0eea763db68aa0c5d1971b55866972ef14f1e3e5bc81ccb66975a24b9292aa796edf02877d649a661f2 SHA512 3e7a5afefe4f2095be4347e56af64eef343bbb4920ef80a7d93c88111864e8993f899328af33e736324960d26f30939e29e001e90381548a353ee0089f96a766 diff --git a/mail-mta/ssmtp/ssmtp-2.64-r2.ebuild b/mail-mta/ssmtp/ssmtp-2.64-r2.ebuild index 30b375ca20d5..885dd6a73045 100644 --- a/mail-mta/ssmtp/ssmtp-2.64-r2.ebuild +++ b/mail-mta/ssmtp/ssmtp-2.64-r2.ebuild @@ -70,7 +70,7 @@ src_configure() { } src_compile() { - emake etcdir="${EPREFIX}"/etc || die + emake etcdir="${EPREFIX}"/etc } src_install() { diff --git a/mail-mta/ssmtp/ssmtp-2.64-r3.ebuild b/mail-mta/ssmtp/ssmtp-2.64-r3.ebuild index 3578fd7d685a..4d7d47e86f81 100644 --- a/mail-mta/ssmtp/ssmtp-2.64-r3.ebuild +++ b/mail-mta/ssmtp/ssmtp-2.64-r3.ebuild @@ -73,7 +73,7 @@ src_configure() { } src_compile() { - emake etcdir="${EPREFIX}"/etc || die + emake etcdir="${EPREFIX}"/etc } src_install() { |