public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/
@ 2018-01-25 15:20 Thomas Deutschmann
  0 siblings, 0 replies; 16+ messages in thread
From: Thomas Deutschmann @ 2018-01-25 15:20 UTC (permalink / raw
  To: gentoo-commits

commit:     77ef1e767f97fa8377c4e2467082bacbb303d333
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 25 15:19:25 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Jan 25 15:19:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77ef1e76

net-mail/dovecot: bump, fixes CVE-2017-15132

Bug: https://bugs.gentoo.org/644214
Package-Manager: Portage-2.3.20, Repoman-2.3.6
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild        | 291 +++++++++++++++++++++
 net-mail/dovecot/dovecot-2.3.0-r2.ebuild           | 286 ++++++++++++++++++++
 .../files/dovecot-2.2.33.2-CVE-2017-15132.patch    |  14 +
 3 files changed, 591 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild b/net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild
new file mode 100644
index 00000000000..c45f29c7a8b
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild
@@ -0,0 +1,291 @@
+# 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_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-r2.ebuild b/net-mail/dovecot/dovecot-2.3.0-r2.ebuild
new file mode 100644
index 00000000000..bac241d30ca
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.0-r2.ebuild
@@ -0,0 +1,286 @@
+# 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 )
+
+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.patch b/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132.patch
new file mode 100644
index 00000000000..3f87e71b559
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132.patch
@@ -0,0 +1,14 @@
+CVE-2017-15132: dovecot: auth client leaks memory if SASL authentication is aborted.
+
+https://github.com/dovecot/core/commit/1a29ed2f96da1be22fa5a4d96c7583aa81b8b060
+
+--- a/src/lib-auth/auth-client-request.c
++++ b/src/lib-auth/auth-client-request.c
+@@ -186,6 +186,7 @@ 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);
++	pool_unref(&request->pool);
+ }
+ 
+ unsigned int auth_client_request_get_id(struct auth_client_request *request)


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

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/
@ 2018-03-29  7:59 Eray Aslan
  0 siblings, 0 replies; 16+ messages in thread
From: Eray Aslan @ 2018-03-29  7:59 UTC (permalink / raw
  To: gentoo-commits

commit:     ec87b2a77224e22ec814636658e7e0c26c526e36
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 29 07:59:40 2018 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Thu Mar 29 07:59:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec87b2a7

net-mail/dovecot: remove old

Package-Manager: Portage-2.3.26, Repoman-2.3.7

 net-mail/dovecot/Manifest                          |   3 -
 net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild        | 291 --------------------
 net-mail/dovecot/dovecot-2.2.33.2-r2.ebuild        | 292 ---------------------
 net-mail/dovecot/dovecot-2.2.33.2.ebuild           | 290 --------------------
 net-mail/dovecot/dovecot-2.3.0-r1.ebuild           | 284 --------------------
 net-mail/dovecot/dovecot-2.3.0-r2.ebuild           | 286 --------------------
 net-mail/dovecot/dovecot-2.3.0-r3.ebuild           | 289 --------------------
 net-mail/dovecot/dovecot-2.3.0.ebuild              | 284 --------------------
 .../dovecot-2.2.33.2-CVE-2017-15132-fixup.patch    |  37 ---
 .../files/dovecot-2.2.33.2-CVE-2017-15132.patch    |  14 -
 10 files changed, 2070 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 80c6c3f4b79..7ccfc0af69a 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -6,12 +6,9 @@ DIST dovecot-2.2-pigeonhole-0.4.9.tar.gz 1577127 BLAKE2B 7e6f11bf74d56887b640ab5
 DIST dovecot-2.2.19.tar.gz 5256627 BLAKE2B 0b7fe57ced1b1f7eb5e29e8d6723d237cc107752286995d8e5f6857f24b45ab40c4a38b03935b228e8530c3b254509124a7b6ce4e0a8a9be0ea87f0c529db935 SHA512 1b9d605a6a5862ade9d1ca634a9e0171b7c212ab025fc2059051c3795470685b66516fa9fbe5ad91d84388268ea15795f2dcd70ffdf81736ce4d80fd284835e9
 DIST dovecot-2.2.29.1.tar.gz 5972119 BLAKE2B 9b05e9976369757de07471c2e499a863efbd94b51d8aefdeb2144c01596f03f9ea02670ee9cac9590615e4139dc754c11eb4777d791f87a2e6031302155d9f05 SHA512 1e5ea6080ebe7dd4afe6fcfe8e98ed6d2ad2735655a18cc96e439dd044ccc3a1a6a80428bc746b4d6250820895d6a62121562e97e4b46c8b1cf88a19443bc111
 DIST dovecot-2.2.32.tar.gz 6100268 BLAKE2B e7d79f81fe06565d254c46de5cd7f4565883a029f4fa409d9f3c6ff75d599fb3f1ce5f8a32b96b9bebe4654de2be4998d0e178f1784e00d246186727324c6e80 SHA512 a26ce763fdea7d72ff9801d3b7d57a1f0d00278e4a1aa60d1be070fe5a6d2c6a15f266a519119492bee7a3e7a6b7d0732e9879e5c5841adbab8c0952cd1b7c7c
-DIST dovecot-2.2.33.2.tar.gz 6131086 BLAKE2B 5bfa9f52e7263e778b717d52f540682574e4bbcb04fc003e78b9ce94562d092f1c5360f835ee8cea912afbed7351be9f06dd321df3f7893d27544ede00c682ca SHA512 028910a4d02b1630f1ada4d1c45fcc3ea2057969db7078a78d46e2a578b4dceaf8be0ac8de4a613b4890019e721871f2d366ec651db658da4cc72977d3e09931
 DIST dovecot-2.2.34.tar.gz 6181270 BLAKE2B dfdb1e6812574e79595202e830167400569adf61155aa5ddaae443e798c4a05ccec2acd2975e00e9e7ffc63ee1dcf7e4e2a9288b1e6e1e1427d1e89790a8fa13 SHA512 9f08a7116a08a08495aa0e7b4cb6b11a924ea61006970487946e338bc79bba7fd7619c345cbf278a74de285d548af04fc66eaaee508185b8b9d7335cf5612055
 DIST dovecot-2.2.35.tar.gz 6185237 BLAKE2B 7ad08816553683126c4c8d494770730c49c2912a5437ba6dcb21e418d636c0d03280425e8a55b420a4500ebcf459da8be11deffccefdbc60811393e2044a4e4d SHA512 002ceea7f17018bcd438edda5a36a782606f291264ef63cebb8b4f72b094e812bf5553686c9e1e0d8c1354af54c1174f3670d1b1fc498ec4cddb3f731bf00c56
 DIST dovecot-2.3-pigeonhole-0.5.0.1.tar.gz 1783039 BLAKE2B 8452c11d1c5f26d2ee9a0c54a2c30642bce5117f1ad140db8a8509a2bcc03236361a99c6f622267279eb75c19c68de7d96947557b595c345db34e34a135b492c SHA512 60016145caa444eeba13b49735f87ab2ebe7f178f104ad57283b5aa7e5119920d9f579032b775547e0866e86045a4ab653fd084068187d0cbe2e088cc15fc288
-DIST dovecot-2.3-pigeonhole-0.5.0.tar.gz 1782375 BLAKE2B ecbf20ec3a12d72d6040d4d4fffc63e44dd80c28d3b5ad62a97bfefffc0d3063114cd46cacfd1e24f1000829f28d457d3b68773cdecf151ef20e5e0ccb899c3b SHA512 c338a94ff5db1cc34cac10da2854cd2905567addf5e40f36fe24958abeae1ae9900461f0aeda4f2133eecb2762005c0d6414a109538a1da7aabdd7a4a8eeb127
 DIST dovecot-2.3-pigeonhole-0.5.1.tar.gz 1792702 BLAKE2B 219bc6b3182e303b7f3784cca0fb7fcc9d9aae62e60cc490d7f0a94fa4f9b805933d9fd67c4927cd8f9c864c3b73e28bfde1866848960c71dc47d5e36196b748 SHA512 5d65c3c9f3131c4e82287d054bd8b963d7c56c3e0677d7384881cf109ca82080d6222f672d8f973447d98be823a4df5bf43760d4ba87b76447d13abab30130c4
 DIST dovecot-2.3.0.1.tar.gz 6499984 BLAKE2B 4bfb38ba8bed154e58db03c53c0a6958632841fd66a118571c341be90f9d20a570a22699d4b8d117b72d4599fe074248c96cf4e7fc78ddd65c69662b4275cf97 SHA512 2b30c46c1660f425f6303a15cf638388439fd7a8065c91d28caf41d9a6403a4fccb530df3f69037a634bc3b0b9e498037da6b0b93c176f5e3b5808907d3f759d
-DIST dovecot-2.3.0.tar.gz 6635541 BLAKE2B 3c76ccc0fac19511c9852aabd5d86c2fb815893b983b8bdf74a48c4c9040efe95fceff49189d6ed7eb4b1c2cbc47472630a367891950690feec68190d518a565 SHA512 8d8591e371ba2ebf8d3c1561af49b970d8351c4acdde8a97ff0ab403bf4cad6e4d96e9556c9be747a85085552449cab4c52bb41bda36e1a822594ec87661ce7f
 DIST dovecot-2.3.1.tar.gz 6703089 BLAKE2B a9a021531241f86083cd5bf31f7b9211df77b2423ad213ca35904e23002121631e81a6419e3b07a838eb699faff615dcb35f3b95a1da537f74068b3c15795b35 SHA512 fe664ab771145f2390fef45839ff2756e36731c61e571dfa6975014f9cea43144e2aca0acf1a83b1dac55ad50042d0fa170b83570aa411228557861ada410b79

diff --git a/net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild b/net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild
deleted file mode 100644
index 219b6c0ea43..00000000000
--- a/net-mail/dovecot/dovecot-2.2.33.2-r1.ebuild
+++ /dev/null
@@ -1,291 +0,0 @@
-# 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="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 +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_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.2.33.2-r2.ebuild b/net-mail/dovecot/dovecot-2.2.33.2-r2.ebuild
deleted file mode 100644
index 41930e54e70..00000000000
--- a/net-mail/dovecot/dovecot-2.2.33.2-r2.ebuild
+++ /dev/null
@@ -1,292 +0,0 @@
-# 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="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 +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.2.33.2.ebuild b/net-mail/dovecot/dovecot-2.2.33.2.ebuild
deleted file mode 100644
index d1e1ba9d72b..00000000000
--- a/net-mail/dovecot/dovecot-2.2.33.2.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# 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="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 +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_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-r1.ebuild b/net-mail/dovecot/dovecot-2.3.0-r1.ebuild
deleted file mode 100644
index 1cf1fe5683d..00000000000
--- a/net-mail/dovecot/dovecot-2.3.0-r1.ebuild
+++ /dev/null
@@ -1,284 +0,0 @@
-# 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="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 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"
-
-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/dovecot-2.3.0-r2.ebuild b/net-mail/dovecot/dovecot-2.3.0-r2.ebuild
deleted file mode 100644
index ed1c2326a5b..00000000000
--- a/net-mail/dovecot/dovecot-2.3.0-r2.ebuild
+++ /dev/null
@@ -1,286 +0,0 @@
-# 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="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 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 )
-
-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/dovecot-2.3.0-r3.ebuild b/net-mail/dovecot/dovecot-2.3.0-r3.ebuild
deleted file mode 100644
index 593750f50a3..00000000000
--- a/net-mail/dovecot/dovecot-2.3.0-r3.ebuild
+++ /dev/null
@@ -1,289 +0,0 @@
-# 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="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 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/dovecot-2.3.0.ebuild b/net-mail/dovecot/dovecot-2.3.0.ebuild
deleted file mode 100644
index 45f5afddc38..00000000000
--- a/net-mail/dovecot/dovecot-2.3.0.ebuild
+++ /dev/null
@@ -1,284 +0,0 @@
-# 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"
-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 ~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"
-
-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
deleted file mode 100644
index c30acf1fd6e..00000000000
--- a/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132-fixup.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-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

diff --git a/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132.patch b/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132.patch
deleted file mode 100644
index 3f87e71b559..00000000000
--- a/net-mail/dovecot/files/dovecot-2.2.33.2-CVE-2017-15132.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-CVE-2017-15132: dovecot: auth client leaks memory if SASL authentication is aborted.
-
-https://github.com/dovecot/core/commit/1a29ed2f96da1be22fa5a4d96c7583aa81b8b060
-
---- a/src/lib-auth/auth-client-request.c
-+++ b/src/lib-auth/auth-client-request.c
-@@ -186,6 +186,7 @@ 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);
-+	pool_unref(&request->pool);
- }
- 
- unsigned int auth_client_request_get_id(struct auth_client_request *request)


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

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/
@ 2018-07-13 18:23 Eray Aslan
  0 siblings, 0 replies; 16+ messages in thread
From: Eray Aslan @ 2018-07-13 18:23 UTC (permalink / raw
  To: gentoo-commits

commit:     ef3aee60487abb80ac1af77ee96378a632575ea5
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 13 18:23:14 2018 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Fri Jul 13 18:23:14 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef3aee60

net-mail/dovecot: bump to 2.3.2.1

fix compiling with glibc >= 2.26

Closes: https://bugs.gentoo.org/660838
Closes: https://bugs.gentoo.org/657108
Closes: https://bugs.gentoo.org/643952
Package-Manager: Portage-2.3.42, Repoman-2.3.9

 net-mail/dovecot/Manifest                     |   2 +
 net-mail/dovecot/dovecot-2.3.2.1.ebuild       | 291 ++++++++++++++++++++++++++
 net-mail/dovecot/files/dovecot-glibc226.patch |  84 ++++++++
 3 files changed, 377 insertions(+)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index a6a5eb9456e..b57eeca86ee 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -12,5 +12,7 @@ DIST dovecot-2.2.35.tar.gz 6185237 BLAKE2B 7ad08816553683126c4c8d494770730c49c29
 DIST dovecot-2.2.36.tar.gz 6239707 BLAKE2B 702bb24265b5fefec9c484b3cca890fb1536ff94d1f2d6c99ee8c294ee4e38091eef5a727f0d4bd03700263286361f55747a22fa74def350710f9e49a4b10580 SHA512 327c50971e276f6013ca7f7bb59498ee88d76c9f8419bd18ee531cf10142214350fb81c6d64eaef73ee01765dd0fcf4142ab146ed67d9d7d86d5a58d41cf8db5
 DIST dovecot-2.3-pigeonhole-0.5.0.1.tar.gz 1783039 BLAKE2B 8452c11d1c5f26d2ee9a0c54a2c30642bce5117f1ad140db8a8509a2bcc03236361a99c6f622267279eb75c19c68de7d96947557b595c345db34e34a135b492c SHA512 60016145caa444eeba13b49735f87ab2ebe7f178f104ad57283b5aa7e5119920d9f579032b775547e0866e86045a4ab653fd084068187d0cbe2e088cc15fc288
 DIST dovecot-2.3-pigeonhole-0.5.1.tar.gz 1792702 BLAKE2B 219bc6b3182e303b7f3784cca0fb7fcc9d9aae62e60cc490d7f0a94fa4f9b805933d9fd67c4927cd8f9c864c3b73e28bfde1866848960c71dc47d5e36196b748 SHA512 5d65c3c9f3131c4e82287d054bd8b963d7c56c3e0677d7384881cf109ca82080d6222f672d8f973447d98be823a4df5bf43760d4ba87b76447d13abab30130c4
+DIST dovecot-2.3-pigeonhole-0.5.2.tar.gz 1814618 BLAKE2B b1187021673429bee1b45a1f657bea995e9881257919ff55bac63106d65963294ee2b3829167c6d50e351c4bc3c7e88a5ccfb757308d2500c5d4146246145074 SHA512 6bc24d9241f94db795a012346d9bc94b5cc7d7ce0175c03213c2b5d179d80dec95e9bdbd50bed628c8f9f7c51639e692ba5e429212a3b4a654c1e4764ac4f11c
 DIST dovecot-2.3.0.1.tar.gz 6499984 BLAKE2B 4bfb38ba8bed154e58db03c53c0a6958632841fd66a118571c341be90f9d20a570a22699d4b8d117b72d4599fe074248c96cf4e7fc78ddd65c69662b4275cf97 SHA512 2b30c46c1660f425f6303a15cf638388439fd7a8065c91d28caf41d9a6403a4fccb530df3f69037a634bc3b0b9e498037da6b0b93c176f5e3b5808907d3f759d
 DIST dovecot-2.3.1.tar.gz 6703089 BLAKE2B a9a021531241f86083cd5bf31f7b9211df77b2423ad213ca35904e23002121631e81a6419e3b07a838eb699faff615dcb35f3b95a1da537f74068b3c15795b35 SHA512 fe664ab771145f2390fef45839ff2756e36731c61e571dfa6975014f9cea43144e2aca0acf1a83b1dac55ad50042d0fa170b83570aa411228557861ada410b79
+DIST dovecot-2.3.2.1.tar.gz 6797491 BLAKE2B 92b88fd0f0cb8ed6c418bf27c2e1fc4efe13f1ccfb4948ce5eed1a4e76a4e96f0d6770d9841026ec5a515310ebaa4b335063e3516de454db8ba06cc4ee5a00ec SHA512 c085a0d04925485423086736a3c7d919ad0ca9efeff005890382da5333edb68c7d23ccb89fbe2ac44f8f016fc993bf2c669e450794c3ab13463676cbb47c7bf7

diff --git a/net-mail/dovecot/dovecot-2.3.2.1.ebuild b/net-mail/dovecot/dovecot-2.3.2.1.ebuild
new file mode 100644
index 00000000000..49bdb7f9429
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.2.1.ebuild
@@ -0,0 +1,291 @@
+# 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 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.2"
+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}-glibc226.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-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-glibc226.patch b/net-mail/dovecot/files/dovecot-glibc226.patch
new file mode 100644
index 00000000000..adf1dd99aac
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-glibc226.patch
@@ -0,0 +1,84 @@
+From 9a58361b08e1858e3bc7ea93934b7613261da476 Mon Sep 17 00:00:00 2001
+From: Timo Sirainen <timo.sirainen@dovecot.fi>
+Date: Mon, 9 Jul 2018 11:33:23 +0300
+Subject: [PATCH] m4: Enable rquota only if rpc/rpc.h exists
+
+It's been removed in glibc 2.26
+---
+ m4/quota.m4 | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/m4/quota.m4 b/m4/quota.m4
+index 5840e3af89..0695b1e021 100644
+--- a/m4/quota.m4
++++ b/m4/quota.m4
+@@ -7,8 +7,10 @@ AC_DEFUN([DOVECOT_RPCGEN], [
+   
+   have_rquota=no
+   if test -f /usr/include/rpcsvc/rquota.x && test -n "$RPCGEN"; then
+-    AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
+-    have_rquota=yes
++    AC_CHECK_HEADER([rpc/rpc.h], [
++      AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
++      have_rquota=yes
++    ])
+   fi
+   AM_CONDITIONAL(HAVE_RQUOTA, test "$have_rquota" = "yes")
+ ])
+From 5803ae4bbd420def0072e1660ea7061c0e5dbcb9 Mon Sep 17 00:00:00 2001
+From: Timo Sirainen <timo.sirainen@dovecot.fi>
+Date: Mon, 9 Jul 2018 11:39:59 +0300
+Subject: [PATCH] m4, quota: Support rquota using libtirpc
+
+---
+ m4/quota.m4                   | 13 ++++++++++---
+ src/plugins/quota/Makefile.am |  3 ++-
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/m4/quota.m4 b/m4/quota.m4
+index 0695b1e021..d75af447e1 100644
+--- a/m4/quota.m4
++++ b/m4/quota.m4
+@@ -7,18 +7,25 @@ AC_DEFUN([DOVECOT_RPCGEN], [
+   
+   have_rquota=no
+   if test -f /usr/include/rpcsvc/rquota.x && test -n "$RPCGEN"; then
+-    AC_CHECK_HEADER([rpc/rpc.h], [
+-      AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
++    PKG_CHECK_MODULES(LIBTIRPC, libtirpc, [
+       have_rquota=yes
++      QUOTA_LIBS="$QUOTA_LIBS \$(LIBTIRPC_LIBS)"
++    ], [
++      AC_CHECK_HEADER([rpc/rpc.h], [
++	have_rquota=yes
++      ])
+     ])
+   fi
++  if test "$have_rquota" = yes; then
++    AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
++  fi
+   AM_CONDITIONAL(HAVE_RQUOTA, test "$have_rquota" = "yes")
+ ])
+ 
+ AC_DEFUN([DOVECOT_QUOTA], [
+   AC_SEARCH_LIBS(quota_open, quota, [
+     AC_DEFINE(HAVE_QUOTA_OPEN,, [Define if you have quota_open()])
+-    QUOTA_LIBS="-lquota"
++    QUOTA_LIBS="$QUOTA_LIBS -lquota"
+   ])
+   AC_SUBST(QUOTA_LIBS)
+ ])
+diff --git a/src/plugins/quota/Makefile.am b/src/plugins/quota/Makefile.am
+index f220d4f075..ffebc67404 100644
+--- a/src/plugins/quota/Makefile.am
++++ b/src/plugins/quota/Makefile.am
+@@ -19,7 +19,8 @@ AM_CPPFLAGS = \
+ 	-I$(top_srcdir)/src/lib-storage/index/imapc \
+ 	-I$(top_srcdir)/src/lib-storage/index/maildir \
+ 	-I$(top_srcdir)/src/lib-program-client \
+-	-I$(top_srcdir)/src/doveadm
++	-I$(top_srcdir)/src/doveadm \
++	$(LIBTIRPC_CFLAGS)
+ 
+ NOPLUGIN_LDFLAGS =
+ lib10_doveadm_quota_plugin_la_LDFLAGS = -module -avoid-version


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

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

commit:     5261930a4d34c3cd4fdf31fc319e423958a875cc
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 11 10:56:52 2018 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Thu Oct 11 10:56:52 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5261930a

net-mail/dovecot: fix userdb-passwd errno

In https://bugs.gentoo.org/667118 Reuben Farrelly
noticed that running
    # doveadm user '*'
causes auth daemon to generate errors like:
    auth-worker(3585): Error: getpwent() failed: Invalid argument

This happens because on successful call getpwent()
now sets errno=EINVAL starting from glibc-2.28.
See https://sourceware.org/PR16004 for details.

The fix is to check 'errno' only when 'getpwent()' fails.

Reported-by: Reuben Farrelly
Bug: https://bugs.gentoo.org/667118
Bug: https://sourceware.org/PR16004
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 net-mail/dovecot/dovecot-2.3.3-r1.ebuild           | 294 +++++++++++++++++++++
 .../dovecot/files/dovecot-userdb-passwd-fix.patch  |  18 ++
 2 files changed, 312 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.3-r1.ebuild b/net-mail/dovecot/dovecot-2.3.3-r1.ebuild
new file mode 100644
index 00000000000..120949b5d43
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.3-r1.ebuild
@@ -0,0 +1,294 @@
+# 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"
+	"${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
+	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-userdb-passwd-fix.patch b/net-mail/dovecot/files/dovecot-userdb-passwd-fix.patch
new file mode 100644
index 00000000000..d5bff016394
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-userdb-passwd-fix.patch
@@ -0,0 +1,18 @@
+diff --git a/src/auth/userdb-passwd.c b/src/auth/userdb-passwd.c
+index 03cbd554ff..699db314ce 100644
+--- a/src/auth/userdb-passwd.c
++++ b/src/auth/userdb-passwd.c
+@@ -172,8 +172,11 @@ static void passwd_iterate_next(struct userdb_iterate_context *_ctx)
+ 		return;
+ 	}
+ 
+-	errno = 0;
+-	while ((pw = getpwent()) != NULL) {
++	for (;;) {
++		errno = 0;
++		pw = getpwent();
++		if (pw == NULL)
++			break;
+ 		if (passwd_iterate_want_pw(pw, set)) {
+ 			_ctx->callback(pw->pw_name, _ctx->context);
+ 			return;


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

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

commit:     9c0e4ef0762d8b1394a8d74b945b40defa34169d
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 26 12:02:38 2018 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Mon Nov 26 12:02:38 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c0e4ef0

net-mail/dovecot: bump to 2.3.4

and better error handling at init script
Closes: https://github.com/gentoo/gentoo/pull/10472
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/Manifest              |   2 +
 net-mail/dovecot/dovecot-2.3.4.ebuild  | 293 +++++++++++++++++++++++++++++++++
 net-mail/dovecot/files/dovecot.init-r6 |  62 +++++++
 3 files changed, 357 insertions(+)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 1a99069f813..9357b9d649e 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -6,5 +6,7 @@ DIST dovecot-2.2.34.tar.gz 6181270 BLAKE2B dfdb1e6812574e79595202e830167400569ad
 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-pigeonhole-0.5.4.tar.gz 1831570 BLAKE2B d3e7dea3cdcc2b44476401046f6bd6a110a026d523ada2a898b5c99f509cfe37771dcfd31990139f5f4c1c6b405a9f27359cfd27a6e95525515a3aabb71538f8 SHA512 9c82cce7540f8ab66e2e370e0220c99048d6ac53ed680cd763e0b03d0200e2451cee4303ef97b87a16e7248e1c73b92ba91b47a2a20c75cb2cd62695a28046f3
 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
+DIST dovecot-2.3.4.tar.gz 6924178 BLAKE2B 13e52a1b04036d58e68d762c9330dd5efedbf2421d658a8b657ca59e311b899a9b4a84fd754678ee67cd5b60f47b5a5ccd6a3fa08fafca7413c8b1e6ecd2fb51 SHA512 9e97eb08c319c417e8abcb430b3e6c87ed5aa820d6288656fdfd958ff34664f67202a66e4846763bfc85b309b116cea8012e49dab98b478c57974cc178a37a5a

diff --git a/net-mail/dovecot/dovecot-2.3.4.ebuild b/net-mail/dovecot/dovecot-2.3.4.ebuild
new file mode 100644
index 00000000000..3a9711794cd
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.4.ebuild
@@ -0,0 +1,293 @@
+# 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.4"
+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}-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
+	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.init-r6 b/net-mail/dovecot/files/dovecot.init-r6
new file mode 100755
index 00000000000..ad096bff750
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot.init-r6
@@ -0,0 +1,62 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_commands="checkconfig"
+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)
+		if [ $? -ne 0 ]; then
+			eerror "Error parsing ${DOVECOT_CONF}"
+			return 1
+		fi
+	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] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/
@ 2019-04-19  6:35 Eray Aslan
  0 siblings, 0 replies; 16+ messages in thread
From: Eray Aslan @ 2019-04-19  6:35 UTC (permalink / raw
  To: gentoo-commits

commit:     1ba3595677c18c85de07f29828ee4af7b0a51f5a
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 19 06:12:31 2019 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 06:12:31 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ba35956

net-mail/dovecot: remove vulnerable

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

 net-mail/dovecot/Manifest                     |   2 -
 net-mail/dovecot/dovecot-2.2.19.ebuild        | 305 --------------------------
 net-mail/dovecot/files/dovecot-10-ssl.patch   |  15 --
 net-mail/dovecot/files/dovecot-glibc226.patch |  84 -------
 net-mail/dovecot/files/dovecot-glibc228.patch |  44 ----
 net-mail/dovecot/files/dovecot.init-r4        |  57 -----
 net-mail/dovecot/files/dovecot.init-r5        |  57 -----
 net-mail/dovecot/metadata.xml                 |   5 -
 8 files changed, 569 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 59eff380a2d..e4203c9149d 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,4 +1,2 @@
-DIST dovecot-2.2-pigeonhole-0.4.9.tar.gz 1577127 BLAKE2B 7e6f11bf74d56887b640ab5ebffd6e2ad7878d47da808f81b2f21ab4de02495f6ca79453ab5867568afee7f2d9a0915601ceccf5c6a9581d38994c4d35f692e7 SHA512 9e7a18b43d59ed955b142d16696ca221822a547ea59ac70c1bb374eedb28b6ed99ea49f34ead1f9a16ded4573605e410a5cc8e038e1bdf5f943a65588b5d3af2
-DIST dovecot-2.2.19.tar.gz 5256627 BLAKE2B 0b7fe57ced1b1f7eb5e29e8d6723d237cc107752286995d8e5f6857f24b45ab40c4a38b03935b228e8530c3b254509124a7b6ce4e0a8a9be0ea87f0c529db935 SHA512 1b9d605a6a5862ade9d1ca634a9e0171b7c212ab025fc2059051c3795470685b66516fa9fbe5ad91d84388268ea15795f2dcd70ffdf81736ce4d80fd284835e9
 DIST dovecot-2.3-pigeonhole-0.5.5.tar.gz 1847487 BLAKE2B 9574388566778a4011ce6546021675ed9e07ba0d874dc4163e4cea10096f3bb8a434f198c3bb446b628ee18402afe94bd90b7123b3cf4d47e4095ddad12d9bfc SHA512 21519fc9b1152a947b64ce4251e1a4bdbe003b48233b1856a32696f9c1e29f730268c56eb38f9431bbfac345e6cd42e8c78c87d0702f39ebf20c6d326dcdbb94
 DIST dovecot-2.3.5.1.tar.gz 6953150 BLAKE2B 04484325e7b87f78c0aa6e3c769bc921e9dc62562cd8705b99166b7291b794f434b088dcf6512bc21c96d8937475cafa4d49c6ac611cb07f74a0d20e15e185c7 SHA512 e87754461fb0b065acd0ff10dc955000a2fe5baffed69efaf328ce9268f90140e9de444bc68e0bd48b565c7622885a79b1f90ff3dd2335c0c2362d05d9e73e8a

diff --git a/net-mail/dovecot/dovecot-2.2.19.ebuild b/net-mail/dovecot/dovecot-2.2.19.ebuild
deleted file mode 100644
index 0ce65014c0c..00000000000
--- a/net-mail/dovecot/dovecot-2.2.19.ebuild
+++ /dev/null
@@ -1,305 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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.9"
-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="~sh"
-
-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" \
-		--runstatedir="${EPREFIX}/run" \
-		--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/dovecot-10-ssl.patch b/net-mail/dovecot/files/dovecot-10-ssl.patch
deleted file mode 100644
index 8173bacc0bc..00000000000
--- a/net-mail/dovecot/files/dovecot-10-ssl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- doc/example-config/conf.d/10-ssl.conf	2014-12-08 07:58:21.000000000 +0000
-+++ doc/example-config/conf.d/10-ssl.conf	2014-12-08 08:02:19.000000000 +0000
-@@ -49,6 +49,12 @@
- #ssl_protocols = !SSLv2
- 
- # SSL ciphers to use
-+# ###############
-+# Added by Gentoo
-+# You are encouraged to change the cipher list to
-+#ssl_cipher_list = DEFAULT:!EXPORT:!LOW:!MEDIUM:!MD5
-+# if you are not required to support legacy mail clients.
-+# ###############
- #ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
- 
- # Prefer the server's order of ciphers over client's.

diff --git a/net-mail/dovecot/files/dovecot-glibc226.patch b/net-mail/dovecot/files/dovecot-glibc226.patch
deleted file mode 100644
index adf1dd99aac..00000000000
--- a/net-mail/dovecot/files/dovecot-glibc226.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 9a58361b08e1858e3bc7ea93934b7613261da476 Mon Sep 17 00:00:00 2001
-From: Timo Sirainen <timo.sirainen@dovecot.fi>
-Date: Mon, 9 Jul 2018 11:33:23 +0300
-Subject: [PATCH] m4: Enable rquota only if rpc/rpc.h exists
-
-It's been removed in glibc 2.26
----
- m4/quota.m4 | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/m4/quota.m4 b/m4/quota.m4
-index 5840e3af89..0695b1e021 100644
---- a/m4/quota.m4
-+++ b/m4/quota.m4
-@@ -7,8 +7,10 @@ AC_DEFUN([DOVECOT_RPCGEN], [
-   
-   have_rquota=no
-   if test -f /usr/include/rpcsvc/rquota.x && test -n "$RPCGEN"; then
--    AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
--    have_rquota=yes
-+    AC_CHECK_HEADER([rpc/rpc.h], [
-+      AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
-+      have_rquota=yes
-+    ])
-   fi
-   AM_CONDITIONAL(HAVE_RQUOTA, test "$have_rquota" = "yes")
- ])
-From 5803ae4bbd420def0072e1660ea7061c0e5dbcb9 Mon Sep 17 00:00:00 2001
-From: Timo Sirainen <timo.sirainen@dovecot.fi>
-Date: Mon, 9 Jul 2018 11:39:59 +0300
-Subject: [PATCH] m4, quota: Support rquota using libtirpc
-
----
- m4/quota.m4                   | 13 ++++++++++---
- src/plugins/quota/Makefile.am |  3 ++-
- 2 files changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/m4/quota.m4 b/m4/quota.m4
-index 0695b1e021..d75af447e1 100644
---- a/m4/quota.m4
-+++ b/m4/quota.m4
-@@ -7,18 +7,25 @@ AC_DEFUN([DOVECOT_RPCGEN], [
-   
-   have_rquota=no
-   if test -f /usr/include/rpcsvc/rquota.x && test -n "$RPCGEN"; then
--    AC_CHECK_HEADER([rpc/rpc.h], [
--      AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
-+    PKG_CHECK_MODULES(LIBTIRPC, libtirpc, [
-       have_rquota=yes
-+      QUOTA_LIBS="$QUOTA_LIBS \$(LIBTIRPC_LIBS)"
-+    ], [
-+      AC_CHECK_HEADER([rpc/rpc.h], [
-+	have_rquota=yes
-+      ])
-     ])
-   fi
-+  if test "$have_rquota" = yes; then
-+    AC_DEFINE(HAVE_RQUOTA,, [Define if you wish to retrieve quota of NFS mounted mailboxes])
-+  fi
-   AM_CONDITIONAL(HAVE_RQUOTA, test "$have_rquota" = "yes")
- ])
- 
- AC_DEFUN([DOVECOT_QUOTA], [
-   AC_SEARCH_LIBS(quota_open, quota, [
-     AC_DEFINE(HAVE_QUOTA_OPEN,, [Define if you have quota_open()])
--    QUOTA_LIBS="-lquota"
-+    QUOTA_LIBS="$QUOTA_LIBS -lquota"
-   ])
-   AC_SUBST(QUOTA_LIBS)
- ])
-diff --git a/src/plugins/quota/Makefile.am b/src/plugins/quota/Makefile.am
-index f220d4f075..ffebc67404 100644
---- a/src/plugins/quota/Makefile.am
-+++ b/src/plugins/quota/Makefile.am
-@@ -19,7 +19,8 @@ AM_CPPFLAGS = \
- 	-I$(top_srcdir)/src/lib-storage/index/imapc \
- 	-I$(top_srcdir)/src/lib-storage/index/maildir \
- 	-I$(top_srcdir)/src/lib-program-client \
--	-I$(top_srcdir)/src/doveadm
-+	-I$(top_srcdir)/src/doveadm \
-+	$(LIBTIRPC_CFLAGS)
- 
- NOPLUGIN_LDFLAGS =
- lib10_doveadm_quota_plugin_la_LDFLAGS = -module -avoid-version

diff --git a/net-mail/dovecot/files/dovecot-glibc228.patch b/net-mail/dovecot/files/dovecot-glibc228.patch
deleted file mode 100644
index 9549c12f6e8..00000000000
--- a/net-mail/dovecot/files/dovecot-glibc228.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-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-r4 b/net-mail/dovecot/files/dovecot.init-r4
deleted file mode 100644
index 665aa0dc733..00000000000
--- a/net-mail/dovecot/files/dovecot.init-r4
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2012 Gentoo Foundation
-# 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} -a | grep '^base_dir = ' | sed 's/^base_dir = //')
-	else
-		eerror "dovecot not executable"
-		return 1
-	fi
-	DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/var/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 $?
-}

diff --git a/net-mail/dovecot/files/dovecot.init-r5 b/net-mail/dovecot/files/dovecot.init-r5
deleted file mode 100644
index 8a98603d4b4..00000000000
--- a/net-mail/dovecot/files/dovecot.init-r5
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/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 $?
-}

diff --git a/net-mail/dovecot/metadata.xml b/net-mail/dovecot/metadata.xml
index 496575228ba..d8223dea238 100644
--- a/net-mail/dovecot/metadata.xml
+++ b/net-mail/dovecot/metadata.xml
@@ -7,14 +7,9 @@
         </maintainer>
   <use>
     <flag name="argon2">Add support for ARGON2 password schemes</flag>
-    <flag name="cydir">Add cydir storage support</flag>
     <flag name="managesieve">Add managesieve protocol support</flag>
-    <flag name="mdbox">Add mdbox storage support</flag>
-    <flag name="sdbox">Add sdbox storage support</flag>
     <flag name="sieve">Add sieve support</flag>
     <flag name="vpopmail">Add vpopmail support</flag>
-    <flag name="imapc">Add imap client storage support</flag>
-    <flag name="pop3c">Add pop3 client storage support</flag>
     <flag name="lucene">Add lucene full text search (FTS) support using <pkg>dev-cpp/clucene</pkg></flag>
     <flag name="lzma">Add support for lzma (de)compression</flag>
     <flag name="lz4">Add support for lz4 (de)compression</flag>


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

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/
@ 2019-07-17  9:17 Eray Aslan
  0 siblings, 0 replies; 16+ messages in thread
From: Eray Aslan @ 2019-07-17  9:17 UTC (permalink / raw
  To: gentoo-commits

commit:     55dda9ccffcc59934b988c6c2b91ee53f28e6828
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 17 09:16:48 2019 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Wed Jul 17 09:16:48 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55dda9cc

net-mail/dovecot: bump to 2.3.7

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

 net-mail/dovecot/Manifest                          |   2 +
 net-mail/dovecot/dovecot-2.3.7.ebuild              | 292 +++++++++++++++++++++
 .../files/dovecot-no-log-error-tcp_nodelay.patch   |  31 +++
 3 files changed, 325 insertions(+)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index eb5e78f5880..65a27cd16ab 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -2,6 +2,8 @@ DIST dovecot-2.2-pigeonhole-0.4.24.1.tar.gz 1810959 BLAKE2B f24b28dc7422ea4f379e
 DIST dovecot-2.2.36.3.tar.gz 6270735 BLAKE2B 90bd6f7cd3769040215f574bb368c1ad835041fff54273e2477be2d2e057c1700472b08a24ed3a7cad469bd39449d94986bc6801373bb97a63975ddbb54cefa5 SHA512 47611dbde7ee854ad323dcdb726757c7172376761fa774f28fce3f9d74ed590319d812f0555abed5f8178c326c3cb7661ac0b708ca5982914e255cec60f72e35
 DIST dovecot-2.3-pigeonhole-0.5.5.tar.gz 1847487 BLAKE2B 9574388566778a4011ce6546021675ed9e07ba0d874dc4163e4cea10096f3bb8a434f198c3bb446b628ee18402afe94bd90b7123b3cf4d47e4095ddad12d9bfc SHA512 21519fc9b1152a947b64ce4251e1a4bdbe003b48233b1856a32696f9c1e29f730268c56eb38f9431bbfac345e6cd42e8c78c87d0702f39ebf20c6d326dcdbb94
 DIST dovecot-2.3-pigeonhole-0.5.6.tar.gz 1854287 BLAKE2B a26edf2a298d8c3de0d9977d56583bd2e0933495c5f554871a38d7b9e31701ebf3587d221c5ec398721a9c34816918c41b069de39c13f879334f9776fede1a17 SHA512 998a046d2eb5ff7bba615fd1a3efdfb1e7e1dabf191257f7fa2882074acc1735a0a4c11c5f31bab1e964b0118f1a8e9e51b3d5529b8fff6d1312c9a8257d9c20
+DIST dovecot-2.3-pigeonhole-0.5.7.tar.gz 1856779 BLAKE2B ce9fe5570f058ceed6ef5ea5f732b079e7924bcdc8910cb13e8686898b654705ea006286cbb19105975f83d6c96a0256106b6f0ec10f561cd6040311be2087d8 SHA512 f58098ae13b41a6378080340240928083514a541f2fe3c8f516853455ab27635e0c47587a101aca5eb4e97ec8afe6a5dd5360c46e956b009ae971316e491f1b8
 DIST dovecot-2.3.5.1.tar.gz 6953150 BLAKE2B 04484325e7b87f78c0aa6e3c769bc921e9dc62562cd8705b99166b7291b794f434b088dcf6512bc21c96d8937475cafa4d49c6ac611cb07f74a0d20e15e185c7 SHA512 e87754461fb0b065acd0ff10dc955000a2fe5baffed69efaf328ce9268f90140e9de444bc68e0bd48b565c7622885a79b1f90ff3dd2335c0c2362d05d9e73e8a
 DIST dovecot-2.3.5.2.tar.gz 6953228 BLAKE2B d3634ca0621349ed82c552b416bd633497ce9e4bdd5df30c2e35da1ab70a5934e2dda2b88ac6bbebeebc23918d9dcfb7a0976b1b51fba5eefd14327b2b2ea734 SHA512 041ec1c33c6accb5c89d96d7ab2f7dd59795f496c17faea1906e7977983e4a387aa855a238376515c09532731634d9d42e6d6be22659062855241847ea0213d5
 DIST dovecot-2.3.6.tar.gz 6980135 BLAKE2B 59ce625aafb96092cbd687aa0d5ccc3d7697228606978efa89bbf50e608915e381abb79348197aaf3b3fa046618bcf88acdc77420f9f028035653b8cb9843009 SHA512 ec28af2efcbd4ab534298c3342709251074dcdb0f0f4bcad0d24b996b273387e2ce557d7ab54abafb69be3ed7dd61f25c82b9710d78156932e2eff7f941c9eb2
+DIST dovecot-2.3.7.tar.gz 7074117 BLAKE2B 30aa02cc1dbd83f2ecc65f7b27543d3a1614c857e3d432454f13e4108cb4a15fc37c8c07835a2eaeb6b03077066fba2ed947e30f033926f52213a7446dd096eb SHA512 a8828b6cdf0ada0d317a4606d88370f1360415dadcf0f3a6f157d76396bcaf7379d85114d9747011b429ee94bee8eff7de8d0b6cf25e2618af15fdfba8ae4508

diff --git a/net-mail/dovecot/dovecot-2.3.7.ebuild b/net-mail/dovecot/dovecot-2.3.7.ebuild
new file mode 100644
index 00000000000..16c5e7137f0
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.7.ebuild
@@ -0,0 +1,292 @@
+# 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.7"
+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"
+	"${FILESDIR}/${PN}-no-log-error-tcp_nodelay.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
new file mode 100644
index 00000000000..3a2acd74fb6
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-no-log-error-tcp_nodelay.patch
@@ -0,0 +1,31 @@
+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] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/
@ 2020-09-12  8:53 Eray Aslan
  0 siblings, 0 replies; 16+ messages in thread
From: Eray Aslan @ 2020-09-12  8:53 UTC (permalink / raw
  To: gentoo-commits

commit:     41483d42a7d49a0f94063af7671c54f15268c9f7
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 12 08:53:26 2020 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Sat Sep 12 08:53:26 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41483d42

net-mail/dovecot: fix automagic dependencies and libunwind linking

Closes: https://bugs.gentoo.org/737264
Closes: https://bugs.gentoo.org/682706
Closes: https://bugs.gentoo.org/728336
Package-Manager: Portage-3.0.6, Repoman-3.0.1
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild        | 296 +++++++++++++++++++++
 .../dovecot/files/dovecot-unwind-generic.patch     |  15 ++
 net-mail/dovecot/metadata.xml                      |   2 +
 3 files changed, 313 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild b/net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild
new file mode 100644
index 00000000000..855aee42d85
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild
@@ -0,0 +1,296 @@
+# 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 ~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
+	)
+
+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-unwind-generic.patch b/net-mail/dovecot/files/dovecot-unwind-generic.patch
new file mode 100644
index 00000000000..f7bc8d94ff2
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-unwind-generic.patch
@@ -0,0 +1,15 @@
+Bug 728336
+--- a/m4/want_unwind.m4
++++ b/m4/want_unwind.m4
+@@ -4,9 +4,9 @@
+     PKG_CHECK_EXISTS([libunwind], [
+       PKG_CHECK_MODULES([LIBUNWIND], [libunwind],[
+         dnl see if there is target-specific library
+-        AC_CHECK_LIB([unwind-${build_cpu}], [_U${build_cpu}_init_local],[
++        PKG_CHECK_MODULES([LIBUNWIND_GENERIC], [libunwind-generic],[
+           have_libunwind=yes
+-          LIBUNWIND_LIBS="$LIBUNWIND_LIBS -lunwind-${build_cpu}"
++          LIBUNWIND_LIBS="$LIBUNWIND_LIBS $LIBUNWIND_GENERIC_LIBS"
+           AC_DEFINE([HAVE_LIBUNWIND],,[Define this if you have libunwind])
+         ],[
+            have_libunwind=no

diff --git a/net-mail/dovecot/metadata.xml b/net-mail/dovecot/metadata.xml
index b28b2502b03..098cd7dac46 100644
--- a/net-mail/dovecot/metadata.xml
+++ b/net-mail/dovecot/metadata.xml
@@ -12,7 +12,9 @@
     <flag name="vpopmail">Add vpopmail support</flag>
     <flag name="lucene">Add lucene full text search (FTS) support using <pkg>dev-cpp/clucene</pkg></flag>
     <flag name="lzma">Add support for lzma (de)compression</flag>
+    <flag name="rpc">Add support for NFS quotas</flag>
     <flag name="solr">Add solr full text search (FTS) support</flag>
     <flag name="textcat">Add libtextcat language guessing support for full text search (FTS)</flag>
+    <flag name="zstd">Add support for zstd (de)compression</flag>
   </use>
 </pkgmetadata>


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

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

commit:     422b66f60fa9a707c247350ab770d71666f79521
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  5 11:45:42 2021 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Tue Jan  5 11:49:07 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=422b66f6

net-mail/dovecot: remove experimental ebuild

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

 net-mail/dovecot/dovecot-2.3.11.3-r100.ebuild      | 303 ---------------------
 .../dovecot-2.3.11.3-autoconf-lua-version.patch    |  17 --
 2 files changed, 320 deletions(-)

diff --git a/net-mail/dovecot/dovecot-2.3.11.3-r100.ebuild b/net-mail/dovecot/dovecot-2.3.11.3-r100.ebuild
deleted file mode 100644
index abdea9f6003..00000000000
--- a/net-mail/dovecot/dovecot-2.3.11.3-r100.ebuild
+++ /dev/null
@@ -1,303 +0,0 @@
-# Copyright 1999-2020 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.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}"
-
-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 )
-	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}/${P}"-autoconf-lua-version.patch
-	"${FILESDIR}/${PN}"-unwind-generic.patch
-	"${FILESDIR}/${PN}"-fix-search-crash.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 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-2.3.11.3-autoconf-lua-version.patch b/net-mail/dovecot/files/dovecot-2.3.11.3-autoconf-lua-version.patch
deleted file mode 100644
index 5572271929e..00000000000
--- a/net-mail/dovecot/files/dovecot-2.3.11.3-autoconf-lua-version.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- 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"], [


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

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

commit:     340756b94cf702eeb0aa29f3ecef649cf226bb80
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 21 08:35:23 2021 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Thu Jan 21 08:36:58 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=340756b9

net-mail/dovecot: remove vulnerable version. cleanup done

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

 net-mail/dovecot/Manifest                          |   2 -
 net-mail/dovecot/dovecot-2.2.36.4.ebuild           | 287 ---------------------
 .../dovecot/files/dovecot-userdb-passwd-fix.patch  |  18 --
 3 files changed, 307 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 73dcc900692..6a734d6a21c 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,5 +1,3 @@
-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

diff --git a/net-mail/dovecot/dovecot-2.2.36.4.ebuild b/net-mail/dovecot/dovecot-2.2.36.4.ebuild
deleted file mode 100644
index de3249c2666..00000000000
--- a/net-mail/dovecot/dovecot-2.2.36.4.ebuild
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 1999-2020 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 toolchain-funcs user versionator
-
-MY_P="${P/_/.}"
-major_minor="$(ver_cut 1-2)"
-sieve_version="0.4.24.2"
-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? ( sys-libs/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:0= )
-	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 "/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-userdb-passwd-fix.patch b/net-mail/dovecot/files/dovecot-userdb-passwd-fix.patch
deleted file mode 100644
index d5bff016394..00000000000
--- a/net-mail/dovecot/files/dovecot-userdb-passwd-fix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/auth/userdb-passwd.c b/src/auth/userdb-passwd.c
-index 03cbd554ff..699db314ce 100644
---- a/src/auth/userdb-passwd.c
-+++ b/src/auth/userdb-passwd.c
-@@ -172,8 +172,11 @@ static void passwd_iterate_next(struct userdb_iterate_context *_ctx)
- 		return;
- 	}
- 
--	errno = 0;
--	while ((pw = getpwent()) != NULL) {
-+	for (;;) {
-+		errno = 0;
-+		pw = getpwent();
-+		if (pw == NULL)
-+			break;
- 		if (passwd_iterate_want_pw(pw, set)) {
- 			_ctx->callback(pw->pw_name, _ctx->context);
- 			return;


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

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

commit:     416a8ad88987bf8480d2c5afc9db8af864b21e98
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 10 15:42:40 2021 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Wed Feb 10 15:42:40 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=416a8ad8

net-mail/dovecot: cleanup

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

 net-mail/dovecot/Manifest                          |   2 -
 net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild        | 296 --------------------
 net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild        | 297 ---------------------
 net-mail/dovecot/dovecot-2.3.11.3.ebuild           | 290 --------------------
 net-mail/dovecot/dovecot-2.3.13.ebuild             | 293 --------------------
 .../dovecot/files/dovecot-2.3.11.3-apop-fix.patch  |  60 -----
 .../dovecot/files/dovecot-fix-search-crash.patch   |  91 -------
 net-mail/dovecot/metadata.xml                      |   1 -
 8 files changed, 1330 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 6a734d6a21c..4e94ee8000e 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,4 +1,2 @@
-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.11.3-r1.ebuild b/net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild
deleted file mode 100644
index 9712daf5d27..00000000000
--- a/net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild
+++ /dev/null
@@ -1,296 +0,0 @@
-# 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:0= )
-	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
-	)
-
-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/dovecot-2.3.11.3-r2.ebuild b/net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild
deleted file mode 100644
index 8c6836bd9cb..00000000000
--- a/net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild
+++ /dev/null
@@ -1,297 +0,0 @@
-# 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:0= )
-	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/dovecot-2.3.11.3.ebuild b/net-mail/dovecot/dovecot-2.3.11.3.ebuild
deleted file mode 100644
index a698c9698b9..00000000000
--- a/net-mail/dovecot/dovecot-2.3.11.3.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# 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 ~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 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:0= )
-	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] )
-	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 )
-	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 )
-
-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_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/dovecot-2.3.13.ebuild b/net-mail/dovecot/dovecot-2.3.13.ebuild
deleted file mode 100644
index cfaa9df4477..00000000000
--- a/net-mail/dovecot/dovecot-2.3.13.ebuild
+++ /dev/null
@@ -1,293 +0,0 @@
-# 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-2.3.11.3-apop-fix.patch b/net-mail/dovecot/files/dovecot-2.3.11.3-apop-fix.patch
deleted file mode 100644
index 667b4829f1c..00000000000
--- a/net-mail/dovecot/files/dovecot-2.3.11.3-apop-fix.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-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

diff --git a/net-mail/dovecot/files/dovecot-fix-search-crash.patch b/net-mail/dovecot/files/dovecot-fix-search-crash.patch
deleted file mode 100644
index 860c070a433..00000000000
--- a/net-mail/dovecot/files/dovecot-fix-search-crash.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-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);

diff --git a/net-mail/dovecot/metadata.xml b/net-mail/dovecot/metadata.xml
index cf7190b460e..ba9b0131ea1 100644
--- a/net-mail/dovecot/metadata.xml
+++ b/net-mail/dovecot/metadata.xml
@@ -9,7 +9,6 @@
     <flag name="argon2">Add support for ARGON2 password schemes</flag>
     <flag name="managesieve">Add managesieve protocol support</flag>
     <flag name="sieve">Add sieve support</flag>
-    <flag name="vpopmail">Add vpopmail support</flag>
     <flag name="lucene">Add lucene full text search (FTS) support using <pkg>dev-cpp/clucene</pkg></flag>
     <flag name="lzma">Add support for lzma (de)compression</flag>
     <flag name="rpc">Add support for NFS quotas</flag>


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

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

commit:     c7831824c64115adf396d7383272a078d7273633
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 17 13:00:54 2021 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Sat Jul 17 13:00:54 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7831824

net-mail/dovecot: cleanup

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

 net-mail/dovecot/Manifest                          |   3 -
 net-mail/dovecot/dovecot-2.3.13-r101.ebuild        | 295 ---------------------
 net-mail/dovecot/dovecot-2.3.14-r1.ebuild          | 294 --------------------
 .../files/dovecot-2.3.13-32-bit-tests-1.patch      |  52 ----
 .../files/dovecot-2.3.13-32-bit-tests-2.patch      |  27 --
 .../dovecot/files/dovecot-unwind-generic.patch     |  15 --
 6 files changed, 686 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 1a54583afcc..7f36a40046c 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,7 +1,4 @@
-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.13-r101.ebuild b/net-mail/dovecot/dovecot-2.3.13-r101.ebuild
deleted file mode 100644
index f13784a01b2..00000000000
--- a/net-mail/dovecot/dovecot-2.3.13-r101.ebuild
+++ /dev/null
@@ -1,295 +0,0 @@
-# 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 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:* )
-	dev-libs/openssl: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/libcrypt:=
-	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
-	"${FILESDIR}/${P}"-32-bit-tests-1.patch
-	"${FILESDIR}/${P}"-32-bit-tests-2.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/dovecot-2.3.14-r1.ebuild b/net-mail/dovecot/dovecot-2.3.14-r1.ebuild
deleted file mode 100644
index 450c88e67af..00000000000
--- a/net-mail/dovecot/dovecot-2.3.14-r1.ebuild
+++ /dev/null
@@ -1,294 +0,0 @@
-# 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.14"
-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 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:* )
-	dev-libs/openssl: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/libcrypt:=
-	virtual/libiconv
-	dev-libs/icu:="
-
-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.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-2.3.13-32-bit-tests-1.patch b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch
deleted file mode 100644
index 204424c5ebb..00000000000
--- a/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-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
deleted file mode 100644
index 8956773b43e..00000000000
--- a/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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 },

diff --git a/net-mail/dovecot/files/dovecot-unwind-generic.patch b/net-mail/dovecot/files/dovecot-unwind-generic.patch
deleted file mode 100644
index f7bc8d94ff2..00000000000
--- a/net-mail/dovecot/files/dovecot-unwind-generic.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Bug 728336
---- a/m4/want_unwind.m4
-+++ b/m4/want_unwind.m4
-@@ -4,9 +4,9 @@
-     PKG_CHECK_EXISTS([libunwind], [
-       PKG_CHECK_MODULES([LIBUNWIND], [libunwind],[
-         dnl see if there is target-specific library
--        AC_CHECK_LIB([unwind-${build_cpu}], [_U${build_cpu}_init_local],[
-+        PKG_CHECK_MODULES([LIBUNWIND_GENERIC], [libunwind-generic],[
-           have_libunwind=yes
--          LIBUNWIND_LIBS="$LIBUNWIND_LIBS -lunwind-${build_cpu}"
-+          LIBUNWIND_LIBS="$LIBUNWIND_LIBS $LIBUNWIND_GENERIC_LIBS"
-           AC_DEFINE([HAVE_LIBUNWIND],,[Define this if you have libunwind])
-         ],[
-            have_libunwind=no


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

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

commit:     a57d05244c3c97603945cf2e4ab6e0be1c8e0bfb
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Thu May 19 16:30:03 2022 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Thu May 19 16:30:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a57d0524

net-mail/dovecot: drop 2.3.14.1-r2, 2.3.17.1-r1

Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/Manifest                          |   4 -
 net-mail/dovecot/dovecot-2.3.14.1-r2.ebuild        | 294 --------------------
 net-mail/dovecot/dovecot-2.3.17.1-r1.ebuild        | 307 ---------------------
 .../files/dovecot-autoconf-lua-version.patch       |  17 --
 4 files changed, 622 deletions(-)

diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index dd889979b546..a96fbb9db9f0 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,8 +1,4 @@
-DIST dovecot-2.3-pigeonhole-0.5.14.tar.gz 1910607 BLAKE2B 5c08214535d298ce2b8defd8c945e96597a98bda6493a3e27481fdadc0e149e6dd01c6ececaa583dd331614669bd8e033cd1b91d64d03a9e0cdcef67fa9c27b8 SHA512 c5d5d309769eabe2c0971646d0c14d166b6b524acf59e1069eca803f764544fa2535c09c9a630ca706aa70442b688ee26af831d29e674823bac7ea7c0e1f33cc
-DIST dovecot-2.3-pigeonhole-0.5.17.1.tar.gz 1952704 BLAKE2B 7dfc6b5bdb82bcaa60e0f41722f9a884edee7853ce09c9391d4c610be16728f58cc7095b8dd2d47e89296ff36aa926c687b39a418bc74ca0bfc3c4eab98156df SHA512 632a963d90a3fa052f314360d59ff25274d80952307ab5dd9193a2713ebf686500a7b2559b56f04b07e0a261066eed9b8525b14197f3be51728af09acb76e894
 DIST dovecot-2.3-pigeonhole-0.5.18.tar.gz 1953892 BLAKE2B 478da07a2f507a3322c6b6035f8cb74a720c030cc9413496f90a793d165178617207e26b0b57f710a9b9c7671be3fffdbaccaacb8747198abf82943dcb4a24df SHA512 44c3d945a5aebb8935e6e46751e44f505f2abd529c31e3efb689d3b5b9cdf9bca4f5231fc42a8d19837cb95c7618f5b64dfdf5964f40a0a6987144a37cdbaaec
 DIST dovecot-2.3-pigeonhole-0.5.19.tar.gz 1954148 BLAKE2B 0c52293f9447260f3e95f31c5ea3c04a1971b1a5621b56be1c79a8575aceb4f7e7fef62e7d0a3d980dcb5b8e1a8eeec543adcf0b016b65eb34ca4a26e8d2fe23 SHA512 5b0a61c7711232ea3651b818a970b500b05bd340a04bcd5a5f0ea0529eda65f498912a845c8f3b3b80196d010bc22bd4a380e1f682cb42f62b80d2d43a94993a
-DIST dovecot-2.3.14.1.tar.gz 7534719 BLAKE2B 1ba5143711fe340b9fad61db41ba658485e42be52f3b0f196eeb9b8e4b7c1b865b6a08f879dadeb2db3979b17be34699ce5febc4545887307f62bd5b72076f86 SHA512 b71b82c2918ac9940ef6bc274bc9c2b3e56a08cf5054244d80547ad89c421b9180c5afa8b5b140831239fbe2cbeeceb83a0052e037eb198d8fc27d07cba4ba35
-DIST dovecot-2.3.17.1.tar.gz 7700848 BLAKE2B adf12c84def899795d8446766b5c88fd5c68a5969a1807b4dd9c2e4894ddc0693a771ce4d4c0c72b0b03501903c39c650eace97b6708114b7fe038b62ea2ecce SHA512 976aa4f68e86f401e5766017e1702740d5b03892aff98f31f9ef0c6d242311d0f4b50d7faa426306bf1c902d7fc6d021438977bc887fa66ee360b069ec32ad79
 DIST dovecot-2.3.18.tar.gz 7763230 BLAKE2B ff3e0c2cad87d2e2632345a25825eebd0a6c1520376d85286453bde7505f22410d03911cd588a0d102b75f22cc1de051b01c43a57c90138340186e8cb024247a SHA512 b5eccf790a3960614876f122efb6296fe49ab7c523b08c10347fd4d10ed293fbd327279511c227b420f7c0786975186157eaa0fb5cd3aab1f3be9a4c5c3ad233
 DIST dovecot-2.3.19.tar.gz 7790661 BLAKE2B 060364dc83a5fcb7ee7a5a77467aedb79de13e65c5abfb1a9c1e76c7fac4b5b1ad07157917d095631ea72b194efdde38829d4c7274ced65dca7b457c0cc4bb13 SHA512 a61ce88b53c4f24faddf4951f16cb75dfe52aa7057d072c727566a7c9a683cc487d26cea9a83ad8aca161a053949d2f2196ba6a58015e3d33be897094aabf887

diff --git a/net-mail/dovecot/dovecot-2.3.14.1-r2.ebuild b/net-mail/dovecot/dovecot-2.3.14.1-r2.ebuild
deleted file mode 100644
index 4d1f997aae09..000000000000
--- a/net-mail/dovecot/dovecot-2.3.14.1-r2.ebuild
+++ /dev/null
@@ -1,294 +0,0 @@
-# Copyright 1999-2022 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.14"
-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 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:* )
-	dev-libs/openssl: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/libcrypt:=
-	virtual/libiconv
-	dev-libs/icu:="
-
-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.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/dovecot-2.3.17.1-r1.ebuild b/net-mail/dovecot/dovecot-2.3.17.1-r1.ebuild
deleted file mode 100644
index 6b967f8f9444..000000000000
--- a/net-mail/dovecot/dovecot-2.3.17.1-r1.ebuild
+++ /dev/null
@@ -1,307 +0,0 @@
-# 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.17.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="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 ipv6 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:* !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:* )
-	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
-)
-
-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
-
-	# 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
-
-	# 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
deleted file mode 100644
index 5572271929ef..000000000000
--- a/net-mail/dovecot/files/dovecot-autoconf-lua-version.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- 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"], [


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

* [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/
@ 2022-07-08  6:13 Eray Aslan
  0 siblings, 0 replies; 16+ messages in thread
From: Eray Aslan @ 2022-07-08  6:13 UTC (permalink / raw
  To: gentoo-commits

commit:     921f6d327e0d44ef9967b684763e6794ee818757
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Fri Jul  8 06:11:58 2022 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Fri Jul  8 06:11:58 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=921f6d32

net-mail/dovecot: security bump

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

 net-mail/dovecot/dovecot-2.3.19.1-r1.ebuild | 303 ++++++++++++++++++++++++++++
 net-mail/dovecot/files/CVE-2022-30550.patch | 155 ++++++++++++++
 2 files changed, 458 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.19.1-r1.ebuild b/net-mail/dovecot/dovecot-2.3.19.1-r1.ebuild
new file mode 100644
index 000000000000..402e4f5e814a
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.19.1-r1.ebuild
@@ -0,0 +1,303 @@
+# 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.19"
+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 ipv6 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}"/CVE-2022-30550.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
+
+	# 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
+
+	# 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
+}

diff --git a/net-mail/dovecot/files/CVE-2022-30550.patch b/net-mail/dovecot/files/CVE-2022-30550.patch
new file mode 100644
index 000000000000..d7da1316f76f
--- /dev/null
+++ b/net-mail/dovecot/files/CVE-2022-30550.patch
@@ -0,0 +1,155 @@
+From 7bad6a24160e34bce8f10e73dbbf9e5fbbcd1904 Mon Sep 17 00:00:00 2001
+From: Timo Sirainen <timo.sirainen@open-xchange.com>
+Date: Mon, 9 May 2022 15:23:33 +0300
+Subject: [PATCH 1/2] auth: Fix handling passdbs with identical driver/args but
+ different mechanisms/username_filter
+
+The passdb was wrongly deduplicated in this situation, causing wrong
+mechanisms or username_filter setting to be used. This would be a rather
+unlikely configuration though.
+
+Fixed by moving mechanisms and username_filter from struct passdb_module
+to struct auth_passdb, which is where they should have been in the first
+place.
+---
+ src/auth/auth-request.c |  6 +++---
+ src/auth/auth.c         | 18 ++++++++++++++++++
+ src/auth/auth.h         |  5 +++++
+ src/auth/passdb.c       | 15 ++-------------
+ src/auth/passdb.h       |  4 ----
+ 5 files changed, 28 insertions(+), 20 deletions(-)
+
+diff --git a/src/auth/auth-request.c b/src/auth/auth-request.c
+index cd08b1fa02..0ca29f3674 100644
+--- a/src/auth/auth-request.c
++++ b/src/auth/auth-request.c
+@@ -534,8 +534,8 @@ auth_request_want_skip_passdb(struct auth_request *request,
+ 			      struct auth_passdb *passdb)
+ {
+ 	/* if mechanism is not supported, skip */
+-	const char *const *mechs = passdb->passdb->mechanisms;
+-	const char *const *username_filter = passdb->passdb->username_filter;
++	const char *const *mechs = passdb->mechanisms;
++	const char *const *username_filter = passdb->username_filter;
+ 	const char *username;
+ 
+ 	username = request->fields.user;
+@@ -548,7 +548,7 @@ auth_request_want_skip_passdb(struct auth_request *request,
+ 		return TRUE;
+ 	}
+ 
+-	if (passdb->passdb->username_filter != NULL &&
++	if (passdb->username_filter != NULL &&
+ 	    !auth_request_username_accepted(username_filter, username)) {
+ 		auth_request_log_debug(request,
+ 				       request->mech != NULL ? AUTH_SUBSYS_MECH
+diff --git a/src/auth/auth.c b/src/auth/auth.c
+index f2f3fda20c..9f6c4ba60c 100644
+--- a/src/auth/auth.c
++++ b/src/auth/auth.c
+@@ -99,6 +99,24 @@ auth_passdb_preinit(struct auth *auth, const struct auth_passdb_settings *set,
+ 	auth_passdb->override_fields_tmpl =
+ 		passdb_template_build(auth->pool, set->override_fields);
+ 
++	if (*set->mechanisms == '\0') {
++		auth_passdb->mechanisms = NULL;
++	} else if (strcasecmp(set->mechanisms, "none") == 0) {
++		auth_passdb->mechanisms = (const char *const[]){ NULL };
++	} else {
++		auth_passdb->mechanisms =
++			(const char *const *)p_strsplit_spaces(auth->pool,
++				set->mechanisms, " ,");
++	}
++
++	if (*set->username_filter == '\0') {
++		auth_passdb->username_filter = NULL;
++	} else {
++		auth_passdb->username_filter =
++			(const char *const *)p_strsplit_spaces(auth->pool,
++				set->username_filter, " ,");
++	}
++
+ 	/* for backwards compatibility: */
+ 	if (set->pass)
+ 		auth_passdb->result_success = AUTH_DB_RULE_CONTINUE;
+diff --git a/src/auth/auth.h b/src/auth/auth.h
+index f700e29d5c..460a179765 100644
+--- a/src/auth/auth.h
++++ b/src/auth/auth.h
+@@ -41,6 +41,11 @@ struct auth_passdb {
+ 	struct passdb_template *default_fields_tmpl;
+ 	struct passdb_template *override_fields_tmpl;
+ 
++	/* Supported authentication mechanisms, NULL is all, {NULL} is none */
++	const char *const *mechanisms;
++	/* Username filter, NULL is no filter */
++	const char *const *username_filter;
++
+ 	enum auth_passdb_skip skip;
+ 	enum auth_db_rule result_success;
+ 	enum auth_db_rule result_failure;
+diff --git a/src/auth/passdb.c b/src/auth/passdb.c
+index eb4ac8ae82..f5eed1af4f 100644
+--- a/src/auth/passdb.c
++++ b/src/auth/passdb.c
+@@ -224,19 +224,8 @@ passdb_preinit(pool_t pool, const struct auth_passdb_settings *set)
+ 	passdb->id = ++auth_passdb_id;
+ 	passdb->iface = *iface;
+ 	passdb->args = p_strdup(pool, set->args);
+-	if (*set->mechanisms == '\0') {
+-		passdb->mechanisms = NULL;
+-	} else if (strcasecmp(set->mechanisms, "none") == 0) {
+-		passdb->mechanisms = (const char *const[]){NULL};
+-	} else {
+-		passdb->mechanisms = (const char* const*)p_strsplit_spaces(pool, set->mechanisms, " ,");
+-	}
+-
+-	if (*set->username_filter == '\0') {
+-		passdb->username_filter = NULL;
+-	} else {
+-		passdb->username_filter = (const char* const*)p_strsplit_spaces(pool, set->username_filter, " ,");
+-	}
++	/* NOTE: if anything else than driver & args are added here,
++	   passdb_find() also needs to be updated. */
+ 	array_push_back(&passdb_modules, &passdb);
+ 	return passdb;
+ }
+diff --git a/src/auth/passdb.h b/src/auth/passdb.h
+index 2e95328e5c..e466a9fdb6 100644
+--- a/src/auth/passdb.h
++++ b/src/auth/passdb.h
+@@ -63,10 +63,6 @@ struct passdb_module {
+ 	/* Default password scheme for this module.
+ 	   If default_cache_key is set, must not be NULL. */
+ 	const char *default_pass_scheme;
+-	/* Supported authentication mechanisms, NULL is all, [NULL] is none*/
+-	const char *const *mechanisms;
+-	/* Username filter, NULL is no filter */
+-	const char *const *username_filter;
+ 
+ 	/* If blocking is set to TRUE, use child processes to access
+ 	   this passdb. */
+
+From a1022072e2ce36f853873d910287f466165b184b Mon Sep 17 00:00:00 2001
+From: Timo Sirainen <timo.sirainen@open-xchange.com>
+Date: Mon, 16 May 2022 14:58:45 +0200
+Subject: [PATCH 2/2] auth: Add a comment about updating userdb_find()
+
+---
+ src/auth/userdb.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/auth/userdb.c b/src/auth/userdb.c
+index 0849659102..830bc2dd64 100644
+--- a/src/auth/userdb.c
++++ b/src/auth/userdb.c
+@@ -158,7 +158,8 @@ userdb_preinit(pool_t pool, const struct auth_userdb_settings *set)
+ 	userdb->id = ++auth_userdb_id;
+ 	userdb->iface = iface;
+ 	userdb->args = p_strdup(pool, set->args);
+-
++	/* NOTE: if anything else than driver & args are added here,
++	   userdb_find() also needs to be updated. */
+ 	array_push_back(&userdb_modules, &userdb);
+ 	return userdb;
+ }


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

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

commit:     f99f8ddfc8bf06b6b3cc4c3e590e8b70482b8111
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Mon Aug 22 15:41:21 2022 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Mon Aug 22 20:20:37 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f99f8ddf

net-mail/dovecot: Fix linking with slibtool

Closes: https://bugs.gentoo.org/782631
Upstream-Commit: https://github.com/dovecot/core/commit/d5f5cd32bafc18a28a7edbe1dbe559f8abe55323
Signed-off-by: orbea <orbea <AT> riseup.net>
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 net-mail/dovecot/dovecot-2.3.19.1-r2.ebuild        | 304 +++++++++++++++++++++
 .../dovecot/files/dovecot-2.3.19.1-slibtool.patch  |  65 +++++
 2 files changed, 369 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.19.1-r2.ebuild b/net-mail/dovecot/dovecot-2.3.19.1-r2.ebuild
new file mode 100644
index 000000000000..d0297e07ff84
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.19.1-r2.ebuild
@@ -0,0 +1,304 @@
+# 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.19"
+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 ipv6 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}/${P}"-slibtool.patch # 782631
+	"${FILESDIR}"/CVE-2022-30550.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
+
+	# 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
+}

diff --git a/net-mail/dovecot/files/dovecot-2.3.19.1-slibtool.patch b/net-mail/dovecot/files/dovecot-2.3.19.1-slibtool.patch
new file mode 100644
index 000000000000..8371a6ee67f2
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.3.19.1-slibtool.patch
@@ -0,0 +1,65 @@
+Upstream-commit: https://github.com/dovecot/core/commit/d5f5cd32bafc18a28a7edbe1dbe559f8abe55323
+
+From d5f5cd32bafc18a28a7edbe1dbe559f8abe55323 Mon Sep 17 00:00:00 2001
+From: Timo Sirainen <timo.sirainen@open-xchange.com>
+Date: Mon, 25 Jul 2022 19:47:34 +0300
+Subject: [PATCH] lib-index: Makefile.am - Fix double-linking of
+ mail-index-util.o
+
+This fixes linking with slibtool.
+---
+ src/lib-index/Makefile.am | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/src/lib-index/Makefile.am b/src/lib-index/Makefile.am
+index f203201bf7..a4af01715b 100644
+--- a/src/lib-index/Makefile.am
++++ b/src/lib-index/Makefile.am
+@@ -79,10 +79,13 @@ test_programs = \
+ noinst_PROGRAMS = $(test_programs)
+ 
+ test_libs = \
+-	mail-index-util.lo \
+ 	../lib-test/libtest.la \
+ 	../lib/liblib.la
+ 
++test_minimal_libs = \
++	mail-index-util.lo \
++	$(test_libs)
++
+ test_deps = $(noinst_LTLIBRARIES) $(test_libs)
+ 
+ test_mail_cache_SOURCES = test-mail-cache-common.c test-mail-cache.c
+@@ -114,19 +117,19 @@ test_mail_index_sync_ext_LDADD = $(noinst_LTLIBRARIES) $(test_libs)
+ test_mail_index_sync_ext_DEPENDENCIES = $(test_deps)
+ 
+ test_mail_index_transaction_finish_SOURCES = test-mail-index-transaction-finish.c
+-test_mail_index_transaction_finish_LDADD = mail-index-transaction-finish.lo $(test_libs)
++test_mail_index_transaction_finish_LDADD = mail-index-transaction-finish.lo $(test_minimal_libs)
+ test_mail_index_transaction_finish_DEPENDENCIES = $(test_deps)
+ 
+ test_mail_index_transaction_update_SOURCES = test-mail-index-transaction-update.c
+-test_mail_index_transaction_update_LDADD = mail-index-transaction-update.lo $(test_libs)
++test_mail_index_transaction_update_LDADD = mail-index-transaction-update.lo $(test_minimal_libs)
+ test_mail_index_transaction_update_DEPENDENCIES = $(test_deps)
+ 
+ test_mail_index_write_SOURCES = test-mail-index-write.c
+-test_mail_index_write_LDADD = mail-index-write.lo $(test_libs)
++test_mail_index_write_LDADD = mail-index-write.lo $(test_minimal_libs)
+ test_mail_index_write_DEPENDENCIES = $(test_deps)
+ 
+ test_mail_transaction_log_append_SOURCES = test-mail-transaction-log-append.c
+-test_mail_transaction_log_append_LDADD = mail-transaction-log-append.lo $(test_libs)
++test_mail_transaction_log_append_LDADD = mail-transaction-log-append.lo $(test_minimal_libs)
+ test_mail_transaction_log_append_DEPENDENCIES = $(test_deps)
+ 
+ test_mail_transaction_log_file_SOURCES = test-mail-transaction-log-file.c
+@@ -134,7 +137,7 @@ test_mail_transaction_log_file_LDADD = $(noinst_LTLIBRARIES) $(test_libs)
+ test_mail_transaction_log_file_DEPENDENCIES = $(test_deps)
+ 
+ test_mail_transaction_log_view_SOURCES = test-mail-transaction-log-view.c
+-test_mail_transaction_log_view_LDADD = mail-transaction-log-view.lo $(test_libs)
++test_mail_transaction_log_view_LDADD = mail-transaction-log-view.lo $(test_minimal_libs)
+ test_mail_transaction_log_view_DEPENDENCIES = $(test_deps)
+ 
+ check-local:


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

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

commit:     6778e19ab334f2604bc2fbeb95d56f547fe59824
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  6 08:44:37 2024 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Wed Mar  6 08:46:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6778e19a

net-mail/dovecot: Fix typo in lua plugin

Thanks to orbea for the fix

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

 net-mail/dovecot/dovecot-2.3.21-r1.ebuild      | 302 +++++++++++++++++++++++++
 net-mail/dovecot/files/dovecot-typo-push.patch |  27 +++
 2 files changed, 329 insertions(+)

diff --git a/net-mail/dovecot/dovecot-2.3.21-r1.ebuild b/net-mail/dovecot/dovecot-2.3.21-r1.ebuild
new file mode 100644
index 000000000000..0d5076e6371f
--- /dev/null
+++ b/net-mail/dovecot/dovecot-2.3.21-r1.ebuild
@@ -0,0 +1,302 @@
+# Copyright 1999-2024 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.21"
+if [[ ${PV} == *_rc* ]]; then
+	rc_dir="rc/"
+else
+	rc_dir=""
+fi
+
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="https://www.dovecot.org/"
+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
+	) "
+S="${WORKDIR}/${MY_P}"
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/${PV}"
+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[pam?]
+	"
+
+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
+	"${FILESDIR}/${PN}"-typo-push.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() {
+	# bug #340791 and bug #807178
+	local -x NOVALGRIND=true
+
+	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-typo-push.patch b/net-mail/dovecot/files/dovecot-typo-push.patch
new file mode 100644
index 000000000000..4fb551bcd261
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-typo-push.patch
@@ -0,0 +1,27 @@
+From cd2ff353c6198428219fea76bdd296e5256d97b6 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Tue, 5 Mar 2024 18:15:58 -0800
+Subject: [PATCH] push-notification: fix typo 'module' to '-module'
+
+There is a typo in the Makefile.am where it has 'module` instead of '-module' which causes a build failure with slibtool.
+
+  ld: cannot find module: No such file or directory
+
+With GNU libtool the typo is silently ignored.
+---
+ src/plugins/push-notification/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/push-notification/Makefile.am b/src/plugins/push-notification/Makefile.am
+index f1527148a0..daa43a2d4d 100644
+--- a/src/plugins/push-notification/Makefile.am
++++ b/src/plugins/push-notification/Makefile.am
+@@ -75,7 +75,7 @@ lib22_push_notification_lua_plugin_la_CFLAGS = $(AM_CPPFLAGS) \
+ 	-I$(top_srcdir)/src/lib-lua \
+ 	-I$(top_srcdir)/src/plugins/mail-lua \
+ 	$(LUA_CFLAGS)
+-lib22_push_notification_lua_plugin_la_LDFLAGS = module -avoid-version
++lib22_push_notification_lua_plugin_la_LDFLAGS = -module -avoid-version
+ module_LTLIBRARIES += \
+ 	lib22_push_notification_lua_plugin.la
+ lib22_push_notification_lua_plugin_la_LIBADD = $(notify_deps) $(LUA_LIBS)


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

end of thread, other threads:[~2024-03-06  8:46 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-22 20:20 [gentoo-commits] repo/gentoo:master commit in: net-mail/dovecot/files/, net-mail/dovecot/ Eray Aslan
  -- strict thread matches above, loose matches on Subject: below --
2024-03-06  8:46 Eray Aslan
2022-07-08  6:13 Eray Aslan
2022-05-19 16:32 Eray Aslan
2021-07-17 13:01 Eray Aslan
2021-02-10 15:43 Eray Aslan
2021-01-21  8:37 Eray Aslan
2021-01-05 11:49 Eray Aslan
2020-09-12  8:53 Eray Aslan
2019-07-17  9:17 Eray Aslan
2019-04-19  6:35 Eray Aslan
2018-11-26 12:03 Eray Aslan
2018-10-11 10:57 Eray Aslan
2018-07-13 18:23 Eray Aslan
2018-03-29  7:59 Eray Aslan
2018-01-25 15:20 Thomas Deutschmann

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