Stephan Bosch [Tue, 21 May 2013 19:55:23 +0000 (22:55 +0300)]
lib-imap-urlauth: Fixed deinitialization of the URLAUTH fetch handler.
Added reference counting to make sure callbacks will not deinitialize the
handler prematurely.
Stephan Bosch [Tue, 21 May 2013 19:55:17 +0000 (22:55 +0300)]
lib-imap-urlauth: Fixed resuming in URLAUTH fetch handler.
Fixed URLAUTH fetch handler to properly resume the URLAUTH connection, even
when it is deinitialized.
Timo Sirainen [Sun, 19 May 2013 23:01:02 +0000 (02:01 +0300)]
dsync: Don't try to sync with GUIDs if we can't set them on the needed side.
With two-way syncing both sides need to have writable GUIDs. With one-way
syncing only the writing side needs to have writable GUIDs.
Timo Sirainen [Sun, 19 May 2013 22:39:52 +0000 (01:39 +0300)]
maildir: Reverted most of changeset c92ebbedc6f9.
If dovecot-uidlist file is recreated, it gets a new inode number, and we
should recognize by that alone that it has changed. More importantly this
forced re-reading of dovecot-uidlist clears out the RACING flag, making it
impossible to handle reappearing maildir files.
Timo Sirainen [Sun, 19 May 2013 19:30:52 +0000 (22:30 +0300)]
http_url_escape_param(): Added more characters to be escaped.
Most importantly '+', which encodes a space normally. The others may not be
strictly necessary, but safer to escape them just in case.
Timo Sirainen [Wed, 15 May 2013 12:35:10 +0000 (15:35 +0300)]
imap: Return how long SELECT or EXAMINE command took to answer.
Could be useful to know sometimes if there's a large maildir where a lot
files need to be rename()d.
Timo Sirainen [Wed, 15 May 2013 12:06:24 +0000 (15:06 +0300)]
Added asserts to binary searches to make sure we don't go to infinite loop.
Using idx=left+(right-left)/2 would have worked also to allow 4GB sizes,
but since none of the places in the code are likely to reach 2GB we might as
well just add an assert. (Also if they do reach 2GB, it could be possible
that they could reach also above 4GB and cause problems. Better to see an
early error.)
Timo Sirainen [Wed, 15 May 2013 10:44:01 +0000 (13:44 +0300)]
lib-storage: Allow mail_*cache_fields settings to specify any hdr.* fields.
Also the fields were previously set only once globally, so if the process
served multiple users, it wouldn't have been possible to use per-user values
for these fields.
Timo Sirainen [Wed, 15 May 2013 10:34:59 +0000 (13:34 +0300)]
lib-index: Fixed mail_cache_register_fields() decision updates.
Normally this shouldn't matter, except when mail_*cache_fields settings have
been used.
Timo Sirainen [Tue, 14 May 2013 13:46:08 +0000 (16:46 +0300)]
example-config: Moved imap_* and pop3_* settings outside protocol section.
There's no need to keep them inside protocol {}, and in case of
pop3_uidl_format=%m setting it's actually harmful.
Timo Sirainen [Mon, 6 May 2013 20:59:41 +0000 (23:59 +0300)]
lib-index: Previous commit sometimes broke scanning transaction log view.
If min_file_seq+offset pointed to the end of the previous file that no
longer existed, we didn't just skip over it.
Timo Sirainen [Mon, 6 May 2013 14:30:07 +0000 (17:30 +0300)]
doveadm: If search query attempts to access nonexistent mailbox, just ignore it.
Most importantly running a query for multiple users wouldn't be an error if
the mailbox existed only for some users. It's probably cleaner to then
always just ignore the nonexistent mailboxes.
Timo Sirainen [Mon, 6 May 2013 11:59:27 +0000 (14:59 +0300)]
acl: Optionally get default ACL's for private/shared namespaces from user's INBOX.
This probably should be the default always, but better not break anyone's
existing setup until v2.3.0. So for now there's a setting for this:
plugin { acl_defaults_from_inbox = yes }
Timo Sirainen [Tue, 23 Apr 2013 17:51:34 +0000 (20:51 +0300)]
dbox: Close file's fd only after its istream is destroyed.
For example zlib plugin keeps the stream open as a cache even after the
dbox_file has been destroyed.
Timo Sirainen [Thu, 18 Apr 2013 14:54:29 +0000 (17:54 +0300)]
lib-storage: Set virtual/physical size in dest_mail when copying, if possible.
Ideally lib-index would be fixed so this wouldn't be necessary. The
lib-index way of fixing it would also be useful for more than just quota
plugin.
Timo Sirainen [Thu, 18 Apr 2013 14:48:38 +0000 (17:48 +0300)]
lib-storage: mailbox_copy() didn't always copy all the cached fields to destination.
If the destination mailbox's cache file wasn't already opened, the default
cache decisions were used.