forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mail-mta/netqmail: fix SMTPUTF8 mode
This fix was provided by the original patch author, but he sadly did not provide a new patch. Closes: https://bugs.gentoo.org/611142 Signed-off-by: Rolf Eike Beer <[email protected]> Signed-off-by: Joonas Niilola <[email protected]>
- Loading branch information
Showing
2 changed files
with
208 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
https://bugs.gentoo.org/611142 | ||
|
||
--- a/qmail-remote.c 2019-10-29 22:46:27.076000000 +0100 | ||
+++ b/qmail-remote.c 2019-10-29 22:48:18.868000000 +0100 | ||
@@ -556,6 +556,7 @@ void checkutf8message() | ||
if (r == 0) break; | ||
if (r == -1) temp_read(); | ||
|
||
+ if (ch == '\n' && !stralloc_cats(&firstpart,"\r")) temp_nomem(); | ||
if (!stralloc_append(&firstpart,&ch)) temp_nomem(); | ||
|
||
if (ch == '\r') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
GENQMAIL_PV=20191010 | ||
QMAIL_SPP_PV=0.42 | ||
|
||
QMAIL_TLS_PV=20190114 | ||
QMAIL_TLS_F=${PN}-1.05-tls-smtpauth-${QMAIL_TLS_PV}.patch | ||
QMAIL_TLS_CVE=vu555316.patch | ||
|
||
QMAIL_BIGTODO_PV=103 | ||
QMAIL_BIGTODO_F=big-todo.${QMAIL_BIGTODO_PV}.patch | ||
|
||
QMAIL_LARGE_DNS='qmail-103.patch' | ||
|
||
QMAIL_SMTPUTF8='qmail-smtputf8.patch' | ||
|
||
inherit qmail | ||
|
||
DESCRIPTION="qmail -- a secure, reliable, efficient, simple message transfer agent" | ||
HOMEPAGE=" | ||
http://netqmail.org | ||
https://cr.yp.to/qmail.html | ||
http://qmail.org | ||
" | ||
SRC_URI="mirror://qmail/${P}.tar.gz | ||
https://github.com/DerDakon/genqmail/releases/download/genqmail-${GENQMAIL_PV}/${GENQMAIL_F} | ||
https://www.ckdhr.com/ckd/${QMAIL_LARGE_DNS} | ||
!vanilla? ( | ||
highvolume? ( mirror://qmail/${QMAIL_BIGTODO_F} ) | ||
qmail-spp? ( mirror://sourceforge/qmail-spp/${QMAIL_SPP_F} ) | ||
ssl? ( | ||
https://mirror.alexh.name/qmail/netqmail/${QMAIL_TLS_F} | ||
http://inoa.net/qmail-tls/${QMAIL_TLS_CVE} | ||
https://arnt.gulbrandsen.priv.no/qmail/qmail-smtputf8.patch | ||
) | ||
) | ||
" | ||
|
||
LICENSE="public-domain" | ||
SLOT="0" | ||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86" | ||
IUSE="authcram gencertdaily highvolume libressl qmail-spp ssl vanilla" | ||
REQUIRED_USE="vanilla? ( !ssl !qmail-spp !highvolume )" | ||
RESTRICT="test" | ||
|
||
DEPEND=" | ||
acct-group/nofiles | ||
acct-group/qmail | ||
acct-user/alias | ||
acct-user/qmaild | ||
acct-user/qmaill | ||
acct-user/qmailp | ||
acct-user/qmailq | ||
acct-user/qmailr | ||
acct-user/qmails | ||
net-dns/libidn2 | ||
net-mail/queue-repair | ||
sys-apps/gentoo-functions | ||
sys-apps/groff | ||
ssl? ( | ||
!libressl? ( >=dev-libs/openssl-1.1:0= ) | ||
libressl? ( dev-libs/libressl:= ) | ||
) | ||
" | ||
RDEPEND="${DEPEND} | ||
sys-apps/ucspi-tcp | ||
virtual/checkpassword | ||
virtual/daemontools | ||
authcram? ( >=net-mail/cmd5checkpw-0.30 ) | ||
ssl? ( sys-apps/ucspi-ssl ) | ||
!mail-mta/courier | ||
!mail-mta/esmtp | ||
!mail-mta/exim | ||
!mail-mta/mini-qmail | ||
!mail-mta/msmtp[mta] | ||
!mail-mta/nullmailer | ||
!mail-mta/opensmtpd | ||
!mail-mta/postfix | ||
!mail-mta/qmail-ldap | ||
!mail-mta/sendmail | ||
!mail-mta/ssmtp[mta] | ||
" | ||
|
||
pkg_setup() { | ||
if [[ -n "${QMAIL_PATCH_DIR}" ]]; then | ||
eerror | ||
eerror "The QMAIL_PATCH_DIR variable for custom patches" | ||
eerror "has been removed from ${PN}. If you need custom patches" | ||
eerror "see 'user patches' in the portage manual." | ||
eerror | ||
die "QMAIL_PATCH_DIR is not supported anymore" | ||
fi | ||
} | ||
|
||
src_unpack() { | ||
genqmail_src_unpack | ||
use qmail-spp && qmail_spp_src_unpack | ||
|
||
unpack ${P}.tar.gz | ||
} | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PV}-exit.patch" | ||
"${FILESDIR}/${PV}-readwrite.patch" | ||
"${DISTDIR}/${QMAIL_LARGE_DNS}" | ||
"${FILESDIR}/${PV}-fbsd-utmpx.patch" | ||
"${FILESDIR}/${P}-ipme-multiple.patch" | ||
) | ||
|
||
src_prepare() { | ||
if ! use vanilla; then | ||
if use ssl; then | ||
# This patch contains relative paths and needs to be cleaned up. | ||
sed 's~^--- \.\./\.\./~--- ~g' \ | ||
< "${DISTDIR}"/${QMAIL_TLS_F} \ | ||
> "${T}"/${QMAIL_TLS_F} || die | ||
PATCHES+=( "${T}/${QMAIL_TLS_F}" | ||
"${DISTDIR}/${QMAIL_TLS_CVE}" | ||
"${FILESDIR}/qmail-smtputf8.patch" | ||
"${FILESDIR}/qmail-smtputf8-crlf-fix.patch" | ||
) | ||
fi | ||
if use highvolume; then | ||
PATCHES+=( "${DISTDIR}/${QMAIL_BIGTODO_F}" ) | ||
fi | ||
|
||
if use qmail-spp; then | ||
if use ssl; then | ||
SPP_PATCH="${QMAIL_SPP_S}/qmail-spp-smtpauth-tls-20060105.diff" | ||
else | ||
SPP_PATCH="${QMAIL_SPP_S}/netqmail-spp.diff" | ||
fi | ||
# make the patch work with "-p1" | ||
sed -e 's#^--- \([Mq]\)#--- a/\1#' -e 's#^+++ \([Mq]\)#+++ b/\1#' -i ${SPP_PATCH} || die | ||
|
||
PATCHES+=( "${SPP_PATCH}" ) | ||
fi | ||
fi | ||
|
||
default | ||
|
||
qmail_src_postunpack | ||
|
||
# Fix bug #33818 but for netqmail (Bug 137015) | ||
if ! use authcram; then | ||
einfo "Disabled CRAM_MD5 support" | ||
sed -e 's,^#define CRAM_MD5$,/*&*/,' -i "${S}"/qmail-smtpd.c || die | ||
else | ||
einfo "Enabled CRAM_MD5 support" | ||
fi | ||
|
||
ht_fix_file Makefile* | ||
} | ||
|
||
src_compile() { | ||
qmail_src_compile | ||
use qmail-spp && qmail_spp_src_compile | ||
} | ||
|
||
src_install() { | ||
qmail_src_install | ||
} | ||
|
||
pkg_postinst() { | ||
qmail_queue_setup | ||
qmail_rootmail_fixup | ||
qmail_tcprules_build | ||
|
||
qmail_config_notice | ||
qmail_supervise_config_notice | ||
elog | ||
elog "If you are looking for documentation, check those links:" | ||
elog "https://wiki.gentoo.org/wiki/Virtual_mail_hosting_with_qmail" | ||
elog " -- qmail/vpopmail Virtual Mail Hosting System Guide" | ||
elog "http://www.lifewithqmail.com/" | ||
elog " -- Life with qmail" | ||
elog | ||
} | ||
|
||
pkg_preinst() { | ||
qmail_tcprules_fixup | ||
} | ||
|
||
pkg_config() { | ||
# avoid some weird locale problems | ||
export LC_ALL=C | ||
|
||
qmail_config_fast | ||
qmail_tcprules_config | ||
qmail_tcprules_build | ||
|
||
use ssl && qmail_ssl_generate | ||
} |