dovecot-2.2: Merged changes from v2.1 tree.

dovecot at dovecot.org dovecot at dovecot.org
Sun May 20 03:26:37 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/fbb1ecb9b888
changeset: 14576:fbb1ecb9b888
user:      Timo Sirainen <tss at iki.fi>
date:      Sun May 20 03:25:04 2012 +0300
description:
Merged changes from v2.1 tree.

diffstat:

 .hgignore                                              |     2 +
 .hgsigs                                                |     5 +
 .hgtags                                                |     5 +
 Makefile.am                                            |     7 +-
 NEWS                                                   |    93 +
 TODO                                                   |     1 -
 configure.in                                           |    16 +-
 doc/example-config/conf.d/10-mail.conf                 |     6 +
 doc/example-config/conf.d/10-ssl.conf                  |     3 +
 doc/example-config/conf.d/20-pop3.conf                 |     5 +
 doc/example-config/dovecot.conf                        |     5 +
 dovecot-config.in.in                                   |     2 +-
 src/Makefile.am                                        |     1 +
 src/anvil/anvil-connection.c                           |     2 +-
 src/anvil/penalty.c                                    |     6 +-
 src/auth/Makefile.am                                   |    22 +-
 src/auth/auth-cache.c                                  |    85 +-
 src/auth/auth-client-connection.c                      |    11 +-
 src/auth/auth-master-connection.c                      |     6 +-
 src/auth/auth-request-handler.c                        |    30 +-
 src/auth/auth-request.c                                |   131 +-
 src/auth/auth-request.h                                |    11 +-
 src/auth/auth-settings.c                               |     2 +-
 src/auth/auth-stream.c                                 |     2 +-
 src/auth/auth-worker-client.c                          |     9 +-
 src/auth/auth.c                                        |    12 +-
 src/auth/checkpassword-reply.c                         |    27 +-
 src/auth/db-checkpassword.c                            |   474 +++++-
 src/auth/db-checkpassword.h                            |    65 +-
 src/auth/db-ldap.c                                     |    43 +-
 src/auth/db-ldap.h                                     |     5 +-
 src/auth/passdb-blocking.c                             |     2 +-
 src/auth/passdb-cache.c                                |     4 +-
 src/auth/passdb-checkpassword.c                        |   312 +---
 src/auth/passdb-ldap.c                                 |     1 -
 src/auth/passdb-static.c                               |     2 +-
 src/auth/test-auth-cache.c                             |    57 +
 src/auth/userdb-checkpassword.c                        |   240 +--
 src/auth/userdb-passwd.c                               |    25 +-
 src/config/config-connection.c                         |     2 +-
 src/config/config-filter.c                             |    12 +-
 src/config/config-request.c                            |     2 +-
 src/config/doveconf.c                                  |     2 +-
 src/dict/dict-commands.c                               |     8 +-
 src/director/Makefile.am                               |    23 +-
 src/director/director-connection.c                     |  1188 ++++++++++-----
 src/director/director-connection.h                     |    16 +-
 src/director/director-host.c                           |    35 +-
 src/director/director-host.h                           |    14 +-
 src/director/director-request.c                        |    89 +-
 src/director/director-settings.c                       |     2 +
 src/director/director-settings.h                       |     1 +
 src/director/director-test.c                           |     2 +-
 src/director/director.c                                |   347 +++-
 src/director/director.h                                |    40 +-
 src/director/doveadm-connection.c                      |    74 +-
 src/director/login-connection.c                        |     2 +-
 src/director/main.c                                    |     8 +-
 src/director/notify-connection.c                       |     9 +-
 src/director/test-user-directory.c                     |   104 +
 src/director/user-directory.c                          |   142 +-
 src/director/user-directory.h                          |    18 +-
 src/doveadm/Makefile.am                                |     5 +-
 src/doveadm/client-connection.c                        |    59 +-
 src/doveadm/doveadm-auth.c                             |   114 +-
 src/doveadm/doveadm-director.c                         |    77 +-
 src/doveadm/doveadm-mail-expunge.c                     |    66 +-
 src/doveadm/doveadm-mail-import.c                      |     1 +
 src/doveadm/doveadm-mail-iter.c                        |    18 +-
 src/doveadm/doveadm-mail-iter.h                        |     2 +
 src/doveadm/doveadm-mail-mailbox-status.c              |     2 +-
 src/doveadm/doveadm-mail-mailbox.c                     |    13 +-
 src/doveadm/doveadm-mail-server.c                      |    16 +-
 src/doveadm/doveadm-mail.c                             |    37 +-
 src/doveadm/doveadm-mail.h                             |     8 +-
 src/doveadm/doveadm-mailbox-list-iter.c                |    65 +-
 src/doveadm/doveadm-mount.c                            |     6 +-
 src/doveadm/doveadm-mutf7.c                            |     2 +
 src/doveadm/doveadm-penalty.c                          |     2 +-
 src/doveadm/doveadm-proxy.c                            |     2 +-
 src/doveadm/doveadm-settings.c                         |     2 +
 src/doveadm/doveadm-settings.h                         |     1 +
 src/doveadm/doveadm-stats.c                            |     2 +-
 src/doveadm/doveadm-who.c                              |     2 +-
 src/doveadm/doveadm.c                                  |     1 +
 src/doveadm/dsync/Makefile.am                          |     3 -
 src/doveadm/dsync/doveadm-dsync.c                      |   463 ++++-
 src/doveadm/dsync/dsync-brain-msgs.c                   |     2 +
 src/doveadm/dsync/dsync-brain.c                        |     6 +-
 src/doveadm/dsync/dsync-data.h                         |     1 +
 src/doveadm/dsync/dsync-proxy-server.c                 |     2 +-
 src/doveadm/dsync/dsync-worker-local.c                 |    46 +-
 src/doveadm/dsync/dsync-worker.h                       |     3 +-
 src/doveadm/dsync/test-dsync-proxy-server-cmd.c        |     2 +
 src/doveadm/server-connection.c                        |    16 +-
 src/doveadm/server-connection.h                        |     1 +
 src/imap-login/client.c                                |     4 +
 src/imap-login/imap-proxy.c                            |     2 +
 src/imap/Makefile.am                                   |    13 +-
 src/imap/cmd-append.c                                  |    13 +-
 src/imap/cmd-fetch.c                                   |     5 +
 src/imap/cmd-list.c                                    |    24 +-
 src/imap/imap-client.c                                 |    11 +-
 src/imap/imap-client.h                                 |     4 +-
 src/imap/imap-commands.c                               |     3 +-
 src/imap/imap-sync.c                                   |     7 +-
 src/imap/main.c                                        |    11 +-
 src/indexer/Makefile.am                                |    13 +-
 src/ipc/ipc-connection.c                               |     2 +-
 src/lda/Makefile.am                                    |    12 +-
 src/lib-auth/auth-client-request.c                     |     6 +
 src/lib-auth/auth-client.h                             |     1 +
 src/lib-auth/auth-master.c                             |     4 +-
 src/lib-auth/auth-server-connection.c                  |     2 +-
 src/lib-dict/dict-file.c                               |   168 +-
 src/lib-dict/dict-sql.c                                |     6 +-
 src/lib-imap/test-imap-utf7.c                          |     2 +-
 src/lib-index/mail-cache-fields.c                      |     2 +-
 src/lib-index/mail-index-map.c                         |    10 +-
 src/lib-index/mail-index-modseq.c                      |     5 +
 src/lib-index/mail-index-modseq.h                      |     1 +
 src/lib-index/mail-index-transaction-private.h         |     4 +
 src/lib-index/mail-index-transaction-update.c          |     2 +-
 src/lib-index/mail-index-transaction.c                 |    17 +
 src/lib-index/mail-transaction-log-file.c              |     2 +-
 src/lib-index/test-mail-index-transaction-update.c     |     6 +
 src/lib-lda/mail-deliver.c                             |     8 +-
 src/lib-mail/Makefile.am                               |     2 +
 src/lib-mail/mail-user-hash.c                          |    41 +
 src/lib-mail/mail-user-hash.h                          |     8 +
 src/lib-mail/message-date.c                            |    10 +-
 src/lib-mail/message-parser.c                          |    29 +-
 src/lib-mail/rfc822-parser.c                           |     2 +-
 src/lib-master/anvil-client.c                          |     2 +-
 src/lib-master/master-login-auth.c                     |     4 +-
 src/lib-master/master-login.c                          |    25 +-
 src/lib-master/master-login.h                          |     3 +
 src/lib-master/master-service-settings.c               |     2 +-
 src/lib-master/master-service.c                        |     2 +
 src/lib-master/mountpoint-list.c                       |    32 +-
 src/lib-master/mountpoint-list.h                       |     7 +-
 src/lib-settings/settings-parser.c                     |    37 +-
 src/lib-settings/settings-parser.h                     |     6 +-
 src/lib-sql/driver-mysql.c                             |     4 +-
 src/lib-sql/driver-pgsql.c                             |     3 +
 src/lib-sql/driver-sqlpool.c                           |     4 +-
 src/lib-ssl-iostream/Makefile.am                       |     2 +-
 src/lib-ssl-iostream/iostream-openssl.c                |     2 +
 src/lib-storage/Makefile.am                            |     3 +-
 src/lib-storage/fail-mailbox.c                         |     2 +-
 src/lib-storage/index/Makefile.am                      |     3 -
 src/lib-storage/index/cydir/cydir-mail.c               |     6 +-
 src/lib-storage/index/dbox-common/dbox-file.c          |     5 +-
 src/lib-storage/index/dbox-common/dbox-storage.c       |     9 +-
 src/lib-storage/index/dbox-common/dbox-storage.h       |     2 -
 src/lib-storage/index/dbox-multi/mdbox-map.c           |     8 +-
 src/lib-storage/index/dbox-multi/mdbox-purge.c         |     6 +-
 src/lib-storage/index/dbox-multi/mdbox-storage.c       |     8 +-
 src/lib-storage/index/dbox-multi/mdbox-sync.c          |     8 +
 src/lib-storage/index/dbox-single/sdbox-copy.c         |     9 +-
 src/lib-storage/index/dbox-single/sdbox-save.c         |     9 +
 src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c |     1 +
 src/lib-storage/index/dbox-single/sdbox-sync.c         |     6 +-
 src/lib-storage/index/imapc/imapc-list.c               |    72 +-
 src/lib-storage/index/imapc/imapc-mail-fetch.c         |    18 +
 src/lib-storage/index/imapc/imapc-mail.c               |   101 +-
 src/lib-storage/index/imapc/imapc-settings.c           |    44 +
 src/lib-storage/index/imapc/imapc-settings.h           |    11 +
 src/lib-storage/index/imapc/imapc-storage.h            |     8 +-
 src/lib-storage/index/index-mail.c                     |     6 +-
 src/lib-storage/index/index-mail.h                     |     2 +-
 src/lib-storage/index/index-search-private.h           |     2 +
 src/lib-storage/index/index-search.c                   |    39 +-
 src/lib-storage/index/index-status.c                   |    16 +-
 src/lib-storage/index/index-storage.c                  |    25 +-
 src/lib-storage/index/index-thread.c                   |     3 +
 src/lib-storage/index/index-transaction.c              |     8 +
 src/lib-storage/index/maildir/maildir-mail.c           |    36 +-
 src/lib-storage/index/maildir/maildir-save.c           |    16 +-
 src/lib-storage/index/maildir/maildir-storage.c        |    11 +-
 src/lib-storage/index/maildir/maildir-storage.h        |     2 -
 src/lib-storage/index/maildir/maildir-sync-index.c     |     2 +
 src/lib-storage/index/maildir/maildir-sync.c           |    57 +-
 src/lib-storage/index/maildir/maildir-sync.h           |     1 +
 src/lib-storage/index/maildir/maildir-uidlist.c        |    14 +
 src/lib-storage/index/maildir/maildir-util.c           |    11 +
 src/lib-storage/index/mbox/mbox-storage.h              |     1 +
 src/lib-storage/index/mbox/mbox-sync.c                 |    20 +-
 src/lib-storage/index/pop3c/pop3c-client.c             |     2 +-
 src/lib-storage/index/pop3c/pop3c-mail.c               |     2 +-
 src/lib-storage/index/pop3c/pop3c-storage.c            |     2 +-
 src/lib-storage/index/raw/raw-storage.c                |     1 +
 src/lib-storage/index/shared/shared-storage.c          |    34 +-
 src/lib-storage/list/mailbox-list-fs-iter.c            |   115 +-
 src/lib-storage/list/mailbox-list-index-iter.c         |     7 +-
 src/lib-storage/list/mailbox-list-index-status.c       |     2 +
 src/lib-storage/list/mailbox-list-index-sync.c         |     7 +-
 src/lib-storage/list/mailbox-list-index.c              |    69 +-
 src/lib-storage/list/mailbox-list-index.h              |     6 +
 src/lib-storage/list/mailbox-list-maildir-iter.c       |    20 +-
 src/lib-storage/list/mailbox-list-subscriptions.c      |     7 +-
 src/lib-storage/list/mailbox-list-subscriptions.h      |     3 +-
 src/lib-storage/list/subscription-file.c               |    34 +-
 src/lib-storage/mail-namespace.c                       |     7 +
 src/lib-storage/mail-search-register-human.c           |    24 +-
 src/lib-storage/mail-search-register-imap.c            |    60 +-
 src/lib-storage/mail-storage-private.h                 |    11 +-
 src/lib-storage/mail-storage-service.c                 |    11 +-
 src/lib-storage/mail-storage-service.h                 |     1 +
 src/lib-storage/mail-storage-settings.c                |     4 +
 src/lib-storage/mail-storage-settings.h                |     2 +
 src/lib-storage/mail-storage.c                         |   116 +-
 src/lib-storage/mail-storage.h                         |    10 +
 src/lib-storage/mail-user.c                            |    70 +-
 src/lib-storage/mail-user.h                            |     4 +
 src/lib-storage/mailbox-list-iter.c                    |    19 +-
 src/lib-storage/mailbox-list-private.h                 |     3 -
 src/lib-storage/mailbox-list.c                         |    19 +
 src/lib-storage/mailbox-list.h                         |     7 +-
 src/lib-storage/mailbox-tree.c                         |    30 +-
 src/lib-storage/mailbox-tree.h                         |     3 +-
 src/lib-test/test-common.c                             |     2 +-
 src/lib/array.c                                        |     6 +-
 src/lib/array.h                                        |    20 +-
 src/lib/compat.h                                       |     3 +-
 src/lib/data-stack.c                                   |    38 +-
 src/lib/eacces-error.c                                 |    12 +-
 src/lib/file-cache.c                                   |    10 +-
 src/lib/ioloop.c                                       |     3 +-
 src/lib/mempool-alloconly.c                            |     3 +-
 src/lib/network.c                                      |     4 +-
 src/lib/ostream.c                                      |     3 +-
 src/lib/process-title.c                                |     2 +
 src/lib/seq-range-array.c                              |    22 +-
 src/lib/strfuncs.c                                     |    45 +
 src/lib/strfuncs.h                                     |     4 +-
 src/lib/test-array.c                                   |     2 +-
 src/lib/test-base64.c                                  |     8 +-
 src/lib/test-bsearch-insert-pos.c                      |     6 +-
 src/lib/test-primes.c                                  |     2 +-
 src/lib/test-seq-range-array.c                         |    16 +-
 src/lib/test-str-find.c                                |     3 +-
 src/lib/test-strfuncs.c                                |    53 +
 src/lib/test-var-expand.c                              |    31 +
 src/lib/unlink-old-files.c                             |    18 +-
 src/lib/unlink-old-files.h                             |     3 +-
 src/lib/var-expand.c                                   |    40 +-
 src/lib/var-expand.h                                   |     4 +
 src/lmtp/Makefile.am                                   |    12 +-
 src/lmtp/commands.c                                    |    13 +-
 src/log/log-connection.c                               |    23 +-
 src/log/main.c                                         |     8 +-
 src/login-common/Makefile.am                           |     3 +-
 src/login-common/client-common-auth.c                  |     9 +
 src/login-common/client-common.c                       |   172 +-
 src/login-common/client-common.h                       |    12 +-
 src/login-common/login-proxy-state.c                   |    56 +-
 src/login-common/login-proxy.c                         |    43 +-
 src/login-common/login-proxy.h                         |     3 +
 src/login-common/login-settings.c                      |     6 +-
 src/login-common/login-settings.h                      |     2 +
 src/login-common/main.c                                |     2 +-
 src/login-common/sasl-server.c                         |     8 +-
 src/login-common/ssl-proxy-openssl.c                   |    99 +-
 src/login-common/ssl-proxy.c                           |     7 +
 src/login-common/ssl-proxy.h                           |     5 +-
 src/master/main.c                                      |     5 +-
 src/master/master-settings.c                           |     2 +-
 src/master/service-listen.c                            |    91 +
 src/plugins/Makefile.am                                |     2 +
 src/plugins/acl/acl-backend-vfile-acllist.c            |     2 +-
 src/plugins/acl/acl-backend-vfile.c                    |     3 +-
 src/plugins/acl/acl-cache.c                            |     4 +
 src/plugins/acl/acl-shared-storage.c                   |    20 +-
 src/plugins/expire/doveadm-expire.c                    |     2 +
 src/plugins/expire/expire-plugin.c                     |    13 +-
 src/plugins/fts-lucene/fts-backend-lucene.c            |     3 +-
 src/plugins/fts-solr/fts-backend-solr.c                |    34 +-
 src/plugins/fts-squat/Makefile.am                      |    12 +-
 src/plugins/fts-squat/fts-backend-squat.c              |     5 +-
 src/plugins/fts-squat/squat-trie.c                     |     1 +
 src/plugins/fts-squat/squat-uidlist.c                  |     3 +
 src/plugins/fts/Makefile.am                            |     1 +
 src/plugins/fts/decode2text.sh                         |    22 +-
 src/plugins/fts/fts-api-private.h                      |     4 +-
 src/plugins/fts/fts-indexer.c                          |    25 +-
 src/plugins/fts/fts-storage.c                          |    58 +-
 src/plugins/fts/fts-storage.h                          |     1 +
 src/plugins/imap-stats/imap-stats-plugin.c             |     9 +-
 src/plugins/mail-log/mail-log-plugin.c                 |    18 +-
 src/plugins/notify/notify-storage.c                    |     9 +-
 src/plugins/pop3-migration/Makefile.am                 |    17 +
 src/plugins/pop3-migration/pop3-migration-plugin.c     |   632 ++++++++
 src/plugins/pop3-migration/pop3-migration-plugin.h     |     7 +
 src/plugins/quota/quota-count.c                        |     7 +-
 src/plugins/quota/quota-private.h                      |     3 +
 src/plugins/quota/quota-storage.c                      |     8 +
 src/plugins/quota/quota.c                              |    30 +-
 src/plugins/replication/Makefile.am                    |    25 +
 src/plugins/replication/replication-plugin.c           |   371 ++++
 src/plugins/replication/replication-plugin.h           |     9 +
 src/plugins/stats/stats-connection.c                   |    36 +-
 src/plugins/stats/stats-plugin.c                       |   235 +-
 src/plugins/stats/stats-plugin.h                       |     3 +
 src/plugins/trash/trash-plugin.c                       |    50 +-
 src/plugins/virtual/virtual-mail.c                     |     8 +-
 src/pop3-login/client.c                                |     3 +
 src/pop3-login/pop3-proxy.c                            |     3 +-
 src/pop3/Makefile.am                                   |    13 +-
 src/pop3/main.c                                        |     4 +-
 src/pop3/pop3-client.c                                 |    44 +-
 src/pop3/pop3-client.h                                 |     9 +-
 src/pop3/pop3-commands.c                               |   272 ++-
 src/pop3/pop3-settings.c                               |     4 +-
 src/pop3/pop3-settings.h                               |     1 +
 src/replication/Makefile.am                            |     4 +
 src/replication/aggregator/Makefile.am                 |    26 +
 src/replication/aggregator/aggregator-settings.c       |    85 +
 src/replication/aggregator/aggregator-settings.h       |    12 +
 src/replication/aggregator/aggregator.c                |    75 +
 src/replication/aggregator/notify-connection.c         |   154 ++
 src/replication/aggregator/notify-connection.h         |     9 +
 src/replication/aggregator/replicator-connection.c     |   325 ++++
 src/replication/aggregator/replicator-connection.h     |    25 +
 src/replication/replication-common.h                   |    30 +
 src/replication/replicator/Makefile.am                 |    30 +
 src/replication/replicator/doveadm-connection.c        |   195 ++
 src/replication/replicator/doveadm-connection.h        |    20 +
 src/replication/replicator/notify-connection.c         |   197 ++
 src/replication/replicator/notify-connection.h         |    13 +
 src/replication/replicator/replicator-brain.c          |   166 ++
 src/replication/replicator/replicator-brain.h          |    11 +
 src/replication/replicator/replicator-queue.c          |   371 ++++
 src/replication/replicator/replicator-queue.h          |    60 +
 src/replication/replicator/replicator-settings.c       |    80 +
 src/replication/replicator/replicator-settings.h       |    15 +
 src/replication/replicator/replicator.c                |   117 +
 src/stats/mail-command.c                               |    71 +-
 src/stats/mail-domain.c                                |     3 +-
 src/stats/mail-ip.c                                    |     3 +-
 src/stats/mail-session.c                               |     8 +-
 src/stats/mail-user.c                                  |     3 +-
 src/util/Makefile.am                                   |     9 +-
 src/util/script-login.c                                |     2 +-
 update-version.sh                                      |     2 +-
 345 files changed, 9448 insertions(+), 2507 deletions(-)

diffs (truncated from 20512 to 300 lines):

diff -r 80688ab1ea3d -r fbb1ecb9b888 .hgignore
--- a/.hgignore	Sat May 19 22:40:08 2012 +0300
+++ b/.hgignore	Sun May 20 03:25:04 2012 +0300
@@ -85,6 +85,8 @@
 src/plugins/fts-squat/squat-test
 src/pop3-login/pop3-login
 src/pop3/pop3
+src/replication/replicator/replicator
+src/replication/aggregator/aggregator
 src/util/gdbhelper
 src/util/listview
 src/util/maildirlock
diff -r 80688ab1ea3d -r fbb1ecb9b888 .hgsigs
--- a/.hgsigs	Sat May 19 22:40:08 2012 +0300
+++ b/.hgsigs	Sun May 20 03:25:04 2012 +0300
@@ -41,3 +41,8 @@
 736f1b7af190ea68e65719277bd8d3d4682e0844 0 iEYEABECAAYFAk87Kz4ACgkQyUhSUUBVismKXACeME7EBYoEuoLLELp0uX6B/lkgRWQAoJ2OAgz4mmluGbi0Db8grDDWSsTj
 e2cd03cc9c690c4989fb53a1871b7109c547388a 0 iEYEABECAAYFAk89MXsACgkQyUhSUUBVisnPmwCgiAr4OfQX1uAjhuqj5X0xbd8O1NQAn2bQW+h8QPAbqN6dQRNTm82D2hNF
 04b0acc03f1eaa0353888a75a452e5c8e61e4c94 0 iEYEABECAAYFAk9F+k0ACgkQyUhSUUBViskLmwCfUt/aex6wOIEohJKnRGA4diF5WxoAn2zlMxSaPX/b0LBmV1P46GAMqZbO
+744e0d7f1b255a9339060f761b850303121f14df 0 iEYEABECAAYFAk9h/8oACgkQyUhSUUBVism2OQCfWh62w8pMxJaf1oYx2A+2PxQvBocAn29RFDgZblGRLn7iMCPw6We1yiIw
+b9adfd52cb66d5d89d291b76b9845d6361216d12 0 iEYEABECAAYFAk9jbugACgkQyUhSUUBVislSgwCgpo3f0bsSujItBum/M6js8SzF06YAmwftHlwaOstKeALdjLR5vtF2c5F7
+2c21c940e19d97a772128a7f281cea302e157d73 0 iEYEABECAAYFAk+CtkYACgkQyUhSUUBVisknxgCfTJw2YPGJ17HbHRGmbwmCyLqepbMAn17j7IYzUfEU0xkXhCgwEAmk7XO4
+469cee314d9c54d2d7101ec9e38579fdc9610eaf 0 iEYEABECAAYFAk+VWqkACgkQyUhSUUBVislnXACfVjPqMmPUvYtXQXwqff0h7N76mZUAn02lPeUCyuyr1TF9e1hGM/sKgmko
+7c249e2a82a9cd33ae15ead6443c3499e16da623 0 iEYEABECAAYFAk+nX2sACgkQyUhSUUBVisn7uwCbBD3boxBOGEJ8OYsIJ57n5Cr09FAAoIvhxL6EHRB15AMOw4sPaALJ3/bB
diff -r 80688ab1ea3d -r fbb1ecb9b888 .hgtags
--- a/.hgtags	Sat May 19 22:40:08 2012 +0300
+++ b/.hgtags	Sun May 20 03:25:04 2012 +0300
@@ -78,3 +78,8 @@
 736f1b7af190ea68e65719277bd8d3d4682e0844 2.1.rc7
 e2cd03cc9c690c4989fb53a1871b7109c547388a 2.1.0
 04b0acc03f1eaa0353888a75a452e5c8e61e4c94 2.1.1
+744e0d7f1b255a9339060f761b850303121f14df 2.1.2
+b9adfd52cb66d5d89d291b76b9845d6361216d12 2.1.3
+2c21c940e19d97a772128a7f281cea302e157d73 2.1.4
+469cee314d9c54d2d7101ec9e38579fdc9610eaf 2.1.5
+7c249e2a82a9cd33ae15ead6443c3499e16da623 2.1.6
diff -r 80688ab1ea3d -r fbb1ecb9b888 Makefile.am
--- a/Makefile.am	Sat May 19 22:40:08 2012 +0300
+++ b/Makefile.am	Sun May 20 03:25:04 2012 +0300
@@ -70,12 +70,17 @@
 	-e "s|^\(LIBDOVECOT_INCLUDE\)=.*$$|\1=-I$(pkgincludedir)|" \
 	> $(DESTDIR)$(pkglibdir)/dovecot-config
 
+uninstall-hook:
+	rm $(DESTDIR)$(pkglibdir)/dovecot-config
+
 CLEANFILES = $(datafiles)
 if HAVE_SYSTEMD
 CLEANFILES += $systedmsystemunit_DATA
 endif
 
-DISTCLEANFILES = $(top_builddir)/dovecot-version.h
+DISTCLEANFILES = \
+	$(top_builddir)/dovecot-version.h \
+	$(top_builddir)/dovecot-config
 
 distcheck-hook:
 	if which scan-build > /dev/null; then \
diff -r 80688ab1ea3d -r fbb1ecb9b888 NEWS
--- a/NEWS	Sat May 19 22:40:08 2012 +0300
+++ b/NEWS	Sun May 20 03:25:04 2012 +0300
@@ -1,3 +1,96 @@
+v2.1.6 2012-05-07  Timo Sirainen <tss at iki.fi>
+
+	* Session ID is now included by default in auth and login process
+	  log lines. It can be added to mail processes also by adding
+	  %{session} to mail_log_prefix.
+
+	+ Added ssl_require_crl setting, which specifies if CRL check must
+	  be successful when verifying client certificates.
+	+ Added mail_shared_explicit_inbox setting to specify if a shared INBOX
+	  should be accessible as "shared/$user" or "shared/$user/INBOX".
+	- v2.1.5: Using "~/" as mail_location or elsewhere failed to actually
+	  expand it to home directory.
+	- dbox: Fixed potential assert-crash when reading dbox files.
+	- trash plugin: Fixed behavior when quota is already over limit.
+	- mail_log plugin: Logging "copy" event didn't work.
+	- Proxying to backend server with SSL: Verifying server certificate
+	  name always failed, because it was compared to an IP address.
+
+v2.1.5 2012-04-23  Timo Sirainen <tss at iki.fi>
+
+	* IMAP: When neither the session nor the mailbox has modseq tracking
+	  enabled, return the mailbox as having NOMODSEQ in SELECT/EXAMINE
+	  reply. Old versions in this situation always simply returned
+	  HIGHESTMODSEQ as 1, which could have broken some clients.
+
+	+ dict file: Added optional fcntl/flock locking (default is dotlock)
+	+ fts-solr: doveadm fts rescan now resets indexes, which allows
+	  reindexing mails. (This isn't a full rescan implementation like
+	  fts-lucene has.)
+	+ doveadm expunge: Added -d parameter to delete mailbox if it's
+	  empty after expunging.
+	- IMAP: Several fixes related to mailbox listing in some configs
+	- director: A lot of fixes and performance improvements
+	- v2.1.4 didn't work without a mail home directory set
+	- mbox: Deleting a mailbox didn't delete its index files.
+	- pop3c: TOP command was sent incorrectly
+	- trash plugin didn't work properly
+	- LMTP: Don't add a duplicate Return-Path: header when proxying.
+	- listescape: Don't unescape namespace prefixes.
+
+v2.1.4 2012-04-09  Timo Sirainen <tss at iki.fi>
+
+	+ Added mail_temp_scan_interval setting and changed its default value
+	  from 8 hours to 1 week.
+	+ Added pop3-migration plugin for easily doing a transparent IMAP+POP3
+	  migration to Dovecot: http://wiki2.dovecot.org/Migration/Dsync
+	+ doveadm user: Added -m parameter to show some of the mail settings.
+	- Proxying SSL connections crashed in v2.1.[23]
+	- fts-solr: Indexing mail bodies was broken.
+	- director: Several changes to significantly improve error handling
+	- doveadm import didn't import messages' flags
+	- mail_full_filesystem_access=yes was broken
+	- Make sure IMAP clients can't create directories when accessing
+	  nonexistent users' mailboxes via shared namespace.
+	- Dovecot auth clients authenticating via TCP socket could have failed
+	  with bogus "PID already in use" errors.
+
+v2.1.3 2012-03-16  Timo Sirainen <tss at iki.fi>
+
+	- mdbox was broken in v2.1.2
+
+v2.1.2 2012-03-15  Timo Sirainen <tss at iki.fi>
+
+	+ Initial implementation of dsync-based replication. For now this
+	  should be used only on non-critical systems.
+	+ Proxying: POP3 now supports sending remote IP+port from proxy to
+	  backend server via Dovecot-specific XCLIENT extension.
+	+ Proxying: proxy_maybe=yes with host=<hostname> (instead of IP)
+	  works now properly.
+	+ Proxying: Added auth_proxy_self setting
+	+ Proxying: Added proxy_always extra field (see wiki docs)
+	+ Added director_username_hash setting to specify what part of the
+	  username is hashed. This can be used to implement per-domain
+	  backends (which allows safely accessing shared mailboxes within
+	  domain).
+	+ Added a "session ID" string for imap/pop3 connections, available
+	  in %{session} variable. The session ID passes through Dovecot
+	  IMAP/POP3 proxying to backend server. The same session ID is can be
+	  reused after a long time (currently a bit under 9 years). 
+	+ passdb checkpassword: Support "credentials lookups" (for
+	  non-plaintext auth and for lmtp_proxy lookups)
+	+ fts: Added fts_index_timeout setting to abort search if indexing
+	  hasn't finished by then (default is to wait forever). 
+	- doveadm sync: If mailbox was expunged empty, messages may have
+	  become back instead of also being expunged in the other side.
+	- director: If user logged into two directors while near user
+	  expiration, the directors might have redirected the user to two
+	  different backends.
+	- imap_id_* settings were ignored before login.
+	- Several fixes to mailbox_list_index=yes
+	- Previous v2.1.x didn't log all messages at shutdown.
+	- mbox: Fixed accessing Dovecot v1.x mbox index files without errors.
+
 v2.1.1 2012-02-23  Timo Sirainen <tss at iki.fi>
 
 	+ dsync: If message with same GUID is saved multiple times in session,
diff -r 80688ab1ea3d -r fbb1ecb9b888 TODO
--- a/TODO	Sat May 19 22:40:08 2012 +0300
+++ b/TODO	Sun May 20 03:25:04 2012 +0300
@@ -46,7 +46,6 @@
    non-userdb_* extra fields too?
  - imap, pop3: if client init fails, wait a second or two before disconnecting
    client.
- - doveadm expunge parameter to delete empty mailboxes (for lazy-expunge)
  - doveadm search savedbefore 7d could be optimized in large mailboxes..
  - mdbox: storage rebuilding could log about changes it does
  - mdbox: broken extrefs header keeps causing index rebuilds
diff -r 80688ab1ea3d -r fbb1ecb9b888 configure.in
--- a/configure.in	Sat May 19 22:40:08 2012 +0300
+++ b/configure.in	Sun May 20 03:25:04 2012 +0300
@@ -2490,10 +2490,13 @@
     want_ssl_libs=yes
   fi
 done
+LINKED_STORAGE_LDADD=
 if test "$want_ssl_libs" = yes; then
   LINKED_STORAGE_LIBS="$LINKED_STORAGE_LIBS \$(top_builddir)/src/lib-ssl-iostream/libssl_iostream.la"
+  LINKED_STORAGE_LDADD="$SSL_LIBS"
 fi
 AC_SUBST(LINKED_STORAGE_LIBS)
+AC_SUBST(LINKED_STORAGE_LDADD)
 AC_SUBST(mailbox_list_drivers)
 AC_DEFINE_UNQUOTED(MAIL_STORAGES, "$mail_storages", List of compiled in mail storages)
 
@@ -2509,7 +2512,7 @@
 if test "$want_shared_libs" = "yes"; then
   LIBDOVECOT_DEPS='$(top_builddir)/src/lib-dovecot/libdovecot.la'
   LIBDOVECOT="$LIBDOVECOT_DEPS"
-  LIBDOVECOT_STORAGE='$(top_builddir)/src/lib-storage/libdovecot-storage.la'
+  LIBDOVECOT_STORAGE_DEPS='$(top_builddir)/src/lib-storage/libdovecot-storage.la'
   LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/libdovecot-login.la'
   LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/libdovecot-lda.la'
 else
@@ -2517,14 +2520,16 @@
   LIBDOVECOT="$LIBDOVECOT_DEPS \$(LIBICONV)"
   LIBDOVECOT_STORAGE_LAST='$(top_builddir)/src/lib-storage/list/libstorage_list.la $(top_builddir)/src/lib-storage/index/libstorage_index.la $(top_builddir)/src/lib-storage/libstorage.la $(top_builddir)/src/lib-index/libindex.la'
   LIBDOVECOT_STORAGE_FIRST='$(top_builddir)/src/lib-storage/libstorage_service.la $(top_builddir)/src/lib-storage/register/libstorage_register.la'
-  LIBDOVECOT_STORAGE="$LIBDOVECOT_STORAGE_FIRST $LINKED_STORAGE_LIBS $LIBDOVECOT_STORAGE_LAST"
+  LIBDOVECOT_STORAGE_DEPS="$LIBDOVECOT_STORAGE_FIRST $LINKED_STORAGE_LIBS $LIBDOVECOT_STORAGE_LAST"
   LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/liblogin.la $(top_builddir)/src/lib-ssl-iostream/libssl_iostream.la'
   LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/liblda.la'
 fi
+LIBDOVECOT_STORAGE="$LIBDOVECOT_STORAGE_DEPS $LINKED_STORAGE_LDADD"
 LIBDOVECOT_SQL='$(top_builddir)/src/lib-sql/libsql.la'
 AC_SUBST(LIBDOVECOT)
 AC_SUBST(LIBDOVECOT_DEPS)
 AC_SUBST(LIBDOVECOT_STORAGE)
+AC_SUBST(LIBDOVECOT_STORAGE_DEPS)
 AC_SUBST(LIBDOVECOT_LOGIN)
 AC_SUBST(LIBDOVECOT_SQL)
 AC_SUBST(LIBDOVECOT_LDA)
@@ -2699,7 +2704,7 @@
 dnl IDLE doesn't really belong to banner. It's there just to make Blackberries
 dnl happy, because otherwise BIS server disables push email.
 capability_banner="IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE"
-capability="$capability_banner SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SEARCH=FUZZY SPECIAL-USE"
+capability="$capability_banner SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE"
 AC_DEFINE_UNQUOTED(CAPABILITY_STRING, "$capability", IMAP capabilities)
 AC_DEFINE_UNQUOTED(CAPABILITY_BANNER_STRING, "$capability_banner", IMAP capabilities advertised in banner) 
 
@@ -2787,6 +2792,9 @@
 src/master/Makefile
 src/pop3/Makefile
 src/pop3-login/Makefile
+src/replication/Makefile
+src/replication/aggregator/Makefile
+src/replication/replicator/Makefile
 src/ssl-params/Makefile
 src/stats/Makefile
 src/util/Makefile
@@ -2803,8 +2811,10 @@
 src/plugins/listescape/Makefile
 src/plugins/mail-log/Makefile
 src/plugins/notify/Makefile
+src/plugins/pop3-migration/Makefile
 src/plugins/quota/Makefile
 src/plugins/imap-quota/Makefile
+src/plugins/replication/Makefile
 src/plugins/snarf/Makefile
 src/plugins/stats/Makefile
 src/plugins/imap-stats/Makefile
diff -r 80688ab1ea3d -r fbb1ecb9b888 doc/example-config/conf.d/10-mail.conf
--- a/doc/example-config/conf.d/10-mail.conf	Sat May 19 22:40:08 2012 +0300
+++ b/doc/example-config/conf.d/10-mail.conf	Sun May 20 03:25:04 2012 +0300
@@ -97,6 +97,8 @@
   # List the shared/ namespace only if there are visible shared mailboxes.
   #list = children
 #}
+# Should shared INBOX be visible as "shared/user" or "shared/user/INBOX"?
+#mail_shared_explicit_inbox = yes
 
 # System user and group used to access mails. If you use multiple, userdb
 # can override these by returning uid or gid fields. You can use either numbers
@@ -227,6 +229,10 @@
 # some mailbox formats and/or operating systems.
 #mail_prefetch_count = 0
 
+# How often to scan for stale temporary files and delete them (0 = never).
+# These should exist only after Dovecot dies in the middle of saving mails.
+#mail_temp_scan_interval = 1w
+
 ##
 ## Maildir-specific settings
 ##
diff -r 80688ab1ea3d -r fbb1ecb9b888 doc/example-config/conf.d/10-ssl.conf
--- a/doc/example-config/conf.d/10-ssl.conf	Sat May 19 22:40:08 2012 +0300
+++ b/doc/example-config/conf.d/10-ssl.conf	Sun May 20 03:25:04 2012 +0300
@@ -23,6 +23,9 @@
 # followed by the matching CRL(s). (e.g. ssl_ca = </etc/ssl/certs/ca.pem)
 #ssl_ca = 
 
+# Require that CRL check succeeds for client certificates.
+#ssl_require_crl = yes
+
 # Request client to send a certificate. If you also want to require it, set
 # auth_ssl_require_client_cert=yes in auth section.
 #ssl_verify_client_cert = no
diff -r 80688ab1ea3d -r fbb1ecb9b888 doc/example-config/conf.d/20-pop3.conf
--- a/doc/example-config/conf.d/20-pop3.conf	Sat May 19 22:40:08 2012 +0300
+++ b/doc/example-config/conf.d/20-pop3.conf	Sun May 20 03:25:04 2012 +0300
@@ -54,6 +54,11 @@
   # won't change those UIDLs. Currently this works only with Maildir.
   #pop3_save_uidl = no
 
+  # What to do about duplicate UIDLs if they exist?
+  #   allow: Show duplicates to clients.
+  #   rename: Append a temporary -2, -3, etc. counter after the UIDL.
+  #pop3_uidl_duplicates = allow
+
   # POP3 logout format string:
   #  %i - total number of bytes read from client
   #  %o - total number of bytes sent to client
diff -r 80688ab1ea3d -r fbb1ecb9b888 doc/example-config/dovecot.conf
--- a/doc/example-config/dovecot.conf	Sat May 19 22:40:08 2012 +0300
+++ b/doc/example-config/dovecot.conf	Sun May 20 03:25:04 2012 +0300
@@ -46,6 +46,11 @@
 # Sepace separated list of login access check sockets (e.g. tcpwrap)
 #login_access_sockets = 


More information about the dovecot-cvs mailing list