Timo Sirainen [Tue, 16 Sep 2014 20:22:59 +0000 (23:22 +0300)]
virtual: Using modseq-based syncing while mailbox was open didn't handle expunges correctly.
The expunges were handled only after EXPUNGE command was given, which should
have been done only for mails that no longer matched the search query but
still existed.
Timo Sirainen [Tue, 16 Sep 2014 17:59:48 +0000 (20:59 +0300)]
quota: Quota recalculation didn't include INBOX in some configurations.
If one inbox=yes and another inbox=no namespace shared the same mail
location, and the inbox=no namespace was first, only it was used to list all
mailboxes.
Timo Sirainen [Tue, 16 Sep 2014 12:43:42 +0000 (15:43 +0300)]
lib-storage: SEARCH_MAILBOX* value is now also compared to to the (virtual) mailbox name.
This fixes for example "doveadm fetch uid mailbox virtual/all"
Phil Carmody [Tue, 16 Sep 2014 10:38:30 +0000 (13:38 +0300)]
lib: test-strnum - add size-oblivious str_to/parse_uintmax tests
Test a value of every bit-length. Also test the 10/9*MAX corner case.
And due to crappy helper functions, test lots of leading zeroes too!
Stephan Bosch [Mon, 15 Sep 2014 08:19:50 +0000 (11:19 +0300)]
lib-http: server: Fixed connection reference counting.
Connection often still got destroyed too early. Particularly submitting
responses would potentially destroy the connection, which is often
unexpected. Sending responses is now postponed until handled by the stream
output handler, which is explicitly triggered when necessary.
Timo Sirainen [Sat, 13 Sep 2014 19:15:35 +0000 (22:15 +0300)]
fs-metawrap: Add FS_PROPERTY_COPY_METADATA property for wrapped fs backends.
This is because if we simply use the parent copy the metadata gets copied
as well.
Timo Sirainen [Thu, 11 Sep 2014 15:15:04 +0000 (18:15 +0300)]
virtual: Recent optimizations had broken fast mailbox syncing.
We wrongly assumed that all_mails array could have been accessed using vseqs.
Broken by 8abf7eea2966
Phil Carmody [Wed, 10 Sep 2014 11:08:58 +0000 (14:08 +0300)]
lib-index: test suite memory leak cleanup
So that memory leak checkers can be active while running the test
suites, ensure that the suite itself doesn't leak.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)]
lib-http: client: Tunnel connection failure would cause segfault.
That happened because it tried to retry waiting requests, which makes no sense for a CONNECT tunnel.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)]
lib-http: server: Added assert to connect callback which makes sure request is either responded to or referenced.
Earlier change added this only to callback for normal requests, but CONNECT should be handled the same in this respect.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)]
lib-http: server: Fixed delayed request destruction.
Destruction was actually delayed indefinitely, because the delay flag was not reset.
Obviously, this caused a memory leak.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)]
lib-http: server: Fixed segfault occurring in connection input handler.
Request handlers could close and destroy the connection early.
Fixed by holding a reference in the input handler.
Timo Sirainen [Tue, 9 Sep 2014 14:09:30 +0000 (17:09 +0300)]
lib-master: Fixed -c & -i command line parameters when config socket was readable.
The config socket was always being read, even if another config file was
attempted to be used.
Timo Sirainen [Mon, 8 Sep 2014 10:39:25 +0000 (13:39 +0300)]
COPYING.LGPL: Updated FSF mailing address.
Also some whitespace and line wrapping changes. Used the same file as
http://www.gnu.org/licenses/lgpl-2.1.txt
Timo Sirainen [Wed, 3 Sep 2014 13:29:52 +0000 (06:29 -0700)]
lib-storage: Fixed off-by-one memory allocation in dynamic settings allocation code.
This didn't actually affect normal Dovecot builds, because there were always
some storages with get_setting_parser_info=NULL that added the necessary
padding.
Timo Sirainen [Thu, 28 Aug 2014 13:44:18 +0000 (22:44 +0900)]
lib-fs: Fixed metawrap_fs.copy() to work with FS_PROPERTY_COPY_METADATA backends.
This is done by simply copying the entire file with the metadata included
instead of rewriting it.
Timo Sirainen [Thu, 28 Aug 2014 12:56:41 +0000 (21:56 +0900)]
lib-dict: Changed dict.init() API to take struct dict_settings and added dict_init_full().
This allows giving more settings to dict in future as needed. Unfortunately
it also breaks the internal dict API, but there aren't really any plugins
widely using it, so it's not a big problem.
Timo Sirainen [Tue, 26 Aug 2014 05:50:15 +0000 (14:50 +0900)]
auth: Allow passdb credentials lookup also with auth_bind=yes
Although we probably can't lookup the password itself, we're also doing
passdb lokups for proxying and other purposes. These lookups will still work
as long as pass_attrs & pass_filter is specified.
Timo Sirainen [Thu, 21 Aug 2014 12:49:34 +0000 (14:49 +0200)]
fts-lucene: When deleting corrupted lucene-indexes/ directory, don't rmdir it.
This at least avoids errors with NFS when some of the files are still open
inside it by other processes.
Timo Sirainen [Wed, 20 Aug 2014 13:32:15 +0000 (15:32 +0200)]
lmtp: Put back the deduplication code.
Too dangerous after all to change it in the middle of v2.2.x. It's also not
causing that much trouble even when it breaks..
Timo Sirainen [Wed, 20 Aug 2014 12:35:27 +0000 (14:35 +0200)]
auth: protocol-specific username settings weren't used for userdb lookups.
The username was set before the service-specific settings were looked up, so
global settings were always used. This affected auth_default_realm,
auth_username_translation and auth_username_format settings.
Timo Sirainen [Wed, 20 Aug 2014 11:22:28 +0000 (14:22 +0300)]
fts-lucene: If whitespace_chars was set, we may have ended up indexing some garbage words.
The final \0 was replaced with space, so everything beyond that was also
being indexed.
Timo Sirainen [Tue, 19 Aug 2014 21:51:14 +0000 (23:51 +0200)]
lib: wildcard_match() should have matched "*" wildcard against an empty "" string also.
This fixes global ACL "*" matching the root namespace when creating new
mailboxes.