Added mail-mta/exim-4.92-r2.
This commit is contained in:
parent
dd679a94b6
commit
ec0008a65f
25
mail-mta/exim/Manifest
Normal file
25
mail-mta/exim/Manifest
Normal file
|
@ -0,0 +1,25 @@
|
|||
AUX auth_conf.sub 790 BLAKE2B 28ad6e3b494396c0bd42e7ac13de9e8e3cbd553f3e78e787925e0c08b6896e479da495b94b511e739cbe31fc3ab3e6948373b566db5c9aeb3cd46cb52109ba31 SHA512 c0799a44e0fabdd4eb33c9c4a009c7abed80d5b2ab773206b11d644e54bb79004c5741fc510df77fe9856bdff979a14f1cf9a58da19fb00aaae05c623da287b3
|
||||
AUX exim-4.14-tail.patch 446 BLAKE2B 62e46f052c6d958246570c40ed67819f67c4a4ee74fbfe3c82c6f8494ef98ab65089845dd89ffc01516a0c861d9003ade5e4d67476cb34185d27b99cf233dd86 SHA512 a0365b15f0a48076f9660ebc424d48f68995ac21bbf77f407bdca5103ca65758d7f2241d0151eb5c78476557e240b24a95c23d3b12cfffc1b34ab6f89f2c2110
|
||||
AUX exim-4.20-maildir.patch 478 BLAKE2B 60feb354143a35631c3a71e46410e069d67cb7eab6643e6b2d4f4cfc15b497b96bb8f69a02ec67c3a6294f4d3c1da9e0787ca996f140713a19ecbcacc8ce0d4d SHA512 2c6f68e3c162a51e62ce6e391db8e79733f11bba20cc8778737650158203b88f9a77b7bbbd2a32b2cf8ae50f039b794fb0996f198acec6a50b94cad6a111f432
|
||||
AUX exim-4.69-r1.27021.patch 1447 BLAKE2B d1f40f68b056ae49cd78408d3dc54a1f4fb1584fec003c68645c8a7245499ef96c1bc3af8aac57d31ee10cb0d4ff2808a50bf35bb36f17df929b2c24abed90e2 SHA512 45a5b833c698da4690485716c7c45d762a9194d5ae41514028bbad548bbd44373cf7a3a3c6a1c4f635f3f50d1695ac7ead098bf8be15cd1f691c7cc6c7f8d715
|
||||
AUX exim-4.74-localscan_dlopen.patch 9280 BLAKE2B 11e1e9bd4700ba4d897cd585b751cfecbc3a9f2058961ed2ef876e42ff43d98357c35ced65e1866927e11a3d4ae2de5012456aab17f1a66ed20d10ff4054ece5 SHA512 bfd35b8fcc7b8bd50a28b2bb7865d358ed1af3978b057da1c83a0be38ba30a737d983b6b5cf829559ba8c490709d28bdb7d679eb825fe7e24798ec223bedc94e
|
||||
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-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
|
||||
AUX exim.logrotate 116 BLAKE2B c3689e95e31ccaaaca70e43ff8dbe3e69105da2266e701b57673fa90ee1cdf8c55be0fa2010ad9c10b2fba5443d6303584411bfe56198695995b5491efcfd8de SHA512 24bb8dcfadb1204c2ab0316d57de287b5092754731949390cfb3c88fa6827d45acfe1048cf9e26f615ca0449e8d780d0c98ea55ed61be9d1558755d3e53b9ec8
|
||||
AUX exim.rc10 1135 BLAKE2B abc7247ee8171069f30f954d9e4275fa85f09f5488a372f9c4f7fd6cf16247dce6bd306d0a8631185cd1afb92ca8919301bf5f21aa3fcac5929a715b9abec510 SHA512 5c7cee6139145983c62df8f5ef6c401d34d2eb7eae3146c28045129ba40868ca4d3d10d4b7056887cf4d4d8a83271592f7fa0a527663f727fa8694b621eb5624
|
||||
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.tar.xz 1767136 BLAKE2B 6c97578807073a782112218c65de460cc94f046d807eddc7330f2f67266c0ef341ded61050a16aca13c88e606a923a9e08033c8bfb618a7ef34b3d2ea6db32ca SHA512 62c327e6184a358ba7f0dbc38b44d2537234be91727a5bfac97e74af64a8d77e376b3221dcfdd8f6eca7d812f9233595503dc6e50e2972bed40a1b74eb209c31
|
||||
DIST exim-pdf-4.92.tar.xz 2038812 BLAKE2B d5966a27f980a2ceb31293d92049a6691a08262bd20ae7315f41929f0d7a45b5d66c7000f9596b193e74d0c17f91c56a3262602047673c49649f1cad6b216547 SHA512 3a40818025fceaa7ac17f8e7ce06a61e3cf65267c821aea93e1a1a659782b047ab177b88a38c9b2271c0a296e1dc7939e23fe0f89415a11cd45693cb8af10c15
|
||||
DIST system_filter.exim.gz 3075 BLAKE2B d05e872b5cef377d29126cda03fc0a74c8777b2119b76ff43da6e8de808035eb9bfcb034a85d81824f135d484e864bfc0629fc1af2c228a7277d5ee7cf9cde79 SHA512 cb358d3ce2499a0bb5920d962a06f2af8486e55ec90c8c928bd8e3aefb279aa57f5f960d5adfcef68bd94110b405eaa144e9629cfe6014a529c79c544600bbf3
|
||||
EBUILD exim-4.92-r2.ebuild 13511 BLAKE2B 53836e205475bc3b2d22afb9d09d9a17a76a7308d6c2ac85d048c28b068f01a530d198f634b30b50f0d455db92bfab5982f4ae6cfeeec38dd85d1f1f202438fd SHA512 258d728ca84c1a0dc62428a6354af50bf5249e3a9299f33fe625a3345361a34d3bac6a7ff72f135a66712b805781ef994858ec0a80069d92c6af30d4504941ee
|
||||
MISC metadata.xml 2457 BLAKE2B c1dcbaedd069b41c4cfb190806b44014229d53cf6d6f72e04b99dc91f223567cb4f30100792aae72658780da0579fa26e6fb8a0266565bcc0c307996d59ac3ed SHA512 9044abccd15525c7676fc218b62d9b663bd155482894eced9c0cfc8a22e8cd7353009adc75a9f3de15b14f267e6ee6b4f4c91d8bd9260931c0b9de6bf48c762f
|
577
mail-mta/exim/exim-4.92-r2.ebuild
Normal file
577
mail-mta/exim/exim-4.92-r2.ebuild
Normal file
|
@ -0,0 +1,577 @@
|
|||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit db-use eutils 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 )
|
||||
"
|
||||
# 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="http://www.exim.org/"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~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? ( virtual/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? ( virtual/libmysqlclient )
|
||||
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
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
virtual/pkgconfig"
|
||||
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() {
|
||||
epatch "${FILESDIR}"/exim-4.14-tail.patch
|
||||
epatch "${FILESDIR}"/exim-4.92-localscan_dlopen.patch
|
||||
epatch "${FILESDIR}"/exim-4.69-r1.27021.patch
|
||||
epatch "${FILESDIR}"/exim-4.74-radius-db-ENV-clash.patch # 287426
|
||||
epatch "${FILESDIR}"/exim-4.82-makefile-freebsd.patch # 235785
|
||||
epatch "${FILESDIR}"/exim-4.89-as-needed-ldflags.patch # 352265, 391279
|
||||
epatch "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591
|
||||
epatch "${FILESDIR}"/exim-4.92-fix-eval-expansion-32bit.patch #687554
|
||||
|
||||
if use maildir ; then
|
||||
epatch "${FILESDIR}"/exim-4.20-maildir.patch
|
||||
else
|
||||
epatch "${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
|
||||
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-getCC $CBUILD)" \
|
||||
AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' \
|
||||
|| die "make failed"
|
||||
}
|
||||
|
||||
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 "${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"
|
||||
}
|
25
mail-mta/exim/files/auth_conf.sub
Normal file
25
mail-mta/exim/files/auth_conf.sub
Normal file
|
@ -0,0 +1,25 @@
|
|||
######################################################################
|
||||
# AUTHENTICATION CONFIGURATION #
|
||||
######################################################################
|
||||
# If you're using PAM to authenticate, lifes real simple.
|
||||
# This plain directive works for nearly everything except windows MUA's the
|
||||
# login directive will allow you to authenticate your Outlook 2000 and
|
||||
# outlook express clients.
|
||||
|
||||
|
||||
|
||||
plain:
|
||||
driver = plaintext
|
||||
public_name = PLAIN
|
||||
server_condition = "${if pam{$2:$3}{1}{0}}"
|
||||
server_set_id = $2
|
||||
|
||||
login:
|
||||
driver = plaintext
|
||||
public_name = LOGIN
|
||||
server_prompts = "Username:: : Password::"
|
||||
server_condition = "${if pam{$1:${sg{$2}{:}{::}}}{1}{0}}"
|
||||
server_set_id = $1
|
||||
#
|
||||
# FIXME
|
||||
# Need to add authenticator for SPA!!
|
11
mail-mta/exim/files/exim-4.14-tail.patch
Normal file
11
mail-mta/exim/files/exim-4.14-tail.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- scripts/Configure-config.h.orig 2003-07-17 18:01:19.000000000 -0400
|
||||
+++ scripts/Configure-config.h 2003-07-17 18:01:25.000000000 -0400
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
# Double-check that config.h is complete.
|
||||
|
||||
-if [ "`tail -1 config.h`" != "/* End of config.h */" ] ; then
|
||||
+if [ "`tail -n 1 config.h`" != "/* End of config.h */" ] ; then
|
||||
echo "*** config.h appears to be incomplete"
|
||||
echo "*** unexpected failure in buildconfig program"
|
||||
exit 1
|
14
mail-mta/exim/files/exim-4.20-maildir.patch
Normal file
14
mail-mta/exim/files/exim-4.20-maildir.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
diff -urN ./exim-4.20.orig/src/configure.default exim-4.20/src/configure.default
|
||||
--- ./exim-4.20.orig/src/configure.default 2003-06-27 16:48:22.000000000 -0700
|
||||
+++ exim-4.20/src/configure.default 2003-06-27 16:52:20.000000000 -0700
|
||||
@@ -451,7 +451,9 @@
|
||||
|
||||
local_delivery:
|
||||
driver = appendfile
|
||||
- file = /var/mail/$local_part
|
||||
+# file = /var/mail/$local_part
|
||||
+ directory = /home/$local_part/.maildir
|
||||
+ maildir_format
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
48
mail-mta/exim/files/exim-4.69-r1.27021.patch
Normal file
48
mail-mta/exim/files/exim-4.69-r1.27021.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
diff -urN exim-4.69.orig/src/configure.default exim-4.69/src/configure.default
|
||||
--- exim-4.69.orig/src/configure.default 2008-05-05 10:17:44.000000000 +0100
|
||||
+++ exim-4.69/src/configure.default 2008-05-05 10:18:26.000000000 +0100
|
||||
@@ -592,6 +592,22 @@
|
||||
pipe_transport = address_pipe
|
||||
reply_transport = address_reply
|
||||
|
||||
+# This router runs procmail if users have a .procmailrc file
|
||||
+procmail:
|
||||
+ check_local_user
|
||||
+ driver = accept
|
||||
+ transport = procmail_pipe
|
||||
+ require_files = ${local_part}:+${home}:+${home}/.procmailrc:+/usr/bin/procmail
|
||||
+ no_verify
|
||||
+
|
||||
+# This router runs maildrop if users have a .mailfilter file
|
||||
+maildrop:
|
||||
+ check_local_user
|
||||
+ driver = accept
|
||||
+ transport = maildrop_pipe
|
||||
+ require_files = ${local_part}:+${home}:+${home}/.mailfilter:+/usr/bin/maildrop
|
||||
+ no_verify
|
||||
+
|
||||
|
||||
# This router matches local user mailboxes. If the router fails, the error
|
||||
# message is "Unknown user".
|
||||
@@ -676,6 +692,21 @@
|
||||
address_reply:
|
||||
driver = autoreply
|
||||
|
||||
+# This transport is used for procmail
|
||||
+procmail_pipe:
|
||||
+ driver = pipe
|
||||
+ command = "/usr/bin/procmail -d ${local_part}"
|
||||
+ return_path_add
|
||||
+ delivery_date_add
|
||||
+ envelope_to_add
|
||||
+
|
||||
+# This transport is used for courier-maildrop filtering (Maildir filter system)
|
||||
+maildrop_pipe:
|
||||
+ driver = pipe
|
||||
+ command = "/usr/bin/maildrop -d ${local_part}"
|
||||
+ return_path_add
|
||||
+ delivery_date_add
|
||||
+ envelope_to_add
|
||||
|
||||
|
||||
######################################################################
|
262
mail-mta/exim/files/exim-4.74-localscan_dlopen.patch
Normal file
262
mail-mta/exim/files/exim-4.74-localscan_dlopen.patch
Normal file
|
@ -0,0 +1,262 @@
|
|||
diff -Naur exim-4.32/src/EDITME exim-4.32-dlopen/src/EDITME
|
||||
--- src/EDITME 2004-04-15 08:27:01.000000000 +0000
|
||||
+++ src/EDITME 2004-05-06 16:15:47.000000000 +0000
|
||||
@@ -505,6 +505,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
|
||||
diff -Naur exim-4.32/src/config.h.defaults exim-4.32-dlopen/src/config.h.defaults
|
||||
--- src/config.h.defaults 2004-04-15 08:27:01.000000000 +0000
|
||||
+++ src/config.h.defaults 2004-05-06 16:16:30.000000000 +0000
|
||||
@@ -20,6 +20,8 @@
|
||||
#define AUTH_PLAINTEXT
|
||||
#define AUTH_SPA
|
||||
|
||||
+#define DLOPEN_LOCAL_SCAN
|
||||
+
|
||||
#define BIN_DIRECTORY
|
||||
|
||||
#define CONFIGURE_FILE
|
||||
diff -Naur exim-4.32/src/globals.c exim-4.32-dlopen/src/globals.c
|
||||
--- src/globals.c 2004-04-15 08:27:01.000000000 +0000
|
||||
+++ src/globals.c 2004-05-06 16:17:07.000000000 +0000
|
||||
@@ -109,6 +109,10 @@
|
||||
uschar *tls_verify_hosts = NULL;
|
||||
#endif
|
||||
|
||||
+#ifdef DLOPEN_LOCAL_SCAN
|
||||
+uschar *local_scan_path = NULL;
|
||||
+#endif
|
||||
+
|
||||
|
||||
/* Input-reading functions for messages, so we can use special ones for
|
||||
incoming TCP/IP. The defaults use stdin. We never need these for any
|
||||
diff -Naur exim-4.32/src/globals.h exim-4.32-dlopen/src/globals.h
|
||||
--- src/globals.h 2004-04-15 08:27:01.000000000 +0000
|
||||
+++ src/globals.h 2004-05-06 16:17:50.000000000 +0000
|
||||
@@ -73,6 +73,9 @@
|
||||
extern uschar *tls_verify_hosts; /* Mandatory client verification */
|
||||
#endif
|
||||
|
||||
+#ifdef DLOPEN_LOCAL_SCAN
|
||||
+extern uschar *local_scan_path; /* Path to local_scan() library */
|
||||
+#endif
|
||||
|
||||
/* Input-reading functions for messages, so we can use special ones for
|
||||
incoming TCP/IP. */
|
||||
diff -Naur exim-4.32/src/local_scan.c exim-4.32-dlopen/src/local_scan.c
|
||||
--- src/local_scan.c 2004-04-15 08:27:01.000000000 +0000
|
||||
+++ src/local_scan.c 2004-05-06 16:21:57.000000000 +0000
|
||||
@@ -5,60 +5,131 @@
|
||||
/* Copyright (c) University of Cambridge 1995 - 2004 */
|
||||
/* See the file NOTICE for conditions of use and distribution. */
|
||||
|
||||
+#include "exim.h"
|
||||
|
||||
-/******************************************************************************
|
||||
-This file contains a template local_scan() function that just returns ACCEPT.
|
||||
-If you want to implement your own version, you should copy this file to, say
|
||||
-Local/local_scan.c, and edit the copy. To use your version instead of the
|
||||
-default, you must set
|
||||
-
|
||||
-LOCAL_SCAN_SOURCE=Local/local_scan.c
|
||||
-
|
||||
-in your Local/Makefile. This makes it easy to copy your version for use with
|
||||
-subsequent Exim releases.
|
||||
-
|
||||
-For a full description of the API to this function, see the Exim specification.
|
||||
-******************************************************************************/
|
||||
-
|
||||
-
|
||||
-/* This is the only Exim header that you should include. The effect of
|
||||
-including any other Exim header is not defined, and may change from release to
|
||||
-release. Use only the documented interface! */
|
||||
-
|
||||
-#include "local_scan.h"
|
||||
-
|
||||
-
|
||||
-/* This is a "do-nothing" version of a local_scan() function. The arguments
|
||||
-are:
|
||||
-
|
||||
- fd The file descriptor of the open -D file, which contains the
|
||||
- body of the message. The file is open for reading and
|
||||
- writing, but modifying it is dangerous and not recommended.
|
||||
-
|
||||
- return_text A pointer to an unsigned char* variable which you can set in
|
||||
- order to return a text string. It is initialized to NULL.
|
||||
-
|
||||
-The return values of this function are:
|
||||
-
|
||||
- LOCAL_SCAN_ACCEPT
|
||||
- The message is to be accepted. The return_text argument is
|
||||
- saved in $local_scan_data.
|
||||
-
|
||||
- LOCAL_SCAN_REJECT
|
||||
- The message is to be rejected. The returned text is used
|
||||
- in the rejection message.
|
||||
-
|
||||
- LOCAL_SCAN_TEMPREJECT
|
||||
- This specifies a temporary rejection. The returned text
|
||||
- is used in the rejection message.
|
||||
-*/
|
||||
+#ifdef DLOPEN_LOCAL_SCAN
|
||||
+#include <dlfcn.h>
|
||||
+static int (*local_scan_fn)(int fd, uschar **return_text) = NULL;
|
||||
+static int load_local_scan_library(void);
|
||||
+#endif
|
||||
|
||||
int
|
||||
local_scan(int fd, uschar **return_text)
|
||||
{
|
||||
fd = fd; /* Keep picky compilers happy */
|
||||
return_text = return_text;
|
||||
-return LOCAL_SCAN_ACCEPT;
|
||||
+#ifdef DLOPEN_LOCAL_SCAN
|
||||
+/* local_scan_path is defined AND not the empty string */
|
||||
+if (local_scan_path && *local_scan_path)
|
||||
+ {
|
||||
+ if (!local_scan_fn)
|
||||
+ {
|
||||
+ if (!load_local_scan_library())
|
||||
+ {
|
||||
+ char *base_msg , *error_msg , *final_msg ;
|
||||
+ int final_length = -1 ;
|
||||
+
|
||||
+ base_msg=US"Local configuration error - local_scan() library failure\n";
|
||||
+ error_msg = dlerror() ;
|
||||
+
|
||||
+ final_length = strlen(base_msg) + strlen(error_msg) + 1 ;
|
||||
+ final_msg = (char*)malloc( final_length*sizeof(char) ) ;
|
||||
+ *final_msg = '\0' ;
|
||||
+
|
||||
+ strcat( final_msg , base_msg ) ;
|
||||
+ strcat( final_msg , error_msg ) ;
|
||||
+
|
||||
+ *return_text = final_msg ;
|
||||
+ return LOCAL_SCAN_TEMPREJECT;
|
||||
+ }
|
||||
+ }
|
||||
+ return local_scan_fn(fd, return_text);
|
||||
+ }
|
||||
+else
|
||||
+#endif
|
||||
+ return LOCAL_SCAN_ACCEPT;
|
||||
+}
|
||||
+
|
||||
+#ifdef DLOPEN_LOCAL_SCAN
|
||||
+
|
||||
+static int load_local_scan_library(void)
|
||||
+{
|
||||
+/* No point in keeping local_scan_lib since we'll never dlclose() anyway */
|
||||
+void *local_scan_lib = NULL;
|
||||
+int (*local_scan_version_fn)(void);
|
||||
+int vers_maj;
|
||||
+int vers_min;
|
||||
+
|
||||
+local_scan_lib = dlopen(local_scan_path, RTLD_NOW);
|
||||
+if (!local_scan_lib)
|
||||
+ {
|
||||
+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library open failed - "
|
||||
+ "message temporarily rejected");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_major");
|
||||
+if (!local_scan_version_fn)
|
||||
+ {
|
||||
+ dlclose(local_scan_lib);
|
||||
+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
|
||||
+ "local_scan_version_major() function - message temporarily rejected");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+/* The major number is increased when the ABI is changed in a non
|
||||
+ backward compatible way. */
|
||||
+vers_maj = local_scan_version_fn();
|
||||
+
|
||||
+local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_minor");
|
||||
+if (!local_scan_version_fn)
|
||||
+ {
|
||||
+ dlclose(local_scan_lib);
|
||||
+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
|
||||
+ "local_scan_version_minor() function - message temporarily rejected");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+/* The minor number is increased each time a new feature is added (in a
|
||||
+ way that doesn't break backward compatibility) -- Marc */
|
||||
+vers_min = local_scan_version_fn();
|
||||
+
|
||||
+
|
||||
+if (vers_maj != LOCAL_SCAN_ABI_VERSION_MAJOR)
|
||||
+ {
|
||||
+ dlclose(local_scan_lib);
|
||||
+ local_scan_lib = NULL;
|
||||
+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible major"
|
||||
+ "version number, you need to recompile your module for this version"
|
||||
+ "of exim (The module was compiled for version %d.%d and this exim provides"
|
||||
+ "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR,
|
||||
+ LOCAL_SCAN_ABI_VERSION_MINOR);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+else if (vers_min > LOCAL_SCAN_ABI_VERSION_MINOR)
|
||||
+ {
|
||||
+ dlclose(local_scan_lib);
|
||||
+ local_scan_lib = NULL;
|
||||
+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible minor"
|
||||
+ "version number, you need to recompile your module for this version"
|
||||
+ "of exim (The module was compiled for version %d.%d and this exim provides"
|
||||
+ "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR,
|
||||
+ LOCAL_SCAN_ABI_VERSION_MINOR);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+local_scan_fn = dlsym(local_scan_lib, "local_scan");
|
||||
+if (!local_scan_fn)
|
||||
+ {
|
||||
+ dlclose(local_scan_lib);
|
||||
+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain "
|
||||
+ "local_scan() function - message temporarily rejected");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+return TRUE;
|
||||
}
|
||||
|
||||
+#endif /* DLOPEN_LOCAL_SCAN */
|
||||
+
|
||||
/* End of local_scan.c */
|
||||
diff -Naur exim-4.32/src/readconf.c exim-4.32-dlopen/src/readconf.c
|
||||
--- src/readconf.c 2004-04-15 08:27:01.000000000 +0000
|
||||
+++ src/readconf.c 2004-05-06 16:23:12.000000000 +0000
|
||||
@@ -223,6 +223,9 @@
|
||||
{ "local_from_prefix", opt_stringptr, &local_from_prefix },
|
||||
{ "local_from_suffix", opt_stringptr, &local_from_suffix },
|
||||
{ "local_interfaces", opt_stringptr, &local_interfaces },
|
||||
+#ifdef DLOPEN_LOCAL_SCAN
|
||||
+ { "local_scan_path", opt_stringptr, &local_scan_path },
|
||||
+#endif
|
||||
{ "local_scan_timeout", opt_time, &local_scan_timeout },
|
||||
{ "local_sender_retain", opt_bool, &local_sender_retain },
|
||||
{ "localhost_number", opt_stringptr, &host_number_string },
|
22
mail-mta/exim/files/exim-4.74-radius-db-ENV-clash.patch
Normal file
22
mail-mta/exim/files/exim-4.74-radius-db-ENV-clash.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
Nasty workaround for
|
||||
http://bugs.gentoo.org/show_bug.cgi?id=287426
|
||||
|
||||
--- src/auths/call_radius.c
|
||||
+++ src/auths/call_radius.c
|
||||
@@ -10,6 +10,16 @@
|
||||
/* This file was originally supplied by Ian Kirk. The libradius support came
|
||||
from Alex Kiernan. */
|
||||
|
||||
+/* ugly hack to work around redefinition of ENV by radiusclient.h and
|
||||
+ * db.h: define _DB_H_ so the db.h include thinks it's already included,
|
||||
+ * we can get away with it like this, since this file doesn't use any db
|
||||
+ * functions. */
|
||||
+#ifndef _DB_H_
|
||||
+#define _DB_H_ 1
|
||||
+#define _DB_EXT_PROT_IN_ 1
|
||||
+#define DB void
|
||||
+#endif
|
||||
+
|
||||
#include "../exim.h"
|
||||
|
||||
/* This module contains functions that call the Radius authentication
|
15
mail-mta/exim/files/exim-4.76-crosscompile.patch
Normal file
15
mail-mta/exim/files/exim-4.76-crosscompile.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
https://bugs.gentoo.org/show_bug.cgi?id=266591
|
||||
|
||||
--- OS/Makefile-Base
|
||||
+++ OS/Makefile-Base
|
||||
@@ -114,8 +114,8 @@
|
||||
|
||||
# Targets for special-purpose configuration header builders
|
||||
buildconfig: buildconfig.c
|
||||
- @echo "$(CC) buildconfig.c"
|
||||
- $(FE)$(CC) $(CFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS)
|
||||
+ @echo "$(HOSTCC) buildconfig.c"
|
||||
+ $(FE)$(HOSTCC) $(HOSTCFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS)
|
||||
|
||||
|
||||
# Target for the exicyclog utility script
|
27
mail-mta/exim/files/exim-4.80-spool-mail-group.patch
Normal file
27
mail-mta/exim/files/exim-4.80-spool-mail-group.patch
Normal file
|
@ -0,0 +1,27 @@
|
|||
Change default such that we run on a stock Gentoo system. Bug #438606
|
||||
|
||||
--- src/configure.default
|
||||
+++ src/configure.default
|
||||
@@ -674,8 +674,9 @@
|
||||
# BSD mailbox format. By default it will be run under the uid and gid of the
|
||||
# local user, and requires the sticky bit to be set on the /var/mail directory.
|
||||
# Some systems use the alternative approach of running mail deliveries under a
|
||||
-# particular group instead of using the sticky bit. The commented options below
|
||||
-# show how this can be done.
|
||||
+# particular group instead of using the sticky bit. This is also the
|
||||
+# default case on Gentoo, therefore group and mode are set below.
|
||||
+# Comment them out, to get the default behaviour.
|
||||
|
||||
local_delivery:
|
||||
driver = appendfile
|
||||
@@ -683,8 +684,8 @@
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
-# group = mail
|
||||
-# mode = 0660
|
||||
+ group = mail
|
||||
+ mode = 0660
|
||||
|
||||
|
||||
# This transport is used for handling pipe deliveries generated by alias or
|
45
mail-mta/exim/files/exim-4.82-makefile-freebsd.patch
Normal file
45
mail-mta/exim/files/exim-4.82-makefile-freebsd.patch
Normal file
|
@ -0,0 +1,45 @@
|
|||
--- 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
|
145
mail-mta/exim/files/exim-4.89-as-needed-ldflags.patch
Normal file
145
mail-mta/exim/files/exim-4.89-as-needed-ldflags.patch
Normal file
|
@ -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.
|
||||
|
||||
|
||||
--- 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
|
51
mail-mta/exim/files/exim-4.92-fix-eval-expansion-32bit.patch
Normal file
51
mail-mta/exim/files/exim-4.92-fix-eval-expansion-32bit.patch
Normal file
|
@ -0,0 +1,51 @@
|
|||
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
|
267
mail-mta/exim/files/exim-4.92-localscan_dlopen.patch
Normal file
267
mail-mta/exim/files/exim-4.92-localscan_dlopen.patch
Normal file
|
@ -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 "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
|
10
mail-mta/exim/files/exim-submission.socket
Normal file
10
mail-mta/exim/files/exim-submission.socket
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Description=Exim Mail Transfer Agent (message submission)
|
||||
Conflicts=exim.service
|
||||
|
||||
[Socket]
|
||||
ListenStream=587
|
||||
Accept=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
11
mail-mta/exim/files/exim-submission_at.service
Normal file
11
mail-mta/exim/files/exim-submission_at.service
Normal file
|
@ -0,0 +1,11 @@
|
|||
# It doesn't make sense for this to be separate from exim@.service
|
||||
# However, I couldn't think of a way to have two .socket files point
|
||||
# to it ([Socket] Service= is rejected if Accept=yes is set).
|
||||
|
||||
[Unit]
|
||||
Description=Exim Mail Daemon per-connection server (message submission)
|
||||
|
||||
[Service]
|
||||
ExecStart=-/usr/bin/exim -bs
|
||||
StandardInput=socket
|
||||
StandardError=syslog
|
5
mail-mta/exim/files/exim.confd
Normal file
5
mail-mta/exim/files/exim.confd
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Command-line options for running exim
|
||||
EXIM_OPTS="-bd -q15m"
|
||||
|
||||
# Additional flags passed to exim_tidydb upon start (e.g. -t 7d)
|
||||
TIDY_OPTS=""
|
9
mail-mta/exim/files/exim.logrotate
Normal file
9
mail-mta/exim/files/exim.logrotate
Normal file
|
@ -0,0 +1,9 @@
|
|||
/var/log/exim/exim*.log {
|
||||
daily
|
||||
missingok
|
||||
rotate 28
|
||||
compress
|
||||
delaycompress
|
||||
notifempty
|
||||
create 640 mail mail
|
||||
}
|
47
mail-mta/exim/files/exim.rc10
Normal file
47
mail-mta/exim/files/exim.rc10
Normal file
|
@ -0,0 +1,47 @@
|
|||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
extra_started_commands="reload"
|
||||
|
||||
depend() {
|
||||
need logger
|
||||
use antivirus net
|
||||
provide mta
|
||||
}
|
||||
|
||||
tidy_dbs() {
|
||||
local spooldir=$(/usr/sbin/exim -C /etc/exim/${SVCNAME}.conf -bP -n spool_directory)
|
||||
local db
|
||||
local ret=0
|
||||
ebegin "Tidying hints databases in ${spooldir}/db"
|
||||
for db in "${spooldir}"/db/* ; do
|
||||
case "${db}" in
|
||||
*".lockfile"|*"*") continue ;;
|
||||
esac
|
||||
/usr/sbin/exim_tidydb ${TIDY_OPTS} "${spooldir}" ${db##*/} > /dev/null
|
||||
: $((ret += $?))
|
||||
done
|
||||
eend ${ret}
|
||||
}
|
||||
|
||||
start() {
|
||||
# if you use multiple instances, make sure you set spool_directory
|
||||
# in the configfile
|
||||
tidy_dbs
|
||||
ebegin "Starting ${SVCNAME}"
|
||||
start-stop-daemon --start --exec /usr/sbin/exim --pidfile /run/${SVCNAME}.pid -- -C /etc/exim/${SVCNAME}.conf ${EXIM_OPTS:--bd -q15m}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${SVCNAME}"
|
||||
start-stop-daemon --stop --pidfile /run/${SVCNAME}.pid --name exim
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
ebegin "Reloading ${SVCNAME}"
|
||||
start-stop-daemon --signal HUP --pidfile /run/${SVCNAME}.pid --name exim
|
||||
eend $?
|
||||
}
|
12
mail-mta/exim/files/exim.service
Normal file
12
mail-mta/exim/files/exim.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Exim Mail Transport Agent
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Environment=QUEUE=15m
|
||||
ExecStart=/usr/sbin/exim -bdf -q${QUEUE}
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
10
mail-mta/exim/files/exim.socket
Normal file
10
mail-mta/exim/files/exim.socket
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Description=Exim Mail Transfer Agent
|
||||
Conflicts=exim.service
|
||||
|
||||
[Socket]
|
||||
ListenStream=25
|
||||
Accept=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
7
mail-mta/exim/files/exim_at.service
Normal file
7
mail-mta/exim/files/exim_at.service
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Unit]
|
||||
Description=Exim Mail Daemon per-connection server
|
||||
|
||||
[Service]
|
||||
ExecStart=-/usr/bin/exim -bs
|
||||
StandardInput=socket
|
||||
StandardError=syslog
|
52
mail-mta/exim/metadata.xml
Normal file
52
mail-mta/exim/metadata.xml
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>grobian@gentoo.org</email>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
Exim is a message transfer agent (MTA) developed at the University of
|
||||
Cambridge for use on Unix systems connected to the Internet. It is
|
||||
freely available under the terms of the GNU General Public Licence. In
|
||||
style it is similar to Smail 3, but its facilities are more general.
|
||||
There is a great deal of flexibility in the way mail can be routed, and
|
||||
there are extensive facilities for checking incoming mail. Exim can be
|
||||
installed in place of sendmail, although the configuration of exim is
|
||||
quite different to that of sendmail.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="arc">Adds support for Authenticated Receive Chain
|
||||
(ARC)</flag>
|
||||
<flag name="dcc">Adds support for Distributed Checksum Clearinghouse
|
||||
(DCC)</flag>
|
||||
<flag name="dane">Adds support for DNS-based Authentication of Named Entities</flag>
|
||||
<flag name="dkim">Adds support for DomainKeys Identified Mail
|
||||
(DKIM)</flag>
|
||||
<flag name="dnsdb">Adds support for a DNS search for a record whose
|
||||
domain name is the supplied query</flag>
|
||||
<flag name="dovecot-sasl">Adds support for Dovecot's
|
||||
authentication</flag>
|
||||
<flag name="dlfunc">Install local_scan.h header to compile separate
|
||||
dlfunc libraries</flag>
|
||||
<flag name="dmarc">Adds support for DMARC</flag>
|
||||
<flag name="dsn">Adds support for Delivery Status Notifications
|
||||
(DSN)</flag>
|
||||
<flag name="exiscan-acl">Patch providing support for content
|
||||
scanning</flag>
|
||||
<flag name="lmtp">Adds support for lmtp</flag>
|
||||
<flag name="mbx">Adds support for UW's mbx format</flag>
|
||||
<flag name="spf">Adds support for Sender Policy Framework</flag>
|
||||
<flag name="srs">Adds support for Sender Rewriting Scheme</flag>
|
||||
<flag name="proxy">Add support for being behind a proxy, such as HAProxy</flag>
|
||||
<flag name="pkcs11">Require pkcs11 support in <pkg>net-libs/gnutls</pkg> with USE=gnutls</flag>
|
||||
<flag name="redis">Adds support for querying <pkg>dev-db/redis</pkg></flag>
|
||||
<flag name="prdr">Adds support for Per-Recipient Data Response</flag>
|
||||
<flag name="tpda">Adds support for Transport Post-Delivery Actions</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<bugs-to>http://bugs.exim.org/</bugs-to>
|
||||
<!-- stupid DTD doesn't allow this
|
||||
<vcs>http://git.exim.org/exim.git</vcs>
|
||||
-->
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Loading…
Reference in a new issue