summaryrefslogtreecommitdiff
path: root/net-mail/dovecot
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-02-13 21:41:11 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-02-13 21:41:11 +0000
commitc8d60dada2ec8eb48b2d2b290cd6683ccec40e39 (patch)
treec44943ee0563a3fa957716de909fed683117fcb9 /net-mail/dovecot
parent69051588e2f955485fe5d45d45e616bc60a2de57 (diff)
gentoo (valentine's day) resync : 14.02.2021
Diffstat (limited to 'net-mail/dovecot')
-rw-r--r--net-mail/dovecot/Manifest16
-rw-r--r--net-mail/dovecot/dovecot-2.3.11.3-r1.ebuild296
-rw-r--r--net-mail/dovecot/dovecot-2.3.11.3-r2.ebuild297
-rw-r--r--net-mail/dovecot/dovecot-2.3.11.3.ebuild290
-rw-r--r--net-mail/dovecot/dovecot-2.3.13-r1.ebuild2
-rw-r--r--net-mail/dovecot/dovecot-2.3.13-r100.ebuild6
-rw-r--r--net-mail/dovecot/dovecot-2.3.13.ebuild293
-rw-r--r--net-mail/dovecot/files/dovecot-2.3.11.3-apop-fix.patch60
-rw-r--r--net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch52
-rw-r--r--net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch27
-rw-r--r--net-mail/dovecot/files/dovecot-fix-search-crash.patch91
-rw-r--r--net-mail/dovecot/metadata.xml4
12 files changed, 92 insertions, 1342 deletions
diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest
index 98d807e05e97..6c464b650236 100644
--- a/net-mail/dovecot/Manifest
+++ b/net-mail/dovecot/Manifest
@@ -1,17 +1,11 @@
-AUX dovecot-2.3.11.3-apop-fix.patch 2226 BLAKE2B 47971fc29ff3add43ca7ee253c4e1579dd22e603c6692f592c605a742330df80309ee06f8bb811e64de03392e0dee19efe1964229f61209b9f48fb0dd557b7d2 SHA512 6ebc10a6e0ca9f4790cbe57a9e9283838c5fbe124e9be305fcd16e472a5edea97a055700613fb6a1a43fe139537da80a603493f250b34f2179f969da2a09f2cc
+AUX dovecot-2.3.13-32-bit-tests-1.patch 1988 BLAKE2B 80ccc0e20513b1670eb11c796d5dfe4ed7ab9f61519cf3a3b6c96b6949bac47d1e935bf6bc44afa2c5fe016fbfc08c21ce30827297dcb501c94b2b06b1f90602 SHA512 e9d538f0e0b8a81b8c8b2ff0de729427339e7951239df713f12aaccf00f9ce8f22e1741a53c5d656456450db5cac77124330aec35dcf9d58b8643d0b3bb8fa99
+AUX dovecot-2.3.13-32-bit-tests-2.patch 847 BLAKE2B 726e75638e6e070b34410062d0c55fade6552768985a887e95fe523ea83b891c65ee921c99d2af7e09aac232bf4be10136ffb7ea2545c2fe45f18d9ab1f009f7 SHA512 8ae0f4d7ef2c12ba1fcb998dbecc6d455132ff92cdb1297cc43029a0b7fc8686f81758cc3694195c5942d4a19a852a9f14dc56a018139f16ae550c13997cc653
AUX dovecot-autoconf-lua-version.patch 538 BLAKE2B 3978ebff83cb42591f60fc1cc155bd67a743d78c24d7d7ddfc0776c8df53fbdfad5cee79d1377e6436d69f6ca429ccf33b154adf470f8fc9d6429a746d49788f SHA512 a3e7403fb636078607b5452a580d229ce1d2e240d30e24138f33c3964ff008d99fef6477605f3d64dbdd8fc53187c9c6ad4eb82c58375b329dc9f8be87192eb7
-AUX dovecot-fix-search-crash.patch 3417 BLAKE2B 3d3b63d7be8d19fea2f159b6191fb1dcb94be4abe6cbbde5984c0c6e55fcb56a6e32bbe07650a2d218b3ecc55ede620e95befff24dce3a562733b119142e216d SHA512 9cb34a7f6de6d19ec7d6e4c3206c5d15f6531f92027d7dbef21284206ddd9f3418d4a1266d2860789dfa56f97579a89f3cafc54f24152f321dddb9b470d9f473
AUX dovecot-socket-name-too-long.patch 356 BLAKE2B ada5007b620cd5eef5a950d64add7d83ac366f126e1a9a70268e528d44a0a036fec096015bee2421caeca8a052d118011c5911b3c432fa73e846c66781df4da9 SHA512 f362bad725c9e408830dc9d5908a2b35b8ee82cb05f3d58795079b32d5ac4712779e71bd0f479fe072906fcaf01e4e08f08cedb9fd5ee08931409887480b8349
AUX dovecot-unwind-generic.patch 645 BLAKE2B 6598abbd2819f7109d4caacbce5123b8810b93b623956561a12a749cbc582667caa160eac62305067db6037f820c8e1a8bd8a22da09a454afcb9e21209cc5fd3 SHA512 6ede0edd5bd6d1123ff1567886898eee5795baa549c610ba8a3567c0f8fee27d69028aaf8b6067c2f37b915a07e165aa0d6a2d5fb8314deffd61a187b18de4ae
AUX dovecot.init-r6 1573 BLAKE2B 206318cbf7a6ef0276cb93237b091dd34dc2603a00f13ed288c787dc81f8902e770f7774c54eba90de49e9634eb93873046a043bd7825cfb65bab5b2ea9ce108 SHA512 982f9897e4a0a5a3957bb12785961c9cde72a2c941f55efdb23e9a26cec19efe89e3be4effe79522c297ea2b258d201db78c19b6e3f9cd5e68d3736c2a0f0063
-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
-EBUILD dovecot-2.3.11.3-r1.ebuild 8838 BLAKE2B d2db4a8a2f3dd6d6ee2cd4ab6401dbddb34834fbc2bf60bfe27800b30560e42aefa9d977c2ccd8109c31208cbd4c95f5a435cedb50dc718c311a610cc74542e8 SHA512 796c4e3b0cf7677b52af6a8c03c68479c37b7ee797aff2222a09ffcfd24cccebd1ab8208c035ec8fa4f4d02ea1b58f7b29e43a08d8c060ca635ad77634d4490c
-EBUILD dovecot-2.3.11.3-r2.ebuild 8878 BLAKE2B 6796b48d607fe36c8fb6a741bee5a8b702f4c1d309d24533f248b4f6359bc4c9e8c28fb0f81bbcbf23363737de54f01977364fdffc9c4c0acd56310efa238d5f SHA512 bbadf212ea9f462606aa2a424960fe38a1bee71ed28334bc665f39db1ec1602f4193d42b7ad33fbe83e8cec4ff8334c60151d7de54093a7b6744e24711de9e61
-EBUILD dovecot-2.3.11.3.ebuild 8676 BLAKE2B ddede1b054dde5b42d23cccfb06f4e66060d720b934c49804edeee423191baae808ae34fb50c86caf0b5b953eb5a073408396f2504e9f32ccf9834a7490f4a99 SHA512 8ff4591d1b3122c084d644b19ba4e482490f7700b14fa20d680ab023e472d8d570528b568cf159b4949f24bbdb991b0bfecb6393cd714117ba5abf771b223b08
-EBUILD dovecot-2.3.13-r1.ebuild 8571 BLAKE2B 4502f52c677e5ac28431a026dd63a71200cb07113662dc9031c5c2a862c9d751a614937933924b56de170d58ac93ba06df03940f46b08f94fe909ab811c3d9ac SHA512 8fe9fabd8f70bc31719556101df8e31a18185820960b9a631be3a40194d8cf282352f203ce596ca6c3ff3101786644926108d50a1f218ec30732d5241fd818d6
-EBUILD dovecot-2.3.13-r100.ebuild 8748 BLAKE2B 76ee86701360c2820b6d4b5c09d7e602d10beebcb6099b7ec9d192555b47b8320a76b3c73652dbc4004105cfc101eaa030f45a9e700dc714df2fa227e6ded637 SHA512 a2e6cc615f5612a66790e1d4a0f2212d4a437f641262fa790aa27e892be25b23a0d026f5daaa0708f9f47eb6bc5ae4ff1726092a1def3980916b7b7a5cc13309
-EBUILD dovecot-2.3.13.ebuild 8751 BLAKE2B 1c9181b2a2f6258b49e373d3d39bb50d21e3ced88f06ccac0e84bb9e222801d677cb15324e965f43d8020a84c85a1bb04271a74e746a73510524ebcc92dd95ed SHA512 006af984f68e9de56b20cc454d4ecde0552976ee54b85fa913851365e746365970f1fc48b47b1aead38663de57cfdcc2423140ffdfea9125c5cf50400353d886
-MISC metadata.xml 998 BLAKE2B c65428e9f0019e942fc1d634d53c2a85c7f8a699e34cf9c49ae09bfe9ce8a54fd368512f7a4d74f6a10baff949a9fe8021e1e0c009f8315b100fb5736efd34ae SHA512 f285f0928dc0915c8e8cebb966de84f5564be9f7dd3baa7c0cccb3343da75507003aeadf80fe34ffb4b69dd9208997a80fdb47c20bfd65fdc60c43423a00813c
+EBUILD dovecot-2.3.13-r1.ebuild 8570 BLAKE2B a4e47fa9966ba40e3a946b76b16c802cbb9e6cdf00ef9a7a7d0bdec0cbccb4378068047e23eeb2ed074fdffc1ce785bb0785a97e968032e65e4cd1047c73da70 SHA512 32493e86c673e825b0314cad476866c8515c511e13b975eeae1d3ddf6c2bbacf77ba34b69bd48d6d08dd1a52f53eb6d64ce1ee639f2c9154d678134ee9ccca40
+EBUILD dovecot-2.3.13-r100.ebuild 8826 BLAKE2B 69dad01a47d80c16364924fc530bfd03e7ac1682501e0dcbbd559a322dbc45808bf93088d9899cadbf8285e83686cfb0aadd9d3e353990381a6f949af9de3ab7 SHA512 f33a85cddba83aa39c27290740cacfcd82b3d0b46e8a103dcaba979d5524eef8c9dea619e3b293a5706ed2439d67ff632f7dfd1a1859b40cced632cdedd735d1
+MISC metadata.xml 1025 BLAKE2B 8b0f7c2bbb9cfd58d34cafaea132e3d52236f91db59e53a91c0816f12813311b9d9e6d19d2341a044a4a2af5ed961eec8417d0df6826a8cbb02dff528f3cb533 SHA512 0175bb9a54384bf69d99ace11ce8a76dcca1426e4a4edc3a3e6404a0dc1bed8f6912add47735d1924410dca2d80fcfa8c9cab4df4dc7ee25f4dcc1ec004f8665
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 9712daf5d27b..000000000000
--- 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 8c6836bd9cb4..000000000000
--- 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 a698c9698b94..000000000000
--- 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-r1.ebuild b/net-mail/dovecot/dovecot-2.3.13-r1.ebuild
index f236b7cc260f..0fa54fee5f92 100644
--- a/net-mail/dovecot/dovecot-2.3.13-r1.ebuild
+++ b/net-mail/dovecot/dovecot-2.3.13-r1.ebuild
@@ -28,7 +28,7 @@ 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"
+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"
diff --git a/net-mail/dovecot/dovecot-2.3.13-r100.ebuild b/net-mail/dovecot/dovecot-2.3.13-r100.ebuild
index ff93adddf94f..674e1df17407 100644
--- a/net-mail/dovecot/dovecot-2.3.13-r100.ebuild
+++ b/net-mail/dovecot/dovecot-2.3.13-r100.ebuild
@@ -30,7 +30,7 @@ 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"
+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"
@@ -78,7 +78,9 @@ PATCHES=(
"${FILESDIR}/${PN}"-autoconf-lua-version.patch
"${FILESDIR}/${PN}"-unwind-generic.patch
"${FILESDIR}/${PN}"-socket-name-too-long.patch
- )
+ "${FILESDIR}/${P}"-32-bit-tests-1.patch
+ "${FILESDIR}/${P}"-32-bit-tests-2.patch
+)
pkg_setup() {
use lua && lua-single_pkg_setup
diff --git a/net-mail/dovecot/dovecot-2.3.13.ebuild b/net-mail/dovecot/dovecot-2.3.13.ebuild
deleted file mode 100644
index cfaa9df44771..000000000000
--- 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 667b4829f1c0..000000000000
--- 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-2.3.13-32-bit-tests-1.patch b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch
new file mode 100644
index 000000000000..204424c5ebb0
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-1.patch
@@ -0,0 +1,52 @@
+https://bugs.gentoo.org/764713
+https://github.com/dovecot/core/commit/2cc1feca9087651902a5ea3cda021c8a0b3217ce.patch
+
+From 2cc1feca9087651902a5ea3cda021c8a0b3217ce Mon Sep 17 00:00:00 2001
+From: Paul Howarth <paul@city-fan.org>
+Date: Mon, 4 Jan 2021 16:31:03 +0000
+Subject: [PATCH] lib: Fix timeval_cmp_margin for 32-bit systems
+
+The test suite compares times with seconds values of -INT_MAX and
+INT_MAX. The result of this comparison does not fit in a value of
+type int and so the test suite fails on 32-bit systems where time_t
+is an int. To fix this, calculations on seconds values are done
+using long long integers.
+
+Broken by 16ab5542
+---
+ src/lib/time-util.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/time-util.c b/src/lib/time-util.c
+index 294bb02310..3f4cd01c9e 100644
+--- a/src/lib/time-util.c
++++ b/src/lib/time-util.c
+@@ -38,21 +38,23 @@ int timeval_cmp(const struct timeval *tv1, const struct timeval *tv2)
+ int timeval_cmp_margin(const struct timeval *tv1, const struct timeval *tv2,
+ unsigned int usec_margin)
+ {
+- long long usecs_diff;
++ long long secs_diff, usecs_diff;
+ int sec_margin, ret;
+
+ if (tv1->tv_sec < tv2->tv_sec) {
+ sec_margin = ((int)usec_margin / 1000000) + 1;
+- if ((tv2->tv_sec - tv1->tv_sec) > sec_margin)
++ secs_diff = (long long)tv2->tv_sec - (long long)tv1->tv_sec;
++ if (secs_diff > sec_margin)
+ return -1;
+- usecs_diff = (tv2->tv_sec - tv1->tv_sec) * 1000000LL +
++ usecs_diff = secs_diff * 1000000LL +
+ (tv2->tv_usec - tv1->tv_usec);
+ ret = -1;
+ } else if (tv1->tv_sec > tv2->tv_sec) {
+ sec_margin = ((int)usec_margin / 1000000) + 1;
+- if ((tv1->tv_sec - tv2->tv_sec) > sec_margin)
++ secs_diff = (long long)tv1->tv_sec - (long long)tv2->tv_sec;
++ if (secs_diff > sec_margin)
+ return 1;
+- usecs_diff = (tv1->tv_sec - tv2->tv_sec) * 1000000LL +
++ usecs_diff = secs_diff * 1000000LL +
+ (tv1->tv_usec - tv2->tv_usec);
+ ret = 1;
+ } else if (tv1->tv_usec < tv2->tv_usec) {
diff --git a/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch
new file mode 100644
index 000000000000..8956773b43ef
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot-2.3.13-32-bit-tests-2.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/764713
+https://github.com/dovecot/core/commit/01366bd18ea98bf6979328ff8580488920a33f0c
+
+From 01366bd18ea98bf6979328ff8580488920a33f0c Mon Sep 17 00:00:00 2001
+From: Aki Tuomi <aki.tuomi@open-xchange.com>
+Date: Thu, 4 Feb 2021 08:44:46 +0200
+Subject: [PATCH] lib: test-time-util - Use correct types for test case
+
+Fixes type mismatch on 32-bit systems.
+---
+ src/lib/test-time-util.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/lib/test-time-util.c b/src/lib/test-time-util.c
+index cfa322048e..139db0ec5d 100644
+--- a/src/lib/test-time-util.c
++++ b/src/lib/test-time-util.c
+@@ -358,7 +358,8 @@ static void test_str_to_timeval(void)
+ {
+ struct {
+ const char *str;
+- unsigned int tv_sec, tv_usec;
++ time_t tv_sec;
++ suseconds_t tv_usec;
+ } tests[] = {
+ { "0", 0, 0 },
+ { "0.0", 0, 0 },
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 860c070a433a..000000000000
--- 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 098cd7dac462..ba9b0131ea14 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>
@@ -17,4 +16,7 @@
<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>
+ <upstream>
+ <remote-id type="github">dovecot/core</remote-id>
+ </upstream>
</pkgmetadata>