Fri Aug 25 08:29:04 2017 UTC ()
Changes 2.2.32:
There are various changes in this release that can be used to significantly reduce disk IO with:
1) NFS storage especially, but I guess also other remote filesystems and even some with local disks
2) When mail storage and INDEX storage are separated

 * imapc: Info-level line is logged every time when successfully
   connected to the remote server. This includes local/remote IP/port,
   which can be useful for matching against external logs.
 * config: Log a warning if plugin { key=no } is used explicitly.
   v2.3 will support "no" properly in plugin settings, but for now
   any value at all for a boolean plugin setting is treated as "yes",
   even if it's written as explicit "no". This change will now warn
   that it most likely won't work as intended.

 + Various optimizations to avoid accessing files/directories when it's
   not necessary. Especially avoid accessing mail root directories when
   INDEX directories point to a different filesystem.
 + mail_location can now include ITERINDEX parameter. This tells Dovecot
   to perform mailbox listing from the INDEX path instead of from the
   mail root path. It's mainly useful when the INDEX storage is on a
   faster storage.
 + mail_location can now include VOLATILEDIR=<path> parameter. This
   is used for creating lock files and in future potentially other
   files that don't need to exist permanently. The path could point to
   tmpfs for example. This is especially useful to avoid creating lock
   files to NFS or other remote filesystems. For example:
   mail_location=sdbox:~/sdbox:VOLATILEDIR=/tmp/volatile/%2.256Nu/%u
 + mail_location's LISTINDEX=<path> can now contain a full path.
   This allows storing mailbox list index to a different storage
   than the rest of the indexes, for example to tmpfs.
 + mail_location can now include NO-NOSELECT parameter. This
   automatically deletes any \NoSelect mailboxes that have no children.
   These mailboxes are sometimes confusing to users.
 + mail_location can now include BROKENCHAR=<char> parameter. This can
   be useful with imapc to access mailbox names that aren't valid mUTF-7
   charset from remote servers.
 + If mailbox_list_index_very_dirty_syncs=yes, the list index is no
   longer refreshed against filesystem when listing mailboxes. This
   allows the mailbox listing to be done entirely by only reading the
   mailbox list index.
 + Added mailbox_list_index_include_inbox setting to control whether
   INBOX's STATUS information should be cached in the mailbox list
   index. The default is "no", but it may be useful to change it to
   "yes", especially if LISTINDEX points to tmpfs.
 + userdb can return chdir=<path>, which override mail_home for the
   chdir location. This can be useful to avoid accessing home directory
   on login.
 + userdb can return postlogin=<socket> to specify per-user imap/pop3
   postlogin socket path.
 + cassandra: Add support for result paging by adding page_size=<n>
   parameter to the connect setting.
 + dsync/imapc, pop3-migration plugin: Strip also trailing tabs from
   headers when matching mails. This helps with migrations from Zimbra.
 + imap_logout_format supports now %{appended} and %{autoexpunged}
 + virtual plugin: Optimize IDLE to use mailbox list index for finding
   out when something has changed.
 + Added apparmor plugin. See https://wiki2.dovecot.org/Plugins/Apparmor
 - virtual plugin: A lot of fixes. In many cases it was also working
   very inefficiently or even incorrectly.
 - imap: NOTIFY parameter parsing was incorrectly "fixed" in v2.2.31.
   It was actually (mostly) working in previous versions, but broken
   in v2.2.31.
 - Modseq tracking didn't always work correctly. This could have caused
   imap unhibernation to fail or IMAP QRESYNC/CONDSTORE extensions to
   not work perfectly.
 - mdbox: "Inconsistency in map index" wasn't fixed automatically
 - dict-ldap: %variable values used in the LDAP filter weren't escaped.
 - quota=count: quota_warning = -storage=.. was never executed (try 2).
   v2.2.31 fixed it for -messages, but not for -storage.
 - imapc: >= 32 kB mail bodies were supposed to be cached for subsequent
   FETCHes, but weren't.
 - quota-status service didn't support recipient_delimiter
 - acl: Don't access dovecot-acl-list files with acl_globals_only=yes
 - mail_location: If INDEX dir is set, mailbox deletion deletes its
   childrens' indexes. For example if "box" is deleted, "box/child"
   index directory was deleted as well (but mails were preserved).
 - director: v2.2.31 caused rapid reconnection loops to directors
   that were down.


(adam)
diff -r1.12 -r1.13 pkgsrc/mail/dovecot2/Makefile.common
diff -r1.55 -r1.56 pkgsrc/mail/dovecot2/PLIST
diff -r1.23 -r1.24 pkgsrc/mail/dovecot2/buildlink3.mk
diff -r1.76 -r1.77 pkgsrc/mail/dovecot2/distinfo

cvs diff -r1.12 -r1.13 pkgsrc/mail/dovecot2/Makefile.common (expand / switch to unified diff)

--- pkgsrc/mail/dovecot2/Makefile.common 2017/07/03 13:12:44 1.12
+++ pkgsrc/mail/dovecot2/Makefile.common 2017/08/25 08:29:04 1.13
@@ -1,27 +1,27 @@ @@ -1,27 +1,27 @@
1# $NetBSD: Makefile.common,v 1.12 2017/07/03 13:12:44 adam Exp $ 1# $NetBSD: Makefile.common,v 1.13 2017/08/25 08:29:04 adam Exp $
2# 2#
3# when updating to a new release, update ABI depends in 3# when updating to a new release, update ABI depends in
4# the buildlink3.mk file as well, since the plugins' version 4# the buildlink3.mk file as well, since the plugins' version
5# must match (see PR 49563). 5# must match (see PR 49563).
6# 6#
7# used by mail/dovecot2/Makefile 7# used by mail/dovecot2/Makefile
8# used by mail/dovecot2/Makefile.plugin 8# used by mail/dovecot2/Makefile.plugin
9# used by mail/dovecot2-mysql/Makefile 9# used by mail/dovecot2-mysql/Makefile
10# used by mail/dovecot2-pgsql/Makefile 10# used by mail/dovecot2-pgsql/Makefile
11 11
12DISTNAME= dovecot-2.2.31 12DISTNAME= dovecot-2.2.32
13CATEGORIES= mail 13CATEGORIES= mail
14MASTER_SITES= https://www.dovecot.org/releases/2.2/ 14MASTER_SITES= https://www.dovecot.org/releases/${PKGVERSION_NOREV:R}/
15 15
16MAINTAINER= adam@NetBSD.org 16MAINTAINER= adam@NetBSD.org
17HOMEPAGE= http://www.dovecot.org/ 17HOMEPAGE= http://www.dovecot.org/
18COMMENT= Secure IMAP and POP3 server 18COMMENT= Secure IMAP and POP3 server
19LICENSE= mit AND gnu-lgpl-v2.1 AND modified-bsd 19LICENSE= mit AND gnu-lgpl-v2.1 AND modified-bsd
20 20
21DISTINFO_FILE= ${.CURDIR}/../../mail/dovecot2/distinfo 21DISTINFO_FILE= ${.CURDIR}/../../mail/dovecot2/distinfo
22PATCHDIR= ${.CURDIR}/../../mail/dovecot2/patches 22PATCHDIR= ${.CURDIR}/../../mail/dovecot2/patches
23 23
24USE_LIBTOOL= yes 24USE_LIBTOOL= yes
25USE_TOOLS+= gmake pkg-config rpcgen 25USE_TOOLS+= gmake pkg-config rpcgen
26GNU_CONFIGURE= yes 26GNU_CONFIGURE= yes
27 27

cvs diff -r1.55 -r1.56 pkgsrc/mail/dovecot2/PLIST (expand / switch to unified diff)

--- pkgsrc/mail/dovecot2/PLIST 2017/07/03 13:12:44 1.55
+++ pkgsrc/mail/dovecot2/PLIST 2017/08/25 08:29:04 1.56
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.55 2017/07/03 13:12:44 adam Exp $ 1@comment $NetBSD: PLIST,v 1.56 2017/08/25 08:29:04 adam Exp $
2bin/doveadm 2bin/doveadm
3bin/doveconf 3bin/doveconf
4bin/dsync 4bin/dsync
5include/dovecot/abspath.h 5include/dovecot/abspath.h
6include/dovecot/access-lookup.h 6include/dovecot/access-lookup.h
7include/dovecot/acl-api-private.h 7include/dovecot/acl-api-private.h
8include/dovecot/acl-api.h 8include/dovecot/acl-api.h
9include/dovecot/acl-cache.h 9include/dovecot/acl-cache.h
10include/dovecot/acl-global-file.h 10include/dovecot/acl-global-file.h
11include/dovecot/acl-lookup-dict.h 11include/dovecot/acl-lookup-dict.h
12include/dovecot/acl-plugin.h 12include/dovecot/acl-plugin.h
13include/dovecot/acl-storage.h 13include/dovecot/acl-storage.h
14include/dovecot/anvil-client.h 14include/dovecot/anvil-client.h
@@ -36,26 +36,27 @@ include/dovecot/auth-request.h @@ -36,26 +36,27 @@ include/dovecot/auth-request.h
36include/dovecot/auth-server-connection.h 36include/dovecot/auth-server-connection.h
37include/dovecot/auth-settings.h 37include/dovecot/auth-settings.h
38include/dovecot/auth-stats.h 38include/dovecot/auth-stats.h
39include/dovecot/auth-token.h 39include/dovecot/auth-token.h
40include/dovecot/auth-worker-client.h 40include/dovecot/auth-worker-client.h
41include/dovecot/auth-worker-server.h 41include/dovecot/auth-worker-server.h
42include/dovecot/auth.h 42include/dovecot/auth.h
43include/dovecot/backtrace-string.h 43include/dovecot/backtrace-string.h
44include/dovecot/base32.h 44include/dovecot/base32.h
45include/dovecot/base64.h 45include/dovecot/base64.h
46include/dovecot/bits.h 46include/dovecot/bits.h
47include/dovecot/bsearch-insert-pos.h 47include/dovecot/bsearch-insert-pos.h
48include/dovecot/buffer.h 48include/dovecot/buffer.h
 49include/dovecot/byteorder.h
49include/dovecot/charset-utf8.h 50include/dovecot/charset-utf8.h
50include/dovecot/child-wait.h 51include/dovecot/child-wait.h
51include/dovecot/client-common.h 52include/dovecot/client-common.h
52include/dovecot/compat.h 53include/dovecot/compat.h
53include/dovecot/compression.h 54include/dovecot/compression.h
54include/dovecot/config-filter.h 55include/dovecot/config-filter.h
55include/dovecot/config-parser-private.h 56include/dovecot/config-parser-private.h
56include/dovecot/config-parser.h 57include/dovecot/config-parser.h
57include/dovecot/config-request.h 58include/dovecot/config-request.h
58include/dovecot/config.h 59include/dovecot/config.h
59include/dovecot/connection.h 60include/dovecot/connection.h
60include/dovecot/crc32.h 61include/dovecot/crc32.h
61include/dovecot/cydir-storage.h 62include/dovecot/cydir-storage.h
@@ -862,41 +863,43 @@ share/doc/dovecot/wiki/Pigeonhole.Sieve. @@ -862,41 +863,43 @@ share/doc/dovecot/wiki/Pigeonhole.Sieve.
862share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.Include.txt 863share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.Include.txt
863share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.SpamtestVirustest.txt 864share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.SpamtestVirustest.txt
864share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.Vacation.txt 865share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.Vacation.txt
865share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.txt 866share/doc/dovecot/wiki/Pigeonhole.Sieve.Extensions.txt
866share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.Extdata.txt 867share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.Extdata.txt
867share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.Extprograms.txt 868share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.Extprograms.txt
868share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.IMAPSieve.txt 869share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.IMAPSieve.txt
869share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.Pipe.txt 870share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.Pipe.txt
870share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.txt 871share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.txt
871share/doc/dovecot/wiki/Pigeonhole.Sieve.Troubleshooting.txt 872share/doc/dovecot/wiki/Pigeonhole.Sieve.Troubleshooting.txt
872share/doc/dovecot/wiki/Pigeonhole.Sieve.Usage.txt 873share/doc/dovecot/wiki/Pigeonhole.Sieve.Usage.txt
873share/doc/dovecot/wiki/Pigeonhole.Sieve.txt 874share/doc/dovecot/wiki/Pigeonhole.Sieve.txt
874share/doc/dovecot/wiki/Pigeonhole.txt 875share/doc/dovecot/wiki/Pigeonhole.txt
 876share/doc/dovecot/wiki/Plugins.Apparmor.txt
875share/doc/dovecot/wiki/Plugins.Autocreate.txt 877share/doc/dovecot/wiki/Plugins.Autocreate.txt
876share/doc/dovecot/wiki/Plugins.Compress.txt 878share/doc/dovecot/wiki/Plugins.Compress.txt
877share/doc/dovecot/wiki/Plugins.Expire.txt 879share/doc/dovecot/wiki/Plugins.Expire.txt
878share/doc/dovecot/wiki/Plugins.FTS.Lucene.txt 880share/doc/dovecot/wiki/Plugins.FTS.Lucene.txt
879share/doc/dovecot/wiki/Plugins.FTS.Solr.txt 881share/doc/dovecot/wiki/Plugins.FTS.Solr.txt
880share/doc/dovecot/wiki/Plugins.FTS.Squat.txt 882share/doc/dovecot/wiki/Plugins.FTS.Squat.txt
881share/doc/dovecot/wiki/Plugins.FTS.txt 883share/doc/dovecot/wiki/Plugins.FTS.txt
882share/doc/dovecot/wiki/Plugins.LastLogin.txt 884share/doc/dovecot/wiki/Plugins.LastLogin.txt
883share/doc/dovecot/wiki/Plugins.Lazyexpunge.txt 885share/doc/dovecot/wiki/Plugins.Lazyexpunge.txt
884share/doc/dovecot/wiki/Plugins.Listescape.txt 886share/doc/dovecot/wiki/Plugins.Listescape.txt
885share/doc/dovecot/wiki/Plugins.MailCrypt.txt 887share/doc/dovecot/wiki/Plugins.MailCrypt.txt
886share/doc/dovecot/wiki/Plugins.MailFilter.txt 888share/doc/dovecot/wiki/Plugins.MailFilter.txt
887share/doc/dovecot/wiki/Plugins.MailLog.txt 889share/doc/dovecot/wiki/Plugins.MailLog.txt
888share/doc/dovecot/wiki/Plugins.MailboxAlias.txt 890share/doc/dovecot/wiki/Plugins.MailboxAlias.txt
889share/doc/dovecot/wiki/Plugins.Notify.txt 891share/doc/dovecot/wiki/Plugins.Notify.txt
 892share/doc/dovecot/wiki/Plugins.NotifyStatus.txt
890share/doc/dovecot/wiki/Plugins.PushNotification.txt 893share/doc/dovecot/wiki/Plugins.PushNotification.txt
891share/doc/dovecot/wiki/Plugins.QuotaClone.txt 894share/doc/dovecot/wiki/Plugins.QuotaClone.txt
892share/doc/dovecot/wiki/Plugins.Snarf.txt 895share/doc/dovecot/wiki/Plugins.Snarf.txt
893share/doc/dovecot/wiki/Plugins.Stats.txt 896share/doc/dovecot/wiki/Plugins.Stats.txt
894share/doc/dovecot/wiki/Plugins.Trash.txt 897share/doc/dovecot/wiki/Plugins.Trash.txt
895share/doc/dovecot/wiki/Plugins.VarExpandCrypt.txt 898share/doc/dovecot/wiki/Plugins.VarExpandCrypt.txt
896share/doc/dovecot/wiki/Plugins.Virtual.txt 899share/doc/dovecot/wiki/Plugins.Virtual.txt
897share/doc/dovecot/wiki/Plugins.Welcome.txt 900share/doc/dovecot/wiki/Plugins.Welcome.txt
898share/doc/dovecot/wiki/Plugins.Zlib.txt 901share/doc/dovecot/wiki/Plugins.Zlib.txt
899share/doc/dovecot/wiki/Plugins.txt 902share/doc/dovecot/wiki/Plugins.txt
900share/doc/dovecot/wiki/PostLoginScripting.txt 903share/doc/dovecot/wiki/PostLoginScripting.txt
901share/doc/dovecot/wiki/PreAuth.txt 904share/doc/dovecot/wiki/PreAuth.txt
902share/doc/dovecot/wiki/QuickConfiguration.txt 905share/doc/dovecot/wiki/QuickConfiguration.txt

cvs diff -r1.23 -r1.24 pkgsrc/mail/dovecot2/buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/mail/dovecot2/buildlink3.mk 2017/07/03 13:14:40 1.23
+++ pkgsrc/mail/dovecot2/buildlink3.mk 2017/08/25 08:29:04 1.24
@@ -1,23 +1,23 @@ @@ -1,23 +1,23 @@
1# $NetBSD: buildlink3.mk,v 1.23 2017/07/03 13:14:40 adam Exp $ 1# $NetBSD: buildlink3.mk,v 1.24 2017/08/25 08:29:04 adam Exp $
2 2
3BUILDLINK_TREE+= dovecot 3BUILDLINK_TREE+= dovecot
4 4
5.if !defined(DOVECOT_BUILDLINK3_MK) 5.if !defined(DOVECOT_BUILDLINK3_MK)
6DOVECOT_BUILDLINK3_MK:= 6DOVECOT_BUILDLINK3_MK:=
7 7
8BUILDLINK_API_DEPENDS.dovecot+= dovecot>=2.2.0 8BUILDLINK_API_DEPENDS.dovecot+= dovecot>=2.2.0
9# must match current package version for plugins to load 9# must match current package version for plugins to load
10BUILDLINK_ABI_DEPENDS.dovecot+= dovecot>=2.2.31 10BUILDLINK_ABI_DEPENDS.dovecot+= dovecot>=2.2.32
11BUILDLINK_PKGSRCDIR.dovecot?= ../../mail/dovecot2 11BUILDLINK_PKGSRCDIR.dovecot?= ../../mail/dovecot2
12 12
13pkgbase:= dovecot 13pkgbase:= dovecot
14.include "../../mk/pkg-build-options.mk" 14.include "../../mk/pkg-build-options.mk"
15.if !empty(PKG_BUILD_OPTIONS.dovecot:Mssl) 15.if !empty(PKG_BUILD_OPTIONS.dovecot:Mssl)
16. include "../../security/openssl/buildlink3.mk" 16. include "../../security/openssl/buildlink3.mk"
17.elif !empty(PKG_BUILD_OPTIONS.dovecot:Mgnutls) 17.elif !empty(PKG_BUILD_OPTIONS.dovecot:Mgnutls)
18. include "../../security/gnutls/buildlink3.mk" 18. include "../../security/gnutls/buildlink3.mk"
19.endif 19.endif
20.include "../../archivers/bzip2/buildlink3.mk" 20.include "../../archivers/bzip2/buildlink3.mk"
21.include "../../devel/zlib/buildlink3.mk" 21.include "../../devel/zlib/buildlink3.mk"
22.endif # DOVECOT_BUILDLINK3_MK 22.endif # DOVECOT_BUILDLINK3_MK
23 23

cvs diff -r1.76 -r1.77 pkgsrc/mail/dovecot2/distinfo (expand / switch to unified diff)

--- pkgsrc/mail/dovecot2/distinfo 2017/07/03 13:12:44 1.76
+++ pkgsrc/mail/dovecot2/distinfo 2017/08/25 08:29:04 1.77
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1$NetBSD: distinfo,v 1.76 2017/07/03 13:12:44 adam Exp $ 1$NetBSD: distinfo,v 1.77 2017/08/25 08:29:04 adam Exp $
2 2
3SHA1 (dovecot-2.2.31.tar.gz) = b0507809841ce2db1c66161b9f0be65dbf116695 3SHA1 (dovecot-2.2.32.tar.gz) = 783f545163a763becfc83c70bfa68529ce7c4da0
4RMD160 (dovecot-2.2.31.tar.gz) = 6dcddca37b288325763faa846dc1f4d3cb21e471 4RMD160 (dovecot-2.2.32.tar.gz) = ff583c903b774e1e691718088ec9ab305b342cdb
5SHA512 (dovecot-2.2.31.tar.gz) = 071797e260a75de9117b03c0fa9d903de82b1f1c039c2aece2d7313587e6673c49174bfce17b80fe3f3725fcbc42ed3a1bd1f1c22efef5bc016752277eff3266 5SHA512 (dovecot-2.2.32.tar.gz) = a26ce763fdea7d72ff9801d3b7d57a1f0d00278e4a1aa60d1be070fe5a6d2c6a15f266a519119492bee7a3e7a6b7d0732e9879e5c5841adbab8c0952cd1b7c7c
6Size (dovecot-2.2.31.tar.gz) = 5993283 bytes 6Size (dovecot-2.2.32.tar.gz) = 6100268 bytes
7SHA1 (patch-aa) = ea185011f0c1ee3aa1ff528e61f6f356fe385666 7SHA1 (patch-aa) = ea185011f0c1ee3aa1ff528e61f6f356fe385666
8SHA1 (patch-ab) = d637a64feec8e4eafacda149cf0193aa1b70a054 8SHA1 (patch-ab) = d637a64feec8e4eafacda149cf0193aa1b70a054
9SHA1 (patch-ae) = 51d8cb998cc2ded8bfc767710e465b752c50e656 9SHA1 (patch-ae) = 51d8cb998cc2ded8bfc767710e465b752c50e656
10SHA1 (patch-af) = c066e94dd6593d16eec3e66f5f4d26f021918498 10SHA1 (patch-af) = c066e94dd6593d16eec3e66f5f4d26f021918498
11SHA1 (patch-src_imap_imap-client.h) = 1a2bf95ab6af57d88862a1512624bf263f4c2ce7 11SHA1 (patch-src_imap_imap-client.h) = 1a2bf95ab6af57d88862a1512624bf263f4c2ce7
12SHA1 (patch-src_lib-ldap_ldap-private.h) = 2d5ce32330ad4164cc75f8d209ba499d37ed01fc 12SHA1 (patch-src_lib-ldap_ldap-private.h) = 2d5ce32330ad4164cc75f8d209ba499d37ed01fc
13SHA1 (patch-src_lib_buffer.h) = d75017a1093c1ca34827d01ec85b06e6b03105d2 13SHA1 (patch-src_lib_buffer.h) = d75017a1093c1ca34827d01ec85b06e6b03105d2
14SHA1 (patch-src_lib_connection.h) = c749dd1517902b6602f81e41bb90c6288a571487 14SHA1 (patch-src_lib_connection.h) = c749dd1517902b6602f81e41bb90c6288a571487
15SHA1 (patch-src_plugins_quota_quota-fs.c) = c69305eb065a2417df1e8cd6ccbc1d317aee5d00 15SHA1 (patch-src_plugins_quota_quota-fs.c) = c69305eb065a2417df1e8cd6ccbc1d317aee5d00
16SHA1 (patch-src_stats_mail-stats.h) = 36af4c9931953bf23c97d08fe50e0c299fe6c2c3 16SHA1 (patch-src_stats_mail-stats.h) = 36af4c9931953bf23c97d08fe50e0c299fe6c2c3