courier snapshot / spf fixes
Hanno Böck

Hanno Böck commited on 2014-09-18 10:33:49
Zeige 7 geänderte Dateien mit 656 Einfügungen und 0 Löschungen.

... ...
@@ -0,0 +1,7 @@
1
+AUX apache-sqwebmail.inc 347 SHA256 3a6616dacfd49ab0c89c62d9df5662fc3c2d9e598786d781240bf5e8900afc65 SHA512 e3f8f4f01563184ec4afc98d61ab739d5900f7d8757638fb06ff21ca3604f8c6f708730af514f6ca662559980503dee5955ba48c5a643e473054f3eec49b89a0 WHIRLPOOL e586f1bcf82af87df2285ec142f92056fd25df515b2cdc1027d62a97a26ba8205204c192c0bf0b59fb636ca84f70baadd79ea8a60bf9cb97db34e2b66aaee8f4
2
+AUX courier-fix-ld.diff 5630 SHA256 6a54ba0b626753bf196c48a5d706fdca34a135985231eb6121c28d9f09f261fa SHA512 d7e2b022d7baadeeba0d52e4a2be00271c33f1da1737cdbfbe892d7fdd71479c1dcb8fc4f31d2f01dc1c303b88d1bd8a36a5ebb1e108397fa485b6450a51b438 WHIRLPOOL 9c9e2ab77f45685a519916d4c357606832e7824d9231c692078fb79eeebc5b207f692d212d51c6e8459d9bf3be06ba56afe30ced00afdbe33a39c00220923f25
3
+AUX courier-init-r4 5076 SHA256 69d826eb81803db8eb69aefc94e7d5fcdc2bb4fdc029b5bad2e486b94e71fe49 SHA512 30a575991a96110bbb79e30a7cf94c9cd5c87e364fa412f605a8856163707f04886e2955cf2b5b8a6f827ae45799adb15236fe5ea3e50fd2887dd0bf9596101f WHIRLPOOL 3218e0769b7184f8f11310f17572e1892ff6587b5ee2d9a53fa22222a320c4d5781e4974a485577c3f292acb3b914bac79bb91b18a59dfc7bc8a2a48c8b5b66f
4
+AUX norewrite.patch 489 SHA256 526f3742fb43af93811e6e4b3210fda1c611b50ce5abdf3a57a25dfe4f5c38e4 SHA512 e9e95bd5d1a78b510f6dd7e155999089f123eecfdc16d3b5005b00981a7b6d29827cdddc61035ed3c3edcf0b9907ddfbae76df6503a1a8ef26b4de43a02bfc8e WHIRLPOOL c41a0b63a2109ac33532de0830257929995383d246eb3f84674e6fcf267ce5cc0b7e8ce339926429a7212f63aa117b5de65bc870f21b0a4a545f4b3f10827323
5
+AUX password.dist 247 SHA256 46f20a84922d108d39a7c26ad3ba8915326549f46cea811e2384f55a589d38e2 SHA512 f488b0ab1a909c9b878b9f3f3147641a9ed6d8d2ad44c67cd641934b800b18a62de2a7f5f51fdbecfbbcdd7c39c753734984cc0836c905a3b708858e1b91093d WHIRLPOOL 98883b10ae103663d1d1205532e6c243bb462e9dc2adf1b9d6a968f9246283bbb2aabb8779ab5d8b7d052a5a3032f9d113ac74c773bf7591e81ccf086a2e51b3
6
+DIST courier-0.73.2.20140911.tar.bz2 6818008 SHA256 a87f6d57d36811514ab3d4edee330bd01043066350ebe0af52ca588f3bfc7e05 SHA512 008b6c5b6fc6f8efbe201456d1ed66a6be95e37336e146959b4c853ab22b7f07cdfdf9a61dd3cdb4db28ac623fbdd02d7a4b64b418941e426a435cf81f28c2fd WHIRLPOOL bf990b0f26a113488c8e40e0cc2ac2f11ac839fd6b601c0c9b9d32312b90adb2ab38cf0fa215637d06509f852a4cbaeb1996da1794448ecb3adc1399e50403e8
7
+EBUILD courier-0.73.2.20140911.ebuild 9326 SHA256 cf187272b003b43293c2a1d022f93507f8a6194f9ffe8f7e04620858482c5fb2 SHA512 851d86e3a31c595b6dec1bfd4ee1099fa132b1114f5cbe0414ba1fbba495deb5d7e78d405be5003838434badf0e48398320b9c690dd439072b944cb8e34ed314 WHIRLPOOL 81d4e4b4e706a8c89b393513ac1236b5da6953a695dae77492afecaa5dbe8258535f6dbb268588ed114307e6876417a054a7c92d71cfc8f99d58d6fcb1e8c54d
... ...
@@ -0,0 +1,303 @@
1
+# Copyright 1999-2014 Gentoo Foundation
2
+# Distributed under the terms of the GNU General Public License v2
3
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/courier-0.71.ebuild,v 1.9 2014/01/18 19:52:19 ago Exp $
4
+
5
+inherit eutils flag-o-matic multilib
6
+
7
+DESCRIPTION="An MTA designed specifically for maildirs"
8
+SRC_URI="http://downloads.sourceforge.net/project/courier/courier-devel/20140911/${P}.tar.bz2"
9
+HOMEPAGE="http://www.courier-mta.org/"
10
+SLOT="0"
11
+LICENSE="GPL-2"
12
+KEYWORDS="~amd64"
13
+IUSE="postgres ldap mysql pam nls ipv6 spell fax crypt norewrite \
14
+	fam web webmail gnutls"
15
+
16
+DEPEND="
17
+	>=net-libs/courier-authlib-0.66.1
18
+	net-libs/courier-unicode
19
+	!gnutls? ( >=dev-libs/openssl-0.9.6 )
20
+	gnutls? ( net-libs/gnutls )
21
+	>=sys-libs/gdbm-1.8.0
22
+	dev-libs/libpcre
23
+	app-misc/mime-types
24
+	fax? ( >=media-libs/netpbm-9.12 app-text/ghostscript-gpl >=net-dialup/mgetty-1.1.28 )
25
+	pam? ( virtual/pam )
26
+	mysql? ( virtual/mysql )
27
+	ldap? ( >=net-nds/openldap-1.2.11 )
28
+	postgres? ( dev-db/postgresql-base )
29
+	spell? ( app-text/aspell )
30
+	fam? ( virtual/fam )
31
+	!mail-filter/maildrop
32
+	!mail-mta/esmtp
33
+	!mail-mta/exim
34
+	!mail-mta/mini-qmail
35
+	!mail-mta/msmtp
36
+	!mail-mta/netqmail
37
+	!mail-mta/nullmailer
38
+	!mail-mta/postfix
39
+	!mail-mta/qmail-ldap
40
+	!mail-mta/sendmail
41
+	!mail-mta/ssmtp
42
+	!mail-mta/opensmtpd
43
+	!net-mail/dot-forward
44
+	!sys-apps/ucspi-tcp
45
+	"
46
+
47
+RDEPEND="${DEPEND}
48
+	dev-lang/perl
49
+	sys-process/procps"
50
+
51
+# get rid of old style virtual/imapd - bug 350792
52
+# all blockers really needed?
53
+RDEPEND="${RDEPEND}
54
+	!net-mail/bincimap
55
+	!net-mail/courier-imap
56
+	!net-mail/cyrus-imapd
57
+	!net-mail/uw-imap"
58
+
59
+PDEPEND="pam? ( net-mail/mailbase )
60
+	crypt? ( >=app-crypt/gnupg-1.0.4 )"
61
+
62
+src_unpack() {
63
+	unpack ${A}
64
+	cd "${S}"
65
+	epatch "${FILESDIR}/courier-fix-ld.diff"
66
+	use norewrite && epatch "${FILESDIR}/norewrite.patch"
67
+}
68
+
69
+src_compile() {
70
+	filter-flags '-fomit-frame-pointer'
71
+
72
+	local myconf
73
+	myconf=""
74
+
75
+	use ldap && myconf="${myconf} --with-ldapconfig=/etc/courier/maildropldap.conf"
76
+
77
+	econf ${myconf} \
78
+		$(use_with fam) \
79
+		$(use_with ipv6) \
80
+		$(use_with spell ispell) \
81
+		$(use_with ldap ldapaliasd) \
82
+		$(use_enable ldap maildroldap) \
83
+		$(use_with gnutls) \
84
+		--enable-mimetypes=/etc/mime.types \
85
+		--prefix=/usr \
86
+		--disable-root-check \
87
+		--mandir=/usr/share/man \
88
+		--sysconfdir=/etc/courier \
89
+		--libexecdir=/usr/$(get_libdir)/courier \
90
+		--datadir=/usr/share/courier \
91
+		--sharedstatedir=/var/lib/courier/com \
92
+		--localstatedir=/var/lib/courier \
93
+		--with-piddir=/var/run/courier \
94
+		--with-authdaemonvar=/var/lib/courier/authdaemon \
95
+		--with-mailuser=mail \
96
+		--with-mailgroup=mail \
97
+		--with-paranoid-smtpext \
98
+		--with-db=gdbm \
99
+		--disable-autorenamesent \
100
+		--cache-file="${S}/configuring.cache" \
101
+		--host="${CHOST}" debug=true || die "./configure"
102
+	sed -e'/^install-perms-local:/a\	sed -e\"s|^|'"${D}"'|g\" -i permissions.dat' -i Makefile
103
+	emake || die "Compile problem"
104
+}
105
+
106
+etc_courier() {
107
+	# Import existing /etc/courier/file if it exists.
108
+	# Add option only if it was not already set or even commented out
109
+	file="${1}" ; word="`echo \"${2}\" | sed -e\"s|=.*$||\" -e\"s|^.*opt ||\"`"
110
+	[ ! -e "${D}/etc/courier/${file}" ] && [ -e "/etc/courier/${file}" ] && \
111
+			cp "/etc/courier/${file}" "${D}/etc/courier/${file}"
112
+	grep -q "${word}" "${D}/etc/courier/${file}" || \
113
+		echo "${2}" >> "${D}/etc/courier/${file}"
114
+}
115
+
116
+etc_courier_chg() {
117
+	file="${1}" ; key="${2}" ; value="${3}" ; section="${4}"
118
+	[ -z "${section}" ] && section="${2}"
119
+	grep -q "${key}" "${file}" && elog "Changing ${file}: ${key} to ${value}"
120
+	sed -i -e"/\#\#NAME: ${section}/,+30 s|${key}=.*|${key}=\"${value}\"|g" ${file}
121
+}
122
+
123
+src_install() {
124
+	local f
125
+	diropts -o mail -g mail
126
+	keepdir /var/lib/courier/tmp
127
+	keepdir /var/lib/courier/msgs
128
+	make install DESTDIR="${D}" || die "install"
129
+	make install-configure || die "install-configure"
130
+
131
+	# Get rid of files we dont want
132
+	if ! use webmail ; then
133
+		rm -rf "${D}/usr/$(get_libdir)/courier/courier/webmail" \
134
+			"${D}/usr/$(get_libdir)/courier/courier/sqwebmaild" \
135
+			"${D}/usr/share/courier/sqwebmail/" \
136
+			"${D}/usr/sbin/webmaild" \
137
+			"${D}/usr/sbin/webgpg" \
138
+			"${D}/etc/courier/webmail.authpam" \
139
+			"${D}/var/lib/courier/webmail-logincache" \
140
+			"${D}"/etc/courier/sqwebmaild*
141
+	fi
142
+
143
+	if ! use web ; then
144
+		rm -rf "${D}/usr/share/courier/courierwebadmin/" \
145
+			"${D}/etc/courier/webadmin"
146
+	fi
147
+
148
+	for dir2keep in $(cd "${D}" && find ./var/lib/courier -type d) ; do
149
+		keepdir "$dir2keep" || die "failed running keepdir: $dir2keep"
150
+	done
151
+
152
+	newinitd "${FILESDIR}/courier-init-r4" "courier"
153
+	use fam || sed -i -e's|^.*use famd$||g' "${D}/etc/init.d/courier"
154
+
155
+	cd "${D}/etc/courier"
156
+	if use webmail ; then
157
+		insinto /etc/courier
158
+		newins "${FILESDIR}/apache-sqwebmail.inc" apache-sqwebmail.inc
159
+	fi
160
+
161
+	for f in *.dist ; do cp "${f}" "${f%%.dist}" ; done
162
+	if use ldap ; then
163
+		[ -e ldapaliasrc ] &&  ( chown root:0 ldapaliasrc ; chmod 400 ldapaliasrc )
164
+	else
165
+		rm -f ldapaliasrc
166
+	fi
167
+
168
+	( [ -e /etc/courier/sizelimit ] && cat /etc/courier/sizelimit || echo 0 ) \
169
+		> "${D}/etc/courier/sizelimit"
170
+	etc_courier maildroprc ""
171
+	etc_courier esmtproutes ""
172
+	etc_courier backuprelay ""
173
+	etc_courier locallowercase ""
174
+	etc_courier bofh "opt BOFHBADMIME=accept"
175
+	etc_courier bofh "opt BOFHSPFTRUSTME=1"
176
+	etc_courier bofh "opt BOFHSPFHELO=pass,neutral,unknown,none,error,softfail,fail"
177
+	etc_courier bofh "opt BOFHSPFHELO=pass,neutral,unknown,none"
178
+	etc_courier bofh "opt BOFHSPFFROM=all"
179
+	etc_courier bofh "opt BOFHSPFMAILFROM=all"
180
+	etc_courier bofh "#opt BOFHSPFHARDERROR=fail"
181
+	etc_courier esmtpd "BOFHBADMIME=accept"
182
+	etc_courier esmtpd-ssl "BOFHBADMIME=accept"
183
+	etc_courier esmtpd-msa "BOFHBADMIME=accept"
184
+
185
+	use fam && etc_courier_chg imapd IMAP_CAPABILITY "IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
186
+	use fam || etc_courier_chg imapd IMAP_CAPABILITY "IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256"
187
+
188
+	# Fix for a sandbox violation on subsequential merges
189
+	# - ticho@gentoo.org, 2005-07-10
190
+	dosym /usr/share/courier/pop3d /usr/sbin/courier-pop3d
191
+	dosym /usr/share/courier/pop3d-ssl /usr/sbin/courier-pop3d-ssl
192
+	dosym /usr/share/courier/imapd /usr/sbin/courier-imapd
193
+	dosym /usr/share/courier/imapd-ssl /usr/sbin/courier-imapd-ssl
194
+
195
+	cd "${S}"
196
+	cp imap/README README.imap
197
+	use nls && cp unicode/README README.unicode
198
+	dodoc AUTHORS BENCHMARKS COPYING* ChangeLog* INSTALL NEWS README* TODO courier/doc/*.txt
199
+	dodoc tcpd/README.couriertls
200
+	mv "${D}/usr/share/courier/htmldoc" "${D}/usr/share/doc/${PF}/html"
201
+
202
+	if use webmail ; then
203
+		insinto /usr/$(get_libdir)/courier/courier
204
+		insopts -m 755 -o mail -g mail
205
+		doins "${S}/courier/webmaild"
206
+	fi
207
+
208
+	if use web ; then
209
+		insinto /etc/courier/webadmin
210
+		insopts -m 400 -o mail -g mail
211
+		doins "${FILESDIR}/password.dist"
212
+	fi
213
+
214
+	# avoid name collisions in /usr/sbin, make webadmin match
215
+	cd "${D}/usr/sbin"
216
+	for f in imapd imapd-ssl pop3d pop3d-ssl ; do mv "${f}" "courier-${f}" ; done
217
+	if use web ; then
218
+		sed -i -e 's:\$sbindir\/imapd:\$sbindir\/courier-imapd:g' \
219
+			-e 's:\$sbindir\/imapd-ssl:\$sbindir\/courier-imapd-ssl:g' \
220
+			"${D}/usr/share/courier/courierwebadmin/admin-40imap.pl" \
221
+			|| ewarn "failed to fix webadmin"
222
+		sed -i -e 's:\$sbindir\/pop3d:\$sbindir\/courier-pop3d:g' \
223
+			-e 's:\$sbindir\/pop3d-ssl:\$sbindir\/courier-pop3d-ssl:g' \
224
+			"${D}/usr/share/courier/courierwebadmin/admin-45pop3.pl" \
225
+			|| ewarn "failed to fix webadmin"
226
+	fi
227
+
228
+	# users should be able to send mail. Could be restricted with suictl.
229
+	chmod u+s "${D}/usr/bin/sendmail"
230
+
231
+	dosym /usr/bin/sendmail /usr/sbin/sendmail
232
+}
233
+
234
+src_test() {
235
+	if [ `whoami` != 'root' ]; then
236
+		emake -j1 check || die "Make check failed."
237
+	else
238
+		einfo "make check skipped, can't run as root."
239
+		einfo "You can enable it with FEATURES=\"userpriv\""
240
+	fi
241
+}
242
+
243
+pkg_postinst() {
244
+	use fam && elog "fam daemon is needed for courier-imapd" \
245
+		|| ewarn "courier was built without fam support"
246
+}
247
+
248
+pkg_config() {
249
+	mailhost="$(hostname)"
250
+	export mailhost
251
+
252
+	domainname="$(domainname)"
253
+	if [ "x$domainname" = "x(none)" ] ; then
254
+		domainname="$(echo ${mailhost} | sed -e "s/[^\.]*\.\(.*\)/\1/")"
255
+	fi
256
+	export domainname
257
+
258
+	if [ "${ROOT}" = "/" ] ; then
259
+		file="${ROOT}/etc/courier/locals"
260
+		if [ ! -f "${file}" ] ; then
261
+			echo "localhost" > "${file}";
262
+			echo "${domainname}" >> "${file}";
263
+		fi
264
+		file="${ROOT}/etc/courier/esmtpacceptmailfor.dir/${domainname}"
265
+		if [ ! -f "${file}" ] ; then
266
+			echo "${domainname}" > "${file}"
267
+			/usr/sbin/makeacceptmailfor
268
+		fi
269
+
270
+		file="${ROOT}/etc/courier/smtpaccess/${domainname}"
271
+		if [ ! -f "${file}" ]
272
+		then
273
+			netstat -nr | grep "^[1-9]" | while read network gateway netmask rest
274
+			do
275
+				i=1
276
+				net=""
277
+				TIFS="${IFS}"
278
+				IFS="."
279
+				for o in "${netmask}"
280
+				do
281
+					if [ "${o}" == "255" ]
282
+					then
283
+						[ "_${net}" == "_" ] || net="${net}."
284
+						t="$(echo "${network}" | cut -d " " -f ${i})"
285
+						net="${net}${t}"
286
+					fi
287
+					i="$((${i} + 1))"
288
+				done
289
+				IFS="${TIFS}"
290
+				echo "doing configuration - relay control for the network ${net} !"
291
+				echo "${net}	allow,RELAYCLIENT" >> ${file}
292
+			done
293
+			/usr/sbin/makesmtpaccess
294
+		fi
295
+	fi
296
+
297
+	echo "creating cert for esmtpd-ssl:"
298
+	/usr/sbin/mkesmtpdcert
299
+	echo "creating cert for imapd-ssl:"
300
+	/usr/sbin/mkpop3dcert
301
+	echo "creating cert for pop3d-ssl:"
302
+	/usr/sbin/mkimapdcert
303
+}
... ...
@@ -0,0 +1,14 @@
1
+Alias /webmail/ /usr/share/courier/sqwebmail/images/
2
+<Directory /usr/share/courier/sqwebmail/>
3
+	Order Allow,Deny
4
+	AllowOverride All
5
+	Allow from all
6
+</Directory>
7
+
8
+ScriptAlias /courier/ /usr/lib/courier/courier/webmail/
9
+<Directory /usr/lib/courier/courier/webmail/>
10
+	AllowOverride All
11
+	Options ExecCGI
12
+	Order allow,deny
13
+	Allow from all
14
+</Directory>
... ...
@@ -0,0 +1,115 @@
1
+diff -Naur courier-0.73.2.20140911-vanilla/courier/module.esmtp/Makefile.am courier-0.73.2.20140911/courier/module.esmtp/Makefile.am
2
+--- courier-0.73.2.20140911-vanilla/courier/module.esmtp/Makefile.am	2014-09-18 10:23:10.185497520 +0200
3
++++ courier-0.73.2.20140911/courier/module.esmtp/Makefile.am	2014-09-18 10:23:28.515504964 +0200
4
+@@ -93,9 +93,9 @@
5
+ 
6
+ courieresmtpd_DEPENDENCIES=$(courieresmtp_DEPENDENCIES) \
7
+ 				../../libs/tcpd/libspipe.la
8
+-courieresmtpd_LDADD=$(commonLDADD) ../../libs/tcpd/libspipe.la
9
+-courieresmtpd_LDFLAGS=`@COURIERAUTHCONFIG@ --ldflags` \
10
+-		-lcourierauthsasl -lcourierauth
11
++courieresmtpd_LDADD=$(commonLDADD) ../../libs/tcpd/libspipe.la \
12
++			-lcourierauthsasl -lcourierauth
13
++courieresmtpd_LDFLAGS=`@COURIERAUTHCONFIG@ --ldflags`
14
+ 
15
+ addcr_SOURCES=addcr.c
16
+ 
17
+diff -Naur courier-0.73.2.20140911-vanilla/courier/module.esmtp/Makefile.in courier-0.73.2.20140911/courier/module.esmtp/Makefile.in
18
+--- courier-0.73.2.20140911-vanilla/courier/module.esmtp/Makefile.in	2014-09-18 10:23:10.185497520 +0200
19
++++ courier-0.73.2.20140911/courier/module.esmtp/Makefile.in	2014-09-18 10:23:28.515504964 +0200
20
+@@ -462,9 +462,9 @@
21
+ courieresmtpd_DEPENDENCIES = $(courieresmtp_DEPENDENCIES) \
22
+ 				../../libs/tcpd/libspipe.la
23
+ 
24
+-courieresmtpd_LDADD = $(commonLDADD) ../../libs/tcpd/libspipe.la
25
+-courieresmtpd_LDFLAGS = `@COURIERAUTHCONFIG@ --ldflags` \
26
+-		-lcourierauthsasl -lcourierauth
27
++courieresmtpd_LDADD = $(commonLDADD) ../../libs/tcpd/libspipe.la \
28
++			-lcourierauthsasl -lcourierauth
29
++courieresmtpd_LDFLAGS = `@COURIERAUTHCONFIG@ --ldflags`
30
+ 
31
+ addcr_SOURCES = addcr.c
32
+ librewrite_la_SOURCES = esmtp.c
33
+diff -Naur courier-0.73.2.20140911-vanilla/libs/gpglib/Makefile.in courier-0.73.2.20140911/libs/gpglib/Makefile.in
34
+--- courier-0.73.2.20140911-vanilla/libs/gpglib/Makefile.in	2014-09-18 10:23:10.245497543 +0200
35
++++ courier-0.73.2.20140911/libs/gpglib/Makefile.in	2014-09-18 10:23:22.385502476 +0200
36
+@@ -333,9 +333,9 @@
37
+ 	sign.c tempname.c tempname.h
38
+ 
39
+ testgpg_SOURCES = testgpg.c
40
+-testgpg_LDADD = libgpg.la ../numlib/libnumlib.la
41
++testgpg_LDADD = libgpg.la ../numlib/libnumlib.la -lunicode
42
+ testgpg_DEPENDENCIES = $(testgpg_LDADD)
43
+-testgpg_LDFLAGS = -static -lunicode
44
++testgpg_LDFLAGS = -static
45
+ mimegpg_SOURCES = mimegpg.c
46
+ mimegpg_LDADD = libgpg.la ../rfc2045/librfc2045.la ../rfc822/librfc822.la \
47
+ 		../rfc822/libencode.la ../numlib/libnumlib.la \
48
+diff -Naur courier-0.73.2.20140911-vanilla/libs/rfc2045/Makefile.am courier-0.73.2.20140911/libs/rfc2045/Makefile.am
49
+--- courier-0.73.2.20140911-vanilla/libs/rfc2045/Makefile.am	2014-09-18 10:23:10.225497535 +0200
50
++++ courier-0.73.2.20140911/libs/rfc2045/Makefile.am	2014-09-18 10:23:22.385502476 +0200
51
+@@ -31,24 +31,23 @@
52
+ 
53
+ reformime_SOURCES=reformime.c
54
+ reformime_LDADD = librfc2045.la ../rfc822/libencode.la ../rfc822/librfc822.la \
55
+-		../numlib/libnumlib.la
56
++		../numlib/libnumlib.la -lunicode
57
+ reformime_DEPENDENCIES = $(reformime_LDADD)
58
+-reformime_LDFLAGS=-static -lunicode
59
++reformime_LDFLAGS=-static
60
+ 
61
+ makemime_SOURCES=makemime.c
62
+-makemime_LDADD = ../rfc822/libencode.la ../rfc822/librfc822.la librfc2045.la ../numlib/libnumlib.la
63
++makemime_LDADD = ../rfc822/libencode.la ../rfc822/librfc822.la librfc2045.la ../numlib/libnumlib.la -lunicode
64
+ makemime_DEPENDENCIES=$(makemime_LDADD)
65
+-makemime_LDFLAGS=-static -lunicode
66
++makemime_LDFLAGS=-static
67
+ 
68
+ headercheck_SOURCES=headercheck.c
69
+-headercheck_LDADD=librfc2045.la ../rfc822/librfc822.la ../numlib/libnumlib.la
70
++headercheck_LDADD=librfc2045.la ../rfc822/librfc822.la ../numlib/libnumlib.la -lunicode
71
+ headercheck_DEPENDENCIES=$(headercheck_LDADD)
72
+-headercheck_LDFLAGS=-static -lunicode
73
++headercheck_LDFLAGS=-static
74
+ 
75
+ testrfc3676parser_SOURCES=testrfc3676parser.c
76
+-testrfc3676parser_LDADD=librfc2045.la
77
++testrfc3676parser_LDADD=librfc2045.la -lunicode
78
+ testrfc3676parser_DEPENDENCIES=$(testrfc3676parser_LDADD)
79
+-testrfc3676parser_LDFLAGS=-lunicode
80
+ 
81
+ if HAVE_SGML
82
+ reformime.html: reformime.sgml ../docbook/sgml2html
83
+diff -Naur courier-0.73.2.20140911-vanilla/libs/rfc2045/Makefile.in courier-0.73.2.20140911/libs/rfc2045/Makefile.in
84
+--- courier-0.73.2.20140911-vanilla/libs/rfc2045/Makefile.in	2014-09-18 10:23:10.225497535 +0200
85
++++ courier-0.73.2.20140911/libs/rfc2045/Makefile.in	2014-09-18 10:23:22.385502476 +0200
86
+@@ -395,22 +395,21 @@
87
+ 
88
+ reformime_SOURCES = reformime.c
89
+ reformime_LDADD = librfc2045.la ../rfc822/libencode.la ../rfc822/librfc822.la \
90
+-		../numlib/libnumlib.la
91
++		../numlib/libnumlib.la -lunicode
92
+ 
93
+ reformime_DEPENDENCIES = $(reformime_LDADD)
94
+-reformime_LDFLAGS = -static -lunicode
95
++reformime_LDFLAGS = -static
96
+ makemime_SOURCES = makemime.c
97
+-makemime_LDADD = ../rfc822/libencode.la ../rfc822/librfc822.la librfc2045.la ../numlib/libnumlib.la
98
++makemime_LDADD = ../rfc822/libencode.la ../rfc822/librfc822.la librfc2045.la ../numlib/libnumlib.la -lunicode
99
+ makemime_DEPENDENCIES = $(makemime_LDADD)
100
+-makemime_LDFLAGS = -static -lunicode
101
++makemime_LDFLAGS = -static
102
+ headercheck_SOURCES = headercheck.c
103
+-headercheck_LDADD = librfc2045.la ../rfc822/librfc822.la ../numlib/libnumlib.la
104
++headercheck_LDADD = librfc2045.la ../rfc822/librfc822.la ../numlib/libnumlib.la -lunicode
105
+ headercheck_DEPENDENCIES = $(headercheck_LDADD)
106
+-headercheck_LDFLAGS = -static -lunicode
107
++headercheck_LDFLAGS = -static
108
+ testrfc3676parser_SOURCES = testrfc3676parser.c
109
+-testrfc3676parser_LDADD = librfc2045.la
110
++testrfc3676parser_LDADD = librfc2045.la -lunicode
111
+ testrfc3676parser_DEPENDENCIES = $(testrfc3676parser_LDADD)
112
+-testrfc3676parser_LDFLAGS = -lunicode
113
+ @HAVE_LIBIDN_FALSE@TESTSUITE = testsuite.txt.noidn
114
+ @HAVE_LIBIDN_TRUE@TESTSUITE = testsuite.txt.idn
115
+ all: $(BUILT_SOURCES) rfc2045_config.h
... ...
@@ -0,0 +1,190 @@
1
+#!/sbin/runscript
2
+# Portions Copyright 2003 Gentoo Linux
3
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/files/courier-init-r4,v 1.3 2013/10/18 13:21:14 hanno Exp $
4
+#
5
+# script originally from Courier distfile original name = courier.sysvinit
6
+# adapted for Gentoo by Brian Jackson
7
+#
8
+# TODO
9
+# should we update all the .dat/.pem files when the source/config files are 
10
+#	newer than the .dat/.pem files?
11
+
12
+prefix="/usr"
13
+exec_prefix="/usr/bin"
14
+sysconfdir="/etc/courier"
15
+sbindir="/usr/sbin"
16
+libexecdir="/usr/lib/courier"
17
+datadir="/usr/share/courier"
18
+
19
+depend() {
20
+	need net
21
+	[ -d /etc/courier/authlib ] && need courier-authlib
22
+	grep -q "^IMAPDSTART=.*[Yy].*" /etc/courier/imapd && use famd
23
+	grep -q "^IMAPDSSLSTART=.*[Yy].*" /etc/courier/imapd-ssl && use famd
24
+}
25
+
26
+checkconfig() {
27
+	checkpath -q -d -o mail:mail -m 0755 /var/run/courier
28
+
29
+	[ -f ${sysconfdir}/pop3d-ssl ] && . ${sysconfdir}/pop3d-ssl
30
+
31
+	# If we do not have a certificate, make one up.
32
+	[ ! -f "${datadir}/pop3d.pem" ] && \
33
+	ebegin " generating-POP3-SSL-certificate..." && "${sbindir}/mkpop3dcert"
34
+
35
+	[ -f ${sysconfdir}/imapd-ssl ] && . ${sysconfdir}/imapd-ssl
36
+
37
+	# If we do not have a certificate, make one up.
38
+	[ ! -f ${datadir}/imapd.pem ] && \
39
+	ebegin " generating-IMAP-SSL-certificate..." && "${sbindir}/mkimapdcert"
40
+
41
+	[ -f ${sysconfdir}/esmtpd-ssl ] && . ${sysconfdir}/esmtpd-ssl
42
+
43
+	# If we do not have a certificate, make one up.
44
+	[ ! -f ${datadir}/esmtpd.pem ] && \
45
+	ebegin " generating-ESMTP-SSL-certificate..." && "${sbindir}/mkesmtpdcert"
46
+
47
+	# First time after install create aliases.dat and smtpaccess.dat
48
+
49
+	[ -f ${sysconfdir}/aliases.dat ] || ${sbindir}/makealiases
50
+
51
+	[ -f ${sysconfdir}/${ACCESSFILE}.dat ] || ${sbindir}/makesmtpaccess
52
+
53
+	[ -f ${sysconfdir}/${ACCESSFILE}.dat ] || ${sbindir}/makesmtpaccess-msa
54
+}
55
+
56
+start() {
57
+	# Start daemons.
58
+	ebegin "Starting Courier mail server:"
59
+
60
+	checkconfig || return 1
61
+
62
+	ebegin " Starting courierfilterd"
63
+	${sbindir}/courierfilter start
64
+
65
+	[ ! -d /etc/courier/authlib ] && [ -x ${libexecdir}/authlib/authdaemond ] && \
66
+	${libexecdir}/authlib/authdaemond start && ebegin " Starting authdaemond"
67
+
68
+	[ -x ${sbindir}/webmaild ] && \
69
+	  ${sbindir}/webmaild start && ebegin " Starting webmaild" 
70
+
71
+	[ -x ${sbindir}/courierldapaliasd ] && \
72
+	${sbindir}/courierldapaliasd start && ebegin " Starting courierldapaliasd"
73
+
74
+	ebegin " Starting courierd"
75
+	${sbindir}/courier start
76
+
77
+	savepath="$PATH"
78
+	# start esmtpd if so written
79
+	[ -f ${sysconfdir}/esmtpd ] && source ${sysconfdir}/esmtpd
80
+	PATH="$savepath"
81
+	case x$ESMTPDSTART in
82
+	x[yY]*)
83
+		ebegin " Starting esmtpd"
84
+		${sbindir}/esmtpd start
85
+		;;
86
+	esac
87
+
88
+	# start esmtpd-msa if so written
89
+	[ -f ${sysconfdir}/esmtpd-msa ] && source ${sysconfdir}/esmtpd-msa
90
+	PATH="$savepath"
91
+	case x$ESMTPDSTART in
92
+	x[yY]*)
93
+		ebegin " Starting esmtpd-msa"
94
+		${sbindir}/esmtpd-msa start
95
+		;;
96
+	esac
97
+
98
+	# start esmtpd-ssl if so written
99
+	[ -f ${sysconfdir}/esmtpd-ssl ] && source ${sysconfdir}/esmtpd-ssl
100
+	PATH="$savepath"
101
+	case x$ESMTPDSSLSTART in
102
+	x[yY]*)
103
+		ebegin " Starting esmtpd-ssl"
104
+		${sbindir}/esmtpd-ssl start
105
+		;;
106
+	esac
107
+
108
+	# start pop3d if so written
109
+	[ -f ${sysconfdir}/pop3d ] && source ${sysconfdir}/pop3d
110
+	PATH="$savepath"
111
+	case x$POP3DSTART in
112
+	x[yY]*)
113
+		ebegin " courier-pop3d"
114
+		${sbindir}/courier-pop3d start
115
+		;;
116
+	esac
117
+
118
+	# start pop3d-ssl if so written
119
+	[ -f ${sysconfdir}/pop3d-ssl ] && source ${sysconfdir}/pop3d-ssl
120
+	PATH="$savepath"
121
+	case x$POP3DSSLSTART in
122
+	x[yY]*)
123
+		ebegin " courier-pop3d-ssl"
124
+		${sbindir}/courier-pop3d-ssl start
125
+		;;
126
+	esac
127
+
128
+	[ -f ${sysconfdir}/imapd ] && source ${sysconfdir}/imapd
129
+	PATH="$savepath"
130
+	case x$IMAPDSTART in
131
+	x[yY]*)
132
+		ebegin " courier-imapd"
133
+		${sbindir}/courier-imapd start
134
+		;;
135
+	esac
136
+
137
+	[ -f ${sysconfdir}/imapd-ssl ] && source ${sysconfdir}/imapd-ssl
138
+	PATH="$savepath"
139
+	case x$IMAPDSSLSTART in
140
+	x[yY]*)
141
+		ebegin " courier-imapd-ssl"
142
+		${sbindir}/courier-imapd-ssl start
143
+		;;
144
+	esac
145
+
146
+	eend $?
147
+}
148
+
149
+stop() {
150
+	ebegin "Stopping Courier mail server:"
151
+
152
+	ebegin " Stopping courier-esmtpd"
153
+	${sbindir}/esmtpd stop
154
+
155
+	ebegin " Stopping courier-esmtpd-msa"
156
+	${sbindir}/esmtpd-msa stop
157
+
158
+	ebegin " Stopping courier-esmtpd-ssl"
159
+	${sbindir}/esmtpd-ssl stop
160
+
161
+	[ -x ${sbindir}/courier-pop3d ] && \
162
+		ebegin " Stopping courier-pop3d" && ${sbindir}/courier-pop3d stop
163
+
164
+	[ -x ${sbindir}/courier-pop3d-ssl ] && \
165
+		ebegin " Stopping courier-pop3d-ssl" && ${sbindir}/courier-pop3d-ssl stop
166
+
167
+	[ -x ${sbindir}/courier-imapd ] && \
168
+		ebegin " Stopping courier-imapd" && ${sbindir}/courier-imapd stop
169
+
170
+
171
+	[ -x ${sbindir}/courier-imapd-ssl ] && \
172
+		ebegin " Stopping courier-imapd-ssl" && ${sbindir}/courier-imapd-ssl stop
173
+
174
+	ebegin " Stopping courierd"
175
+	${sbindir}/courier stop
176
+
177
+	[ -x ${sbindir}/courierldapaliasd ] && \
178
+	( ${sbindir}/courierldapaliasd stop ; ebegin " Stopping courierldapaliasd" )
179
+
180
+	[ -x ${sbindir}/webmaild ] && \
181
+	  ( ${sbindir}/webmaild stop ; ebegin " Stopping webmaild" )
182
+
183
+	[ ! -d /etc/courier/authlib ] && [ -x ${libexecdir}/authlib/authdaemond ] && \
184
+	( ${libexecdir}/authlib/authdaemond stop ; ebegin " Stopping authdaemond" )
185
+
186
+	${sbindir}/courierfilter stop
187
+	ebegin " Stopping courierfilterd"
188
+
189
+	eend $?
190
+}
... ...
@@ -0,0 +1,21 @@
1
+--- courier/module.esmtp/esmtp.c.orig	2004-02-03 01:08:15.679486558 -0700
2
++++ courier/module.esmtp/esmtp.c	2004-02-03 01:07:41.262697092 -0700
3
+@@ -255,6 +255,10 @@ const char *me;
4
+ struct rfc822t	*tp;
5
+ struct rfc822token at;
6
+ 
7
++#if 1
8
++	(*func)(info);
9
++	return;
10
++#else
11
+ 	if (info->ptr == 0)
12
+ 	{
13
+ 		(*func)(info);
14
+@@ -289,6 +293,7 @@ struct rfc822token at;
15
+ 	(*func)(info);
16
+ 	*r=0;
17
+ 	rfc822t_free(tp);
18
++#endif
19
+ }
20
+ 
21
+ static void rw_esmtp(struct rw_info *info, void (*func)(struct rw_info *))
... ...
@@ -0,0 +1,6 @@
1
+# 1. Open /etc/courier/webadmin/password for editing
2
+# 2. There should be one word in this file.  The webadmin password
3
+# 3. chown mail:mail password
4
+# 4. chmod 400 password
5
+#
6
+# Thanks to Fernando Tobler on bug #10574 for the concise instructions
0 7