1 |
commit: e4104b9c4bd8cbaba4712e6a8d4e6c8d120ba5c0 |
2 |
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Aug 2 06:42:47 2019 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Aug 2 06:42:47 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4104b9c |
7 |
|
8 |
mail-mta/exim: cleanup vulnerable CVE-2019-10149 |
9 |
|
10 |
Bug: https://bugs.gentoo.org/687336 |
11 |
Package-Manager: Portage-2.3.66, Repoman-2.3.16 |
12 |
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> |
13 |
|
14 |
mail-mta/exim/Manifest | 2 - |
15 |
mail-mta/exim/exim-4.91-r2.ebuild | 561 --------------------- |
16 |
.../exim/files/exim-4.74-localscan_dlopen.patch | 262 ---------- |
17 |
3 files changed, 825 deletions(-) |
18 |
|
19 |
diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest |
20 |
index c666f92c515..92f89a8e4ee 100644 |
21 |
--- a/mail-mta/exim/Manifest |
22 |
+++ b/mail-mta/exim/Manifest |
23 |
@@ -1,7 +1,5 @@ |
24 |
-DIST exim-4.91.tar.xz 1744660 BLAKE2B 8d50a709def02a52f8e76a16fcf51a4fc7e553217d5513a361aa780f58bff336a9ab90d8683e3841a074f54f3c75f2f77bf1a353a849be1207bffdd5fb6e4c51 SHA512 35b34dda8dd0f27c0429e6eb8409756ecd3cf9e535bac421d696b1560db0ff3bf4cd0e4a00bc0b7e32137d31bb5de20776c7c1830ec125aa36b5c4376b0c71a2 |
25 |
DIST exim-4.92.1.tar.xz 1767976 BLAKE2B fb5bdb8762f16e30c43c7899e5fb5b459bb5e910458f970d20a5cb26cdde842d87a1f8150e4c0f9e931fa277e2f33a0fb8a6d478b5bf871d03a12ebd06c36d67 SHA512 fd43448db0aa5139f8b459322b95e258f232ac8a4bf21a19099c7768329ec20c344c4e0d8dd2e98c33a192a5f97d7666a746de2c87bdfb8da42c625c985d7e05 |
26 |
DIST exim-4.92.tar.xz 1767136 BLAKE2B 6c97578807073a782112218c65de460cc94f046d807eddc7330f2f67266c0ef341ded61050a16aca13c88e606a923a9e08033c8bfb618a7ef34b3d2ea6db32ca SHA512 62c327e6184a358ba7f0dbc38b44d2537234be91727a5bfac97e74af64a8d77e376b3221dcfdd8f6eca7d812f9233595503dc6e50e2972bed40a1b74eb209c31 |
27 |
-DIST exim-pdf-4.91.tar.xz 1973672 BLAKE2B 0b9e3f65c8e8a5f727dd4359d1c5c6c867c0ecfce3b44763d5a24f2d98353bc58c42456e9884994f404d17685909ea287a478189407ba8e7835352274c788980 SHA512 82add9b42749b6d938ff3b44a4dea3dfe84bcb2a1efea8a32b64d81a9ea312033d33023b5c224a44a2c053b18f9042bd1f2834847cf48873d1725a5594704a12 |
28 |
DIST exim-pdf-4.92.1.tar.xz 2038948 BLAKE2B 6624fb8930944f79e0c7e52a001727cfcff508ac69cb4107247201b8598d6e223cac7c7eda14c3102d0eabc151a547b6cc5ef11a6c4a830f31dfd88e24907c1d SHA512 437b868cd7dedae59e32b9245c8c1ca3375605eb4911846bc3508b627acf32c99bda644b3c3e84eb539a39b3c2cc4f83314eebe55160b3da617ccaec2f1623a2 |
29 |
DIST exim-pdf-4.92.tar.xz 2038812 BLAKE2B d5966a27f980a2ceb31293d92049a6691a08262bd20ae7315f41929f0d7a45b5d66c7000f9596b193e74d0c17f91c56a3262602047673c49649f1cad6b216547 SHA512 3a40818025fceaa7ac17f8e7ce06a61e3cf65267c821aea93e1a1a659782b047ab177b88a38c9b2271c0a296e1dc7939e23fe0f89415a11cd45693cb8af10c15 |
30 |
DIST system_filter.exim.gz 3075 BLAKE2B d05e872b5cef377d29126cda03fc0a74c8777b2119b76ff43da6e8de808035eb9bfcb034a85d81824f135d484e864bfc0629fc1af2c228a7277d5ee7cf9cde79 SHA512 cb358d3ce2499a0bb5920d962a06f2af8486e55ec90c8c928bd8e3aefb279aa57f5f960d5adfcef68bd94110b405eaa144e9629cfe6014a529c79c544600bbf3 |
31 |
|
32 |
diff --git a/mail-mta/exim/exim-4.91-r2.ebuild b/mail-mta/exim/exim-4.91-r2.ebuild |
33 |
deleted file mode 100644 |
34 |
index cf587588b81..00000000000 |
35 |
--- a/mail-mta/exim/exim-4.91-r2.ebuild |
36 |
+++ /dev/null |
37 |
@@ -1,561 +0,0 @@ |
38 |
-# Copyright 1999-2019 Gentoo Authors |
39 |
-# Distributed under the terms of the GNU General Public License v2 |
40 |
- |
41 |
-EAPI="6" |
42 |
- |
43 |
-inherit db-use eutils toolchain-funcs multilib pam systemd |
44 |
- |
45 |
-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" |
46 |
-REQUIRED_USE=" |
47 |
- arc? ( dkim spf ) |
48 |
- dane? ( ssl !gnutls ) |
49 |
- dmarc? ( dkim spf ) |
50 |
- gnutls? ( ssl ) |
51 |
- pkcs11? ( ssl ) |
52 |
- spf? ( exiscan-acl ) |
53 |
- srs? ( exiscan-acl ) |
54 |
-" |
55 |
-# NOTE on USE="gnutls dane", gnutls[dane] is masked in base, unmasked |
56 |
-# for x86 and amd64 only, due to this, repoman won't allow depending on |
57 |
-# gnutls[dane] for all else. Because we cannot express USE=dane when |
58 |
-# USE=gnutls is in effect only in package.use.mask, the only option we |
59 |
-# have left is to a) ignore the dependency (but that results in bug |
60 |
-# #661164) or b) mask the usage of USE=dane with USE=gnutls. Both are |
61 |
-# incorrect, but b) is the only "correct" view from repoman. |
62 |
- |
63 |
-COMM_URI="https://downloads.exim.org/exim4$([[ ${PV} == *_rc* ]] && echo /test)" |
64 |
- |
65 |
-DESCRIPTION="A highly configurable, drop-in replacement for sendmail" |
66 |
-SRC_URI="${COMM_URI}/${P//rc/RC}.tar.xz |
67 |
- mirror://gentoo/system_filter.exim.gz |
68 |
- doc? ( ${COMM_URI}/${PN}-pdf-${PV//rc/RC}.tar.xz )" |
69 |
-HOMEPAGE="http://www.exim.org/" |
70 |
- |
71 |
-SLOT="0" |
72 |
-LICENSE="GPL-2" |
73 |
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-solaris" |
74 |
- |
75 |
-COMMON_DEPEND=">=sys-apps/sed-4.0.5 |
76 |
- ( >=sys-libs/db-3.2:= <sys-libs/db-6:= ) |
77 |
- dev-libs/libpcre |
78 |
- idn? ( net-dns/libidn:= net-dns/libidn2:= ) |
79 |
- perl? ( dev-lang/perl:= ) |
80 |
- pam? ( virtual/pam ) |
81 |
- tcpd? ( sys-apps/tcp-wrappers ) |
82 |
- ssl? ( |
83 |
- !libressl? ( dev-libs/openssl:0= ) |
84 |
- libressl? ( dev-libs/libressl:= ) |
85 |
- ) |
86 |
- gnutls? ( |
87 |
- net-libs/gnutls:0=[pkcs11?] |
88 |
- dev-libs/libtasn1 |
89 |
- ) |
90 |
- ldap? ( >=net-nds/openldap-2.0.7 ) |
91 |
- nis? ( |
92 |
- elibc_glibc? ( |
93 |
- net-libs/libtirpc |
94 |
- >=net-libs/libnsl-1:= |
95 |
- ) |
96 |
- ) |
97 |
- mysql? ( virtual/libmysqlclient ) |
98 |
- postgres? ( dev-db/postgresql:= ) |
99 |
- sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 ) |
100 |
- redis? ( dev-libs/hiredis ) |
101 |
- spf? ( >=mail-filter/libspf2-1.2.5-r1 ) |
102 |
- dmarc? ( mail-filter/opendmarc ) |
103 |
- srs? ( mail-filter/libsrs_alt ) |
104 |
- X? ( |
105 |
- x11-libs/libX11 |
106 |
- x11-libs/libXmu |
107 |
- x11-libs/libXt |
108 |
- x11-libs/libXaw |
109 |
- ) |
110 |
- sqlite? ( dev-db/sqlite ) |
111 |
- radius? ( net-dialup/freeradius-client ) |
112 |
- virtual/libiconv |
113 |
- elibc_glibc? ( net-libs/libnsl ) |
114 |
- " |
115 |
- # added X check for #57206 |
116 |
-DEPEND="${COMMON_DEPEND} |
117 |
- virtual/pkgconfig" |
118 |
-RDEPEND="${COMMON_DEPEND} |
119 |
- !mail-mta/courier |
120 |
- !mail-mta/esmtp |
121 |
- !mail-mta/mini-qmail |
122 |
- !<mail-mta/msmtp-1.4.19-r1 |
123 |
- !>=mail-mta/msmtp-1.4.19-r1[mta] |
124 |
- !mail-mta/netqmail |
125 |
- !mail-mta/nullmailer |
126 |
- !mail-mta/postfix |
127 |
- !mail-mta/qmail-ldap |
128 |
- !mail-mta/sendmail |
129 |
- !mail-mta/opensmtpd |
130 |
- !<mail-mta/ssmtp-2.64-r2 |
131 |
- !>=mail-mta/ssmtp-2.64-r2[mta] |
132 |
- !net-mail/mailwrapper |
133 |
- >=net-mail/mailbase-0.00-r5 |
134 |
- virtual/logger |
135 |
- dcc? ( mail-filter/dcc ) |
136 |
- selinux? ( sec-policy/selinux-exim ) |
137 |
- " |
138 |
- |
139 |
-S=${WORKDIR}/${P//rc/RC} |
140 |
- |
141 |
-src_prepare() { |
142 |
- epatch "${FILESDIR}"/exim-4.14-tail.patch |
143 |
- epatch "${FILESDIR}"/exim-4.74-localscan_dlopen.patch |
144 |
- epatch "${FILESDIR}"/exim-4.69-r1.27021.patch |
145 |
- epatch "${FILESDIR}"/exim-4.74-radius-db-ENV-clash.patch # 287426 |
146 |
- epatch "${FILESDIR}"/exim-4.82-makefile-freebsd.patch # 235785 |
147 |
- epatch "${FILESDIR}"/exim-4.89-as-needed-ldflags.patch # 352265, 391279 |
148 |
- epatch "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591 |
149 |
- |
150 |
- if use maildir ; then |
151 |
- epatch "${FILESDIR}"/exim-4.20-maildir.patch |
152 |
- else |
153 |
- epatch "${FILESDIR}"/exim-4.80-spool-mail-group.patch # 438606 |
154 |
- fi |
155 |
- |
156 |
- eapply_user |
157 |
- |
158 |
- # user Exim believes it should be |
159 |
- MAILUSER=mail |
160 |
- MAILGROUP=mail |
161 |
- if use prefix && [[ ${EUID} != 0 ]] ; then |
162 |
- MAILUSER=$(id -un) |
163 |
- MAILGROUP=$(id -gn) |
164 |
- fi |
165 |
-} |
166 |
- |
167 |
-src_configure() { |
168 |
- # general config and paths |
169 |
- |
170 |
- sed -i.orig \ |
171 |
- -e "/SYSTEM_ALIASES_FILE/s'SYSTEM_ALIASES_FILE'${EPREFIX}/etc/mail/aliases'" \ |
172 |
- "${S}"/src/configure.default || die |
173 |
- |
174 |
- sed -i -e 's/^buildname=.*/buildname=exim-gentoo/g' Makefile || die |
175 |
- |
176 |
- sed -e "48i\CFLAGS=${CFLAGS}" \ |
177 |
- -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=${EPREFIX}/usr/sbin:" \ |
178 |
- -e "s:EXIM_USER=:EXIM_USER=${MAILUSER}:" \ |
179 |
- -e "s:CONFIGURE_FILE=/usr/exim/configure:CONFIGURE_FILE=${EPREFIX}/etc/exim/exim.conf:" \ |
180 |
- -e "s:ZCAT_COMMAND=.*$:ZCAT_COMMAND=${EPREFIX}/bin/zcat:" \ |
181 |
- -e "s:COMPRESS_COMMAND=.*$:COMPRESS_COMMAND=${EPREFIX}/bin/gzip:" \ |
182 |
- src/EDITME > Local/Makefile |
183 |
- |
184 |
- if use elibc_musl; then |
185 |
- sed -e 's/^LIBS = -lnsl/LIBS =/g' \ |
186 |
- -i OS/Makefile-Linux |
187 |
- fi |
188 |
- |
189 |
- cd Local |
190 |
- |
191 |
- cat >> Makefile <<- EOC |
192 |
- INFO_DIRECTORY=${EPREFIX}/usr/share/info |
193 |
- PID_FILE_PATH=${EPREFIX}/run/exim.pid |
194 |
- SPOOL_DIRECTORY=${EPREFIX}/var/spool/exim |
195 |
- HAVE_ICONV=yes |
196 |
- EOC |
197 |
- |
198 |
- # if we use libiconv, now is the time to tell so |
199 |
- use !elibc_glibc && use !elibc_musl && \ |
200 |
- echo "EXTRALIBS_EXIM=-liconv" >> Makefile |
201 |
- |
202 |
- # support for IPv6 |
203 |
- if use ipv6; then |
204 |
- cat >> Makefile <<- EOC |
205 |
- HAVE_IPV6=YES |
206 |
- EOC |
207 |
- fi |
208 |
- |
209 |
- # support i18n/IDNA |
210 |
- if use idn; then |
211 |
- cat >> Makefile <<- EOC |
212 |
- SUPPORT_I18N=yes |
213 |
- SUPPORT_I18N_2008=yes |
214 |
- EXTRALIBS_EXIM += -lidn -lidn2 |
215 |
- EOC |
216 |
- fi |
217 |
- |
218 |
- # |
219 |
- # mail storage formats |
220 |
- |
221 |
- # mailstore is Exim's traditional storage format |
222 |
- cat >> Makefile <<- EOC |
223 |
- SUPPORT_MAILSTORE=yes |
224 |
- EOC |
225 |
- |
226 |
- # mbox |
227 |
- if use mbx; then |
228 |
- cat >> Makefile <<- EOC |
229 |
- SUPPORT_MBX=yes |
230 |
- EOC |
231 |
- fi |
232 |
- |
233 |
- # maildir |
234 |
- if use maildir; then |
235 |
- cat >> Makefile <<- EOC |
236 |
- SUPPORT_MAILDIR=yes |
237 |
- EOC |
238 |
- fi |
239 |
- |
240 |
- # |
241 |
- # lookup methods |
242 |
- |
243 |
- # use the "native" interfaces to the DBM and CDB libraries, support |
244 |
- # passwd and directory lookups by default |
245 |
- local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2" |
246 |
- cat >> Makefile <<- EOC |
247 |
- USE_DB=yes |
248 |
- CFLAGS+=-I$(db_includedir ${DB_VERS}) |
249 |
- DBMLIB=-l$(db_libname ${DB_VERS}) |
250 |
- LOOKUP_CDB=yes |
251 |
- LOOKUP_PASSWD=yes |
252 |
- LOOKUP_DSEARCH=yes |
253 |
- EOC |
254 |
- |
255 |
- if ! use dnsdb; then |
256 |
- # DNSDB lookup is enabled by default |
257 |
- sed -i "s:^LOOKUP_DNSDB=yes:# LOOKUP_DNSDB=yes:" Makefile |
258 |
- fi |
259 |
- |
260 |
- if use ldap; then |
261 |
- cat >> Makefile <<- EOC |
262 |
- LOOKUP_LDAP=yes |
263 |
- LDAP_LIB_TYPE=OPENLDAP2 |
264 |
- LOOKUP_INCLUDE += -I"${EROOT}"usr/include/ldap |
265 |
- LOOKUP_LIBS += -lldap -llber |
266 |
- EOC |
267 |
- fi |
268 |
- |
269 |
- if use mysql; then |
270 |
- cat >> Makefile <<- EOC |
271 |
- LOOKUP_MYSQL=yes |
272 |
- LOOKUP_INCLUDE += $(mysql_config --include) |
273 |
- LOOKUP_LIBS += $(mysql_config --libs) |
274 |
- EOC |
275 |
- fi |
276 |
- |
277 |
- if use nis; then |
278 |
- cat >> Makefile <<- EOC |
279 |
- LOOKUP_NIS=yes |
280 |
- LOOKUP_NISPLUS=yes |
281 |
- EOC |
282 |
- if use elibc_glibc ; then |
283 |
- cat >> Makefile <<- EOC |
284 |
- CFLAGS += -I/usr/include/tirpc |
285 |
- EOC |
286 |
- fi |
287 |
- fi |
288 |
- |
289 |
- if use postgres; then |
290 |
- cat >> Makefile <<- EOC |
291 |
- LOOKUP_PGSQL=yes |
292 |
- LOOKUP_INCLUDE += -I$(pg_config --includedir) |
293 |
- LOOKUP_LIBS += -L$(pg_config --libdir) -lpq |
294 |
- EOC |
295 |
- fi |
296 |
- |
297 |
- if use sqlite; then |
298 |
- cat >> Makefile <<- EOC |
299 |
- LOOKUP_SQLITE=yes |
300 |
- LOOKUP_SQLITE_PC=sqlite3 |
301 |
- EOC |
302 |
- fi |
303 |
- |
304 |
- if use redis; then |
305 |
- cat >> Makefile <<- EOC |
306 |
- LOOKUP_REDIS=yes |
307 |
- LOOKUP_LIBS += -lhiredis |
308 |
- EOC |
309 |
- fi |
310 |
- |
311 |
- # |
312 |
- # Exim monitor, enabled by default, controlled via X USE-flag, |
313 |
- # disable if not requested, bug #46778 |
314 |
- if use X; then |
315 |
- cp ../exim_monitor/EDITME eximon.conf || die |
316 |
- else |
317 |
- sed -i -e '/^EXIM_MONITOR=/s/^/# /' Makefile |
318 |
- fi |
319 |
- |
320 |
- # |
321 |
- # features |
322 |
- |
323 |
- # content scanning support |
324 |
- if use exiscan-acl; then |
325 |
- cat >> Makefile <<- EOC |
326 |
- WITH_CONTENT_SCAN=yes |
327 |
- EOC |
328 |
- fi |
329 |
- |
330 |
- # DomainKeys Identified Mail, RFC4871 |
331 |
- if ! use dkim; then |
332 |
- # DKIM is enabled by default |
333 |
- cat >> Makefile <<- EOC |
334 |
- DISABLE_DKIM=yes |
335 |
- EOC |
336 |
- fi |
337 |
- |
338 |
- # Per-Recipient-Data-Response |
339 |
- if ! use prdr; then |
340 |
- # PRDR is enabled by default |
341 |
- cat >> Makefile <<- EOC |
342 |
- DISABLE_PRDR=yes |
343 |
- EOC |
344 |
- fi |
345 |
- |
346 |
- # Transport post-delivery actions |
347 |
- if use !tpda && use !dane; then |
348 |
- # EVENT is enabled by default |
349 |
- cat >> Makefile <<- EOC |
350 |
- DISABLE_EVENT=yes |
351 |
- EOC |
352 |
- fi |
353 |
- |
354 |
- # log to syslog |
355 |
- if use syslog; then |
356 |
- sed -i "s:LOG_FILE_PATH=/var/log/exim/exim_%s.log:LOG_FILE_PATH=syslog:" Makefile |
357 |
- cat >> Makefile <<- EOC |
358 |
- LOG_FILE_PATH=syslog |
359 |
- EOC |
360 |
- else |
361 |
- cat >> Makefile <<- EOC |
362 |
- LOG_FILE_PATH=${EPREFIX}/var/log/exim/exim_%s.log |
363 |
- EOC |
364 |
- fi |
365 |
- |
366 |
- # starttls support (ssl) |
367 |
- if use ssl; then |
368 |
- echo "SUPPORT_TLS=yes" >> Makefile |
369 |
- if use gnutls; then |
370 |
- echo "USE_GNUTLS=yes" >> Makefile |
371 |
- echo "USE_GNUTLS_PC=gnutls" >> Makefile |
372 |
- use pkcs11 || echo "AVOID_GNUTLS_PKCS11=yes" >> Makefile |
373 |
- else |
374 |
- echo "USE_OPENSSL_PC=openssl" >> Makefile |
375 |
- fi |
376 |
- fi |
377 |
- |
378 |
- # TCP wrappers |
379 |
- if use tcpd; then |
380 |
- cat >> Makefile <<- EOC |
381 |
- USE_TCP_WRAPPERS=yes |
382 |
- EXTRALIBS_EXIM += -lwrap |
383 |
- EOC |
384 |
- fi |
385 |
- |
386 |
- # Light Mail Transport Protocol |
387 |
- if use lmtp; then |
388 |
- cat >> Makefile <<- EOC |
389 |
- TRANSPORT_LMTP=yes |
390 |
- EOC |
391 |
- fi |
392 |
- |
393 |
- # embedded Perl |
394 |
- if use perl; then |
395 |
- cat >> Makefile <<- EOC |
396 |
- EXIM_PERL=perl.o |
397 |
- EOC |
398 |
- fi |
399 |
- |
400 |
- # dlfunc |
401 |
- if use dlfunc; then |
402 |
- cat >> Makefile <<- EOC |
403 |
- EXPAND_DLFUNC=yes |
404 |
- EOC |
405 |
- fi |
406 |
- |
407 |
- # Proxy Protocol |
408 |
- if use proxy; then |
409 |
- cat >> Makefile <<- EOC |
410 |
- SUPPORT_PROXY=yes |
411 |
- EOC |
412 |
- fi |
413 |
- |
414 |
- # DANE |
415 |
- if use dane; then |
416 |
- cat >> Makefile <<- EOC |
417 |
- SUPPORT_DANE=yes |
418 |
- EOC |
419 |
- fi |
420 |
- |
421 |
- # Sender Policy Framework |
422 |
- if use spf; then |
423 |
- cat >> Makefile <<- EOC |
424 |
- SUPPORT_SPF=yes |
425 |
- EXTRALIBS_EXIM += -lspf2 |
426 |
- EOC |
427 |
- fi |
428 |
- |
429 |
- # |
430 |
- # experimental features |
431 |
- |
432 |
- # Authenticated Receive Chain |
433 |
- if use arc; then |
434 |
- echo "EXPERIMENTAL_ARC=yes">> Makefile |
435 |
- fi |
436 |
- |
437 |
- # Distributed Checksum Clearinghouse |
438 |
- if use dcc; then |
439 |
- echo "EXPERIMENTAL_DCC=yes">> Makefile |
440 |
- fi |
441 |
- |
442 |
- # Sender Rewriting Scheme |
443 |
- if use srs; then |
444 |
- cat >> Makefile <<- EOC |
445 |
- EXPERIMENTAL_SRS=yes |
446 |
- EXTRALIBS_EXIM += -lsrs_alt |
447 |
- EOC |
448 |
- fi |
449 |
- |
450 |
- # DMARC |
451 |
- if use dmarc; then |
452 |
- cat >> Makefile <<- EOC |
453 |
- EXPERIMENTAL_DMARC=yes |
454 |
- EXTRALIBS_EXIM += -lopendmarc |
455 |
- EOC |
456 |
- fi |
457 |
- |
458 |
- # Delivery Sender Notifications extra information in fail message |
459 |
- if use dsn; then |
460 |
- cat >> Makefile <<- EOC |
461 |
- EXPERIMENTAL_DSN_INFO=yes |
462 |
- EOC |
463 |
- fi |
464 |
- |
465 |
- # |
466 |
- # authentication (SMTP AUTH) |
467 |
- |
468 |
- # standard bits |
469 |
- cat >> Makefile <<- EOC |
470 |
- AUTH_SPA=yes |
471 |
- AUTH_CRAM_MD5=yes |
472 |
- AUTH_PLAINTEXT=yes |
473 |
- EOC |
474 |
- |
475 |
- # Cyrus SASL |
476 |
- if use sasl; then |
477 |
- cat >> Makefile <<- EOC |
478 |
- CYRUS_SASLAUTHD_SOCKET=${EPREFIX}/run/saslauthd/mux |
479 |
- AUTH_CYRUS_SASL=yes |
480 |
- AUTH_LIBS += -lsasl2 |
481 |
- EOC |
482 |
- fi |
483 |
- |
484 |
- # Dovecot |
485 |
- if use dovecot-sasl; then |
486 |
- cat >> Makefile <<- EOC |
487 |
- AUTH_DOVECOT=yes |
488 |
- EOC |
489 |
- fi |
490 |
- |
491 |
- # Pluggable Authentication Modules |
492 |
- if use pam; then |
493 |
- cat >> Makefile <<- EOC |
494 |
- SUPPORT_PAM=yes |
495 |
- AUTH_LIBS += -lpam |
496 |
- EOC |
497 |
- fi |
498 |
- |
499 |
- # Radius |
500 |
- if use radius; then |
501 |
- cat >> Makefile <<- EOC |
502 |
- RADIUS_CONFIG_FILE=${EPREFIX}/etc/radiusclient/radiusclient.conf |
503 |
- RADIUS_LIB_TYPE=RADIUSCLIENTNEW |
504 |
- AUTH_LIBS += -lfreeradius-client |
505 |
- EOC |
506 |
- fi |
507 |
-} |
508 |
- |
509 |
-src_compile() { |
510 |
- emake CC="$(tc-getCC)" HOSTCC="$(tc-getCC $CBUILD)" \ |
511 |
- AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' \ |
512 |
- || die "make failed" |
513 |
-} |
514 |
- |
515 |
-src_install () { |
516 |
- cd "${S}"/build-exim-gentoo || die |
517 |
- dosbin exim |
518 |
- if use X; then |
519 |
- dosbin eximon.bin |
520 |
- dosbin eximon |
521 |
- fi |
522 |
- fperms 4755 /usr/sbin/exim |
523 |
- |
524 |
- dosym exim /usr/sbin/sendmail |
525 |
- dosym exim /usr/sbin/rsmtp |
526 |
- dosym exim /usr/sbin/rmail |
527 |
- dosym ../sbin/exim /usr/bin/mailq |
528 |
- dosym ../sbin/exim /usr/bin/newaliases |
529 |
- dosym ../sbin/sendmail /usr/lib/sendmail |
530 |
- |
531 |
- for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \ |
532 |
- exim_tidydb exinext exiwhat exigrep eximstats exiqsumm exiqgrep \ |
533 |
- convert4r3 convert4r4 exipick |
534 |
- do |
535 |
- dosbin $i |
536 |
- done |
537 |
- |
538 |
- dodoc "${S}"/doc/* |
539 |
- doman "${S}"/doc/exim.8 |
540 |
- use dsn && dodoc "${S}"/README.DSN |
541 |
- use doc && dodoc "${WORKDIR}"/${PN}-pdf-${PV//rc/RC}/doc/*.pdf |
542 |
- |
543 |
- # conf files |
544 |
- insinto /etc/exim |
545 |
- newins "${S}"/src/configure.default exim.conf.dist |
546 |
- if use exiscan-acl; then |
547 |
- newins "${S}"/src/configure.default exim.conf.exiscan-acl |
548 |
- fi |
549 |
- doins "${WORKDIR}"/system_filter.exim |
550 |
- doins "${FILESDIR}"/auth_conf.sub |
551 |
- |
552 |
- pamd_mimic system-auth exim auth account |
553 |
- |
554 |
- # headers, #436406 |
555 |
- if use dlfunc ; then |
556 |
- # fixup includes so they actually can be found when including |
557 |
- sed -i \ |
558 |
- -e '/#include "\(config\|store\|mytypes\).h"/s:"\(.\+\)":<exim/\1>:' \ |
559 |
- local_scan.h || die |
560 |
- insinto /usr/include/exim |
561 |
- doins {config,local_scan}.h ../src/{mytypes,store}.h |
562 |
- fi |
563 |
- |
564 |
- insinto /etc/logrotate.d |
565 |
- newins "${FILESDIR}/exim.logrotate" exim |
566 |
- |
567 |
- newinitd "${FILESDIR}"/exim.rc10 exim |
568 |
- newconfd "${FILESDIR}"/exim.confd exim |
569 |
- |
570 |
- systemd_dounit "${FILESDIR}"/{exim.service,exim.socket,exim-submission.socket} |
571 |
- systemd_newunit "${FILESDIR}"/exim_at.service 'exim@.service' |
572 |
- systemd_newunit "${FILESDIR}"/exim-submission_at.service 'exim-submission@.service' |
573 |
- |
574 |
- diropts -m 0750 -o ${MAILUSER} -g ${MAILGROUP} |
575 |
- keepdir /var/log/${PN} |
576 |
-} |
577 |
- |
578 |
-pkg_postinst() { |
579 |
- if [[ ! -f ${EROOT}etc/exim/exim.conf ]] ; then |
580 |
- einfo "${EROOT}etc/exim/system_filter.exim is a sample system_filter." |
581 |
- einfo "${EROOT}etc/exim/auth_conf.sub contains the configuration sub for using smtp auth." |
582 |
- einfo "Please create ${EROOT}etc/exim/exim.conf from ${EROOT}etc/exim/exim.conf.dist." |
583 |
- fi |
584 |
- if use dcc ; then |
585 |
- einfo "DCC support is experimental, you can find some limited" |
586 |
- einfo "documentation at the bottom of this prerelease message:" |
587 |
- einfo "http://article.gmane.org/gmane.mail.exim.devel/3579" |
588 |
- fi |
589 |
- use srs && einfo "SRS support is experimental" |
590 |
- if use dmarc ; then |
591 |
- einfo "DMARC support is experimental. See global settings to" |
592 |
- einfo "configure DMARC, for usage see the documentation at " |
593 |
- einfo "experimental-spec.txt." |
594 |
- fi |
595 |
- use dsn && einfo "extra information in fail DSN message is experimental" |
596 |
- elog "The obsolete acl condition 'demime' is removed, the replacements" |
597 |
- elog "are the ACLs acl_smtp_mime and acl_not_smtp_mime" |
598 |
-} |
599 |
|
600 |
diff --git a/mail-mta/exim/files/exim-4.74-localscan_dlopen.patch b/mail-mta/exim/files/exim-4.74-localscan_dlopen.patch |
601 |
deleted file mode 100644 |
602 |
index 3bb57c1637c..00000000000 |
603 |
--- a/mail-mta/exim/files/exim-4.74-localscan_dlopen.patch |
604 |
+++ /dev/null |
605 |
@@ -1,262 +0,0 @@ |
606 |
-diff -Naur exim-4.32/src/EDITME exim-4.32-dlopen/src/EDITME |
607 |
---- src/EDITME 2004-04-15 08:27:01.000000000 +0000 |
608 |
-+++ src/EDITME 2004-05-06 16:15:47.000000000 +0000 |
609 |
-@@ -505,6 +505,24 @@ |
610 |
- |
611 |
- |
612 |
- #------------------------------------------------------------------------------ |
613 |
-+# On systems which support dynamic loading of shared libraries, Exim can |
614 |
-+# load a local_scan function specified in its config file instead of having |
615 |
-+# to be recompiled with the desired local_scan function. For a full |
616 |
-+# description of the API to this function, see the Exim specification. |
617 |
-+ |
618 |
-+DLOPEN_LOCAL_SCAN=yes |
619 |
-+ |
620 |
-+# If you set DLOPEN_LOCAL_SCAN, then you need to include -rdynamic in the |
621 |
-+# linker flags. Without it, the loaded .so won't be able to access any |
622 |
-+# functions from exim. |
623 |
-+ |
624 |
-+LFLAGS = -rdynamic |
625 |
-+ifeq ($(OSTYPE),Linux) |
626 |
-+LFLAGS += -ldl |
627 |
-+endif |
628 |
-+ |
629 |
-+ |
630 |
-+#------------------------------------------------------------------------------ |
631 |
- # The default distribution of Exim contains only the plain text form of the |
632 |
- # documentation. Other forms are available separately. If you want to install |
633 |
- # the documentation in "info" format, first fetch the Texinfo documentation |
634 |
-diff -Naur exim-4.32/src/config.h.defaults exim-4.32-dlopen/src/config.h.defaults |
635 |
---- src/config.h.defaults 2004-04-15 08:27:01.000000000 +0000 |
636 |
-+++ src/config.h.defaults 2004-05-06 16:16:30.000000000 +0000 |
637 |
-@@ -20,6 +20,8 @@ |
638 |
- #define AUTH_PLAINTEXT |
639 |
- #define AUTH_SPA |
640 |
- |
641 |
-+#define DLOPEN_LOCAL_SCAN |
642 |
-+ |
643 |
- #define BIN_DIRECTORY |
644 |
- |
645 |
- #define CONFIGURE_FILE |
646 |
-diff -Naur exim-4.32/src/globals.c exim-4.32-dlopen/src/globals.c |
647 |
---- src/globals.c 2004-04-15 08:27:01.000000000 +0000 |
648 |
-+++ src/globals.c 2004-05-06 16:17:07.000000000 +0000 |
649 |
-@@ -109,6 +109,10 @@ |
650 |
- uschar *tls_verify_hosts = NULL; |
651 |
- #endif |
652 |
- |
653 |
-+#ifdef DLOPEN_LOCAL_SCAN |
654 |
-+uschar *local_scan_path = NULL; |
655 |
-+#endif |
656 |
-+ |
657 |
- |
658 |
- /* Input-reading functions for messages, so we can use special ones for |
659 |
- incoming TCP/IP. The defaults use stdin. We never need these for any |
660 |
-diff -Naur exim-4.32/src/globals.h exim-4.32-dlopen/src/globals.h |
661 |
---- src/globals.h 2004-04-15 08:27:01.000000000 +0000 |
662 |
-+++ src/globals.h 2004-05-06 16:17:50.000000000 +0000 |
663 |
-@@ -73,6 +73,9 @@ |
664 |
- extern uschar *tls_verify_hosts; /* Mandatory client verification */ |
665 |
- #endif |
666 |
- |
667 |
-+#ifdef DLOPEN_LOCAL_SCAN |
668 |
-+extern uschar *local_scan_path; /* Path to local_scan() library */ |
669 |
-+#endif |
670 |
- |
671 |
- /* Input-reading functions for messages, so we can use special ones for |
672 |
- incoming TCP/IP. */ |
673 |
-diff -Naur exim-4.32/src/local_scan.c exim-4.32-dlopen/src/local_scan.c |
674 |
---- src/local_scan.c 2004-04-15 08:27:01.000000000 +0000 |
675 |
-+++ src/local_scan.c 2004-05-06 16:21:57.000000000 +0000 |
676 |
-@@ -5,60 +5,131 @@ |
677 |
- /* Copyright (c) University of Cambridge 1995 - 2004 */ |
678 |
- /* See the file NOTICE for conditions of use and distribution. */ |
679 |
- |
680 |
-+#include "exim.h" |
681 |
- |
682 |
--/****************************************************************************** |
683 |
--This file contains a template local_scan() function that just returns ACCEPT. |
684 |
--If you want to implement your own version, you should copy this file to, say |
685 |
--Local/local_scan.c, and edit the copy. To use your version instead of the |
686 |
--default, you must set |
687 |
-- |
688 |
--LOCAL_SCAN_SOURCE=Local/local_scan.c |
689 |
-- |
690 |
--in your Local/Makefile. This makes it easy to copy your version for use with |
691 |
--subsequent Exim releases. |
692 |
-- |
693 |
--For a full description of the API to this function, see the Exim specification. |
694 |
--******************************************************************************/ |
695 |
-- |
696 |
-- |
697 |
--/* This is the only Exim header that you should include. The effect of |
698 |
--including any other Exim header is not defined, and may change from release to |
699 |
--release. Use only the documented interface! */ |
700 |
-- |
701 |
--#include "local_scan.h" |
702 |
-- |
703 |
-- |
704 |
--/* This is a "do-nothing" version of a local_scan() function. The arguments |
705 |
--are: |
706 |
-- |
707 |
-- fd The file descriptor of the open -D file, which contains the |
708 |
-- body of the message. The file is open for reading and |
709 |
-- writing, but modifying it is dangerous and not recommended. |
710 |
-- |
711 |
-- return_text A pointer to an unsigned char* variable which you can set in |
712 |
-- order to return a text string. It is initialized to NULL. |
713 |
-- |
714 |
--The return values of this function are: |
715 |
-- |
716 |
-- LOCAL_SCAN_ACCEPT |
717 |
-- The message is to be accepted. The return_text argument is |
718 |
-- saved in $local_scan_data. |
719 |
-- |
720 |
-- LOCAL_SCAN_REJECT |
721 |
-- The message is to be rejected. The returned text is used |
722 |
-- in the rejection message. |
723 |
-- |
724 |
-- LOCAL_SCAN_TEMPREJECT |
725 |
-- This specifies a temporary rejection. The returned text |
726 |
-- is used in the rejection message. |
727 |
--*/ |
728 |
-+#ifdef DLOPEN_LOCAL_SCAN |
729 |
-+#include <dlfcn.h> |
730 |
-+static int (*local_scan_fn)(int fd, uschar **return_text) = NULL; |
731 |
-+static int load_local_scan_library(void); |
732 |
-+#endif |
733 |
- |
734 |
- int |
735 |
- local_scan(int fd, uschar **return_text) |
736 |
- { |
737 |
- fd = fd; /* Keep picky compilers happy */ |
738 |
- return_text = return_text; |
739 |
--return LOCAL_SCAN_ACCEPT; |
740 |
-+#ifdef DLOPEN_LOCAL_SCAN |
741 |
-+/* local_scan_path is defined AND not the empty string */ |
742 |
-+if (local_scan_path && *local_scan_path) |
743 |
-+ { |
744 |
-+ if (!local_scan_fn) |
745 |
-+ { |
746 |
-+ if (!load_local_scan_library()) |
747 |
-+ { |
748 |
-+ char *base_msg , *error_msg , *final_msg ; |
749 |
-+ int final_length = -1 ; |
750 |
-+ |
751 |
-+ base_msg=US"Local configuration error - local_scan() library failure\n"; |
752 |
-+ error_msg = dlerror() ; |
753 |
-+ |
754 |
-+ final_length = strlen(base_msg) + strlen(error_msg) + 1 ; |
755 |
-+ final_msg = (char*)malloc( final_length*sizeof(char) ) ; |
756 |
-+ *final_msg = '\0' ; |
757 |
-+ |
758 |
-+ strcat( final_msg , base_msg ) ; |
759 |
-+ strcat( final_msg , error_msg ) ; |
760 |
-+ |
761 |
-+ *return_text = final_msg ; |
762 |
-+ return LOCAL_SCAN_TEMPREJECT; |
763 |
-+ } |
764 |
-+ } |
765 |
-+ return local_scan_fn(fd, return_text); |
766 |
-+ } |
767 |
-+else |
768 |
-+#endif |
769 |
-+ return LOCAL_SCAN_ACCEPT; |
770 |
-+} |
771 |
-+ |
772 |
-+#ifdef DLOPEN_LOCAL_SCAN |
773 |
-+ |
774 |
-+static int load_local_scan_library(void) |
775 |
-+{ |
776 |
-+/* No point in keeping local_scan_lib since we'll never dlclose() anyway */ |
777 |
-+void *local_scan_lib = NULL; |
778 |
-+int (*local_scan_version_fn)(void); |
779 |
-+int vers_maj; |
780 |
-+int vers_min; |
781 |
-+ |
782 |
-+local_scan_lib = dlopen(local_scan_path, RTLD_NOW); |
783 |
-+if (!local_scan_lib) |
784 |
-+ { |
785 |
-+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library open failed - " |
786 |
-+ "message temporarily rejected"); |
787 |
-+ return FALSE; |
788 |
-+ } |
789 |
-+ |
790 |
-+local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_major"); |
791 |
-+if (!local_scan_version_fn) |
792 |
-+ { |
793 |
-+ dlclose(local_scan_lib); |
794 |
-+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " |
795 |
-+ "local_scan_version_major() function - message temporarily rejected"); |
796 |
-+ return FALSE; |
797 |
-+ } |
798 |
-+ |
799 |
-+/* The major number is increased when the ABI is changed in a non |
800 |
-+ backward compatible way. */ |
801 |
-+vers_maj = local_scan_version_fn(); |
802 |
-+ |
803 |
-+local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_minor"); |
804 |
-+if (!local_scan_version_fn) |
805 |
-+ { |
806 |
-+ dlclose(local_scan_lib); |
807 |
-+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " |
808 |
-+ "local_scan_version_minor() function - message temporarily rejected"); |
809 |
-+ return FALSE; |
810 |
-+ } |
811 |
-+ |
812 |
-+/* The minor number is increased each time a new feature is added (in a |
813 |
-+ way that doesn't break backward compatibility) -- Marc */ |
814 |
-+vers_min = local_scan_version_fn(); |
815 |
-+ |
816 |
-+ |
817 |
-+if (vers_maj != LOCAL_SCAN_ABI_VERSION_MAJOR) |
818 |
-+ { |
819 |
-+ dlclose(local_scan_lib); |
820 |
-+ local_scan_lib = NULL; |
821 |
-+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible major" |
822 |
-+ "version number, you need to recompile your module for this version" |
823 |
-+ "of exim (The module was compiled for version %d.%d and this exim provides" |
824 |
-+ "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR, |
825 |
-+ LOCAL_SCAN_ABI_VERSION_MINOR); |
826 |
-+ return FALSE; |
827 |
-+ } |
828 |
-+else if (vers_min > LOCAL_SCAN_ABI_VERSION_MINOR) |
829 |
-+ { |
830 |
-+ dlclose(local_scan_lib); |
831 |
-+ local_scan_lib = NULL; |
832 |
-+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible minor" |
833 |
-+ "version number, you need to recompile your module for this version" |
834 |
-+ "of exim (The module was compiled for version %d.%d and this exim provides" |
835 |
-+ "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR, |
836 |
-+ LOCAL_SCAN_ABI_VERSION_MINOR); |
837 |
-+ return FALSE; |
838 |
-+ } |
839 |
-+ |
840 |
-+local_scan_fn = dlsym(local_scan_lib, "local_scan"); |
841 |
-+if (!local_scan_fn) |
842 |
-+ { |
843 |
-+ dlclose(local_scan_lib); |
844 |
-+ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " |
845 |
-+ "local_scan() function - message temporarily rejected"); |
846 |
-+ return FALSE; |
847 |
-+ } |
848 |
-+ |
849 |
-+return TRUE; |
850 |
- } |
851 |
- |
852 |
-+#endif /* DLOPEN_LOCAL_SCAN */ |
853 |
-+ |
854 |
- /* End of local_scan.c */ |
855 |
-diff -Naur exim-4.32/src/readconf.c exim-4.32-dlopen/src/readconf.c |
856 |
---- src/readconf.c 2004-04-15 08:27:01.000000000 +0000 |
857 |
-+++ src/readconf.c 2004-05-06 16:23:12.000000000 +0000 |
858 |
-@@ -223,6 +223,9 @@ |
859 |
- { "local_from_prefix", opt_stringptr, &local_from_prefix }, |
860 |
- { "local_from_suffix", opt_stringptr, &local_from_suffix }, |
861 |
- { "local_interfaces", opt_stringptr, &local_interfaces }, |
862 |
-+#ifdef DLOPEN_LOCAL_SCAN |
863 |
-+ { "local_scan_path", opt_stringptr, &local_scan_path }, |
864 |
-+#endif |
865 |
- { "local_scan_timeout", opt_time, &local_scan_timeout }, |
866 |
- { "local_sender_retain", opt_bool, &local_sender_retain }, |
867 |
- { "localhost_number", opt_stringptr, &host_number_string }, |