public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2015-11-24 15:50 Eray Aslan
  0 siblings, 0 replies; 10+ messages in thread
From: Eray Aslan @ 2015-11-24 15:50 UTC (permalink / raw
  To: gentoo-commits

commit:     c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 24 15:49:00 2015 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Tue Nov 24 15:49:00 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8abcbe8

net-mail/dovecot: remove old

Package-Manager: portage-2.2.25

 net-mail/dovecot/Manifest                  |   4 -
 net-mail/dovecot/dovecot-2.2.16-r1.ebuild  | 297 ----------------------------
 net-mail/dovecot/dovecot-2.2.18-r1.ebuild  | 306 -----------------------------
 net-mail/dovecot/dovecot-2.2.18.ebuild     | 303 ----------------------------
 net-mail/dovecot/files/CVE-2015-3420.patch |  52 -----
 5 files changed, 962 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index d61599c..b2b6f52 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,6 +1,2 @@
-DIST dovecot-2.2-pigeonhole-0.4.7.tar.gz 1271959 SHA256 04a13ec11652cbff812519eacf4db7dda648ab5c4c5f63b43a437d1fb0cc8d2a SHA512 df1b4c5591ce36dc99a9e5fb0281d1d11e95b7bf37594910c5730ac611dafb744f057dc87416ff638d582191376d210bca63cc548bf34612144cae2ac6e9448d WHIRLPOOL 76b500f935ae2133e70affaf12a3fd3c158b60bd5903b160f7f3a63478b092b57cee6046d0b9afb10bf83ec4b869592ea632031cca75c4bff00f5c58b7fe23f6
-DIST dovecot-2.2-pigeonhole-0.4.8.tar.gz 1567528 SHA256 d73c1c5a11cdfdcb58304a1c1272cce6c8e1868e3f61d393b3b8a725f3bf665b SHA512 34b0bbe2015f8a9558daa9ae8feebfb42437f99578b551cc15d0d5ac04cafc15bf9c5a8395d6903a013639936a5868e39bbebe6432a989da1411b3dfab351c32 WHIRLPOOL a6ba9fdf03c6c80e3e03c79475a283d4c99011c9763869894e53e84d4f556f1484d6eac9d6482f31972f12b7261afa89e21ea432bf01f9407fa50cf0f7543b4c
 DIST dovecot-2.2-pigeonhole-0.4.9.tar.gz 1577127 SHA256 82892f876d26008a076973dfddf1cffaf5a0451825fd44e06287e94b89078649 SHA512 9e7a18b43d59ed955b142d16696ca221822a547ea59ac70c1bb374eedb28b6ed99ea49f34ead1f9a16ded4573605e410a5cc8e038e1bdf5f943a65588b5d3af2 WHIRLPOOL be309436b43af82a7cb8eff205e1638b2c59751927fdab187e6fde72330e4abd99878cbfa94ca50440ec8de1f9b569bf334d426891ddc73d5f647ee2040c193f
-DIST dovecot-2.2.16.tar.gz 4830169 SHA256 56ce1287a17fa88a2083116db00200deff1a5390af5eac1c8ae3f59a2079cff0 SHA512 7e910a58cae6d215169a815423bffd1677663ccb1eb400f7f1e733167c29989f3c6786a2d6cea0ef07e64cb08aa1402adb451e0adbbb999f57b3754c0962dbf8 WHIRLPOOL 22b3911e7efa336da792c2af0dde4e556d6c398d9b9f8127e53b13081777b40846a0324b92bc0b41bfd66b6957c6baaeb4e79bd39bf9ba6e91f9e2726a9575a4
-DIST dovecot-2.2.18.tar.gz 5100040 SHA256 b6d8468cea47f1227f47b80618f7fb872e2b2e9d3302adc107a005dd083865bb SHA512 227fa9c55070ce305d41faebb0fe15df86cb70427dd4043a01837095228b5504121fccaecfbf47fab3426334449b637bffdfe9a93ee2322bb8ff8d69de4967c7 WHIRLPOOL 117116bd436690613adaf51031fb371a82c55818a9d32f58d098c9d53fe52d27ecfe7466a3ce51ab8cd29c952b72b55586f3cd41e13784a7d614a23eabecab9c
 DIST dovecot-2.2.19.tar.gz 5256627 SHA256 759e1e3f9d907cdaabad1f5fbacc793ca191d234c084bec3bba42966952a4e9f SHA512 1b9d605a6a5862ade9d1ca634a9e0171b7c212ab025fc2059051c3795470685b66516fa9fbe5ad91d84388268ea15795f2dcd70ffdf81736ce4d80fd284835e9 WHIRLPOOL 30dbe70bfeef10dbe414ebf3f091041ad66926a8748cd401ecaf9ed5c7602939e86943d98bfb839f32c0aa1d0081ab71adacf23bb4adba34e828ee296e9a7278

diff --git a/net-mail/dovecot/dovecot-2.2.16-r1.ebuild b/net-mail/dovecot/dovecot-2.2.16-r1.ebuild
deleted file mode 100644
index f8811a9..0000000
--- a/net-mail/dovecot/dovecot-2.2.16-r1.ebuild
+++ /dev/null
@@ -1,297 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils multilib ssl-cert systemd user versionator
-
-MY_P="${P/_/.}"
-major_minor="$(get_version_component_range 1-2)"
-sieve_version="0.4.7"
-if [[ ${PV} == *_rc* ]] ; then
-	rc_dir="rc/"
-else
-	rc_dir=""
-fi
-SRC_URI="http://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
-	sieve? (
-	http://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	)
-	managesieve? (
-	http://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	) "
-DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
-HOMEPAGE="http://www.dovecot.org/"
-
-SLOT="0"
-LICENSE="LGPL-2.1 MIT"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86"
-
-IUSE_DOVECOT_AUTH="kerberos ldap mysql pam postgres sqlite vpopmail"
-IUSE_DOVECOT_STORAGE="cydir imapc +maildir mbox mdbox pop3c sdbox"
-IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
-IUSE_DOVECOT_OTHER="caps doc ipv6 lucene managesieve selinux sieve solr +ssl static-libs suid tcpd"
-
-IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
-
-DEPEND="bzip2? ( app-arch/bzip2 )
-	caps? ( sys-libs/libcap )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap )
-	lucene? ( >=dev-cpp/clucene-2.3 )
-	lzma? ( app-arch/xz-utils )
-	lz4? ( app-arch/lz4 )
-	mysql? ( virtual/mysql )
-	pam? ( virtual/pam )
-	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
-	selinux? ( sec-policy/selinux-dovecot )
-	solr? ( net-misc/curl dev-libs/expat )
-	sqlite? ( dev-db/sqlite:* )
-	ssl? ( dev-libs/openssl:* )
-	tcpd? ( sys-apps/tcp-wrappers )
-	vpopmail? ( net-mail/vpopmail )
-	zlib? ( sys-libs/zlib )
-	virtual/libiconv"
-
-RDEPEND="${DEPEND}
-	net-mail/mailbase"
-
-S=${WORKDIR}/${MY_P}
-
-pkg_setup() {
-	if use managesieve && ! use sieve; then
-		ewarn "managesieve USE flag selected but sieve USE flag unselected"
-		ewarn "sieve USE flag will be turned on"
-	fi
-	# default internal user
-	enewgroup dovecot 97
-	enewuser dovecot 97 -1 /dev/null dovecot
-	# default login user
-	enewuser dovenull -1 -1 /dev/null
-	# add "mail" group for suid'ing. Better security isolation.
-	if use suid; then
-		enewgroup mail
-	fi
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/CVE-2015-3420.patch"
-	epatch "${FILESDIR}/${PN}-10-ssl.patch"
-
-	epatch_user
-}
-
-src_configure() {
-	local conf=""
-
-	if use postgres || use mysql || use sqlite; then
-		conf="${conf} --with-sql"
-	fi
-
-	local storages=""
-	for storage in ${IUSE_DOVECOT_STORAGE//+/}; do
-		use ${storage} && storages="${storage} ${storages}"
-	done
-	[ "${storages}" ] || storages="maildir"
-
-	# turn valgrind tests off. Bug #340791
-	VALGRIND=no econf \
-		--localstatedir="${EPREFIX}/var" \
-		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
-		--without-stemmer \
-		--with-storages="${storages}" \
-		--disable-rpath \
-		$( systemd_with_unitdir ) \
-		$( use_with bzip2 bzlib ) \
-		$( use_with caps libcap ) \
-		$( use_with kerberos gssapi ) \
-		$( use_with ldap ) \
-		$( use_with lucene ) \
-		$( use_with lz4 ) \
-		$( use_with lzma ) \
-		$( use_with mysql ) \
-		$( use_with pam ) \
-		$( use_with postgres pgsql ) \
-		$( use_with sqlite ) \
-		$( use_with solr ) \
-		$( use_with ssl ) \
-		$( use_with tcpd libwrap ) \
-		$( use_with vpopmail ) \
-		$( use_with zlib ) \
-		$( use_enable static-libs static ) \
-		${conf}
-
-	if use sieve || use managesieve ; then
-		# The sieve plugin needs this file to be build to determine the plugin
-		# directory and the list of libraries to link to.
-		emake dovecot-config
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		econf \
-			$( use_enable static-libs static ) \
-			--localstatedir="${EPREFIX}/var" \
-			--enable-shared \
-			--with-dovecot="../${MY_P}" \
-			$( use_with managesieve )
-	fi
-}
-
-src_compile() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-	fi
-}
-
-src_test() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		default
-	fi
-}
-
-src_install () {
-	default
-
-	# insecure:
-	# use suid && fperms u+s /usr/libexec/dovecot/deliver
-	# better:
-	if use suid;then
-		einfo "Changing perms to allow deliver to be suided"
-		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-	fi
-
-	newinitd "${FILESDIR}"/dovecot.init-r4 dovecot
-
-	rm -rf "${ED}"/usr/share/doc/dovecot
-
-	dodoc AUTHORS NEWS README TODO
-	dodoc doc/*.{txt,cnf,xml,sh}
-	docinto example-config
-	dodoc doc/example-config/*.{conf,ext}
-	docinto example-config/conf.d
-	dodoc doc/example-config/conf.d/*.{conf,ext}
-	docinto wiki
-	dodoc doc/wiki/*
-	doman doc/man/*.{1,7}
-
-	# Create the dovecot.conf file from the dovecot-example.conf file that
-	# the dovecot folks nicely left for us....
-	local conf="${ED}/etc/dovecot/dovecot.conf"
-	local confd="${ED}/etc/dovecot/conf.d"
-
-	insinto /etc/dovecot
-	doins doc/example-config/*.{conf,ext}
-	insinto /etc/dovecot/conf.d
-	doins doc/example-config/conf.d/*.{conf,ext}
-	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
-	rm -f "${confd}/../README"
-
-	# .maildir is the Gentoo default
-	local mail_location="maildir:~/.maildir"
-	if ! use maildir; then
-		if use mbox; then
-			mail_location="mbox:/var/spool/mail/%u:INDEX=/var/dovecot/%u"
-			keepdir /var/dovecot
-			sed -i -e 's|#mail_privileged_group =|mail_privileged_group = mail|' \
-			"${confd}/10-mail.conf" || die "sed failed"
-		elif use mdbox ; then
-			mail_location="mdbox:~/.mdbox"
-		elif use sdbox ; then
-			mail_location="sdbox:~/.sdbox"
-		fi
-	fi
-	sed -i -e \
-		"s|#mail_location =|mail_location = ${mail_location}|" \
-		"${confd}/10-mail.conf" \
-		|| die "failed to update mail location settings in 10-mail.conf"
-
-	# We're using pam files (imap and pop3) provided by mailbase
-	if use pam; then
-		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
-			"${confd}/auth-system.conf.ext" \
-			|| die "failed to update PAM settings in auth-system.conf.ext"
-		# mailbase does not provide a sieve pam file
-		use managesieve && dosym imap /etc/pam.d/sieve
-		sed -i -e \
-			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update PAM settings in 10-auth.conf"
-	fi
-
-	# Disable ipv6 if necessary
-	if ! use ipv6; then
-		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
-			|| die "failed to update listen settings in dovecot.conf"
-	fi
-
-	# Update ssl cert locations
-	if use ssl; then
-		sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
-		|| die "ssl conf failed"
-		sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
-			-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
-			"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
-	fi
-
-	# Install SQL configuration
-	if use mysql || use postgres; then
-		sed -i -e \
-			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
-			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
-			10-auth.conf"
-	fi
-
-	# Install LDAP configuration
-	if use ldap; then
-		sed -i -e \
-			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update ldap settings in 10-auth.conf"
-	fi
-
-	if use vpopmail; then
-		sed -i -e \
-			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update vpopmail settings in 10-auth.conf"
-	fi
-
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake DESTDIR="${ED}" install
-		sed -i -e \
-			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
-			|| die "failed to update sieve settings in 15-lda.conf"
-		rm -rf "${ED}"/usr/share/doc/dovecot
-		dodoc doc/*.txt
-		docinto example-config/conf.d
-		dodoc doc/example-config/conf.d/*.conf
-		insinto /etc/dovecot/conf.d
-		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
-		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
-		docinto sieve/rfc
-		dodoc doc/rfc/*.txt
-		docinto sieve/devel
-		dodoc doc/devel/DESIGN
-		doman doc/man/*.{1,7}
-	fi
-
-	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
-}
-
-pkg_postinst() {
-	if use ssl; then
-	# Let's not make a new certificate if we already have one
-		if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
-		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
-			einfo "Creating SSL	certificate"
-			SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
-			install_cert /etc/ssl/dovecot/server
-		fi
-	fi
-
-	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
-}

diff --git a/net-mail/dovecot/dovecot-2.2.18-r1.ebuild b/net-mail/dovecot/dovecot-2.2.18-r1.ebuild
deleted file mode 100644
index 5b195cb..0000000
--- a/net-mail/dovecot/dovecot-2.2.18-r1.ebuild
+++ /dev/null
@@ -1,306 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils multilib ssl-cert systemd user versionator
-
-MY_P="${P/_/.}"
-major_minor="$(get_version_component_range 1-2)"
-sieve_version="0.4.8"
-if [[ ${PV} == *_rc* ]] ; then
-	rc_dir="rc/"
-else
-	rc_dir=""
-fi
-SRC_URI="http://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
-	sieve? (
-	http://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	)
-	managesieve? (
-	http://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	) "
-DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
-HOMEPAGE="http://www.dovecot.org/"
-
-SLOT="0"
-LICENSE="LGPL-2.1 MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
-
-IUSE_DOVECOT_AUTH="kerberos ldap mysql pam postgres sqlite vpopmail"
-IUSE_DOVECOT_STORAGE="cydir imapc +maildir mbox mdbox pop3c sdbox"
-IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
-IUSE_DOVECOT_OTHER="caps doc ipv6 libressl lucene managesieve selinux sieve solr +ssl static-libs suid tcpd"
-
-IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
-
-DEPEND="bzip2? ( app-arch/bzip2 )
-	caps? ( sys-libs/libcap )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap )
-	lucene? ( >=dev-cpp/clucene-2.3 )
-	lzma? ( app-arch/xz-utils )
-	lz4? ( app-arch/lz4 )
-	mysql? ( virtual/mysql )
-	pam? ( virtual/pam )
-	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
-	selinux? ( sec-policy/selinux-dovecot )
-	solr? ( net-misc/curl dev-libs/expat )
-	sqlite? ( dev-db/sqlite:* )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0 )
-		libressl? ( dev-libs/libressl )
-	)
-	tcpd? ( sys-apps/tcp-wrappers )
-	vpopmail? ( net-mail/vpopmail )
-	zlib? ( sys-libs/zlib )
-	virtual/libiconv
-	dev-libs/icu:="
-
-RDEPEND="${DEPEND}
-	net-mail/mailbase"
-
-S=${WORKDIR}/${MY_P}
-
-pkg_setup() {
-	if use managesieve && ! use sieve; then
-		ewarn "managesieve USE flag selected but sieve USE flag unselected"
-		ewarn "sieve USE flag will be turned on"
-	fi
-	# default internal user
-	enewgroup dovecot 97
-	enewuser dovecot 97 -1 /dev/null dovecot
-	# default login user
-	enewuser dovenull -1 -1 /dev/null
-	# add "mail" group for suid'ing. Better security isolation.
-	if use suid; then
-		enewgroup mail
-	fi
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/${PN}-10-ssl.patch"
-
-	epatch_user
-}
-
-src_configure() {
-	local conf=""
-
-	if use postgres || use mysql || use sqlite; then
-		conf="${conf} --with-sql"
-	fi
-
-	local storages=""
-	for storage in ${IUSE_DOVECOT_STORAGE//+/}; do
-		use ${storage} && storages="${storage} ${storages}"
-	done
-	[ "${storages}" ] || storages="maildir"
-
-	# turn valgrind tests off. Bug #340791
-	VALGRIND=no econf \
-		--localstatedir="${EPREFIX}/var" \
-		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
-		--without-stemmer \
-		--with-storages="${storages}" \
-		--disable-rpath \
-		--with-icu \
-		$( systemd_with_unitdir ) \
-		$( use_with bzip2 bzlib ) \
-		$( use_with caps libcap ) \
-		$( use_with kerberos gssapi ) \
-		$( use_with ldap ) \
-		$( use_with lucene ) \
-		$( use_with lz4 ) \
-		$( use_with lzma ) \
-		$( use_with mysql ) \
-		$( use_with pam ) \
-		$( use_with postgres pgsql ) \
-		$( use_with sqlite ) \
-		$( use_with solr ) \
-		$( use_with ssl ) \
-		$( use_with tcpd libwrap ) \
-		$( use_with vpopmail ) \
-		$( use_with zlib ) \
-		$( use_enable static-libs static ) \
-		${conf}
-
-	if use sieve || use managesieve ; then
-		# The sieve plugin needs this file to be build to determine the plugin
-		# directory and the list of libraries to link to.
-		emake dovecot-config
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		econf \
-			$( use_enable static-libs static ) \
-			--localstatedir="${EPREFIX}/var" \
-			--enable-shared \
-			--with-dovecot="../${MY_P}" \
-			$( use_with managesieve )
-	fi
-}
-
-src_compile() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-	fi
-}
-
-src_test() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		default
-	fi
-}
-
-src_install () {
-	default
-
-	# insecure:
-	# use suid && fperms u+s /usr/libexec/dovecot/deliver
-	# better:
-	if use suid;then
-		einfo "Changing perms to allow deliver to be suided"
-		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-	fi
-
-	newinitd "${FILESDIR}"/dovecot.init-r4 dovecot
-
-	rm -rf "${ED}"/usr/share/doc/dovecot
-
-	dodoc AUTHORS NEWS README TODO
-	dodoc doc/*.{txt,cnf,xml,sh}
-	docinto example-config
-	dodoc doc/example-config/*.{conf,ext}
-	docinto example-config/conf.d
-	dodoc doc/example-config/conf.d/*.{conf,ext}
-	docinto wiki
-	dodoc doc/wiki/*
-	doman doc/man/*.{1,7}
-
-	# Create the dovecot.conf file from the dovecot-example.conf file that
-	# the dovecot folks nicely left for us....
-	local conf="${ED}/etc/dovecot/dovecot.conf"
-	local confd="${ED}/etc/dovecot/conf.d"
-
-	insinto /etc/dovecot
-	doins doc/example-config/*.{conf,ext}
-	insinto /etc/dovecot/conf.d
-	doins doc/example-config/conf.d/*.{conf,ext}
-	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
-	rm -f "${confd}/../README"
-
-	# .maildir is the Gentoo default
-	local mail_location="maildir:~/.maildir"
-	if ! use maildir; then
-		if use mbox; then
-			mail_location="mbox:/var/spool/mail/%u:INDEX=/var/dovecot/%u"
-			keepdir /var/dovecot
-			sed -i -e 's|#mail_privileged_group =|mail_privileged_group = mail|' \
-			"${confd}/10-mail.conf" || die "sed failed"
-		elif use mdbox ; then
-			mail_location="mdbox:~/.mdbox"
-		elif use sdbox ; then
-			mail_location="sdbox:~/.sdbox"
-		fi
-	fi
-	sed -i -e \
-		"s|#mail_location =|mail_location = ${mail_location}|" \
-		"${confd}/10-mail.conf" \
-		|| die "failed to update mail location settings in 10-mail.conf"
-
-	# We're using pam files (imap and pop3) provided by mailbase
-	if use pam; then
-		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
-			"${confd}/auth-system.conf.ext" \
-			|| die "failed to update PAM settings in auth-system.conf.ext"
-		# mailbase does not provide a sieve pam file
-		use managesieve && dosym imap /etc/pam.d/sieve
-		sed -i -e \
-			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update PAM settings in 10-auth.conf"
-	fi
-
-	# Disable ipv6 if necessary
-	if ! use ipv6; then
-		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
-			|| die "failed to update listen settings in dovecot.conf"
-	fi
-
-	# Update ssl cert locations
-	if use ssl; then
-		sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
-		|| die "ssl conf failed"
-		sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
-			-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
-			"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
-	fi
-
-	# Install SQL configuration
-	if use mysql || use postgres; then
-		sed -i -e \
-			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
-			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
-			10-auth.conf"
-	fi
-
-	# Install LDAP configuration
-	if use ldap; then
-		sed -i -e \
-			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update ldap settings in 10-auth.conf"
-	fi
-
-	if use vpopmail; then
-		sed -i -e \
-			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update vpopmail settings in 10-auth.conf"
-	fi
-
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake DESTDIR="${ED}" install
-		sed -i -e \
-			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
-			|| die "failed to update sieve settings in 15-lda.conf"
-		rm -rf "${ED}"/usr/share/doc/dovecot
-		docinto example-config/conf.d
-		dodoc doc/example-config/conf.d/*.conf
-		insinto /etc/dovecot/conf.d
-		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
-		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
-		docinto sieve/rfc
-		dodoc doc/rfc/*.txt
-		docinto sieve/devel
-		dodoc doc/devel/DESIGN
-		docinto plugins
-		dodoc doc/plugins/*.txt
-		docinto extensions
-		dodoc doc/extensions/*.txt
-		docinto locations
-		dodoc doc/locations/*.txt
-		doman doc/man/*.{1,7}
-	fi
-
-	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
-}
-
-pkg_postinst() {
-	if use ssl; then
-	# Let's not make a new certificate if we already have one
-		if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
-		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
-			einfo "Creating SSL	certificate"
-			SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
-			install_cert /etc/ssl/dovecot/server
-		fi
-	fi
-
-	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
-}

diff --git a/net-mail/dovecot/dovecot-2.2.18.ebuild b/net-mail/dovecot/dovecot-2.2.18.ebuild
deleted file mode 100644
index 90bfebf..0000000
--- a/net-mail/dovecot/dovecot-2.2.18.ebuild
+++ /dev/null
@@ -1,303 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils multilib ssl-cert systemd user versionator
-
-MY_P="${P/_/.}"
-major_minor="$(get_version_component_range 1-2)"
-sieve_version="0.4.8"
-if [[ ${PV} == *_rc* ]] ; then
-	rc_dir="rc/"
-else
-	rc_dir=""
-fi
-SRC_URI="http://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
-	sieve? (
-	http://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	)
-	managesieve? (
-	http://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	) "
-DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
-HOMEPAGE="http://www.dovecot.org/"
-
-SLOT="0"
-LICENSE="LGPL-2.1 MIT"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86"
-
-IUSE_DOVECOT_AUTH="kerberos ldap mysql pam postgres sqlite vpopmail"
-IUSE_DOVECOT_STORAGE="cydir imapc +maildir mbox mdbox pop3c sdbox"
-IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
-IUSE_DOVECOT_OTHER="caps doc ipv6 lucene managesieve selinux sieve solr +ssl static-libs suid tcpd"
-
-IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
-
-DEPEND="bzip2? ( app-arch/bzip2 )
-	caps? ( sys-libs/libcap )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap )
-	lucene? ( >=dev-cpp/clucene-2.3 )
-	lzma? ( app-arch/xz-utils )
-	lz4? ( app-arch/lz4 )
-	mysql? ( virtual/mysql )
-	pam? ( virtual/pam )
-	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
-	selinux? ( sec-policy/selinux-dovecot )
-	solr? ( net-misc/curl dev-libs/expat )
-	sqlite? ( dev-db/sqlite:* )
-	ssl? ( dev-libs/openssl:* )
-	tcpd? ( sys-apps/tcp-wrappers )
-	vpopmail? ( net-mail/vpopmail )
-	zlib? ( sys-libs/zlib )
-	virtual/libiconv
-	dev-libs/icu:="
-
-RDEPEND="${DEPEND}
-	net-mail/mailbase"
-
-S=${WORKDIR}/${MY_P}
-
-pkg_setup() {
-	if use managesieve && ! use sieve; then
-		ewarn "managesieve USE flag selected but sieve USE flag unselected"
-		ewarn "sieve USE flag will be turned on"
-	fi
-	# default internal user
-	enewgroup dovecot 97
-	enewuser dovecot 97 -1 /dev/null dovecot
-	# default login user
-	enewuser dovenull -1 -1 /dev/null
-	# add "mail" group for suid'ing. Better security isolation.
-	if use suid; then
-		enewgroup mail
-	fi
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/${PN}-10-ssl.patch"
-
-	epatch_user
-}
-
-src_configure() {
-	local conf=""
-
-	if use postgres || use mysql || use sqlite; then
-		conf="${conf} --with-sql"
-	fi
-
-	local storages=""
-	for storage in ${IUSE_DOVECOT_STORAGE//+/}; do
-		use ${storage} && storages="${storage} ${storages}"
-	done
-	[ "${storages}" ] || storages="maildir"
-
-	# turn valgrind tests off. Bug #340791
-	VALGRIND=no econf \
-		--localstatedir="${EPREFIX}/var" \
-		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
-		--without-stemmer \
-		--with-storages="${storages}" \
-		--disable-rpath \
-		--with-icu \
-		$( systemd_with_unitdir ) \
-		$( use_with bzip2 bzlib ) \
-		$( use_with caps libcap ) \
-		$( use_with kerberos gssapi ) \
-		$( use_with ldap ) \
-		$( use_with lucene ) \
-		$( use_with lz4 ) \
-		$( use_with lzma ) \
-		$( use_with mysql ) \
-		$( use_with pam ) \
-		$( use_with postgres pgsql ) \
-		$( use_with sqlite ) \
-		$( use_with solr ) \
-		$( use_with ssl ) \
-		$( use_with tcpd libwrap ) \
-		$( use_with vpopmail ) \
-		$( use_with zlib ) \
-		$( use_enable static-libs static ) \
-		${conf}
-
-	if use sieve || use managesieve ; then
-		# The sieve plugin needs this file to be build to determine the plugin
-		# directory and the list of libraries to link to.
-		emake dovecot-config
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		econf \
-			$( use_enable static-libs static ) \
-			--localstatedir="${EPREFIX}/var" \
-			--enable-shared \
-			--with-dovecot="../${MY_P}" \
-			$( use_with managesieve )
-	fi
-}
-
-src_compile() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-	fi
-}
-
-src_test() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		default
-	fi
-}
-
-src_install () {
-	default
-
-	# insecure:
-	# use suid && fperms u+s /usr/libexec/dovecot/deliver
-	# better:
-	if use suid;then
-		einfo "Changing perms to allow deliver to be suided"
-		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-	fi
-
-	newinitd "${FILESDIR}"/dovecot.init-r4 dovecot
-
-	rm -rf "${ED}"/usr/share/doc/dovecot
-
-	dodoc AUTHORS NEWS README TODO
-	dodoc doc/*.{txt,cnf,xml,sh}
-	docinto example-config
-	dodoc doc/example-config/*.{conf,ext}
-	docinto example-config/conf.d
-	dodoc doc/example-config/conf.d/*.{conf,ext}
-	docinto wiki
-	dodoc doc/wiki/*
-	doman doc/man/*.{1,7}
-
-	# Create the dovecot.conf file from the dovecot-example.conf file that
-	# the dovecot folks nicely left for us....
-	local conf="${ED}/etc/dovecot/dovecot.conf"
-	local confd="${ED}/etc/dovecot/conf.d"
-
-	insinto /etc/dovecot
-	doins doc/example-config/*.{conf,ext}
-	insinto /etc/dovecot/conf.d
-	doins doc/example-config/conf.d/*.{conf,ext}
-	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
-	rm -f "${confd}/../README"
-
-	# .maildir is the Gentoo default
-	local mail_location="maildir:~/.maildir"
-	if ! use maildir; then
-		if use mbox; then
-			mail_location="mbox:/var/spool/mail/%u:INDEX=/var/dovecot/%u"
-			keepdir /var/dovecot
-			sed -i -e 's|#mail_privileged_group =|mail_privileged_group = mail|' \
-			"${confd}/10-mail.conf" || die "sed failed"
-		elif use mdbox ; then
-			mail_location="mdbox:~/.mdbox"
-		elif use sdbox ; then
-			mail_location="sdbox:~/.sdbox"
-		fi
-	fi
-	sed -i -e \
-		"s|#mail_location =|mail_location = ${mail_location}|" \
-		"${confd}/10-mail.conf" \
-		|| die "failed to update mail location settings in 10-mail.conf"
-
-	# We're using pam files (imap and pop3) provided by mailbase
-	if use pam; then
-		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
-			"${confd}/auth-system.conf.ext" \
-			|| die "failed to update PAM settings in auth-system.conf.ext"
-		# mailbase does not provide a sieve pam file
-		use managesieve && dosym imap /etc/pam.d/sieve
-		sed -i -e \
-			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update PAM settings in 10-auth.conf"
-	fi
-
-	# Disable ipv6 if necessary
-	if ! use ipv6; then
-		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
-			|| die "failed to update listen settings in dovecot.conf"
-	fi
-
-	# Update ssl cert locations
-	if use ssl; then
-		sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
-		|| die "ssl conf failed"
-		sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
-			-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
-			"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
-	fi
-
-	# Install SQL configuration
-	if use mysql || use postgres; then
-		sed -i -e \
-			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
-			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
-			10-auth.conf"
-	fi
-
-	# Install LDAP configuration
-	if use ldap; then
-		sed -i -e \
-			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update ldap settings in 10-auth.conf"
-	fi
-
-	if use vpopmail; then
-		sed -i -e \
-			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update vpopmail settings in 10-auth.conf"
-	fi
-
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake DESTDIR="${ED}" install
-		sed -i -e \
-			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
-			|| die "failed to update sieve settings in 15-lda.conf"
-		rm -rf "${ED}"/usr/share/doc/dovecot
-		docinto example-config/conf.d
-		dodoc doc/example-config/conf.d/*.conf
-		insinto /etc/dovecot/conf.d
-		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
-		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
-		docinto sieve/rfc
-		dodoc doc/rfc/*.txt
-		docinto sieve/devel
-		dodoc doc/devel/DESIGN
-		docinto plugins
-		dodoc doc/plugins/*.txt
-		docinto extensions
-		dodoc doc/extensions/*.txt
-		docinto locations
-		dodoc doc/locations/*.txt
-		doman doc/man/*.{1,7}
-	fi
-
-	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
-}
-
-pkg_postinst() {
-	if use ssl; then
-	# Let's not make a new certificate if we already have one
-		if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
-		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
-			einfo "Creating SSL	certificate"
-			SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
-			install_cert /etc/ssl/dovecot/server
-		fi
-	fi
-
-	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
-}

diff --git a/net-mail/dovecot/files/CVE-2015-3420.patch b/net-mail/dovecot/files/CVE-2015-3420.patch
deleted file mode 100644
index 9bf389c..0000000
--- a/net-mail/dovecot/files/CVE-2015-3420.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/src/login-common/ssl-proxy-openssl.c	Sat Apr 25 12:16:07 2015 +0300
-+++ b/src/login-common/ssl-proxy-openssl.c	Tue Apr 28 11:27:04 2015 +0200
-@@ -80,6 +80,7 @@
- 	unsigned int cert_broken:1;
- 	unsigned int client_proxy:1;
- 	unsigned int flushing:1;
-+	unsigned int failed:1;
- };
- 
- struct ssl_parameters {
-@@ -131,6 +132,12 @@
- static int ssl_proxy_ctx_get_pkey_ec_curve_name(const struct master_service_ssl_settings *set);
- #endif
- 
-+static void ssl_proxy_destroy_failed(struct ssl_proxy *proxy)
-+{
-+	proxy->failed = TRUE;
-+	ssl_proxy_destroy(proxy);
-+}
-+
- static unsigned int ssl_server_context_hash(const struct ssl_server_context *ctx)
- {
- 	unsigned int i, g, h = 0;
-@@ -462,7 +469,7 @@
- 
- 	if (errstr != NULL) {
- 		proxy->last_error = i_strdup(errstr);
--		ssl_proxy_destroy(proxy);
-+		ssl_proxy_destroy_failed(proxy);
- 	}
- 	ssl_proxy_unref(proxy);
- }
-@@ -492,7 +499,7 @@
- 
- 	if (proxy->handshake_callback != NULL) {
- 		if (proxy->handshake_callback(proxy->handshake_context) < 0)
--			ssl_proxy_destroy(proxy);
-+			ssl_proxy_destroy_failed(proxy);
- 	}
- }
- 
-@@ -822,7 +829,8 @@
- 	if (proxy->destroyed || proxy->flushing)
- 		return;
- 	proxy->flushing = TRUE;
--	ssl_proxy_flush(proxy);
-+	if (!proxy->failed && proxy->handshaked)
-+		ssl_proxy_flush(proxy);
- 	proxy->destroyed = TRUE;
- 
- 	ssl_proxy_count--;
-


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2018-02-01  1:18 Thomas Deutschmann
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Deutschmann @ 2018-02-01  1:18 UTC (permalink / raw
  To: gentoo-commits

commit:     e3acd4d22b48eca30b27ce4694e4ae1de51fba40
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  1 01:18:17 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Feb  1 01:18:17 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3acd4d2

net-mail/dovecot: bump, fixup for problem caused by patch for CVE-2017-15132

Dovecot login process would crash after few minutes of idle after
consecutive aborted logins when patch for CVE-2017-15132 was applied.

Bug: https://bugs.gentoo.org/644214
Package-Manager: Portage-2.3.21, Repoman-2.3.6

 net-mail/dovecot/dovecot-2.2.33.2-r2.ebuild        | 292 +++++++++++++++++++++
 net-mail/dovecot/dovecot-2.3.0-r3.ebuild           | 289 ++++++++++++++++++++
 .../dovecot-2.2.33.2-CVE-2017-15132-fixup.patch    |  37 +++
 3 files changed, 618 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.2.33.2-r2.ebuild b/net-mail/dovecot/dovecot-2.2.33.2-r2.ebuild
new file mode 100644
index 00000000000..3ff57c442d7
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.2.33.2-r2.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit ssl-cert systemd user versionator
+
+MY_P="${P/_/.}"
+major_minor="$(get_version_component_range 1-2)"
+sieve_version="0.4.21"
+if [[ ${PV} == *_rc* ]] ; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
+	sieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	)
+	managesieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	) "
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="http://www.dovecot.org/"
+
+SLOT="0"
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+IUSE_DOVECOT_AUTH="kerberos ldap mysql pam postgres sqlite vpopmail"
+IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
+IUSE_DOVECOT_OTHER="caps doc ipv6 libressl lucene managesieve selinux sieve solr +ssl static-libs suid tcpd textcat"
+
+IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
+
+DEPEND="bzip2? ( app-arch/bzip2 )
+	caps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap )
+	lucene? ( >=dev-cpp/clucene-2.3 )
+	lzma? ( app-arch/xz-utils )
+	lz4? ( app-arch/lz4 )
+	mysql? ( virtual/mysql )
+	pam? ( virtual/pam )
+	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
+	selinux? ( sec-policy/selinux-dovecot )
+	solr? ( net-misc/curl dev-libs/expat )
+	sqlite? ( dev-db/sqlite:* )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0 )
+		libressl? ( dev-libs/libressl )
+	)
+	tcpd? ( sys-apps/tcp-wrappers )
+	textcat? ( app-text/libexttextcat )
+	vpopmail? ( net-mail/vpopmail )
+	zlib? ( sys-libs/zlib )
+	virtual/libiconv
+	dev-libs/icu:="
+
+RDEPEND="${DEPEND}
+	net-mail/mailbase"
+
+# Dovecot does not support building without ssl.  Force it for now
+REQUIRED_USE="ssl"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+	if use managesieve && ! use sieve; then
+		ewarn "managesieve USE flag selected but sieve USE flag unselected"
+		ewarn "sieve USE flag will be turned on"
+	fi
+	# default internal user
+	enewgroup dovecot 97
+	enewuser dovecot 97 -1 /dev/null dovecot
+	# default login user
+	enewuser dovenull -1 -1 /dev/null
+	# add "mail" group for suid'ing. Better security isolation.
+	if use suid; then
+		enewgroup mail
+	fi
+}
+
+src_prepare() {
+	eapply -p0 "${FILESDIR}/${PN}-10-ssl.patch"
+	eapply "${FILESDIR}/${PN}-2.2.33.2-CVE-2017-15132.patch"
+	eapply "${FILESDIR}/${PN}-2.2.33.2-CVE-2017-15132-fixup.patch"
+	eapply_user
+}
+
+src_configure() {
+	local conf=""
+
+	if use postgres || use mysql || use sqlite; then
+		conf="${conf} --with-sql"
+	fi
+
+	# turn valgrind tests off. Bug #340791
+	VALGRIND=no econf \
+		--localstatedir="${EPREFIX}/var" \
+		--runstatedir="${EPREFIX}/run" \
+		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
+		--without-stemmer \
+		--disable-rpath \
+		--with-icu \
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+		$( use_with bzip2 bzlib ) \
+		$( use_with caps libcap ) \
+		$( use_with kerberos gssapi ) \
+		$( use_with ldap ) \
+		$( use_with lucene ) \
+		$( use_with lz4 ) \
+		$( use_with lzma ) \
+		$( use_with mysql ) \
+		$( use_with pam ) \
+		$( use_with postgres pgsql ) \
+		$( use_with sqlite ) \
+		$( use_with solr ) \
+		$( use_with ssl ) \
+		$( use_with tcpd libwrap ) \
+		$( use_with textcat ) \
+		$( use_with vpopmail ) \
+		$( use_with zlib ) \
+		$( use_enable static-libs static ) \
+		${conf}
+
+	if use sieve || use managesieve ; then
+		# The sieve plugin needs this file to be build to determine the plugin
+		# directory and the list of libraries to link to.
+		emake dovecot-config
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		econf \
+			$( use_enable static-libs static ) \
+			--localstatedir="${EPREFIX}/var" \
+			--enable-shared \
+			--with-dovecot="../${MY_P}" \
+			$( use_with managesieve )
+	fi
+}
+
+src_compile() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+	fi
+}
+
+src_test() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		default
+	fi
+}
+
+src_install () {
+	default
+
+	# insecure:
+	# use suid && fperms u+s /usr/libexec/dovecot/deliver
+	# better:
+	if use suid;then
+		einfo "Changing perms to allow deliver to be suided"
+		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
+		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
+	fi
+
+	newinitd "${FILESDIR}"/dovecot.init-r4 dovecot
+
+	rm -rf "${ED}"/usr/share/doc/dovecot
+
+	dodoc AUTHORS NEWS README TODO
+	dodoc doc/*.{txt,cnf,xml,sh}
+	docinto example-config
+	dodoc doc/example-config/*.{conf,ext}
+	docinto example-config/conf.d
+	dodoc doc/example-config/conf.d/*.{conf,ext}
+	docinto wiki
+	dodoc doc/wiki/*
+	doman doc/man/*.{1,7}
+
+	# Create the dovecot.conf file from the dovecot-example.conf file that
+	# the dovecot folks nicely left for us....
+	local conf="${ED}/etc/dovecot/dovecot.conf"
+	local confd="${ED}/etc/dovecot/conf.d"
+
+	insinto /etc/dovecot
+	doins doc/example-config/*.{conf,ext}
+	insinto /etc/dovecot/conf.d
+	doins doc/example-config/conf.d/*.{conf,ext}
+	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
+	rm -f "${confd}/../README"
+
+	# .maildir is the Gentoo default
+	local mail_location="maildir:~/.maildir"
+	sed -i -e \
+		"s|#mail_location =|mail_location = ${mail_location}|" \
+		"${confd}/10-mail.conf" \
+		|| die "failed to update mail location settings in 10-mail.conf"
+
+	# We're using pam files (imap and pop3) provided by mailbase
+	if use pam; then
+		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
+			"${confd}/auth-system.conf.ext" \
+			|| die "failed to update PAM settings in auth-system.conf.ext"
+		# mailbase does not provide a sieve pam file
+		use managesieve && dosym imap /etc/pam.d/sieve
+		sed -i -e \
+			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update PAM settings in 10-auth.conf"
+	fi
+
+	# Disable ipv6 if necessary
+	if ! use ipv6; then
+		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
+			|| die "failed to update listen settings in dovecot.conf"
+	fi
+
+	# Update ssl cert locations
+	if use ssl; then
+		sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
+		|| die "ssl conf failed"
+		sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
+			-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
+			"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
+	fi
+
+	# Install SQL configuration
+	if use mysql || use postgres; then
+		sed -i -e \
+			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
+			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
+			10-auth.conf"
+	fi
+
+	# Install LDAP configuration
+	if use ldap; then
+		sed -i -e \
+			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update ldap settings in 10-auth.conf"
+	fi
+
+	if use vpopmail; then
+		sed -i -e \
+			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update vpopmail settings in 10-auth.conf"
+	fi
+
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake DESTDIR="${ED}" install
+		sed -i -e \
+			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
+			|| die "failed to update sieve settings in 15-lda.conf"
+		rm -rf "${ED}"/usr/share/doc/dovecot
+		docinto example-config/conf.d
+		dodoc doc/example-config/conf.d/*.conf
+		insinto /etc/dovecot/conf.d
+		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
+		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
+		docinto sieve/rfc
+		dodoc doc/rfc/*.txt
+		docinto sieve/devel
+		dodoc doc/devel/DESIGN
+		docinto plugins
+		dodoc doc/plugins/*.txt
+		docinto extensions
+		dodoc doc/extensions/*.txt
+		docinto locations
+		dodoc doc/locations/*.txt
+		doman doc/man/*.{1,7}
+	fi
+
+	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
+}
+
+pkg_postinst() {
+	if use ssl; then
+	# Let's not make a new certificate if we already have one
+		if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
+		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
+			einfo "Creating SSL	certificate"
+			SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
+			install_cert /etc/ssl/dovecot/server
+		fi
+	fi
+
+	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
+}

diff --git a/net-mail/dovecot/dovecot-2.3.0-r3.ebuild b/net-mail/dovecot/dovecot-2.3.0-r3.ebuild
new file mode 100644
index 00000000000..df9749698c3
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.0-r3.ebuild
@@ -0,0 +1,289 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# do not add a ssl USE flag.  ssl is mandatory
+SSL_DEPS_SKIP=1
+inherit ssl-cert systemd user versionator
+
+MY_P="${P/_/.}"
+MY_S="${PN}-ce-${PV}"
+major_minor="$(get_version_component_range 1-2)"
+sieve_version="0.5.0.1"
+if [[ ${PV} == *_rc* ]] ; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
+	sieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	)
+	managesieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	) "
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="http://www.dovecot.org/"
+
+SLOT="0"
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite vpopmail"
+IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
+IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 libressl lucene managesieve selinux sieve solr static-libs suid tcpd textcat"
+
+IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
+
+DEPEND="argon2? ( dev-libs/libsodium )
+	bzip2? ( app-arch/bzip2 )
+	caps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap )
+	lua? ( dev-lang/lua:* )
+	lucene? ( >=dev-cpp/clucene-2.3 )
+	lzma? ( app-arch/xz-utils )
+	lz4? ( app-arch/lz4 )
+	mysql? ( virtual/mysql )
+	pam? ( virtual/pam )
+	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
+	selinux? ( sec-policy/selinux-dovecot )
+	solr? ( net-misc/curl dev-libs/expat )
+	sqlite? ( dev-db/sqlite:* )
+	!libressl? ( dev-libs/openssl:0 )
+	libressl? ( dev-libs/libressl )
+	tcpd? ( sys-apps/tcp-wrappers )
+	textcat? ( app-text/libexttextcat )
+	vpopmail? ( net-mail/vpopmail )
+	zlib? ( sys-libs/zlib )
+	virtual/libiconv
+	dev-libs/icu:="
+
+RDEPEND="${DEPEND}
+	net-mail/mailbase"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.2.33.2-CVE-2017-15132.patch
+	"${FILESDIR}"/${PN}-2.2.33.2-CVE-2017-15132-fixup.patch
+)
+
+S=${WORKDIR}/${MY_S}
+
+pkg_setup() {
+	if use managesieve && ! use sieve; then
+		ewarn "managesieve USE flag selected but sieve USE flag unselected"
+		ewarn "sieve USE flag will be turned on"
+	fi
+	# default internal user
+	enewgroup dovecot 97
+	enewuser dovecot 97 -1 /dev/null dovecot
+	# default login user
+	enewuser dovenull -1 -1 /dev/null
+	# add "mail" group for suid'ing. Better security isolation.
+	if use suid; then
+		enewgroup mail
+	fi
+}
+
+src_configure() {
+	local conf=""
+
+	if use postgres || use mysql || use sqlite; then
+		conf="${conf} --with-sql"
+	fi
+
+	# turn valgrind tests off. Bug #340791
+	VALGRIND=no econf \
+		--with-rundir="${EPREFIX}/run/dovecot" \
+		--with-statedir="${EPREFIX}/var/lib/dovecot" \
+		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
+		--without-stemmer \
+		--disable-rpath \
+		--without-libbsd \
+		--with-icu \
+		--with-ssl \
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+		$( use_with argon2 sodium ) \
+		$( use_with bzip2 bzlib ) \
+		$( use_with caps libcap ) \
+		$( use_with kerberos gssapi ) \
+		$( use_with lua ) \
+		$( use_with ldap ) \
+		$( use_with lucene ) \
+		$( use_with lz4 ) \
+		$( use_with lzma ) \
+		$( use_with mysql ) \
+		$( use_with pam ) \
+		$( use_with postgres pgsql ) \
+		$( use_with sqlite ) \
+		$( use_with solr ) \
+		$( use_with tcpd libwrap ) \
+		$( use_with textcat ) \
+		$( use_with vpopmail ) \
+		$( use_with zlib ) \
+		$( use_enable static-libs static ) \
+		${conf}
+
+	if use sieve || use managesieve ; then
+		# The sieve plugin needs this file to be build to determine the plugin
+		# directory and the list of libraries to link to.
+		emake dovecot-config
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		econf \
+			$( use_enable static-libs static ) \
+			--localstatedir="${EPREFIX}/var" \
+			--enable-shared \
+			--with-dovecot="../${MY_S}" \
+			$( use_with managesieve )
+	fi
+}
+
+src_compile() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+	fi
+}
+
+src_test() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		default
+	fi
+}
+
+src_install () {
+	default
+
+	# insecure:
+	# use suid && fperms u+s /usr/libexec/dovecot/deliver
+	# better:
+	if use suid;then
+		einfo "Changing perms to allow deliver to be suided"
+		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
+		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
+	fi
+
+	newinitd "${FILESDIR}"/dovecot.init-r4 dovecot
+
+	rm -rf "${ED}"/usr/share/doc/dovecot
+
+	dodoc AUTHORS NEWS README TODO
+	dodoc doc/*.{txt,cnf,xml,sh}
+	docinto example-config
+	dodoc doc/example-config/*.{conf,ext}
+	docinto example-config/conf.d
+	dodoc doc/example-config/conf.d/*.{conf,ext}
+	docinto wiki
+	dodoc doc/wiki/*
+	doman doc/man/*.{1,7}
+
+	# Create the dovecot.conf file from the dovecot-example.conf file that
+	# the dovecot folks nicely left for us....
+	local conf="${ED}/etc/dovecot/dovecot.conf"
+	local confd="${ED}/etc/dovecot/conf.d"
+
+	insinto /etc/dovecot
+	doins doc/example-config/*.{conf,ext}
+	insinto /etc/dovecot/conf.d
+	doins doc/example-config/conf.d/*.{conf,ext}
+	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
+	rm -f "${confd}/../README"
+
+	# .maildir is the Gentoo default
+	local mail_location="maildir:~/.maildir"
+	sed -i -e \
+		"s|#mail_location =|mail_location = ${mail_location}|" \
+		"${confd}/10-mail.conf" \
+		|| die "failed to update mail location settings in 10-mail.conf"
+
+	# We're using pam files (imap and pop3) provided by mailbase
+	if use pam; then
+		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
+			"${confd}/auth-system.conf.ext" \
+			|| die "failed to update PAM settings in auth-system.conf.ext"
+		# mailbase does not provide a sieve pam file
+		use managesieve && dosym imap /etc/pam.d/sieve
+		sed -i -e \
+			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update PAM settings in 10-auth.conf"
+	fi
+
+	# Disable ipv6 if necessary
+	if ! use ipv6; then
+		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
+			|| die "failed to update listen settings in dovecot.conf"
+	fi
+
+	# Update ssl cert locations
+	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
+		|| die "ssl conf failed"
+	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
+		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
+		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
+
+	# Install SQL configuration
+	if use mysql || use postgres; then
+		sed -i -e \
+			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
+			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
+			10-auth.conf"
+	fi
+
+	# Install LDAP configuration
+	if use ldap; then
+		sed -i -e \
+			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update ldap settings in 10-auth.conf"
+	fi
+
+	if use vpopmail; then
+		sed -i -e \
+			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update vpopmail settings in 10-auth.conf"
+	fi
+
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake DESTDIR="${ED}" install
+		sed -i -e \
+			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
+			|| die "failed to update sieve settings in 15-lda.conf"
+		rm -rf "${ED}"/usr/share/doc/dovecot
+		docinto example-config/conf.d
+		dodoc doc/example-config/conf.d/*.conf
+		insinto /etc/dovecot/conf.d
+		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
+		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
+		docinto sieve/rfc
+		dodoc doc/rfc/*.txt
+		docinto sieve/devel
+		dodoc doc/devel/DESIGN
+		docinto plugins
+		dodoc doc/plugins/*.txt
+		docinto extensions
+		dodoc doc/extensions/*.txt
+		docinto locations
+		dodoc doc/locations/*.txt
+		doman doc/man/*.{1,7}
+	fi
+
+	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
+}
+
+pkg_postinst() {
+	# Let's not make a new certificate if we already have one
+	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
+		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
+		einfo "Creating SSL	certificate"
+		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
+		install_cert /etc/ssl/dovecot/server
+	fi
+
+	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
+}

diff --git a/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132-fixup.patch b/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132-fixup.patch
new file mode 100644
index 00000000000..c30acf1fd6e
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132-fixup.patch
@@ -0,0 +1,37 @@
+Upstream: https://github.com/dovecot/core/commit/a9b135760aea6d1790d447d351c56b78889dac22
+
+Link: http://seclists.org/oss-sec/2018/q1/119
+
+--- a/src/lib-auth/auth-client-request.c
++++ b/src/lib-auth/auth-client-request.c
+@@ -186,6 +186,8 @@ void auth_client_request_abort(struct auth_client_request **_request)
+ 
+ 	auth_client_send_cancel(request->conn->client, request->id);
+ 	call_callback(request, AUTH_REQUEST_STATUS_ABORT, NULL, NULL);
++	/* remove the request */
++	auth_server_connection_remove_request(request->conn, request->id);
+ 	pool_unref(&request->pool);
+ }
+ 
+--- a/src/lib-auth/auth-server-connection.c
++++ b/src/lib-auth/auth-server-connection.c
+@@ -483,3 +483,10 @@ auth_server_connection_add_request(struct auth_server_connection *conn,
+ 	hash_table_insert(conn->requests, POINTER_CAST(id), request);
+ 	return id;
+ }
++
++void auth_server_connection_remove_request(struct auth_server_connection *conn,
++					   unsigned int id)
++{
++	i_assert(conn->handshake_received);
++	hash_table_remove(conn->requests, POINTER_CAST(id));
++}
+--- a/src/lib-auth/auth-server-connection.h
++++ b/src/lib-auth/auth-server-connection.h
+@@ -40,4 +40,6 @@ void auth_server_connection_disconnect(struct auth_server_connection *conn,
+ unsigned int
+ auth_server_connection_add_request(struct auth_server_connection *conn,
+ 				   struct auth_client_request *request);
++void auth_server_connection_remove_request(struct auth_server_connection *conn,
++					   unsigned int id);
+ #endif


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2018-10-05 11:08 Eray Aslan
  0 siblings, 0 replies; 10+ messages in thread
From: Eray Aslan @ 2018-10-05 11:08 UTC (permalink / raw
  To: gentoo-commits

commit:     38b1b5ecb1cc03000e3e9db61cb6537a7b252106
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  5 11:03:52 2018 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Fri Oct  5 11:03:52 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38b1b5ec

net-mail/dovecot: bump to 2.3.3

Closes: https://bugs.gentoo.org/666202
Closes: https://bugs.gentoo.org/667118
Closes: https://bugs.gentoo.org/664988
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

 net-mail/dovecot/Manifest                     |   2 +
 net-mail/dovecot/dovecot-2.3.3.ebuild         | 291 ++++++++++++++++++++++++++
 net-mail/dovecot/files/dovecot-glibc228.patch |  44 ++++
 net-mail/dovecot/files/dovecot.init-r5        |  57 +++++
 4 files changed, 394 insertions(+)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index bf8481d15dc..1a99069f813 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -5,4 +5,6 @@ DIST dovecot-2.2.19.tar.gz 5256627 BLAKE2B 0b7fe57ced1b1f7eb5e29e8d6723d237cc107
 DIST dovecot-2.2.34.tar.gz 6181270 BLAKE2B dfdb1e6812574e79595202e830167400569adf61155aa5ddaae443e798c4a05ccec2acd2975e00e9e7ffc63ee1dcf7e4e2a9288b1e6e1e1427d1e89790a8fa13 SHA512 9f08a7116a08a08495aa0e7b4cb6b11a924ea61006970487946e338bc79bba7fd7619c345cbf278a74de285d548af04fc66eaaee508185b8b9d7335cf5612055
 DIST dovecot-2.2.36.tar.gz 6239707 BLAKE2B 702bb24265b5fefec9c484b3cca890fb1536ff94d1f2d6c99ee8c294ee4e38091eef5a727f0d4bd03700263286361f55747a22fa74def350710f9e49a4b10580 SHA512 327c50971e276f6013ca7f7bb59498ee88d76c9f8419bd18ee531cf10142214350fb81c6d64eaef73ee01765dd0fcf4142ab146ed67d9d7d86d5a58d41cf8db5
 DIST dovecot-2.3-pigeonhole-0.5.2.tar.gz 1814618 BLAKE2B b1187021673429bee1b45a1f657bea995e9881257919ff55bac63106d65963294ee2b3829167c6d50e351c4bc3c7e88a5ccfb757308d2500c5d4146246145074 SHA512 6bc24d9241f94db795a012346d9bc94b5cc7d7ce0175c03213c2b5d179d80dec95e9bdbd50bed628c8f9f7c51639e692ba5e429212a3b4a654c1e4764ac4f11c
+DIST dovecot-2.3-pigeonhole-0.5.3.tar.gz 1827329 BLAKE2B 0d484906022217b1082233e6a3a20c17bafc68b90ce1c5c956c714d111ffb9ab49a3794e199695bb61a1f3ad6bd46e56e63ee3c140cb01eaa7589ef7bd754b19 SHA512 8403b1976a915836ba875b96825446d46e0d8c7ff245ed1f2b014347fdc78a81f9ed6dbd05bd3b4f1f7072edc5e9a302201cdb375de44436adcbb83919f203f5
 DIST dovecot-2.3.2.1.tar.gz 6797491 BLAKE2B 92b88fd0f0cb8ed6c418bf27c2e1fc4efe13f1ccfb4948ce5eed1a4e76a4e96f0d6770d9841026ec5a515310ebaa4b335063e3516de454db8ba06cc4ee5a00ec SHA512 c085a0d04925485423086736a3c7d919ad0ca9efeff005890382da5333edb68c7d23ccb89fbe2ac44f8f016fc993bf2c669e450794c3ab13463676cbb47c7bf7
+DIST dovecot-2.3.3.tar.gz 6851107 BLAKE2B 87d6e11c8ff59cfe0b49d3561c307535efb09296af617530a4d5a89b4fc12055d006d1b283a4de076f27d59deb64324b96f28620958ad85c38197710c5decdf7 SHA512 8666c4f92f7df883067540f85be9d03dbe6815b58a7f5de55b4292e986e9a2a1ef52c7e0c72dde2bc781fe40d57488b78a99b6b813745b8e4683f1a2fdc1f2ff

diff --git a/net-mail/dovecot/dovecot-2.3.3.ebuild b/net-mail/dovecot/dovecot-2.3.3.ebuild
new file mode 100644
index 00000000000..9d28a2916e9
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.3.ebuild
@@ -0,0 +1,291 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# do not add a ssl USE flag.  ssl is mandatory
+SSL_DEPS_SKIP=1
+inherit autotools ssl-cert systemd user versionator
+
+MY_P="${P/_/.}"
+#MY_S="${PN}-ce-${PV}"
+major_minor="$(get_version_component_range 1-2)"
+sieve_version="0.5.3"
+if [[ ${PV} == *_rc* ]] ; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
+	sieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	)
+	managesieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	) "
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="https://www.dovecot.org/"
+
+SLOT="0"
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite vpopmail"
+IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
+IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 libressl lucene managesieve selinux sieve solr static-libs suid tcpd textcat"
+
+IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
+
+DEPEND="argon2? ( dev-libs/libsodium )
+	bzip2? ( app-arch/bzip2 )
+	caps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap )
+	lua? ( dev-lang/lua:* )
+	lucene? ( >=dev-cpp/clucene-2.3 )
+	lzma? ( app-arch/xz-utils )
+	lz4? ( app-arch/lz4 )
+	mysql? ( virtual/mysql )
+	pam? ( virtual/pam )
+	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
+	selinux? ( sec-policy/selinux-dovecot )
+	solr? ( net-misc/curl dev-libs/expat )
+	sqlite? ( dev-db/sqlite:* )
+	!libressl? ( dev-libs/openssl:0 )
+	libressl? ( dev-libs/libressl )
+	tcpd? ( sys-apps/tcp-wrappers )
+	textcat? ( app-text/libexttextcat )
+	vpopmail? ( net-mail/vpopmail )
+	zlib? ( sys-libs/zlib )
+	virtual/libiconv
+	dev-libs/icu:="
+
+RDEPEND="${DEPEND}
+	net-mail/mailbase"
+
+PATCHES=( "${FILESDIR}/${PN}-glibc228.patch" )
+
+pkg_setup() {
+	if use managesieve && ! use sieve; then
+		ewarn "managesieve USE flag selected but sieve USE flag unselected"
+		ewarn "sieve USE flag will be turned on"
+	fi
+	# default internal user
+	enewgroup dovecot 97
+	enewuser dovecot 97 -1 /dev/null dovecot
+	# default login user
+	enewuser dovenull -1 -1 /dev/null
+	# add "mail" group for suid'ing. Better security isolation.
+	if use suid; then
+		enewgroup mail
+	fi
+}
+
+src_prepare() {
+	default
+	# bug 657108
+	# elibtoolize
+	eautoreconf
+}
+
+src_configure() {
+	local conf=""
+
+	if use postgres || use mysql || use sqlite; then
+		conf="${conf} --with-sql"
+	fi
+
+	# turn valgrind tests off. Bug #340791
+	VALGRIND=no econf \
+		--with-rundir="${EPREFIX}/run/dovecot" \
+		--with-statedir="${EPREFIX}/var/lib/dovecot" \
+		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
+		--without-stemmer \
+		--disable-rpath \
+		--without-libbsd \
+		--with-icu \
+		--with-ssl \
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+		$( use_with argon2 sodium ) \
+		$( use_with bzip2 bzlib ) \
+		$( use_with caps libcap ) \
+		$( use_with kerberos gssapi ) \
+		$( use_with lua ) \
+		$( use_with ldap ) \
+		$( use_with lucene ) \
+		$( use_with lz4 ) \
+		$( use_with lzma ) \
+		$( use_with mysql ) \
+		$( use_with pam ) \
+		$( use_with postgres pgsql ) \
+		$( use_with sqlite ) \
+		$( use_with solr ) \
+		$( use_with tcpd libwrap ) \
+		$( use_with textcat ) \
+		$( use_with vpopmail ) \
+		$( use_with zlib ) \
+		$( use_enable static-libs static ) \
+		${conf}
+
+	if use sieve || use managesieve ; then
+		# The sieve plugin needs this file to be build to determine the plugin
+		# directory and the list of libraries to link to.
+		emake dovecot-config
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		econf \
+			$( use_enable static-libs static ) \
+			--localstatedir="${EPREFIX%/}/var" \
+			--enable-shared \
+			--with-dovecot="${S}" \
+			$( use_with managesieve )
+	fi
+}
+
+src_compile() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+	fi
+}
+
+src_test() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		default
+	fi
+}
+
+src_install () {
+	default
+
+	# insecure:
+	# use suid && fperms u+s /usr/libexec/dovecot/deliver
+	# better:
+	if use suid;then
+		einfo "Changing perms to allow deliver to be suided"
+		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
+		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
+	fi
+
+	newinitd "${FILESDIR}"/dovecot.init-r5 dovecot
+
+	rm -rf "${ED}"/usr/share/doc/dovecot
+
+	dodoc AUTHORS NEWS README TODO
+	dodoc doc/*.{txt,cnf,xml,sh}
+	docinto example-config
+	dodoc doc/example-config/*.{conf,ext}
+	docinto example-config/conf.d
+	dodoc doc/example-config/conf.d/*.{conf,ext}
+	docinto wiki
+	dodoc doc/wiki/*
+	doman doc/man/*.{1,7}
+
+	# Create the dovecot.conf file from the dovecot-example.conf file that
+	# the dovecot folks nicely left for us....
+	local conf="${ED}/etc/dovecot/dovecot.conf"
+	local confd="${ED}/etc/dovecot/conf.d"
+
+	insinto /etc/dovecot
+	doins doc/example-config/*.{conf,ext}
+	insinto /etc/dovecot/conf.d
+	doins doc/example-config/conf.d/*.{conf,ext}
+	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
+	rm -f "${confd}/../README"
+
+	# .maildir is the Gentoo default
+	local mail_location="maildir:~/.maildir"
+	sed -i -e \
+		"s|#mail_location =|mail_location = ${mail_location}|" \
+		"${confd}/10-mail.conf" \
+		|| die "failed to update mail location settings in 10-mail.conf"
+
+	# We're using pam files (imap and pop3) provided by mailbase
+	if use pam; then
+		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
+			"${confd}/auth-system.conf.ext" \
+			|| die "failed to update PAM settings in auth-system.conf.ext"
+		# mailbase does not provide a sieve pam file
+		use managesieve && dosym imap /etc/pam.d/sieve
+		sed -i -e \
+			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update PAM settings in 10-auth.conf"
+	fi
+
+	# Disable ipv6 if necessary
+	if ! use ipv6; then
+		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
+			|| die "failed to update listen settings in dovecot.conf"
+	fi
+
+	# Update ssl cert locations
+	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
+		|| die "ssl conf failed"
+	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
+		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
+		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
+
+	# Install SQL configuration
+	if use mysql || use postgres; then
+		sed -i -e \
+			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
+			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
+			10-auth.conf"
+	fi
+
+	# Install LDAP configuration
+	if use ldap; then
+		sed -i -e \
+			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update ldap settings in 10-auth.conf"
+	fi
+
+	if use vpopmail; then
+		sed -i -e \
+			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update vpopmail settings in 10-auth.conf"
+	fi
+
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake DESTDIR="${ED}" install
+		sed -i -e \
+			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
+			|| die "failed to update sieve settings in 15-lda.conf"
+		rm -rf "${ED}"/usr/share/doc/dovecot
+		docinto example-config/conf.d
+		dodoc doc/example-config/conf.d/*.conf
+		insinto /etc/dovecot/conf.d
+		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
+		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
+		docinto sieve/rfc
+		dodoc doc/rfc/*.txt
+		docinto sieve/devel
+		dodoc doc/devel/DESIGN
+		docinto plugins
+		dodoc doc/plugins/*.txt
+		docinto extensions
+		dodoc doc/extensions/*.txt
+		docinto locations
+		dodoc doc/locations/*.txt
+		doman doc/man/*.{1,7}
+	fi
+
+	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
+}
+
+pkg_postinst() {
+	# Let's not make a new certificate if we already have one
+	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
+		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
+		einfo "Creating SSL	certificate"
+		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
+		install_cert /etc/ssl/dovecot/server
+	fi
+
+	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
+}

diff --git a/net-mail/dovecot/files/dovecot-glibc228.patch b/net-mail/dovecot/files/dovecot-glibc228.patch
new file mode 100644
index 00000000000..9549c12f6e8
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-glibc228.patch
@@ -0,0 +1,44 @@
+From 63a74b9e8e0604486a15a879e7f1a27257322400 Mon Sep 17 00:00:00 2001
+From: Aki Tuomi <aki.tuomi@dovecot.fi>
+Date: Wed, 8 Aug 2018 12:33:20 +0300
+Subject: [PATCH] auth: mycrypt - include crypt.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes crypt usage on glibc-2.28
+
+Reported by Reuben Farrelly
+Patch provided by Thore Bödecker
+---
+ configure.ac       | 2 +-
+ src/auth/mycrypt.c | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index dd545ebfdc..c5d8fae666 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -315,7 +315,7 @@ AC_CHECK_HEADERS(strings.h stdint.h unistd.h dirent.h malloc.h \
+   quota.h sys/fs/quota_common.h \
+   mntent.h sys/mnttab.h sys/event.h sys/time.h sys/mkdev.h linux/dqblk_xfs.h \
+   xfs/xqm.h execinfo.h ucontext.h malloc_np.h sys/utsname.h sys/vmount.h \
+-  sys/utsname.h glob.h linux/falloc.h ucred.h sys/ucred.h)
++  sys/utsname.h glob.h linux/falloc.h ucred.h sys/ucred.h crypt.h)
+ 
+ CC_CLANG
+ AC_CC_PIE
+diff --git a/src/auth/mycrypt.c b/src/auth/mycrypt.c
+index c49fcf842e..0bd00bc238 100644
+--- a/src/auth/mycrypt.c
++++ b/src/auth/mycrypt.c
+@@ -14,6 +14,9 @@
+ #  define _XPG6 /* Some Solaris versions require this, some break with this */
+ #endif
+ #include <unistd.h>
++#ifdef HAVE_CRYPT_H
++# include <crypt.h>
++#endif
+ 
+ #include "mycrypt.h"
+ 

diff --git a/net-mail/dovecot/files/dovecot.init-r5 b/net-mail/dovecot/files/dovecot.init-r5
new file mode 100644
index 00000000000..8a98603d4b4
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot.init-r5
@@ -0,0 +1,57 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_started_commands="reload"
+
+depend() {
+	need localmount
+	before postfix
+	after bootmisc ldap mysql ntp-client ntpd postgresql saslauthd slapd 
+	use logger net
+}
+
+checkconfig() {
+	DOVECOT_INSTANCE=${SVCNAME##*.}
+	if [ -n "${DOVECOT_INSTANCE}" -a "${SVCNAME}" != "dovecot" ]; then
+		DOVECOT_CONF=/etc/dovecot/dovecot.${DOVECOT_INSTANCE}.conf
+	else
+		DOVECOT_CONF=/etc/dovecot/dovecot.conf
+	fi
+	if [ ! -e ${DOVECOT_CONF} ]; then
+		eerror "You will need an ${DOVECOT_CONF} first"
+		return 1
+	fi
+	if [ -x /usr/sbin/dovecot ]; then
+		DOVECOT_BASEDIR=$(/usr/sbin/dovecot -c ${DOVECOT_CONF} config -h base_dir)
+	else
+		eerror "dovecot not executable"
+		return 1
+	fi
+	DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/run/dovecot}
+	DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid
+}
+
+start() {
+	checkconfig || return 1
+	ebegin "Starting ${SVCNAME}"
+	start-stop-daemon --start --exec /usr/sbin/dovecot \
+		--pidfile "${DOVECOT_PIDFILE}" -- -c "${DOVECOT_CONF}"
+	eend $?
+}
+
+stop() {
+	checkconfig || return 1
+	ebegin "Stopping ${SVCNAME}"
+	start-stop-daemon --stop --exec /usr/sbin/dovecot \
+		--pidfile "${DOVECOT_PIDFILE}"
+	eend $?
+}
+
+reload() {
+	checkconfig || return 1
+	ebegin "Reloading ${SVCNAME} configs and restarting auth/login processes"
+	start-stop-daemon --signal HUP --exec /usr/sbin/dovecot \
+		--pidfile "${DOVECOT_PIDFILE}"
+	eend $?
+}


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2019-08-29  5:39 Eray Aslan
  0 siblings, 0 replies; 10+ messages in thread
From: Eray Aslan @ 2019-08-29  5:39 UTC (permalink / raw
  To: gentoo-commits

commit:     d60cbaaa0a76ce52ffb67ee816a831e17bdc108e
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 29 05:39:11 2019 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Thu Aug 29 05:39:29 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d60cbaaa

net-mail/dovecot: cleanup

Package-Manager: Portage-2.3.73, Repoman-2.3.17
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/Manifest                          |   2 -
 net-mail/dovecot/dovecot-2.2.36.3.ebuild           | 287 --------------------
 net-mail/dovecot/dovecot-2.3.6-r1.ebuild           | 291 ---------------------
 .../files/dovecot-no-log-error-tcp_nodelay.patch   |  31 ---
 4 files changed, 611 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 0a46bd2e538..0c8c6cbed5c 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,6 +1,4 @@
-DIST dovecot-2.2-pigeonhole-0.4.24.1.tar.gz 1810959 BLAKE2B f24b28dc7422ea4f379e372adf33ebbf7cbb146d55b01dbf40580767a14adf695b0a2726f591c0c34436bd93a8b48ee8a8c4307fffc6b082d9c028ce93e29a0a SHA512 99af8a1f4588d821c7000133c5c173ab05640d3411b826a0978db2d60c9a59d5b330ca2d38aa25aa1163f6d1b669dc97b8303e2bceda554f67d0029d5d0b34fd
 DIST dovecot-2.2-pigeonhole-0.4.24.2.tar.gz 1833284 BLAKE2B bee45fd129aee3d5126bd48b27829e7e266a5c1043411b6b23655bbf32e2f684763b82bff476a954bf7f0c7aae4e038c0892be70776726c7b324e409a8f89d78 SHA512 a51de88bcbac83ced7d314a560bd44f119dd80bf58f350da522501f072c0a4c02ff8c11152e2b858f14bb8ca9a9b665960cbe37a0c8ef4600b430e65ddbf3bf4
-DIST dovecot-2.2.36.3.tar.gz 6270735 BLAKE2B 90bd6f7cd3769040215f574bb368c1ad835041fff54273e2477be2d2e057c1700472b08a24ed3a7cad469bd39449d94986bc6801373bb97a63975ddbb54cefa5 SHA512 47611dbde7ee854ad323dcdb726757c7172376761fa774f28fce3f9d74ed590319d812f0555abed5f8178c326c3cb7661ac0b708ca5982914e255cec60f72e35
 DIST dovecot-2.2.36.4.tar.gz 6257899 BLAKE2B 3260e96f369e85f2dfd5ece0d9b12902c7192d057369e8a151cc6ab7b4f2033d4e1029fb862d412f2837fd384d7fe729cf1ab15cac9ac335e943bb1fdb532b51 SHA512 e33ab2f6c5f7b4ffca3d57580329f1df8e1655c755a1a6b575a4e49d57ea94d1ab67df2419033c9d68acf5959c6edfa596815dc2bc43798e9aef3d17d271cc4d
 DIST dovecot-2.3-pigeonhole-0.5.6.tar.gz 1854287 BLAKE2B a26edf2a298d8c3de0d9977d56583bd2e0933495c5f554871a38d7b9e31701ebf3587d221c5ec398721a9c34816918c41b069de39c13f879334f9776fede1a17 SHA512 998a046d2eb5ff7bba615fd1a3efdfb1e7e1dabf191257f7fa2882074acc1735a0a4c11c5f31bab1e964b0118f1a8e9e51b3d5529b8fff6d1312c9a8257d9c20
 DIST dovecot-2.3-pigeonhole-0.5.7.1.tar.gz 1857291 BLAKE2B 09763c87099ac50fbe86870855b100379a9b2a72d6077438bbf1f76ff3aed162ad781be27e6587a9742819137f6636f142a220f3b46d3c46115b10cbf4cb2efc SHA512 121eac4ad8bc1ddc55c554d00338bb553590b6aedffcb11e34f6cba102d59bd34580cb7218bd5fe820038c004d12db73f7a27ca135c3d4a12c4449bae3216355

diff --git a/net-mail/dovecot/dovecot-2.2.36.3.ebuild b/net-mail/dovecot/dovecot-2.2.36.3.ebuild
deleted file mode 100644
index 9e06b4534ad..00000000000
--- a/net-mail/dovecot/dovecot-2.2.36.3.ebuild
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# do not add a ssl USE flag.  ssl is mandatory
-SSL_DEPS_SKIP=1
-inherit autotools eapi7-ver ssl-cert systemd user versionator
-
-MY_P="${P/_/.}"
-major_minor="$(ver_cut 1-2)"
-sieve_version="0.4.24.1"
-if [[ ${PV} == *_rc* ]] ; then
-	rc_dir="rc/"
-else
-	rc_dir=""
-fi
-SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
-	sieve? (
-	https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	)
-	managesieve? (
-	https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	) "
-DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
-HOMEPAGE="https://www.dovecot.org/"
-
-SLOT="0"
-LICENSE="LGPL-2.1 MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-IUSE_DOVECOT_AUTH="kerberos ldap mysql pam postgres sqlite vpopmail"
-IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
-IUSE_DOVECOT_OTHER="caps doc ipv6 libressl lucene managesieve selinux sieve solr static-libs suid tcpd textcat"
-
-IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
-
-DEPEND="bzip2? ( app-arch/bzip2 )
-	caps? ( sys-libs/libcap )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap )
-	lucene? ( >=dev-cpp/clucene-2.3 )
-	lzma? ( app-arch/xz-utils )
-	lz4? ( app-arch/lz4 )
-	mysql? ( dev-db/mysql-connector-c:0= )
-	pam? ( virtual/pam )
-	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
-	selinux? ( sec-policy/selinux-dovecot )
-	solr? ( net-misc/curl dev-libs/expat )
-	sqlite? ( dev-db/sqlite:* )
-	!libressl? ( dev-libs/openssl:0 )
-	libressl? ( dev-libs/libressl )
-	tcpd? ( sys-apps/tcp-wrappers )
-	textcat? ( app-text/libexttextcat )
-	vpopmail? ( net-mail/vpopmail )
-	zlib? ( sys-libs/zlib )
-	virtual/libiconv
-	dev-libs/icu:="
-
-RDEPEND="${DEPEND}
-	net-mail/mailbase"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-userdb-passwd-fix.patch"
-)
-
-pkg_setup() {
-	if use managesieve && ! use sieve; then
-		ewarn "managesieve USE flag selected but sieve USE flag unselected"
-		ewarn "sieve USE flag will be turned on"
-	fi
-	# default internal user
-	enewgroup dovecot 97
-	enewuser dovecot 97 -1 /dev/null dovecot
-	# default login user
-	enewuser dovenull -1 -1 /dev/null
-	# add "mail" group for suid'ing. Better security isolation.
-	if use suid; then
-		enewgroup mail
-	fi
-}
-
-src_prepare() {
-	default
-	# bug 657108
-	elibtoolize
-}
-
-src_configure() {
-	local conf=""
-
-	if use postgres || use mysql || use sqlite; then
-		conf="${conf} --with-sql"
-	fi
-
-	# turn valgrind tests off. Bug #340791
-	VALGRIND=no econf \
-		--with-statedir="${EPREFIX}/var/lib/dovecot" \
-		--with-rundir="${EPREFIX}/run/dovecot" \
-		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
-		--without-stemmer \
-		--disable-rpath \
-		--with-icu \
-		--with-ssl \
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
-		$( use_with bzip2 bzlib ) \
-		$( use_with caps libcap ) \
-		$( use_with kerberos gssapi ) \
-		$( use_with ldap ) \
-		$( use_with lucene ) \
-		$( use_with lz4 ) \
-		$( use_with lzma ) \
-		$( use_with mysql ) \
-		$( use_with pam ) \
-		$( use_with postgres pgsql ) \
-		$( use_with sqlite ) \
-		$( use_with solr ) \
-		$( use_with tcpd libwrap ) \
-		$( use_with textcat ) \
-		$( use_with vpopmail ) \
-		$( use_with zlib ) \
-		$( use_enable static-libs static ) \
-		${conf}
-
-	if use sieve || use managesieve ; then
-		# The sieve plugin needs this file to be build to determine the plugin
-		# directory and the list of libraries to link to.
-		emake dovecot-config
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		econf \
-			$( use_enable static-libs static ) \
-			--localstatedir="${EPREFIX}/var" \
-			--enable-shared \
-			--with-dovecot="${S}" \
-			$( use_with managesieve )
-	fi
-}
-
-src_compile() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-	fi
-}
-
-src_test() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		default
-	fi
-}
-
-src_install () {
-	default
-
-	# insecure:
-	# use suid && fperms u+s /usr/libexec/dovecot/deliver
-	# better:
-	if use suid;then
-		einfo "Changing perms to allow deliver to be suided"
-		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-	fi
-
-	newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
-
-	rm -rf "${ED}"/usr/share/doc/dovecot
-
-	dodoc AUTHORS NEWS README TODO
-	dodoc doc/*.{txt,cnf,xml,sh}
-	docinto example-config
-	dodoc doc/example-config/*.{conf,ext}
-	docinto example-config/conf.d
-	dodoc doc/example-config/conf.d/*.{conf,ext}
-	docinto wiki
-	dodoc doc/wiki/*
-	doman doc/man/*.{1,7}
-
-	# Create the dovecot.conf file from the dovecot-example.conf file that
-	# the dovecot folks nicely left for us....
-	local conf="${ED}/etc/dovecot/dovecot.conf"
-	local confd="${ED}/etc/dovecot/conf.d"
-
-	insinto /etc/dovecot
-	doins doc/example-config/*.{conf,ext}
-	insinto /etc/dovecot/conf.d
-	doins doc/example-config/conf.d/*.{conf,ext}
-	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
-	rm -f "${confd}/../README"
-
-	# .maildir is the Gentoo default
-	local mail_location="maildir:~/.maildir"
-	sed -i -e \
-		"s|#mail_location =|mail_location = ${mail_location}|" \
-		"${confd}/10-mail.conf" \
-		|| die "failed to update mail location settings in 10-mail.conf"
-
-	# We're using pam files (imap and pop3) provided by mailbase
-	if use pam; then
-		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
-			"${confd}/auth-system.conf.ext" \
-			|| die "failed to update PAM settings in auth-system.conf.ext"
-		# mailbase does not provide a sieve pam file
-		use managesieve && dosym imap /etc/pam.d/sieve
-		sed -i -e \
-			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update PAM settings in 10-auth.conf"
-	fi
-
-	# Disable ipv6 if necessary
-	if ! use ipv6; then
-		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
-			|| die "failed to update listen settings in dovecot.conf"
-	fi
-
-	# Update ssl cert locations
-	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
-		|| die "ssl conf failed"
-	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
-		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
-		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
-
-	# Install SQL configuration
-	if use mysql || use postgres; then
-		sed -i -e \
-			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
-			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
-			10-auth.conf"
-	fi
-
-	# Install LDAP configuration
-	if use ldap; then
-		sed -i -e \
-			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update ldap settings in 10-auth.conf"
-	fi
-
-	if use vpopmail; then
-		sed -i -e \
-			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update vpopmail settings in 10-auth.conf"
-	fi
-
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake DESTDIR="${ED}" install
-		sed -i -e \
-			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
-			|| die "failed to update sieve settings in 15-lda.conf"
-		rm -rf "${ED}"/usr/share/doc/dovecot
-		docinto example-config/conf.d
-		dodoc doc/example-config/conf.d/*.conf
-		insinto /etc/dovecot/conf.d
-		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
-		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
-		docinto sieve/rfc
-		dodoc doc/rfc/*.txt
-		docinto sieve/devel
-		dodoc doc/devel/DESIGN
-		docinto plugins
-		dodoc doc/plugins/*.txt
-		docinto extensions
-		dodoc doc/extensions/*.txt
-		docinto locations
-		dodoc doc/locations/*.txt
-		doman doc/man/*.{1,7}
-	fi
-
-	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
-}
-
-pkg_postinst() {
-	# Let's not make a new certificate if we already have one
-	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
-	-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
-		einfo "Creating SSL	certificate"
-		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
-		install_cert /etc/ssl/dovecot/server
-	fi
-
-	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
-}

diff --git a/net-mail/dovecot/dovecot-2.3.6-r1.ebuild b/net-mail/dovecot/dovecot-2.3.6-r1.ebuild
deleted file mode 100644
index 20f2b5332e0..00000000000
--- a/net-mail/dovecot/dovecot-2.3.6-r1.ebuild
+++ /dev/null
@@ -1,291 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# do not add a ssl USE flag.  ssl is mandatory
-SSL_DEPS_SKIP=1
-inherit autotools eapi7-ver ssl-cert systemd user
-
-MY_P="${P/_/.}"
-#MY_S="${PN}-ce-${PV}"
-major_minor="$(ver_cut 1-2)"
-sieve_version="0.5.6"
-if [[ ${PV} == *_rc* ]] ; then
-	rc_dir="rc/"
-else
-	rc_dir=""
-fi
-SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
-	sieve? (
-	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	)
-	managesieve? (
-	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
-	) "
-DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
-HOMEPAGE="https://www.dovecot.org/"
-
-SLOT="0"
-LICENSE="LGPL-2.1 MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite vpopmail"
-IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib"
-IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 libressl lucene managesieve selinux sieve solr static-libs suid tcpd textcat"
-
-IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
-
-DEPEND="argon2? ( dev-libs/libsodium )
-	bzip2? ( app-arch/bzip2 )
-	caps? ( sys-libs/libcap )
-	kerberos? ( virtual/krb5 )
-	ldap? ( net-nds/openldap )
-	lua? ( dev-lang/lua:* )
-	lucene? ( >=dev-cpp/clucene-2.3 )
-	lzma? ( app-arch/xz-utils )
-	lz4? ( app-arch/lz4 )
-	mysql? ( dev-db/mysql-connector-c:0= )
-	pam? ( virtual/pam )
-	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
-	selinux? ( sec-policy/selinux-dovecot )
-	solr? ( net-misc/curl dev-libs/expat )
-	sqlite? ( dev-db/sqlite:* )
-	!libressl? ( dev-libs/openssl:0 )
-	libressl? ( dev-libs/libressl )
-	suid? ( acct-group/mail )
-	tcpd? ( sys-apps/tcp-wrappers )
-	textcat? ( app-text/libexttextcat )
-	vpopmail? ( net-mail/vpopmail )
-	zlib? ( sys-libs/zlib )
-	virtual/libiconv
-	dev-libs/icu:="
-
-RDEPEND="${DEPEND}
-	net-mail/mailbase"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-userdb-passwd-fix.patch"
-)
-
-pkg_setup() {
-	if use managesieve && ! use sieve; then
-		ewarn "managesieve USE flag selected but sieve USE flag unselected"
-		ewarn "sieve USE flag will be turned on"
-	fi
-	# default internal user
-	enewgroup dovecot 97
-	enewuser dovecot 97 -1 /dev/null dovecot
-	# default login user
-	enewuser dovenull -1 -1 /dev/null
-}
-
-src_prepare() {
-	default
-	# bug 657108
-	elibtoolize
-	#eautoreconf
-}
-
-src_configure() {
-	local conf=""
-
-	if use postgres || use mysql || use sqlite; then
-		conf="${conf} --with-sql"
-	fi
-
-	# turn valgrind tests off. Bug #340791
-	VALGRIND=no econf \
-		--with-rundir="${EPREFIX}/run/dovecot" \
-		--with-statedir="${EPREFIX}/var/lib/dovecot" \
-		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
-		--without-stemmer \
-		--disable-rpath \
-		--without-libbsd \
-		--with-icu \
-		--with-ssl \
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
-		$( use_with argon2 sodium ) \
-		$( use_with bzip2 bzlib ) \
-		$( use_with caps libcap ) \
-		$( use_with kerberos gssapi ) \
-		$( use_with lua ) \
-		$( use_with ldap ) \
-		$( use_with lucene ) \
-		$( use_with lz4 ) \
-		$( use_with lzma ) \
-		$( use_with mysql ) \
-		$( use_with pam ) \
-		$( use_with postgres pgsql ) \
-		$( use_with sqlite ) \
-		$( use_with solr ) \
-		$( use_with tcpd libwrap ) \
-		$( use_with textcat ) \
-		$( use_with vpopmail ) \
-		$( use_with zlib ) \
-		$( use_enable static-libs static ) \
-		${conf}
-
-	if use sieve || use managesieve ; then
-		# The sieve plugin needs this file to be build to determine the plugin
-		# directory and the list of libraries to link to.
-		emake dovecot-config
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		econf \
-			$( use_enable static-libs static ) \
-			--localstatedir="${EPREFIX%/}/var" \
-			--enable-shared \
-			--with-dovecot="${S}" \
-			$( use_with managesieve )
-	fi
-}
-
-src_compile() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-	fi
-}
-
-src_test() {
-	default
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		default
-	fi
-}
-
-src_install () {
-	default
-
-	# insecure:
-	# use suid && fperms u+s /usr/libexec/dovecot/deliver
-	# better:
-	if use suid;then
-		einfo "Changing perms to allow deliver to be suided"
-		fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-		fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda"
-	fi
-
-	newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
-
-	rm -rf "${ED}"/usr/share/doc/dovecot
-
-	dodoc AUTHORS NEWS README TODO
-	dodoc doc/*.{txt,cnf,xml,sh}
-	docinto example-config
-	dodoc doc/example-config/*.{conf,ext}
-	docinto example-config/conf.d
-	dodoc doc/example-config/conf.d/*.{conf,ext}
-	docinto wiki
-	dodoc doc/wiki/*
-	doman doc/man/*.{1,7}
-
-	# Create the dovecot.conf file from the dovecot-example.conf file that
-	# the dovecot folks nicely left for us....
-	local conf="${ED}/etc/dovecot/dovecot.conf"
-	local confd="${ED}/etc/dovecot/conf.d"
-
-	insinto /etc/dovecot
-	doins doc/example-config/*.{conf,ext}
-	insinto /etc/dovecot/conf.d
-	doins doc/example-config/conf.d/*.{conf,ext}
-	fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext
-	rm -f "${confd}/../README"
-
-	# .maildir is the Gentoo default
-	local mail_location="maildir:~/.maildir"
-	sed -i -e \
-		"s|#mail_location =|mail_location = ${mail_location}|" \
-		"${confd}/10-mail.conf" \
-		|| die "failed to update mail location settings in 10-mail.conf"
-
-	# We're using pam files (imap and pop3) provided by mailbase
-	if use pam; then
-		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
-			"${confd}/auth-system.conf.ext" \
-			|| die "failed to update PAM settings in auth-system.conf.ext"
-		# mailbase does not provide a sieve pam file
-		use managesieve && dosym imap /etc/pam.d/sieve
-		sed -i -e \
-			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update PAM settings in 10-auth.conf"
-	fi
-
-	# Disable ipv6 if necessary
-	if ! use ipv6; then
-		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
-			|| die "failed to update listen settings in dovecot.conf"
-	fi
-
-	# Update ssl cert locations
-	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
-		|| die "ssl conf failed"
-	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
-		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
-		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
-
-	# Install SQL configuration
-	if use mysql || use postgres; then
-		sed -i -e \
-			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
-			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
-			10-auth.conf"
-	fi
-
-	# Install LDAP configuration
-	if use ldap; then
-		sed -i -e \
-			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update ldap settings in 10-auth.conf"
-	fi
-
-	if use vpopmail; then
-		sed -i -e \
-			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
-			"${confd}/10-auth.conf" \
-			|| die "failed to update vpopmail settings in 10-auth.conf"
-	fi
-
-	if use sieve || use managesieve ; then
-		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
-		emake DESTDIR="${ED}" install
-		sed -i -e \
-			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
-			|| die "failed to update sieve settings in 15-lda.conf"
-		rm -rf "${ED}"/usr/share/doc/dovecot
-		docinto example-config/conf.d
-		dodoc doc/example-config/conf.d/*.conf
-		insinto /etc/dovecot/conf.d
-		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
-		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
-		docinto sieve/rfc
-		dodoc doc/rfc/*.txt
-		docinto sieve/devel
-		dodoc doc/devel/DESIGN
-		docinto plugins
-		dodoc doc/plugins/*.txt
-		docinto extensions
-		dodoc doc/extensions/*.txt
-		docinto locations
-		dodoc doc/locations/*.txt
-		doman doc/man/*.{1,7}
-	fi
-
-	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
-}
-
-pkg_postinst() {
-	# Let's not make a new certificate if we already have one
-	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
-		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
-		einfo "Creating SSL	certificate"
-		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
-		install_cert /etc/ssl/dovecot/server
-	fi
-
-	elog "Please read http://wiki2.dovecot.org/Upgrading/ for upgrade notes."
-}

diff --git a/net-mail/dovecot/files/dovecot-no-log-error-tcp_nodelay.patch b/net-mail/dovecot/files/dovecot-no-log-error-tcp_nodelay.patch
deleted file mode 100644
index 3a2acd74fb6..00000000000
--- a/net-mail/dovecot/files/dovecot-no-log-error-tcp_nodelay.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/src/lib/ostream-file.c b/src/lib/ostream-file.c
-index e7e6f62d12..82bf729ac0 100644
---- a/src/lib/ostream-file.c
-+++ b/src/lib/ostream-file.c
-@@ -333,17 +333,17 @@ static int buffer_flush(struct file_ostream *fstream)
- static void o_stream_tcp_flush_via_nodelay(struct file_ostream *fstream)
- {
- 	if (net_set_tcp_nodelay(fstream->fd, TRUE) < 0) {
--		if (errno != ENOTSUP && errno != ENOTSOCK &&
--		    errno != ENOPROTOOPT) {
--			i_error("file_ostream.net_set_tcp_nodelay(%s, TRUE) failed: %m",
--				o_stream_get_name(&fstream->ostream.ostream));
--		}
-+		/* Don't bother logging errors. There are quite a lot of
-+		   different errors that need to be ignored, and it differs
-+		   between OSes. At least:
-+		   Linux: ENOTSUP, ENOTSOCK, ENOPROTOOPT
-+		   FreeBSD: EINVAL, ECONNRESET */
- 		fstream->no_socket_nodelay = TRUE;
- 	} else if (net_set_tcp_nodelay(fstream->fd, FALSE) < 0) {
--		/* We already successfully enabled TCP_NODELAY, so we're really
--		   not expecting any errors here. */
--		i_error("file_ostream.net_set_tcp_nodelay(%s, FALSE) failed: %m",
--			o_stream_get_name(&fstream->ostream.ostream));
-+		/* We already successfully enabled TCP_NODELAY, so there
-+		   shouldn't really be errors. Except ECONNRESET can possibly
-+		   still happen between these two calls, so again don't log
-+		   errors. */
- 		fstream->no_socket_nodelay = TRUE;
- 	}
- }


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2020-09-05 23:45 Thomas Deutschmann
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Deutschmann @ 2020-09-05 23:45 UTC (permalink / raw
  To: gentoo-commits

commit:     2fd41b355486a055f724150695e1cca74d0fdade
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  5 23:19:23 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Sep  5 23:45:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fd41b35

net-mail/dovecot: fix auth mech APOP

Closes: https://bugs.gentoo.org/739504
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 net-mail/dovecot/dovecot-2.3.11.3.ebuild           |  2 +
 .../dovecot/files/dovecot-2.3.11.3-apop-fix.patch  | 60 ++++++++++++++++++++++
 2 files changed, 62 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.11.3.ebuild b/net-mail/dovecot/dovecot-2.3.11.3.ebuild
index 28775017b56..386cbfb5c53 100644
--- a/net-mail/dovecot/dovecot-2.3.11.3.ebuild
+++ b/net-mail/dovecot/dovecot-2.3.11.3.ebuild
@@ -69,6 +69,8 @@ RDEPEND="${DEPEND}
 	acct-user/dovenull
 	net-mail/mailbase"
 
+PATCHES=( "${FILESDIR}"/${P}-apop-fix.patch )
+
 pkg_setup() {
 	if use managesieve && ! use sieve; then
 		ewarn "managesieve USE flag selected but sieve USE flag unselected"

diff --git a/net-mail/dovecot/files/dovecot-2.3.11.3-apop-fix.patch b/net-mail/dovecot/files/dovecot-2.3.11.3-apop-fix.patch
new file mode 100644
index 00000000000..667b4829f1c
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.3.11.3-apop-fix.patch
@@ -0,0 +1,60 @@
+From 3c5917d1abee8f4af43b5016ddb897154912eb8d Mon Sep 17 00:00:00 2001
+From: Aki Tuomi <aki.tu...@open-xchange.com>
+Date: Thu, 13 Aug 2020 19:13:49 +0300
+Subject: [PATCH 2/2] auth: test-mech - Fix type mismatch
+
+---
+ src/auth/test-mech.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/auth/test-mech.c b/src/auth/test-mech.c
+index 0a030a2be0..0a22ff46d0 100644
+--- a/src/auth/test-mech.c
++++ b/src/auth/test-mech.c
+@@ -192,7 +192,7 @@ static void test_mech_handle_challenge(struct auth_request *request,
+ }
+ 
+ static inline const unsigned char *
+-test_mech_construct_apop_challenge(unsigned int connect_uid, unsigned long *len_r)
++test_mech_construct_apop_challenge(unsigned int connect_uid, size_t *len_r)
+ {
+ 	string_t *apop_challenge = t_str_new(128);
+ 
+@@ -323,7 +323,7 @@ static void test_mechs(void)
+ 		struct test_case *test_case = &tests[running_test];
+ 		const struct mech_module *mech = test_case->mech;
+ 		struct auth_request *request;
+-		const char *testname = t_strdup_printf("auth mech %s %d/%lu",
++		const char *testname = t_strdup_printf("auth mech %s %d/%zu",
+ 						       mech->mech_name,
+ 						       running_test+1,
+ 						       N_ELEMENTS(tests));
+-- 
+2.11.0
+
+From 47ebfeef07d0908ba6b66344b0f630a21b81bcab Mon Sep 17 00:00:00 2001
+From: Aki Tuomi <aki.tu...@open-xchange.com>
+Date: Thu, 13 Aug 2020 19:13:04 +0300
+Subject: [PATCH 1/2] auth: test-mech - Fix APOP challenge format
+
+---
+ src/auth/test-mech.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/auth/test-mech.c b/src/auth/test-mech.c
+index cf05370035..0a030a2be0 100644
+--- a/src/auth/test-mech.c
++++ b/src/auth/test-mech.c
+@@ -196,8 +196,8 @@ test_mech_construct_apop_challenge(unsigned int connect_uid, unsigned long *len_
+ {
+ 	string_t *apop_challenge = t_str_new(128);
+ 
+-	str_printfa(apop_challenge,"<%lx.%u.%"PRIdTIME_T"", (unsigned long) getpid(),
+-		    connect_uid, process_start_time+10);
++	str_printfa(apop_challenge,"<%lx.%lx.%"PRIxTIME_T".", (unsigned long)getpid(),
++		    (unsigned long)connect_uid, process_start_time+10);
+ 	str_append_data(apop_challenge, "\0testuser\0responseoflen16-", 26);
+ 	*len_r = apop_challenge->used;
+ 	return apop_challenge->data;
+-- 
+2.11.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2020-11-23 11:41 Eray Aslan
  0 siblings, 0 replies; 10+ messages in thread
From: Eray Aslan @ 2020-11-23 11:41 UTC (permalink / raw
  To: gentoo-commits

commit:     f5f547e8cd9631d22431480e0ffdb307539b2915
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 23 11:39:42 2020 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Mon Nov 23 11:41:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5f547e8

net-mail/dovecot: fix assert crash when searching

thanks to Alexander Brüning
Closes: https://bugs.gentoo.org/756094
Package-Manager: Portage-3.0.10, Repoman-3.0.2
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild        | 297 +++++++++++++++++++++
 .../dovecot/files/dovecot-fix-search-crash.patch   |  91 +++++++
 2 files changed, 388 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild b/net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild
new file mode 100644
index 00000000000..2b42893baff
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild
@@ -0,0 +1,297 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# do not add a ssl USE flag.  ssl is mandatory
+SSL_DEPS_SKIP=1
+inherit autotools ssl-cert systemd toolchain-funcs
+
+MY_P="${P/_/.}"
+#MY_S="${PN}-ce-${PV}"
+major_minor="$(ver_cut 1-2)"
+sieve_version="0.5.11"
+if [[ ${PV} == *_rc* ]] ; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
+	sieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	)
+	managesieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	) "
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="https://www.dovecot.org/"
+
+SLOT="0"
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite vpopmail"
+IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib zstd"
+IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 libressl lucene managesieve rpc selinux sieve solr static-libs suid tcpd textcat unwind"
+
+IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
+
+DEPEND="argon2? ( dev-libs/libsodium )
+	bzip2? ( app-arch/bzip2 )
+	caps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap )
+	lua? ( dev-lang/lua:* )
+	lucene? ( >=dev-cpp/clucene-2.3 )
+	lzma? ( app-arch/xz-utils )
+	lz4? ( app-arch/lz4 )
+	mysql? ( dev-db/mysql-connector-c:0= )
+	pam? ( sys-libs/pam )
+	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
+	rpc? ( net-libs/libtirpc net-libs/rpcsvc-proto )
+	selinux? ( sec-policy/selinux-dovecot )
+	solr? ( net-misc/curl dev-libs/expat )
+	sqlite? ( dev-db/sqlite:* )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:0= )
+	suid? ( acct-group/mail )
+	tcpd? ( sys-apps/tcp-wrappers )
+	textcat? ( app-text/libexttextcat )
+	unwind? ( sys-libs/libunwind )
+	vpopmail? ( net-mail/vpopmail )
+	zlib? ( sys-libs/zlib )
+	zstd? ( app-arch/zstd )
+	virtual/libiconv
+	dev-libs/icu:="
+
+RDEPEND="${DEPEND}
+	acct-group/dovecot
+	acct-group/dovenull
+	acct-user/dovecot
+	acct-user/dovenull
+	net-mail/mailbase"
+
+PATCHES=(
+	"${FILESDIR}/${P}"-apop-fix.patch
+	"${FILESDIR}/${PN}"-unwind-generic.patch
+	"${FILESDIR}/${PN}"-fix-search-crash.patch
+	)
+
+pkg_setup() {
+	if use managesieve && ! use sieve; then
+		ewarn "managesieve USE flag selected but sieve USE flag unselected"
+		ewarn "sieve USE flag will be turned on"
+	fi
+}
+
+src_prepare() {
+	default
+	# bug 657108
+	#elibtoolize
+	eautoreconf
+}
+
+src_configure() {
+	local conf=""
+
+	if use postgres || use mysql || use sqlite; then
+		conf="${conf} --with-sql"
+	fi
+
+	# turn valgrind tests off. Bug #340791
+	VALGRIND=no econf \
+		--with-rundir="${EPREFIX}/run/dovecot" \
+		--with-statedir="${EPREFIX}/var/lib/dovecot" \
+		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
+		--without-stemmer \
+		--disable-rpath \
+		--without-libbsd \
+		--with-icu \
+		--with-ssl \
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+		$( use_with argon2 sodium ) \
+		$( use_with bzip2 bzlib ) \
+		$( use_with caps libcap ) \
+		$( use_with kerberos gssapi ) \
+		$( use_with lua ) \
+		$( use_with ldap ) \
+		$( use_with lucene ) \
+		$( use_with lz4 ) \
+		$( use_with lzma ) \
+		$( use_with mysql ) \
+		$( use_with pam ) \
+		$( use_with postgres pgsql ) \
+		$( use_with sqlite ) \
+		$( use_with solr ) \
+		$( use_with tcpd libwrap ) \
+		$( use_with textcat ) \
+		$( use_with unwind libunwind ) \
+		$( use_with vpopmail ) \
+		$( use_with zlib ) \
+		$( use_with zstd ) \
+		$( use_enable static-libs static ) \
+		${conf}
+
+	if use sieve || use managesieve ; then
+		# The sieve plugin needs this file to be build to determine the plugin
+		# directory and the list of libraries to link to.
+		emake dovecot-config
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		econf \
+			$( use_enable static-libs static ) \
+			--localstatedir="${EPREFIX}/var" \
+			--enable-shared \
+			--with-dovecot="${S}" \
+			$( use_with managesieve )
+	fi
+}
+
+src_compile() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+	fi
+}
+
+src_test() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		default
+	fi
+}
+
+src_install() {
+	default
+
+	# insecure:
+	# use suid && fperms u+s /usr/libexec/dovecot/deliver
+	# better:
+	if use suid;then
+		einfo "Changing perms to allow deliver to be suided"
+		fowners root:mail "/usr/libexec/dovecot/dovecot-lda"
+		fperms 4750 "/usr/libexec/dovecot/dovecot-lda"
+	fi
+
+	newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
+
+	rm -rf "${ED}"/usr/share/doc/dovecot
+
+	dodoc AUTHORS NEWS README TODO
+	dodoc doc/*.{txt,cnf,xml,sh}
+	docinto example-config
+	dodoc doc/example-config/*.{conf,ext}
+	docinto example-config/conf.d
+	dodoc doc/example-config/conf.d/*.{conf,ext}
+	docinto wiki
+	dodoc doc/wiki/*
+	doman doc/man/*.{1,7}
+
+	# Create the dovecot.conf file from the dovecot-example.conf file that
+	# the dovecot folks nicely left for us....
+	local conf="${ED}/etc/dovecot/dovecot.conf"
+	local confd="${ED}/etc/dovecot/conf.d"
+
+	insinto /etc/dovecot
+	doins doc/example-config/*.{conf,ext}
+	insinto /etc/dovecot/conf.d
+	doins doc/example-config/conf.d/*.{conf,ext}
+	fperms 0600 /etc/dovecot/dovecot-{ldap,sql}.conf.ext
+	rm -f "${confd}/../README"
+
+	# .maildir is the Gentoo default
+	local mail_location="maildir:~/.maildir"
+	sed -i -e \
+		"s|#mail_location =|mail_location = ${mail_location}|" \
+		"${confd}/10-mail.conf" \
+		|| die "failed to update mail location settings in 10-mail.conf"
+
+	# We're using pam files (imap and pop3) provided by mailbase
+	if use pam; then
+		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
+			"${confd}/auth-system.conf.ext" \
+			|| die "failed to update PAM settings in auth-system.conf.ext"
+		# mailbase does not provide a sieve pam file
+		use managesieve && dosym imap /etc/pam.d/sieve
+		sed -i -e \
+			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update PAM settings in 10-auth.conf"
+	fi
+
+	# Disable ipv6 if necessary
+	if ! use ipv6; then
+		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
+			|| die "failed to update listen settings in dovecot.conf"
+	fi
+
+	# Update ssl cert locations
+	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
+		|| die "ssl conf failed"
+	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
+		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
+		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
+
+	# Install SQL configuration
+	if use mysql || use postgres; then
+		sed -i -e \
+			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
+			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
+			10-auth.conf"
+	fi
+
+	# Install LDAP configuration
+	if use ldap; then
+		sed -i -e \
+			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update ldap settings in 10-auth.conf"
+	fi
+
+	if use vpopmail; then
+		sed -i -e \
+			's/#!include auth-vpopmail.conf.ext/!include auth-vpopmail.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update vpopmail settings in 10-auth.conf"
+	fi
+
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake DESTDIR="${ED}" install
+		sed -i -e \
+			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
+			|| die "failed to update sieve settings in 15-lda.conf"
+		rm -rf "${ED}"/usr/share/doc/dovecot
+		docinto example-config/conf.d
+		dodoc doc/example-config/conf.d/*.conf
+		insinto /etc/dovecot/conf.d
+		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
+		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
+		docinto sieve/rfc
+		dodoc doc/rfc/*.txt
+		docinto sieve/devel
+		dodoc doc/devel/DESIGN
+		docinto plugins
+		dodoc doc/plugins/*.txt
+		docinto extensions
+		dodoc doc/extensions/*.txt
+		docinto locations
+		dodoc doc/locations/*.txt
+		doman doc/man/*.{1,7}
+	fi
+
+	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
+}
+
+pkg_postinst() {
+	# Let's not make a new certificate if we already have one
+	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
+		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
+		einfo "Creating SSL	certificate"
+		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
+		install_cert /etc/ssl/dovecot/server
+	fi
+
+	elog "Please read https://doc.dovecot.org/installation_guide/upgrading/ for upgrade notes."
+}

diff --git a/net-mail/dovecot/files/dovecot-fix-search-crash.patch b/net-mail/dovecot/files/dovecot-fix-search-crash.patch
new file mode 100644
index 00000000000..860c070a433
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-fix-search-crash.patch
@@ -0,0 +1,91 @@
+gentoo bug #756094
+
+From a668d767a710ca18ab6e7177d8e8be22a6b024fb Mon Sep 17 00:00:00 2001
+From: Timo Sirainen <timo.sirainen@open-xchange.com>
+Date: Mon, 31 Aug 2020 20:38:42 +0300
+Subject: [PATCH] lib-mail: message_parser_init_from_parts() - Fix crash if
+ MIME boundaries don't end
+
+If the last "boundary--" doens't exist, the parsing assert-crashed at
+deinit. This mainly happened when searching mails.
+
+Fixes:
+Panic: file message-parser.c: line 175 (message_part_finish): assertion failed: (ctx->nested_parts_count > 0)
+---
+ src/lib-mail/message-parser.c      | 13 ++++++++-----
+ src/lib-mail/test-message-parser.c | 21 ++++++++++++++++++++-
+ 2 files changed, 28 insertions(+), 6 deletions(-)
+
+diff --git a/src/lib-mail/message-parser.c b/src/lib-mail/message-parser.c
+index 011dea9050..8baf622e59 100644
+--- a/src/lib-mail/message-parser.c
++++ b/src/lib-mail/message-parser.c
+@@ -138,6 +138,7 @@ message_part_append(struct message_parser_ctx *ctx)
+ 	struct message_part *parent = ctx->part;
+ 	struct message_part *part;
+ 
++	i_assert(!ctx->preparsed);
+ 	i_assert(parent != NULL);
+ 	i_assert((parent->flags & (MESSAGE_PART_FLAG_MULTIPART |
+ 				   MESSAGE_PART_FLAG_MESSAGE_RFC822)) != 0);
+@@ -171,12 +172,14 @@ static void message_part_finish(struct message_parser_ctx *ctx)
+ {
+ 	struct message_part **const *parent_next_partp;
+ 
+-	i_assert(ctx->nested_parts_count > 0);
+-	ctx->nested_parts_count--;
++	if (!ctx->preparsed) {
++		i_assert(ctx->nested_parts_count > 0);
++		ctx->nested_parts_count--;
+ 
+-	parent_next_partp = array_back(&ctx->next_part_stack);
+-	array_pop_back(&ctx->next_part_stack);
+-	ctx->next_part = *parent_next_partp;
++		parent_next_partp = array_back(&ctx->next_part_stack);
++		array_pop_back(&ctx->next_part_stack);
++		ctx->next_part = *parent_next_partp;
++	}
+ 
+ 	message_size_add(&ctx->part->parent->body_size, &ctx->part->body_size);
+ 	message_size_add(&ctx->part->parent->body_size, &ctx->part->header_size);
+diff --git a/src/lib-mail/test-message-parser.c b/src/lib-mail/test-message-parser.c
+index 13984f939e..a00f0d6200 100644
+--- a/src/lib-mail/test-message-parser.c
++++ b/src/lib-mail/test-message-parser.c
+@@ -178,9 +178,10 @@ static void test_message_parser_small_blocks(void)
+ static void test_message_parser_stop_early(void)
+ {
+ 	struct message_parser_ctx *parser;
+-	struct istream *input;
++	struct istream *input, *input2;
+ 	struct message_part *parts;
+ 	struct message_block block;
++	const char *error;
+ 	unsigned int i;
+ 	pool_t pool;
+ 	int ret;
+@@ -198,6 +199,24 @@ static void test_message_parser_stop_early(void)
+ 							      &block)) > 0) ;
+ 		test_assert(ret == 0);
+ 		message_parser_deinit(&parser, &parts);
++
++		/* test preparsed - first re-parse everything with a stream
++		   that sees EOF at this position */
++		input2 = i_stream_create_from_data(test_msg, i);
++		parser = message_parser_init(pool, input2, &set_empty);
++		while ((ret = message_parser_parse_next_block(parser,
++							      &block)) > 0) ;
++		test_assert(ret == -1);
++		message_parser_deinit(&parser, &parts);
++
++		/* now parse from the parts */
++		i_stream_seek(input2, 0);
++		parser = message_parser_init_from_parts(parts, input2, &set_empty);
++		while ((ret = message_parser_parse_next_block(parser,
++							      &block)) > 0) ;
++		test_assert(ret == -1);
++		test_assert(message_parser_deinit_from_parts(&parser, &parts, &error) == 0);
++		i_stream_unref(&input2);
+ 	}
+ 
+ 	i_stream_unref(&input);


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2021-01-05  9:35 Eray Aslan
  0 siblings, 0 replies; 10+ messages in thread
From: Eray Aslan @ 2021-01-05  9:35 UTC (permalink / raw
  To: gentoo-commits

commit:     1ddd164e2402c15e598eb8ae615dfaa7a52b08a9
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  5 09:35:39 2021 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Tue Jan  5 09:35:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ddd164e

net-mail/dovecot: security bump to 2.3.13

Bug: https://bugs.gentoo.org/763525
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/Manifest                          |   2 +
 net-mail/dovecot/dovecot-2.3.13.ebuild             | 293 +++++++++++++++++++++
 .../files/dovecot-autoconf-lua-version.patch       |  17 ++
 .../files/dovecot-socket-name-too-long.patch       |  11 +
 4 files changed, 323 insertions(+)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 3c542b8815d..73dcc900692 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,4 +1,6 @@
 DIST dovecot-2.2-pigeonhole-0.4.24.2.tar.gz 1833284 BLAKE2B bee45fd129aee3d5126bd48b27829e7e266a5c1043411b6b23655bbf32e2f684763b82bff476a954bf7f0c7aae4e038c0892be70776726c7b324e409a8f89d78 SHA512 a51de88bcbac83ced7d314a560bd44f119dd80bf58f350da522501f072c0a4c02ff8c11152e2b858f14bb8ca9a9b665960cbe37a0c8ef4600b430e65ddbf3bf4
 DIST dovecot-2.2.36.4.tar.gz 6257899 BLAKE2B 3260e96f369e85f2dfd5ece0d9b12902c7192d057369e8a151cc6ab7b4f2033d4e1029fb862d412f2837fd384d7fe729cf1ab15cac9ac335e943bb1fdb532b51 SHA512 e33ab2f6c5f7b4ffca3d57580329f1df8e1655c755a1a6b575a4e49d57ea94d1ab67df2419033c9d68acf5959c6edfa596815dc2bc43798e9aef3d17d271cc4d
 DIST dovecot-2.3-pigeonhole-0.5.11.tar.gz 1912411 BLAKE2B ed35cbae5ea2c1da24a1a255c1fc943b9a8c35280840ea42c1b5f83ea327872bb83ae8901696abfe3b0d27dfd6c11d3fb1661614fad54eeab9d700b5f0b7b13a SHA512 793d93edc50192c52654e2f7244d3e01aaa4e69f786e3ecfcd658a4ab26a5099cc5319cb93221150db4ce94bc4515ffb38115b1d0eeb6e052b956efec680b33d
+DIST dovecot-2.3-pigeonhole-0.5.13.tar.gz 1908839 BLAKE2B 37fbd9d9b41ca1893c19ac546dd9b272b361752c70eed0596bbb743cd8c30d942427d5814ab551bb39eb844c7bd05074bb49b11a6b81747e2fc535b0f9993f14 SHA512 fcbc13d71af4e6dd4e34192484e203d755e5015da76a4774b11a79182b2baad36cab5a471346093111ace36a7775dfe8294555f8b777786dde386820b3ec5cd3
 DIST dovecot-2.3.11.3.tar.gz 7353412 BLAKE2B 0067989b35fe29c0d23f6ca25712a87fa69608cc4ee6081d9eb929d63e7a586ccc0d86fcdbe1aac67aea9f2678ab0e150f053667817b08f4a7246947bb812fdb SHA512 d83e52a7faab918a8e6f6257acc5936b81733c10489affd042c3a043cb842db060286cba9978be378e4958e9ac2e60b55ce289d7f3a88df08e7637e4785e23bb
+DIST dovecot-2.3.13.tar.gz 7456073 BLAKE2B 6cf3e7d9c6cf90279e0d72782cca88a11617f3f08e3c27da7948f46b8796575e42c776323cd56bc4208474831d4480afcac35ebe0b74d99db40acd4cda2279be SHA512 758a169fba8925637ed18fa7522a6f06c9fe01a1707b1ca0d0a4d8757c578a8e117c91733e8314403839f9a484bbcac71ce3532c82379eb583b480756d556a95

diff --git a/net-mail/dovecot/dovecot-2.3.13.ebuild b/net-mail/dovecot/dovecot-2.3.13.ebuild
new file mode 100644
index 00000000000..cfaa9df4477
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.13.ebuild
@@ -0,0 +1,293 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..3} )
+
+# do not add a ssl USE flag.  ssl is mandatory
+SSL_DEPS_SKIP=1
+inherit autotools lua-single ssl-cert systemd toolchain-funcs
+
+MY_P="${P/_/.}"
+#MY_S="${PN}-ce-${PV}"
+major_minor="$(ver_cut 1-2)"
+sieve_version="0.5.13"
+if [[ ${PV} == *_rc* ]] ; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
+	sieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	)
+	managesieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	) "
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="https://www.dovecot.org/"
+
+SLOT="0"
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite"
+IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib zstd"
+IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 libressl lucene managesieve rpc selinux sieve solr static-libs suid tcpd textcat unwind"
+
+IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+DEPEND="argon2? ( dev-libs/libsodium )
+	bzip2? ( app-arch/bzip2 )
+	caps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap )
+	lua? ( ${LUA_DEPS} )
+	lucene? ( >=dev-cpp/clucene-2.3 )
+	lzma? ( app-arch/xz-utils )
+	lz4? ( app-arch/lz4 )
+	mysql? ( dev-db/mysql-connector-c:0= )
+	pam? ( sys-libs/pam )
+	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
+	rpc? ( net-libs/libtirpc net-libs/rpcsvc-proto )
+	selinux? ( sec-policy/selinux-dovecot )
+	solr? ( net-misc/curl dev-libs/expat )
+	sqlite? ( dev-db/sqlite:* )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:0= )
+	suid? ( acct-group/mail )
+	tcpd? ( sys-apps/tcp-wrappers )
+	textcat? ( app-text/libexttextcat )
+	unwind? ( sys-libs/libunwind )
+	zlib? ( sys-libs/zlib )
+	zstd? ( app-arch/zstd )
+	virtual/libiconv
+	dev-libs/icu:="
+
+RDEPEND="${DEPEND}
+	acct-group/dovecot
+	acct-group/dovenull
+	acct-user/dovecot
+	acct-user/dovenull
+	net-mail/mailbase"
+
+PATCHES=(
+	"${FILESDIR}/${PN}"-autoconf-lua-version.patch
+	"${FILESDIR}/${PN}"-unwind-generic.patch
+	"${FILESDIR}/${PN}"-socket-name-too-long.patch
+	)
+
+pkg_setup() {
+	use lua && lua-single_pkg_setup
+	if use managesieve && ! use sieve; then
+		ewarn "managesieve USE flag selected but sieve USE flag unselected"
+		ewarn "sieve USE flag will be turned on"
+	fi
+}
+
+src_prepare() {
+	default
+	# bug 657108
+	#elibtoolize
+	eautoreconf
+}
+
+src_configure() {
+	local conf=""
+
+	if use postgres || use mysql || use sqlite; then
+		conf="${conf} --with-sql"
+	fi
+
+	# turn valgrind tests off. Bug #340791
+	VALGRIND=no LUAPC="${ELUA}" econf \
+		--with-rundir="${EPREFIX}/run/dovecot" \
+		--with-statedir="${EPREFIX}/var/lib/dovecot" \
+		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
+		--without-stemmer \
+		--disable-rpath \
+		--without-libbsd \
+		--with-icu \
+		--with-ssl \
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+		$( use_with argon2 sodium ) \
+		$( use_with bzip2 bzlib ) \
+		$( use_with caps libcap ) \
+		$( use_with kerberos gssapi ) \
+		$( use_with lua ) \
+		$( use_with ldap ) \
+		$( use_with lucene ) \
+		$( use_with lz4 ) \
+		$( use_with lzma ) \
+		$( use_with mysql ) \
+		$( use_with pam ) \
+		$( use_with postgres pgsql ) \
+		$( use_with sqlite ) \
+		$( use_with solr ) \
+		$( use_with tcpd libwrap ) \
+		$( use_with textcat ) \
+		$( use_with unwind libunwind ) \
+		$( use_with zlib ) \
+		$( use_with zstd ) \
+		$( use_enable static-libs static ) \
+		${conf}
+
+	if use sieve || use managesieve ; then
+		# The sieve plugin needs this file to be build to determine the plugin
+		# directory and the list of libraries to link to.
+		emake dovecot-config
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		econf \
+			$( use_enable static-libs static ) \
+			--localstatedir="${EPREFIX}/var" \
+			--enable-shared \
+			--with-dovecot="${S}" \
+			$( use_with managesieve )
+	fi
+}
+
+src_compile() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+	fi
+}
+
+src_test() {
+	default
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		default
+	fi
+}
+
+src_install() {
+	default
+
+	# insecure:
+	# use suid && fperms u+s /usr/libexec/dovecot/deliver
+	# better:
+	if use suid;then
+		einfo "Changing perms to allow deliver to be suided"
+		fowners root:mail "/usr/libexec/dovecot/dovecot-lda"
+		fperms 4750 "/usr/libexec/dovecot/dovecot-lda"
+	fi
+
+	newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
+
+	rm -rf "${ED}"/usr/share/doc/dovecot
+
+	dodoc AUTHORS NEWS README TODO
+	dodoc doc/*.{txt,cnf,xml,sh}
+	docinto example-config
+	dodoc doc/example-config/*.{conf,ext}
+	docinto example-config/conf.d
+	dodoc doc/example-config/conf.d/*.{conf,ext}
+	docinto wiki
+	dodoc doc/wiki/*
+	doman doc/man/*.{1,7}
+
+	# Create the dovecot.conf file from the dovecot-example.conf file that
+	# the dovecot folks nicely left for us....
+	local conf="${ED}/etc/dovecot/dovecot.conf"
+	local confd="${ED}/etc/dovecot/conf.d"
+
+	insinto /etc/dovecot
+	doins doc/example-config/*.{conf,ext}
+	insinto /etc/dovecot/conf.d
+	doins doc/example-config/conf.d/*.{conf,ext}
+	fperms 0600 /etc/dovecot/dovecot-{ldap,sql}.conf.ext
+	rm -f "${confd}/../README"
+
+	# .maildir is the Gentoo default
+	local mail_location="maildir:~/.maildir"
+	sed -i -e \
+		"s|#mail_location =|mail_location = ${mail_location}|" \
+		"${confd}/10-mail.conf" \
+		|| die "failed to update mail location settings in 10-mail.conf"
+
+	# We're using pam files (imap and pop3) provided by mailbase
+	if use pam; then
+		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
+			"${confd}/auth-system.conf.ext" \
+			|| die "failed to update PAM settings in auth-system.conf.ext"
+		# mailbase does not provide a sieve pam file
+		use managesieve && dosym imap /etc/pam.d/sieve
+		sed -i -e \
+			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update PAM settings in 10-auth.conf"
+	fi
+
+	# Disable ipv6 if necessary
+	if ! use ipv6; then
+		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
+			|| die "failed to update listen settings in dovecot.conf"
+	fi
+
+	# Update ssl cert locations
+	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
+		|| die "ssl conf failed"
+	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
+		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
+		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
+
+	# Install SQL configuration
+	if use mysql || use postgres; then
+		sed -i -e \
+			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
+			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
+			10-auth.conf"
+	fi
+
+	# Install LDAP configuration
+	if use ldap; then
+		sed -i -e \
+			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update ldap settings in 10-auth.conf"
+	fi
+
+	if use sieve || use managesieve ; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake DESTDIR="${ED}" install
+		sed -i -e \
+			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
+			|| die "failed to update sieve settings in 15-lda.conf"
+		rm -rf "${ED}"/usr/share/doc/dovecot
+		docinto example-config/conf.d
+		dodoc doc/example-config/conf.d/*.conf
+		insinto /etc/dovecot/conf.d
+		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
+		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
+		docinto sieve/rfc
+		dodoc doc/rfc/*.txt
+		docinto sieve/devel
+		dodoc doc/devel/DESIGN
+		docinto plugins
+		dodoc doc/plugins/*.txt
+		docinto extensions
+		dodoc doc/extensions/*.txt
+		docinto locations
+		dodoc doc/locations/*.txt
+		doman doc/man/*.{1,7}
+	fi
+
+	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
+}
+
+pkg_postinst() {
+	# Let's not make a new certificate if we already have one
+	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
+		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
+		einfo "Creating SSL	certificate"
+		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
+		install_cert /etc/ssl/dovecot/server
+	fi
+
+	elog "Please read https://doc.dovecot.org/installation_guide/upgrading/ for upgrade notes."
+}

diff --git a/net-mail/dovecot/files/dovecot-autoconf-lua-version.patch b/net-mail/dovecot/files/dovecot-autoconf-lua-version.patch
new file mode 100644
index 00000000000..5572271929e
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-autoconf-lua-version.patch
@@ -0,0 +1,17 @@
+--- a/m4/want_lua.m4
++++ b/m4/want_lua.m4
+@@ -13,13 +13,12 @@
+   AC_MSG_RESULT([$with_lua])
+ 
+   AS_IF([test "x$with_lua" != "xno"],
+-    [for LUAPC in lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua; do
++    [
+        PKG_CHECK_MODULES([LUA], $LUAPC >= 5.1, [
+          AC_DEFINE([HAVE_LUA], [1], [Define to 1 if you have lua])
+          with_lua=yes
+        ], [LUAPC=""]) # otherwise pkg_check will fail
+        if test "x$LUA_LIBS" != "x"; then break; fi
+-     done
+   ])
+ 
+   AS_IF([test "x$with_lua" = "xyes"], [

diff --git a/net-mail/dovecot/files/dovecot-socket-name-too-long.patch b/net-mail/dovecot/files/dovecot-socket-name-too-long.patch
new file mode 100644
index 00000000000..64c17f367b9
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-socket-name-too-long.patch
@@ -0,0 +1,11 @@
+--- a/src/imap/test-imap-client-hibernate.c	2021-01-05 11:42:53.073912808 +0300
++++ b/src/imap/test-imap-client-hibernate.c	2021-01-05 11:43:49.790616213 +0300
+@@ -19,7 +19,7 @@
+ 
+ #include <sys/stat.h>
+ 
+-#define TEMP_DIRNAME ".test-imap-client-hibernate"
++#define TEMP_DIRNAME ".t-ic-h" /* test-imap-client-hibernate */
+ 
+ #define EVILSTR "\t\r\n\001"
+ 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2021-02-05 21:09 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2021-02-05 21:09 UTC (permalink / raw
  To: gentoo-commits

commit:     bcd40797c9334adc5e7475dff86714c351b7bbfa
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  5 21:09:46 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb  5 21:09:52 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcd40797

net-mail/dovecot: fix test failures on 32-bit systems

Closes: https://bugs.gentoo.org/764713
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-mail/dovecot/dovecot-2.3.13-r100.ebuild        |  4 +-
 .../files/dovecot-2.3.13-32-bit-tests-1.patch      | 52 ++++++++++++++++++++++
 .../files/dovecot-2.3.13-32-bit-tests-2.patch      | 27 +++++++++++
 3 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/net-mail/dovecot/dovecot-2.3.13-r100.ebuild b/net-mail/dovecot/dovecot-2.3.13-r100.ebuild
index ff93adddf94..15bc481ff78 100644
--- a/net-mail/dovecot/dovecot-2.3.13-r100.ebuild
+++ b/net-mail/dovecot/dovecot-2.3.13-r100.ebuild
@@ -78,7 +78,9 @@ PATCHES=(
 	"${FILESDIR}/${PN}"-autoconf-lua-version.patch
 	"${FILESDIR}/${PN}"-unwind-generic.patch
 	"${FILESDIR}/${PN}"-socket-name-too-long.patch
-	)
+	"${FILESDIR}/${P}"-32-bit-tests-1.patch
+	"${FILESDIR}/${P}"-32-bit-tests-2.patch
+)
 
 pkg_setup() {
 	use lua && lua-single_pkg_setup

diff --git a/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch
new file mode 100644
index 00000000000..204424c5ebb
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch
@@ -0,0 +1,52 @@
+https://bugs.gentoo.org/764713
+https://github.com/dovecot/core/commit/2cc1feca9087651902a5ea3cda021c8a0b3217ce.patch
+
+From 2cc1feca9087651902a5ea3cda021c8a0b3217ce Mon Sep 17 00:00:00 2001
+From: Paul Howarth <paul@city-fan.org>
+Date: Mon, 4 Jan 2021 16:31:03 +0000
+Subject: [PATCH] lib: Fix timeval_cmp_margin for 32-bit systems
+
+The test suite compares times with seconds values of -INT_MAX and
+INT_MAX. The result of this comparison does not fit in a value of
+type int and so the test suite fails on 32-bit systems where time_t
+is an int. To fix this, calculations on seconds values are done
+using long long integers.
+
+Broken by 16ab5542
+---
+ src/lib/time-util.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/time-util.c b/src/lib/time-util.c
+index 294bb02310..3f4cd01c9e 100644
+--- a/src/lib/time-util.c
++++ b/src/lib/time-util.c
+@@ -38,21 +38,23 @@ int timeval_cmp(const struct timeval *tv1, const struct timeval *tv2)
+ int timeval_cmp_margin(const struct timeval *tv1, const struct timeval *tv2,
+ 	unsigned int usec_margin)
+ {
+-	long long usecs_diff;
++	long long secs_diff, usecs_diff;
+ 	int sec_margin, ret;
+ 
+ 	if (tv1->tv_sec < tv2->tv_sec) {
+ 		sec_margin = ((int)usec_margin / 1000000) + 1;
+-		if ((tv2->tv_sec - tv1->tv_sec) > sec_margin)
++		secs_diff = (long long)tv2->tv_sec - (long long)tv1->tv_sec;
++		if (secs_diff > sec_margin)
+ 			return -1;
+-		usecs_diff = (tv2->tv_sec - tv1->tv_sec) * 1000000LL +
++		usecs_diff = secs_diff * 1000000LL +
+ 			(tv2->tv_usec - tv1->tv_usec);
+ 		ret = -1;
+ 	} else if (tv1->tv_sec > tv2->tv_sec) {
+ 		sec_margin = ((int)usec_margin / 1000000) + 1;
+-		if ((tv1->tv_sec - tv2->tv_sec) > sec_margin)
++		secs_diff = (long long)tv1->tv_sec - (long long)tv2->tv_sec;
++		if (secs_diff > sec_margin)
+ 			return 1;
+-		usecs_diff = (tv1->tv_sec - tv2->tv_sec) * 1000000LL +
++		usecs_diff = secs_diff * 1000000LL +
+ 			(tv1->tv_usec - tv2->tv_usec);
+ 		ret = 1;
+ 	} else if (tv1->tv_usec < tv2->tv_usec) {

diff --git a/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch
new file mode 100644
index 00000000000..8956773b43e
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/764713
+https://github.com/dovecot/core/commit/01366bd18ea98bf6979328ff8580488920a33f0c
+
+From 01366bd18ea98bf6979328ff8580488920a33f0c Mon Sep 17 00:00:00 2001
+From: Aki Tuomi <aki.tuomi@open-xchange.com>
+Date: Thu, 4 Feb 2021 08:44:46 +0200
+Subject: [PATCH] lib: test-time-util - Use correct types for test case
+
+Fixes type mismatch on 32-bit systems.
+---
+ src/lib/test-time-util.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/lib/test-time-util.c b/src/lib/test-time-util.c
+index cfa322048e..139db0ec5d 100644
+--- a/src/lib/test-time-util.c
++++ b/src/lib/test-time-util.c
+@@ -358,7 +358,8 @@ static void test_str_to_timeval(void)
+ {
+ 	struct {
+ 		const char *str;
+-		unsigned int tv_sec, tv_usec;
++		time_t tv_sec;
++		suseconds_t tv_usec;
+ 	} tests[] = {
+ 		{ "0", 0, 0 },
+ 		{ "0.0", 0, 0 },


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2021-06-22 11:46 Eray Aslan
  0 siblings, 0 replies; 10+ messages in thread
From: Eray Aslan @ 2021-06-22 11:46 UTC (permalink / raw
  To: gentoo-commits

commit:     9c780f4dbf6b8decf88015c43fbcd5ccd4fedc04
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 22 11:46:25 2021 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Tue Jun 22 11:46:51 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c780f4d

net-mail/dovecot: bump to 2.3.15

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/Manifest                          |   2 +
 net-mail/dovecot/dovecot-2.3.15.ebuild             | 301 +++++++++++++++++++++
 .../files/dovecot-autoconf-lua-version-v2.patch    |  15 +
 3 files changed, 318 insertions(+)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 0005fd74913..1a54583afcc 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,5 +1,7 @@
 DIST dovecot-2.3-pigeonhole-0.5.13.tar.gz 1908839 BLAKE2B 37fbd9d9b41ca1893c19ac546dd9b272b361752c70eed0596bbb743cd8c30d942427d5814ab551bb39eb844c7bd05074bb49b11a6b81747e2fc535b0f9993f14 SHA512 fcbc13d71af4e6dd4e34192484e203d755e5015da76a4774b11a79182b2baad36cab5a471346093111ace36a7775dfe8294555f8b777786dde386820b3ec5cd3
 DIST dovecot-2.3-pigeonhole-0.5.14.tar.gz 1910607 BLAKE2B 5c08214535d298ce2b8defd8c945e96597a98bda6493a3e27481fdadc0e149e6dd01c6ececaa583dd331614669bd8e033cd1b91d64d03a9e0cdcef67fa9c27b8 SHA512 c5d5d309769eabe2c0971646d0c14d166b6b524acf59e1069eca803f764544fa2535c09c9a630ca706aa70442b688ee26af831d29e674823bac7ea7c0e1f33cc
+DIST dovecot-2.3-pigeonhole-0.5.15.tar.gz 1935601 BLAKE2B e26405cc9a93681206e27c2b548e3409ae4444c1c011127b27eda364fec27d572dc01c7ea63688693bde10a8b4086bf67e14bb67e917d62db426d8871d6af0ec SHA512 521070080802bf2a50cd0ff0af5dc991c04d70b807abc2cd9aa567444a4869f5f42800f19d9b740a519bd4069437139e70ca6ae4b905479fcec8faa133ac5f54
 DIST dovecot-2.3.13.tar.gz 7456073 BLAKE2B 6cf3e7d9c6cf90279e0d72782cca88a11617f3f08e3c27da7948f46b8796575e42c776323cd56bc4208474831d4480afcac35ebe0b74d99db40acd4cda2279be SHA512 758a169fba8925637ed18fa7522a6f06c9fe01a1707b1ca0d0a4d8757c578a8e117c91733e8314403839f9a484bbcac71ce3532c82379eb583b480756d556a95
 DIST dovecot-2.3.14.1.tar.gz 7534719 BLAKE2B 1ba5143711fe340b9fad61db41ba658485e42be52f3b0f196eeb9b8e4b7c1b865b6a08f879dadeb2db3979b17be34699ce5febc4545887307f62bd5b72076f86 SHA512 b71b82c2918ac9940ef6bc274bc9c2b3e56a08cf5054244d80547ad89c421b9180c5afa8b5b140831239fbe2cbeeceb83a0052e037eb198d8fc27d07cba4ba35
 DIST dovecot-2.3.14.tar.gz 7483769 BLAKE2B bf2606ed64bef66fdeb165da65295031e692b7ba5186847c027adbd50093a9684b57eb724595c27838d91769e097ab2a82978ba845bf4e026dcfd78aa1372501 SHA512 69df234cb739c7ee7ae3acfb9756bc22481e94c95463d32bfac315c7ec4b1ba0dfbff552b769f2ab7ee554087ca2ebbe331aa008d3af26417016612dc7cad103
+DIST dovecot-2.3.15.tar.gz 7608561 BLAKE2B 85134064dbff0b4f50831a835fb6eafc92081d75d91ab331fa0ae79c453382a88485bad8c774491968b879478dc66841a9c6170e5931d562cf5eaa6af755440b SHA512 75bbdbeac663da109f78dba06c42bb5193e911c6b3c64f055fc4473ae9afaf0c8304c49fc7f06c5c6b61e67dd13dc21fbed6ff160a99f38f547c88ba05e6b03a

diff --git a/net-mail/dovecot/dovecot-2.3.15.ebuild b/net-mail/dovecot/dovecot-2.3.15.ebuild
new file mode 100644
index 00000000000..e249ee27c2d
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.15.ebuild
@@ -0,0 +1,301 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-1 lua5-3 )
+# do not add a ssl USE flag.  ssl is mandatory
+SSL_DEPS_SKIP=1
+inherit autotools lua-single ssl-cert systemd toolchain-funcs
+
+MY_P="${P/_/.}"
+#MY_S="${PN}-ce-${PV}"
+major_minor="$(ver_cut 1-2)"
+sieve_version="0.5.15"
+if [[ ${PV} == *_rc* ]]; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
+	sieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	)
+	managesieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	) "
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="https://www.dovecot.org/"
+
+SLOT="0"
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite"
+IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib zstd"
+IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 lucene managesieve rpc
+	selinux sieve solr static-libs suid systemd tcpd textcat unwind"
+
+IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+DEPEND="
+	dev-libs/icu:=
+	dev-libs/openssl:0=
+	virtual/libiconv
+	argon2? ( dev-libs/libsodium )
+	bzip2? ( app-arch/bzip2 )
+	caps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap )
+	lua? ( ${LUA_DEPS} )
+	lucene? ( >=dev-cpp/clucene-2.3 )
+	lz4? ( app-arch/lz4 )
+	lzma? ( app-arch/xz-utils )
+	mysql? ( dev-db/mysql-connector-c:0= )
+	pam? ( sys-libs/pam )
+	postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] )
+	rpc? ( net-libs/libtirpc net-libs/rpcsvc-proto )
+	selinux? ( sec-policy/selinux-dovecot )
+	solr? ( net-misc/curl dev-libs/expat )
+	sqlite? ( dev-db/sqlite:* )
+	suid? ( acct-group/mail )
+	systemd? ( sys-apps/systemd:= )
+	tcpd? ( sys-apps/tcp-wrappers )
+	textcat? ( app-text/libexttextcat )
+	unwind? ( sys-libs/libunwind )
+	zlib? ( sys-libs/zlib )
+	zstd? ( app-arch/zstd )
+	"
+
+RDEPEND="
+	${DEPEND}
+	acct-group/dovecot
+	acct-group/dovenull
+	acct-user/dovecot
+	acct-user/dovenull
+	net-mail/mailbase
+	"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}"-autoconf-lua-version-v2.patch
+	"${FILESDIR}/${PN}"-socket-name-too-long.patch
+)
+
+pkg_setup() {
+	use lua && lua-single_pkg_setup
+	if use managesieve && ! use sieve; then
+		ewarn "managesieve USE flag selected but sieve USE flag unselected"
+		ewarn "sieve USE flag will be turned on"
+	fi
+}
+
+src_prepare() {
+	default
+	# bug 657108
+	#elibtoolize
+	eautoreconf
+}
+
+src_configure() {
+	local conf=""
+
+	if use postgres || use mysql || use sqlite; then
+		conf="${conf} --with-sql"
+	fi
+
+	# turn valgrind tests off. Bug #340791
+	VALGRIND=no \
+	LUAPC="${ELUA}" \
+	systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+	econf \
+		--with-rundir="${EPREFIX}/run/dovecot" \
+		--with-statedir="${EPREFIX}/var/lib/dovecot" \
+		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
+		--without-stemmer \
+		--disable-rpath \
+		--without-libbsd \
+		--with-icu \
+		--with-ssl \
+		$( use_with argon2 sodium ) \
+		$( use_with bzip2 bzlib ) \
+		$( use_with caps libcap ) \
+		$( use_with kerberos gssapi ) \
+		$( use_with lua ) \
+		$( use_with ldap ) \
+		$( use_with lucene ) \
+		$( use_with lz4 ) \
+		$( use_with lzma ) \
+		$( use_with mysql ) \
+		$( use_with pam ) \
+		$( use_with postgres pgsql ) \
+		$( use_with sqlite ) \
+		$( use_with solr ) \
+		$( use_with systemd ) \
+		$( use_with tcpd libwrap ) \
+		$( use_with textcat ) \
+		$( use_with unwind libunwind ) \
+		$( use_with zlib ) \
+		$( use_with zstd ) \
+		$( use_enable static-libs static ) \
+		${conf}
+
+	if use sieve || use managesieve; then
+		# The sieve plugin needs this file to be build to determine the plugin
+		# directory and the list of libraries to link to.
+		emake dovecot-config
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		econf \
+			$( use_enable static-libs static ) \
+			--localstatedir="${EPREFIX}/var" \
+			--enable-shared \
+			--with-dovecot="${S}" \
+			$( use_with managesieve )
+	fi
+}
+
+src_compile() {
+	default
+	if use sieve || use managesieve; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+	fi
+}
+
+src_test() {
+	default
+	if use sieve || use managesieve; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		default
+	fi
+}
+
+src_install() {
+	default
+
+	# insecure:
+	# use suid && fperms u+s /usr/libexec/dovecot/deliver
+	# better:
+	if use suid; then
+		einfo "Changing perms to allow deliver to be suided"
+		fowners root:mail "/usr/libexec/dovecot/dovecot-lda"
+		fperms 4750 "/usr/libexec/dovecot/dovecot-lda"
+	fi
+
+	newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
+
+	rm -rf "${ED}"/usr/share/doc/dovecot
+
+	dodoc AUTHORS NEWS README TODO
+	dodoc doc/*.{txt,cnf,xml,sh}
+	docinto example-config
+	dodoc doc/example-config/*.{conf,ext}
+	docinto example-config/conf.d
+	dodoc doc/example-config/conf.d/*.{conf,ext}
+	docinto wiki
+	dodoc doc/wiki/*
+	doman doc/man/*.{1,7}
+
+	# Create the dovecot.conf file from the dovecot-example.conf file that
+	# the dovecot folks nicely left for us....
+	local conf="${ED}/etc/dovecot/dovecot.conf"
+	local confd="${ED}/etc/dovecot/conf.d"
+
+	insinto /etc/dovecot
+	doins doc/example-config/*.{conf,ext}
+	insinto /etc/dovecot/conf.d
+	doins doc/example-config/conf.d/*.{conf,ext}
+	fperms 0600 /etc/dovecot/dovecot-{ldap,sql}.conf.ext
+	rm -f "${confd}/../README"
+
+	# .maildir is the Gentoo default
+	local mail_location="maildir:~/.maildir"
+	sed -i -e \
+		"s|#mail_location =|mail_location = ${mail_location}|" \
+		"${confd}/10-mail.conf" \
+		|| die "failed to update mail location settings in 10-mail.conf"
+
+	# We're using pam files (imap and pop3) provided by mailbase
+	if use pam; then
+		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
+			"${confd}/auth-system.conf.ext" \
+			|| die "failed to update PAM settings in auth-system.conf.ext"
+		# mailbase does not provide a sieve pam file
+		use managesieve && dosym imap /etc/pam.d/sieve
+		sed -i -e \
+			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update PAM settings in 10-auth.conf"
+	fi
+
+	# Disable ipv6 if necessary
+	if ! use ipv6; then
+		sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \
+			|| die "failed to update listen settings in dovecot.conf"
+	fi
+
+	# Update ssl cert locations
+	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
+		|| die "ssl conf failed"
+	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
+		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
+		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
+
+	# Install SQL configuration
+	if use mysql || use postgres; then
+		sed -i -e \
+			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
+			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
+			10-auth.conf"
+	fi
+
+	# Install LDAP configuration
+	if use ldap; then
+		sed -i -e \
+			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update ldap settings in 10-auth.conf"
+	fi
+
+	if use sieve || use managesieve; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake DESTDIR="${ED}" install
+		sed -i -e \
+			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
+			|| die "failed to update sieve settings in 15-lda.conf"
+		rm -rf "${ED}"/usr/share/doc/dovecot
+		docinto example-config/conf.d
+		dodoc doc/example-config/conf.d/*.conf
+		insinto /etc/dovecot/conf.d
+		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
+		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
+		docinto sieve/rfc
+		dodoc doc/rfc/*.txt
+		docinto sieve/devel
+		dodoc doc/devel/DESIGN
+		docinto plugins
+		dodoc doc/plugins/*.txt
+		docinto extensions
+		dodoc doc/extensions/*.txt
+		docinto locations
+		dodoc doc/locations/*.txt
+		doman doc/man/*.{1,7}
+	fi
+
+	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
+}
+
+pkg_postinst() {
+	# Let's not make a new certificate if we already have one
+	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
+		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
+		einfo "Creating SSL	certificate"
+		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
+		install_cert /etc/ssl/dovecot/server
+	fi
+
+	elog "Please read https://doc.dovecot.org/installation_guide/upgrading/ for upgrade notes."
+}

diff --git a/net-mail/dovecot/files/dovecot-autoconf-lua-version-v2.patch b/net-mail/dovecot/files/dovecot-autoconf-lua-version-v2.patch
new file mode 100644
index 00000000000..7ba19a4c74a
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-autoconf-lua-version-v2.patch
@@ -0,0 +1,15 @@
+--- a/m4/want_lua.m4	2021-06-14 16:40:37.000000000 +0300
++++ b/m4/want_lua.m4	2021-06-22 10:24:39.036095013 +0300
+@@ -16,12 +16,10 @@
+     AS_IF([test -n "$LUA_CFLAGS" -o -n "$LUA_LIBS"], [
+       with_lua=yes
+     ], [
+-      for LUAPC in lua5.3 lua-5.3 lua53 lua5.1 lua-5.1 lua51 lua; do
+          PKG_CHECK_MODULES([LUA], [$LUAPC >= 5.1 $LUAPC != 5.2] , [
+            with_lua=yes
+          ], [LUAPC=""]) # otherwise pkg_check will fail
+          if test "x$LUA_LIBS" != "x"; then break; fi
+-       done
+     ])
+   ])
+ 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/
@ 2022-12-26  9:32 Eray Aslan
  0 siblings, 0 replies; 10+ messages in thread
From: Eray Aslan @ 2022-12-26  9:32 UTC (permalink / raw
  To: gentoo-commits

commit:     a4b8ad829b18e44c3ed18882804b56c9b38e58f1
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 26 09:32:10 2022 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Mon Dec 26 09:32:10 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4b8ad82

net-mail/dovecot: add openssl-3 support

Bug: https://bugs.gentoo.org/888083
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/dovecot-2.3.20-r1.ebuild      | 299 +++++++++++++++++++++++++
 net-mail/dovecot/files/dovecot-openssl-3.patch |  45 ++++
 2 files changed, 344 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.20-r1.ebuild b/net-mail/dovecot/dovecot-2.3.20-r1.ebuild
new file mode 100644
index 000000000000..5736f149f606
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.20-r1.ebuild
@@ -0,0 +1,299 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 lua5-3 )
+# do not add a ssl USE flag.  ssl is mandatory
+SSL_DEPS_SKIP=1
+inherit autotools flag-o-matic lua-single ssl-cert systemd toolchain-funcs
+
+MY_P="${P/_/.}"
+#MY_S="${PN}-ce-${PV}"
+major_minor="$(ver_cut 1-2)"
+sieve_version="0.5.20"
+if [[ ${PV} == *_rc* ]]; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz
+	sieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	)
+	managesieve? (
+	https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz
+	) "
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="https://www.dovecot.org/"
+
+SLOT="0"
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite"
+IUSE_DOVECOT_COMPRESS="lz4 zstd"
+IUSE_DOVECOT_OTHER="argon2 caps doc lucene managesieve rpc
+	selinux sieve solr static-libs stemmer suid systemd tcpd textcat unwind"
+
+IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+DEPEND="
+	app-arch/bzip2
+	app-arch/xz-utils
+	dev-libs/icu:=
+	dev-libs/openssl:0=
+	sys-libs/zlib:=
+	virtual/libiconv
+	argon2? ( dev-libs/libsodium:= )
+	caps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	ldap? ( net-nds/openldap:= )
+	lua? ( ${LUA_DEPS} )
+	lucene? ( >=dev-cpp/clucene-2.3 )
+	lz4? ( app-arch/lz4 )
+	mysql? ( dev-db/mysql-connector-c:0= )
+	pam? ( sys-libs/pam:= )
+	postgres? ( dev-db/postgresql:* )
+	rpc? ( net-libs/libtirpc:= net-libs/rpcsvc-proto )
+	selinux? ( sec-policy/selinux-dovecot )
+	solr? ( net-misc/curl dev-libs/expat )
+	sqlite? ( dev-db/sqlite:* )
+	stemmer? ( dev-libs/snowball-stemmer:= )
+	suid? ( acct-group/mail )
+	systemd? ( sys-apps/systemd:= )
+	tcpd? ( sys-apps/tcp-wrappers )
+	textcat? ( app-text/libexttextcat )
+	unwind? ( sys-libs/libunwind:= )
+	zstd? ( app-arch/zstd:= )
+	virtual/libcrypt:=
+	"
+
+RDEPEND="
+	${DEPEND}
+	acct-group/dovecot
+	acct-group/dovenull
+	acct-user/dovecot
+	acct-user/dovenull
+	net-mail/mailbase
+	"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}"-autoconf-lua-version-v2.patch
+	"${FILESDIR}/${PN}"-socket-name-too-long.patch
+	"${FILESDIR}/${PN}"-2.3.19.1-slibtool.patch # 782631
+	"${FILESDIR}"/CVE-2022-30550.patch
+	"${FILESDIR}/${PN}"-openssl-3.patch
+)
+
+pkg_setup() {
+	use lua && lua-single_pkg_setup
+	if use managesieve && ! use sieve; then
+		ewarn "managesieve USE flag selected but sieve USE flag unselected"
+		ewarn "sieve USE flag will be turned on"
+	fi
+}
+
+src_prepare() {
+	default
+	# bug 657108, 782631
+	#elibtoolize
+	eautoreconf
+
+	# Bug #727244
+	append-cflags -fasynchronous-unwind-tables
+}
+
+src_configure() {
+	local conf=""
+
+	if use postgres || use mysql || use sqlite; then
+		conf="${conf} --with-sql"
+	fi
+
+	# turn valgrind tests off. Bug #340791
+	VALGRIND=no \
+	LUAPC="${ELUA}" \
+	systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+	econf \
+		--with-rundir="${EPREFIX}/run/dovecot" \
+		--with-statedir="${EPREFIX}/var/lib/dovecot" \
+		--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
+		--disable-rpath \
+		--with-bzlib \
+		--without-libbsd \
+		--with-lzma \
+		--with-icu \
+		--with-ssl \
+		--with-zlib \
+		$( use_with argon2 sodium ) \
+		$( use_with caps libcap ) \
+		$( use_with kerberos gssapi ) \
+		$( use_with lua ) \
+		$( use_with ldap ) \
+		$( use_with lucene ) \
+		$( use_with lz4 ) \
+		$( use_with mysql ) \
+		$( use_with pam ) \
+		$( use_with postgres pgsql ) \
+		$( use_with sqlite ) \
+		$( use_with solr ) \
+		$( use_with stemmer ) \
+		$( use_with systemd ) \
+		$( use_with tcpd libwrap ) \
+		$( use_with textcat ) \
+		$( use_with unwind libunwind ) \
+		$( use_with zstd ) \
+		$( use_enable static-libs static ) \
+		${conf}
+
+	if use sieve || use managesieve; then
+		# The sieve plugin needs this file to be build to determine the plugin
+		# directory and the list of libraries to link to.
+		emake dovecot-config
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		econf \
+			$( use_enable static-libs static ) \
+			--localstatedir="${EPREFIX}/var" \
+			--enable-shared \
+			--with-dovecot="${S}" \
+			$( use_with ldap ) \
+			$( use_with managesieve )
+	fi
+}
+
+src_compile() {
+	default
+	if use sieve || use managesieve; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+	fi
+}
+
+src_test() {
+	default
+	if use sieve || use managesieve; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		default
+	fi
+}
+
+src_install() {
+	default
+
+	if use suid; then
+		einfo "Changing perms to allow deliver to be suided"
+		fowners root:mail "/usr/libexec/dovecot/dovecot-lda"
+		fperms 4750 "/usr/libexec/dovecot/dovecot-lda"
+	fi
+
+	newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
+
+	rm -rf "${ED}"/usr/share/doc/dovecot
+
+	dodoc AUTHORS NEWS README TODO
+	dodoc doc/*.{txt,cnf,xml,sh}
+	docinto example-config
+	dodoc doc/example-config/*.{conf,ext}
+	docinto example-config/conf.d
+	dodoc doc/example-config/conf.d/*.{conf,ext}
+	docinto wiki
+	dodoc doc/wiki/*
+	doman doc/man/*.{1,7}
+
+	# Create the dovecot.conf file from the dovecot-example.conf file that
+	# the dovecot folks nicely left for us....
+	local conf="${ED}/etc/dovecot/dovecot.conf"
+	local confd="${ED}/etc/dovecot/conf.d"
+
+	insinto /etc/dovecot
+	doins doc/example-config/*.{conf,ext}
+	insinto /etc/dovecot/conf.d
+	doins doc/example-config/conf.d/*.{conf,ext}
+	fperms 0600 /etc/dovecot/dovecot-{ldap,sql}.conf.ext
+	rm -f "${confd}/../README"
+
+	# .maildir is the Gentoo default
+	local mail_location="maildir:~/.maildir"
+	sed -i -e \
+		"s|#mail_location =|mail_location = ${mail_location}|" \
+		"${confd}/10-mail.conf" \
+		|| die "failed to update mail location settings in 10-mail.conf"
+
+	# We're using pam files (imap and pop3) provided by mailbase
+	if use pam; then
+		sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \
+			"${confd}/auth-system.conf.ext" \
+			|| die "failed to update PAM settings in auth-system.conf.ext"
+		# mailbase does not provide a sieve pam file
+		use managesieve && dosym imap /etc/pam.d/sieve
+		sed -i -e \
+			's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update PAM settings in 10-auth.conf"
+	fi
+
+	# Update ssl cert locations
+	sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \
+		|| die "ssl conf failed"
+	sed -i -e 's:^ssl_cert =.*:ssl_cert = </etc/ssl/dovecot/server.pem:' \
+		-e 's:^ssl_key =.*:ssl_key = </etc/ssl/dovecot/server.key:' \
+		"${confd}/10-ssl.conf" || die "failed to update SSL settings in 10-ssl.conf"
+
+	# Install SQL configuration
+	if use mysql || use postgres; then
+		sed -i -e \
+			's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/' \
+			"${confd}/10-auth.conf" || die "failed to update SQL settings in \
+			10-auth.conf"
+	fi
+
+	# Install LDAP configuration
+	if use ldap; then
+		sed -i -e \
+			's/#!include auth-ldap.conf.ext/!include auth-ldap.conf.ext/' \
+			"${confd}/10-auth.conf" \
+			|| die "failed to update ldap settings in 10-auth.conf"
+	fi
+
+	if use sieve || use managesieve; then
+		cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed"
+		emake DESTDIR="${ED}" install
+		sed -i -e \
+			's/^[[:space:]]*#mail_plugins = $mail_plugins/mail_plugins = sieve/' "${confd}/15-lda.conf" \
+			|| die "failed to update sieve settings in 15-lda.conf"
+		rm -rf "${ED}"/usr/share/doc/dovecot
+		docinto example-config/conf.d
+		dodoc doc/example-config/conf.d/*.conf
+		insinto /etc/dovecot/conf.d
+		doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
+		use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
+		docinto sieve/rfc
+		dodoc doc/rfc/*.txt
+		docinto sieve/devel
+		dodoc doc/devel/DESIGN
+		docinto plugins
+		dodoc doc/plugins/*.txt
+		docinto extensions
+		dodoc doc/extensions/*.txt
+		docinto locations
+		dodoc doc/locations/*.txt
+		doman doc/man/*.{1,7}
+	fi
+
+	use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
+}
+
+pkg_postinst() {
+	# Let's not make a new certificate if we already have one
+	if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
+		-e "${ROOT}"/etc/ssl/dovecot/server.key ]];	then
+		einfo "Creating SSL	certificate"
+		SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
+		install_cert /etc/ssl/dovecot/server
+	fi
+}

diff --git a/net-mail/dovecot/files/dovecot-openssl-3.patch b/net-mail/dovecot/files/dovecot-openssl-3.patch
new file mode 100644
index 000000000000..8f39a7ddfe21
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-openssl-3.patch
@@ -0,0 +1,45 @@
+From: =?utf-8?q?Christian_G=C3=B6ttsche?= <cgzones@googlemail.com>
+Date: Wed, 11 May 2022 20:27:53 +0200
+Author: Michal Hlavinka
+Origin: https://bugzilla.redhat.com/show_bug.cgi?id=1962035
+Subject: Support openssl 3.0
+
+---
+ src/lib-dcrypt/dcrypt-openssl.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/src/lib-dcrypt/dcrypt-openssl.c b/src/lib-dcrypt/dcrypt-openssl.c
+index 1cbe352..5570d62 100644
+--- a/src/lib-dcrypt/dcrypt-openssl.c
++++ b/src/lib-dcrypt/dcrypt-openssl.c
+@@ -73,10 +73,30 @@
+   2<tab>key algo oid<tab>1<tab>symmetric algo name<tab>salt<tab>hash algo<tab>rounds<tab>E(RSA = i2d_PrivateKey, EC=Private Point)<tab>key id
+ **/
+ 
++#if OPENSSL_VERSION_MAJOR == 3
++static EC_KEY *EVP_PKEY_get0_EC_KEYv3(EVP_PKEY *key)
++{
++  EC_KEY *eck = EVP_PKEY_get1_EC_KEY(key);
++  EVP_PKEY_set1_EC_KEY(key, eck);
++  EC_KEY_free(eck);
++  return eck;
++}
++
++static EC_KEY *EVP_PKEY_get1_EC_KEYv3(EVP_PKEY *key)
++{
++  EC_KEY *eck = EVP_PKEY_get1_EC_KEY(key);
++  EVP_PKEY_set1_EC_KEY(key, eck);
++  return eck;
++}
++
++#define EVP_PKEY_get0_EC_KEY EVP_PKEY_get0_EC_KEYv3 
++#define EVP_PKEY_get1_EC_KEY EVP_PKEY_get1_EC_KEYv3
++#else
+ #ifndef HAVE_EVP_PKEY_get0
+ #define EVP_PKEY_get0_EC_KEY(x) x->pkey.ec
+ #define EVP_PKEY_get0_RSA(x) x->pkey.rsa
+ #endif
++#endif
+ 
+ #ifndef HAVE_OBJ_LENGTH
+ #define OBJ_length(o) ((o)->length)


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-12-26  9:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-01  1:18 [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/, net-mail/dovecot/files/ Thomas Deutschmann
  -- strict thread matches above, loose matches on Subject: below --
2022-12-26  9:32 Eray Aslan
2021-06-22 11:46 Eray Aslan
2021-02-05 21:09 Sam James
2021-01-05  9:35 Eray Aslan
2020-11-23 11:41 Eray Aslan
2020-09-05 23:45 Thomas Deutschmann
2019-08-29  5:39 Eray Aslan
2018-10-05 11:08 Eray Aslan
2015-11-24 15:50 Eray Aslan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox