]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
9 years agoReleased v2.2.21. release-2.2.21 2/head 2.2.21
Timo Sirainen [Fri, 11 Dec 2015 16:34:47 +0000 (18:34 +0200)] 
Released v2.2.21.

9 years agodovecot-config: Fixed setting LIBDOVECOT_LIBFTS[_DEPS]
Timo Sirainen [Fri, 11 Dec 2015 15:39:05 +0000 (17:39 +0200)] 
dovecot-config: Fixed setting LIBDOVECOT_LIBFTS[_DEPS]

9 years agodirector: Don't mark the host desynced if director is alone in ring.
Timo Sirainen [Fri, 11 Dec 2015 14:33:43 +0000 (16:33 +0200)] 
director: Don't mark the host desynced if director is alone in ring.

9 years agodirector: Don't trigger a ring resync if only last_updown_change has changed.
Timo Sirainen [Thu, 10 Dec 2015 12:40:01 +0000 (14:40 +0200)] 
director: Don't trigger a ring resync if only last_updown_change has changed.

9 years agoMakefile: Make ChangeLog depend on .git/index instead of .git/ORIG_HEAD
Timo Sirainen [Thu, 10 Dec 2015 09:14:26 +0000 (11:14 +0200)] 
Makefile: Make ChangeLog depend on .git/index instead of .git/ORIG_HEAD
ORIG_HEAD doesn't necessarily exist, so maybe index is good for this.

9 years agoSwitched .hgignore to .gitignore
Timo Sirainen [Wed, 9 Dec 2015 17:40:18 +0000 (19:40 +0200)] 
Switched .hgignore to .gitignore

9 years agoRemoved .hgsigs and .hgtags
Timo Sirainen [Wed, 9 Dec 2015 17:40:10 +0000 (19:40 +0200)] 
Removed .hgsigs and .hgtags

9 years agoMakefile, update-version.sh: Switched from hg to git.
Timo Sirainen [Wed, 9 Dec 2015 16:38:00 +0000 (18:38 +0200)] 
Makefile, update-version.sh: Switched from hg to git.

9 years agoacl: Empty lines and comments in dovecot-acl files weren't handled correctly.
Timo Sirainen [Wed, 9 Dec 2015 15:36:49 +0000 (17:36 +0200)] 
acl: Empty lines and comments in dovecot-acl files weren't handled correctly.

9 years agovirtual: Fixed assert-crash when opening virtual mailbox triggered backend mailbox...
Timo Sirainen [Wed, 9 Dec 2015 13:31:37 +0000 (15:31 +0200)] 
virtual: Fixed assert-crash when opening virtual mailbox triggered backend mailbox autocreation.
Fixes assert:

Panic: file virtual-storage.c: line 335 (virtual_mailbox_opened_hook):
assertion failed: (!bbox->open_tracked)

9 years agolib-storage: Fixed mail_search_args_simplify() with empty args.
Timo Sirainen [Wed, 9 Dec 2015 11:51:35 +0000 (13:51 +0200)] 
lib-storage: Fixed mail_search_args_simplify() with empty args.
This fixes assert-crash in doveadm mailbox list.

9 years agodoveadm director update: Tag can't be changed - don't allow -t parameter
Timo Sirainen [Wed, 9 Dec 2015 11:02:19 +0000 (13:02 +0200)] 
doveadm director update: Tag can't be changed - don't allow -t parameter

9 years agofts: When indexing header names with lib-fts, add them using "data" language.
Timo Sirainen [Tue, 8 Dec 2015 13:47:28 +0000 (15:47 +0200)] 
fts: When indexing header names with lib-fts, add them using "data" language.

9 years agofts: Fixed searching for HEADER "" with lib-fts
Timo Sirainen [Tue, 8 Dec 2015 11:28:01 +0000 (13:28 +0200)] 
fts: Fixed searching for HEADER "" with lib-fts

9 years agolib-storage: mail_search_args_simplify() handles now ALL better.
Timo Sirainen [Tue, 8 Dec 2015 11:23:19 +0000 (13:23 +0200)] 
lib-storage: mail_search_args_simplify() handles now ALL better.

9 years agolib-storage: mail_search_args_simplify() code cleanup - allow merging first arg
Timo Sirainen [Tue, 8 Dec 2015 11:13:24 +0000 (13:13 +0200)] 
lib-storage: mail_search_args_simplify() code cleanup - allow merging first arg

9 years agolib-storage: Fix to a776ee107aa2 - merged-flag wasn't reset between all args.
Timo Sirainen [Tue, 8 Dec 2015 11:13:10 +0000 (13:13 +0200)] 
lib-storage: Fix to a776ee107aa2 - merged-flag wasn't reset between all args.

9 years agolib-storage: Code cleanup - moved BODY/TEXT "" optimization to mail_search_args_simpl...
Timo Sirainen [Tue, 8 Dec 2015 10:55:40 +0000 (12:55 +0200)] 
lib-storage: Code cleanup - moved BODY/TEXT "" optimization to mail_search_args_simplify()

9 years agolmtp: Memory leak fixes on handling some RCPT TO failures.
Timo Sirainen [Tue, 8 Dec 2015 08:17:10 +0000 (10:17 +0200)] 
lmtp: Memory leak fixes on handling some RCPT TO failures.

9 years agoAdded signature for changeset f833b8160e39
Timo Sirainen [Mon, 7 Dec 2015 19:09:47 +0000 (21:09 +0200)] 
Added signature for changeset f833b8160e39

9 years agoAdded tag 2.2.20 for changeset f833b8160e39
Timo Sirainen [Mon, 7 Dec 2015 19:09:38 +0000 (21:09 +0200)] 
Added tag 2.2.20 for changeset f833b8160e39

9 years agoReleased v2.2.20. 2.2.20
Timo Sirainen [Mon, 7 Dec 2015 19:09:35 +0000 (21:09 +0200)] 
Released v2.2.20.

9 years agolib-ssl-iostream, login-*: Hide unnecessary "EVP_PKEY_get1_EC_KEY:expecting a ec...
Timo Sirainen [Mon, 7 Dec 2015 14:06:15 +0000 (16:06 +0200)] 
lib-ssl-iostream, login-*: Hide unnecessary "EVP_PKEY_get1_EC_KEY:expecting a ec key" errors.

9 years agodoveadm: Fixed reseting getopt() with glibc when processing multiple commands in...
Timo Sirainen [Mon, 7 Dec 2015 09:29:29 +0000 (11:29 +0200)] 
doveadm: Fixed reseting getopt() with glibc when processing multiple commands in a single process.
This means commands run with doveadm batch or multiple commands in a single
doveadm-server connection.

glibc's getopt() man page says that optind=1 should reset it for scanning a
new argument vector, but this doesn't actually seem to work. Setting
optind=0 does work though, so use it everywhere.

9 years agodoveadm-server: Reset getopt() before calling non-mail commands.
Timo Sirainen [Mon, 7 Dec 2015 09:21:59 +0000 (11:21 +0200)] 
doveadm-server: Reset getopt() before calling non-mail commands.
This fixes parsing their parameters when using multiple such commands within
a single doveadm connection.

9 years agolib-storage: mail_search_args_simplify() handles now "(a OR b) AND (a OR c)" -> ...
Timo Sirainen [Sun, 6 Dec 2015 18:48:55 +0000 (20:48 +0200)] 
lib-storage: mail_search_args_simplify() handles now "(a OR b) AND (a OR c)" -> "a OR (b AND c)"

9 years agolib-storage: mail_search_args_simplify() refactoring
Timo Sirainen [Sun, 6 Dec 2015 18:46:52 +0000 (20:46 +0200)] 
lib-storage: mail_search_args_simplify() refactoring
Removed parent_arg from mail_search_args_simplify_extract_common_and() in
preperation for the next changeset.

9 years agolib-storage: mail_search_args_simplify() handles now "a AND (a OR b)" -> "a"
Timo Sirainen [Sun, 6 Dec 2015 17:27:45 +0000 (19:27 +0200)] 
lib-storage: mail_search_args_simplify() handles now "a AND (a OR b)" -> "a"

9 years agolib-storage: Make sure mail_sesarch_args_simplify_sub() is called enough times.
Timo Sirainen [Sun, 6 Dec 2015 17:26:44 +0000 (19:26 +0200)] 
lib-storage: Make sure mail_sesarch_args_simplify_sub() is called enough times.

9 years agolib-storage: Minor test-mail-search-args-simplify unit test improvements
Timo Sirainen [Sun, 6 Dec 2015 17:25:20 +0000 (19:25 +0200)] 
lib-storage: Minor test-mail-search-args-simplify unit test improvements

9 years agolib-storage: mail_search_args_simplify() handles now "(a AND b) OR (a AND c)" ->...
Timo Sirainen [Sun, 6 Dec 2015 16:14:08 +0000 (18:14 +0200)] 
lib-storage: mail_search_args_simplify() handles now "(a AND b) OR (a AND c)" -> "a AND (b OR c)"

9 years agolib-storage: mail_search_args_simplify() handles now "a OR (a AND b)" -> "a"
Timo Sirainen [Sun, 6 Dec 2015 16:12:24 +0000 (18:12 +0200)] 
lib-storage: mail_search_args_simplify() handles now "a OR (a AND b)" -> "a"

9 years agolib-storage: Made mail_search_arg_[one_]equals() public.
Timo Sirainen [Sun, 6 Dec 2015 16:09:17 +0000 (18:09 +0200)] 
lib-storage: Made mail_search_arg_[one_]equals() public.

9 years agolib-storage: mail_search_args_equal() ignored some differences.
Timo Sirainen [Sun, 6 Dec 2015 16:08:20 +0000 (18:08 +0200)] 
lib-storage: mail_search_args_equal() ignored some differences.
 - fuzzy flag
 - MAIL_SEARCH_ARG_FLAG_USE_TZ
 - INTHREAD thread type

9 years agolib-storage: mail_search_arg*_dup() didn't preserve fuzzy-flag.
Timo Sirainen [Sun, 6 Dec 2015 16:06:45 +0000 (18:06 +0200)] 
lib-storage: mail_search_arg*_dup() didn't preserve fuzzy-flag.

9 years agolib-storage: SEARCH BODY "" wasn't properly being translated to SEARCH_ALL.
Timo Sirainen [Sun, 6 Dec 2015 14:46:30 +0000 (16:46 +0200)] 
lib-storage: SEARCH BODY "" wasn't properly being translated to SEARCH_ALL.
Instead if the next parameter was "" this happened (which could have been an
accidental space in doveadm search-query).

9 years agolib-storage: dovecot.index.pvt* ignored several settings.
Timo Sirainen [Sun, 6 Dec 2015 14:09:55 +0000 (16:09 +0200)] 
lib-storage: dovecot.index.pvt* ignored several settings.
mmap_disable=yes, dotlock_use_excl=yes and nfs_flush_index=yes weren't used.

9 years agoquota-fs: File count limits with NetBSD shouldn't be multiplied by DEV_BSIZE
Timo Sirainen [Sun, 6 Dec 2015 13:39:53 +0000 (15:39 +0200)] 
quota-fs: File count limits with NetBSD shouldn't be multiplied by DEV_BSIZE

9 years agolib-charset: Added UTF-7 state checking unit test.
Timo Sirainen [Sun, 6 Dec 2015 13:10:10 +0000 (15:10 +0200)] 
lib-charset: Added UTF-7 state checking unit test.
This was an idea of a way to test for a bug in FreeBSD iconv(), but nobody
reported if it did anything. So lets add it here and see.

9 years agolmtp: quota_full_tempfail=yes didn't work with lmtp_rcpt_check_quota=yes
Timo Sirainen [Sun, 6 Dec 2015 12:57:22 +0000 (14:57 +0200)] 
lmtp: quota_full_tempfail=yes didn't work with lmtp_rcpt_check_quota=yes

9 years agosdbox: Fixed assert-crash when message with external attachments was copied between...
Timo Sirainen [Sun, 6 Dec 2015 12:27:46 +0000 (14:27 +0200)] 
sdbox: Fixed assert-crash when message with external attachments was copied between storages.

9 years agofts: Fixed FTS search query generation after earlier per-language tokenizer changes.
Timo Sirainen [Fri, 4 Dec 2015 12:17:45 +0000 (14:17 +0200)] 
fts: Fixed FTS search query generation after earlier per-language tokenizer changes.

9 years agolib-http: Give a better error message if request times out.
Timo Sirainen [Fri, 4 Dec 2015 11:46:00 +0000 (13:46 +0200)] 
lib-http: Give a better error message if request times out.
Instead of just giving the configured timeout, log how long the timeout
actually took for the oldest request in wait list. Also if the request was
retried, log how many times the request was sent and how long the request
took in total.

9 years agodoveadm fts lookup/expand: Don't assert-crash if fts isn't configured.
Timo Sirainen [Fri, 4 Dec 2015 11:27:28 +0000 (13:27 +0200)] 
doveadm fts lookup/expand: Don't assert-crash if fts isn't configured.

9 years agolib: Removed t_str_trim() for now due to collision in Pigeonhole v0.4.9
Timo Sirainen [Fri, 4 Dec 2015 10:29:12 +0000 (12:29 +0200)] 
lib: Removed t_str_trim() for now due to collision in Pigeonhole v0.4.9

9 years agoimap: Fixed assert-crash if client disconnected at a specific command state.
Timo Sirainen [Fri, 4 Dec 2015 10:15:49 +0000 (12:15 +0200)] 
imap: Fixed assert-crash if client disconnected at a specific command state.
If there was a command with state=CLIENT_COMMAND_STATE_WAIT_SYNC and output
stream was already detected to be closed, we crashed with:

Panic: file imap-client.c: line 841 (client_check_command_hangs): assertion
failed: (!have_wait_unfinished || unfinished_count > 0)

9 years agolib-index: mail_transaction_log_file_map() didn't properly check start_offset
Timo Sirainen [Fri, 4 Dec 2015 09:38:00 +0000 (11:38 +0200)] 
lib-index: mail_transaction_log_file_map() didn't properly check start_offset
If it was too high, it still returned successful mapping. This could have
caused an assert-crash later on when the start_offset was actually attempted
to be used.

9 years agolib-ssl-iostream: Fixed compiler warning when OpenSSL didn't support ECDH.
Timo Sirainen [Fri, 4 Dec 2015 08:52:52 +0000 (10:52 +0200)] 
lib-ssl-iostream: Fixed compiler warning when OpenSSL didn't support ECDH.

9 years agofts: Error handling fix for previous per-language tokenizer change.
Timo Sirainen [Fri, 4 Dec 2015 07:52:26 +0000 (09:52 +0200)] 
fts: Error handling fix for previous per-language tokenizer change.

9 years agoAdded signature for changeset c35e62a9e710
Timo Sirainen [Thu, 3 Dec 2015 13:31:48 +0000 (15:31 +0200)] 
Added signature for changeset c35e62a9e710

9 years agoAdded tag 2.2.20.rc1 for changeset c35e62a9e710
Timo Sirainen [Thu, 3 Dec 2015 13:31:41 +0000 (15:31 +0200)] 
Added tag 2.2.20.rc1 for changeset c35e62a9e710

9 years agoReleased v2.2.20.rc1. 2.2.20.rc1
Timo Sirainen [Thu, 3 Dec 2015 13:31:39 +0000 (15:31 +0200)] 
Released v2.2.20.rc1.

9 years agofts: Added support for per-language tokenizer settings.
Timo Sirainen [Thu, 3 Dec 2015 12:24:06 +0000 (14:24 +0200)] 
fts: Added support for per-language tokenizer settings.
fts_tokenizer_<lang> now overrides fts_tokenizers setting.
fts_tokenizer_<name>_<lang> now overrides fts_tokenizer_<name> setting.

9 years agolib-ssl-iostream: Moved openssl_iostream_*error() to -common.c
Timo Sirainen [Thu, 3 Dec 2015 10:22:24 +0000 (12:22 +0200)] 
lib-ssl-iostream: Moved openssl_iostream_*error() to -common.c
login-common code only links with this file, so that's required for the
previous changes to actually work.

9 years agologin, lib-ssl-iostream: Clear errors caused by manual EC key selection when there...
Timo Sirainen [Thu, 3 Dec 2015 10:19:12 +0000 (12:19 +0200)] 
login, lib-ssl-iostream: Clear errors caused by manual EC key selection when there was no EC key.
EVP_PKEY_get1_EC_KEY() would return an error, which should be ignored
instead of being logged later on.

9 years agolib-ssl-iostream: Check for SSL_CTX_set_ecdh_auto() failure.
Timo Sirainen [Thu, 3 Dec 2015 10:13:11 +0000 (12:13 +0200)] 
lib-ssl-iostream: Check for SSL_CTX_set_ecdh_auto() failure.
This shouldn't happen though.

9 years agologin, lib-ssl-iostream: Deduplicate code with shared openssl_iostream_use_certificat...
Timo Sirainen [Thu, 3 Dec 2015 10:02:56 +0000 (12:02 +0200)] 
login, lib-ssl-iostream: Deduplicate code with shared openssl_iostream_use_certificate_error()

9 years agologin-common: Use openssl_iostream_*error() to avoid code duplication.
Timo Sirainen [Thu, 3 Dec 2015 09:58:11 +0000 (11:58 +0200)] 
login-common: Use openssl_iostream_*error() to avoid code duplication.

9 years agolib-ssl-iostream: Fixes to error handling.
Timo Sirainen [Thu, 3 Dec 2015 09:55:33 +0000 (11:55 +0200)] 
lib-ssl-iostream: Fixes to error handling.
Copy behavior from login-common/ssl-proxy-openssl.c:
 - Handle stacked errors.
 - Improve errors with ERR_TXT_STRING flag.

9 years agolib-ssl-iostream: Don't ignore errors on SSL certificate loading.
Timo Sirainen [Thu, 3 Dec 2015 09:41:58 +0000 (11:41 +0200)] 
lib-ssl-iostream: Don't ignore errors on SSL certificate loading.
Patch by Sebastiaan Hoogeveen.

9 years agomail-log: If uid field is used, make sure newly saved mails actually get an UID.
Timo Sirainen [Tue, 1 Dec 2015 15:31:08 +0000 (17:31 +0200)] 
mail-log: If uid field is used, make sure newly saved mails actually get an UID.
With Maildir the UID is otherwise assigned on mail deliveries only if
dovecot-uidlist happens to get locked.

9 years agolib-mail: test-rfc822-parser unit test fix
Timo Sirainen [Tue, 1 Dec 2015 14:45:37 +0000 (16:45 +0200)] 
lib-mail: test-rfc822-parser unit test fix
We didn't check that all the output was necessarily verified. Also this
makes static analyzer happier.

9 years agodirector: Minor code cleanup - removed unnecessary code.
Timo Sirainen [Mon, 30 Nov 2015 19:39:56 +0000 (21:39 +0200)] 
director: Minor code cleanup - removed unnecessary code.

9 years agodirector: Include tag also in the hosts_hash.
Timo Sirainen [Mon, 30 Nov 2015 19:39:34 +0000 (21:39 +0200)] 
director: Include tag also in the hosts_hash.

9 years agodirector: Fixed recent tag reimplementation to actually work.
Timo Sirainen [Mon, 30 Nov 2015 19:39:07 +0000 (21:39 +0200)] 
director: Fixed recent tag reimplementation to actually work.
We still just created one large vhosts pool for all tags containing all the
hosts.

9 years agodirector: Don't treat empty hostname the same as having it.
Timo Sirainen [Mon, 30 Nov 2015 19:36:51 +0000 (21:36 +0200)] 
director: Don't treat empty hostname the same as having it.
This could have caused "host not given" errors if an empty "host=" was sent
to login process, even though hostip was also sent.

Fixed this in two places, although either one should have been enough.

9 years agodirector: Fixed "doveadm director status user@domain" not to hang due to missing LF.
Timo Sirainen [Mon, 30 Nov 2015 19:32:26 +0000 (21:32 +0200)] 
director: Fixed "doveadm director status user@domain" not to hang due to missing LF.

9 years agolib-imap: Added unit tests for imap_append_[an]string()
Timo Sirainen [Mon, 30 Nov 2015 11:15:44 +0000 (13:15 +0200)] 
lib-imap: Added unit tests for imap_append_[an]string()

9 years agolib-mail: rfc822_parse_content_param() was unescaping already unescaped parameters
Timo Sirainen [Mon, 30 Nov 2015 11:14:29 +0000 (13:14 +0200)] 
lib-mail: rfc822_parse_content_param() was unescaping already unescaped parameters
This caused all Content-* parameter parsing to be unescaped once too many
times, resulting in somewhat broken BODY and BODYSTRUCTURE replies if any
<\> characters were used. Also MIME boundaries were parsed in case <\> was
used in them, but this probably didn't practically happen.

9 years agodoveadm fetch: Added date.sent/received/saved.unixtime
Timo Sirainen [Mon, 30 Nov 2015 10:22:22 +0000 (12:22 +0200)] 
doveadm fetch: Added date.sent/received/saved.unixtime

9 years agolib: Created t_str_trim() functions to trim characters from beginning and end of...
Stephan Bosch [Sat, 28 Nov 2015 21:50:14 +0000 (23:50 +0200)] 
lib: Created t_str_trim() functions to trim characters from beginning and end of string.

9 years agoMakefile: Added missing mail-autoexpunge.h
Timo Sirainen [Sat, 28 Nov 2015 11:36:14 +0000 (13:36 +0200)] 
Makefile: Added missing mail-autoexpunge.h

9 years agolib: Added extra assert to i_stream_read()
Timo Sirainen [Fri, 27 Nov 2015 13:50:44 +0000 (15:50 +0200)] 
lib: Added extra assert to i_stream_read()

9 years agofts-solr: Fixed sending empty parameters.
Timo Sirainen [Fri, 27 Nov 2015 13:49:58 +0000 (15:49 +0200)] 
fts-solr: Fixed sending empty parameters.
Solr probably doesn't do anything useful with them, but we shouldn't get 400
Bad Request errors.

9 years agoCompiler warning fix for 32bit systems
Timo Sirainen [Fri, 27 Nov 2015 13:26:31 +0000 (15:26 +0200)] 
Compiler warning fix for 32bit systems

9 years agofts-solr: Fixed escaping query parameters.
Timo Sirainen [Fri, 27 Nov 2015 13:24:41 +0000 (15:24 +0200)] 
fts-solr: Fixed escaping query parameters.
Solr documentation says that "quoted string" would already work without
escaping, but that doesn't seem to be true (we were also missing the \"
escaping there). So we'll now escape all the special characters without
quotes around it, which seems to work. Also added '/' to list of special
characters, which is used by Solr 4.0.

9 years agozlib: Fixed copying causing cache corruption when zlib_save wasn't set.
Timo Sirainen [Fri, 27 Nov 2015 12:57:03 +0000 (14:57 +0200)] 
zlib: Fixed copying causing cache corruption when zlib_save wasn't set.
dovecot.index.cache entries were broken/missing if:
- The zlib plugin is enabled;
- The zlib_save/zlib_save_level options are NOT enabled;
- The source message being copied is compressed;
- The mail_log plugin is logging "copy" events;
- The mail_log_fields setting includes at least one message header;
- The destination mailbox folder has an index file that is recording the
logged headers;
- The source mailbox folder does NOT have an index file recording the
logged headers.

Found by Robert L Mathews.

9 years agolib: Fixed compiling unit test in systems where NULL isn't of type void*
Timo Sirainen [Fri, 27 Nov 2015 12:42:43 +0000 (14:42 +0200)] 
lib: Fixed compiling unit test in systems where NULL isn't of type void*
For example Solaris.

9 years agoauth: Fixed test-auth-request-var-expand unit test on big endian CPUs
Timo Sirainen [Fri, 27 Nov 2015 12:39:32 +0000 (14:39 +0200)] 
auth: Fixed test-auth-request-var-expand unit test on big endian CPUs

9 years agoCompiler warning fix for 32bit systems
Timo Sirainen [Fri, 27 Nov 2015 12:24:23 +0000 (14:24 +0200)] 
Compiler warning fix for 32bit systems

9 years agolib-storage: Don't add first_saved to mailbox list index unless autoexpunge is set.
Timo Sirainen [Fri, 27 Nov 2015 12:11:57 +0000 (14:11 +0200)] 
lib-storage: Don't add first_saved to mailbox list index unless autoexpunge is set.

9 years agoimap: Free mail_user only after client is disconnected.
Timo Sirainen [Fri, 27 Nov 2015 12:01:14 +0000 (14:01 +0200)] 
imap: Free mail_user only after client is disconnected.

9 years agoAdded mailbox { autoexpunge } setting.
Timo Sirainen [Fri, 27 Nov 2015 11:59:22 +0000 (13:59 +0200)] 
Added mailbox { autoexpunge } setting.
This can be used to automatically expunge mails from specified mailboxes
after they're old enough. The expunges are done when the user is being
deinitialized. mailbox_list_index=yes should be enabled to have the best
performance with this setting.

Example:

namespace inbox {
  mailbox Spam {
    auto = create
    special_use = \Junk
    autoexpunge = 30d
  }
}

9 years agoimap: SETMETADATA didn't set ostream output handler back
Timo Sirainen [Fri, 27 Nov 2015 11:06:01 +0000 (13:06 +0200)] 
imap: SETMETADATA didn't set ostream output handler back
This caused hangs afterwards when receiving long replies (e.g. FETCH).

9 years agoquota-clone: Avoid assert-crash when quota recalculation is triggered.
Timo Sirainen [Thu, 26 Nov 2015 13:42:35 +0000 (15:42 +0200)] 
quota-clone: Avoid assert-crash when quota recalculation is triggered.
Quota recalculation opened all mailboxes and got us back to
quota_clone_flush(), which caused another dict transaction to be opened,
which caused a crash with some dict backends.

9 years agolib-fts: Move ICU transliterator creation to fts-icu.h
Teemu Huovila [Wed, 25 Nov 2015 13:09:52 +0000 (15:09 +0200)] 
lib-fts: Move ICU transliterator creation to fts-icu.h
This allows others to use transliterators without so much code duplication.
The transliterator still has to be destroyed by the user, with utrans_close().

9 years agolib-fts: Fix compilation for systems without libicu.
Teemu Huovila [Wed, 25 Nov 2015 13:09:52 +0000 (15:09 +0200)] 
lib-fts: Fix compilation for systems without libicu.
The earlier patch, 194e3622d5e6, did not consider both library dependencies.

9 years agoimap: When logging command disconnection info, log the oldest command's info (not...
Timo Sirainen [Tue, 24 Nov 2015 11:42:58 +0000 (13:42 +0200)] 
imap: When logging command disconnection info, log the oldest command's info (not newest)

9 years agoimap: Added extra assert checks to make sure command states are consistent.
Timo Sirainen [Tue, 24 Nov 2015 11:41:58 +0000 (13:41 +0200)] 
imap: Added extra assert checks to make sure command states are consistent.

9 years agoimap: IDLE may have called client_continue_pending_input() unnecessarily.
Timo Sirainen [Tue, 24 Nov 2015 11:40:12 +0000 (13:40 +0200)] 
imap: IDLE may have called client_continue_pending_input() unnecessarily.

9 years agoimap: Fixed crash at FETCH deinit caused by b638e19d3bd4
Timo Sirainen [Tue, 24 Nov 2015 10:56:35 +0000 (12:56 +0200)] 
imap: Fixed crash at FETCH deinit caused by b638e19d3bd4
imap_fetch_free() would have been called twice, which caused problems.

9 years agoimap: Fixed hanging if a pipelined IMAP command was waiting for previous command...
Timo Sirainen [Tue, 24 Nov 2015 09:50:15 +0000 (11:50 +0200)] 
imap: Fixed hanging if a pipelined IMAP command was waiting for previous command to sync.
..And the previous command was waiting for the next command to finish before
it would start syncing. For example FETCH+LOGOUT pipelined.

9 years agodirector: Fixed backend selection when multiple tags were used.
Timo Sirainen [Tue, 24 Nov 2015 09:15:47 +0000 (11:15 +0200)] 
director: Fixed backend selection when multiple tags were used.
The previous algorithm was causing an uneven load for backends.

This change breaks compatibility with older director servers that were using
tags because of the different selection algorithm. The new director code
refuses to run within a cluster with old directors if tags are used.

9 years agodirector: Code cleanup - renamed hosts_unsorted to vhosts_unsorted
Timo Sirainen [Mon, 23 Nov 2015 17:47:08 +0000 (19:47 +0200)] 
director: Code cleanup - renamed hosts_unsorted to vhosts_unsorted

9 years agodirector: Code cleanup - rename tag to tag_name in mail_host_*() parameters.
Timo Sirainen [Mon, 23 Nov 2015 17:44:50 +0000 (19:44 +0200)] 
director: Code cleanup - rename tag to tag_name in mail_host_*() parameters.
In preparation for the following changes.

9 years agodirector: Code cleanup - access host->tag via mail_host_get_tag()
Timo Sirainen [Mon, 23 Nov 2015 17:41:38 +0000 (19:41 +0200)] 
director: Code cleanup - access host->tag via mail_host_get_tag()
In preparation for the following changes.

9 years agodirector: Code cleanup - make most mail_host_*() list parameters unnecessary.
Timo Sirainen [Mon, 23 Nov 2015 17:38:31 +0000 (19:38 +0200)] 
director: Code cleanup - make most mail_host_*() list parameters unnecessary.

9 years agodirector: With director_consistent_hashing=yes hosts_hash wasn't always calculated...
Timo Sirainen [Mon, 23 Nov 2015 17:35:03 +0000 (19:35 +0200)] 
director: With director_consistent_hashing=yes hosts_hash wasn't always calculated right.
If different servers had added hosts in different order, the hosts_hash
would have become different, which caused errors and resyncs.

9 years agolib-fts: Fix compilation for systems without libstemmer.
Teemu Huovila [Wed, 18 Nov 2015 14:33:26 +0000 (16:33 +0200)] 
lib-fts: Fix compilation for systems without libstemmer.

9 years agofts: Remove default filters and tokenizers.
Teemu Huovila [Wed, 18 Nov 2015 14:33:26 +0000 (16:33 +0200)] 
fts: Remove default filters and tokenizers.
There aren't any specially good defaults that work for all the languages,
so it's better to just enforce explicit settings.