Timo Sirainen [Wed, 11 May 2011 12:17:02 +0000 (15:17 +0300)]
message header parser: Fixed handling NUL characters in header names.
line->name_len was too large and line->middle pointer may have pointed past
allocated memory. These may have caused crashes/corruption (fts, mbox at
least).
Timo Sirainen [Mon, 9 May 2011 16:59:21 +0000 (19:59 +0300)]
script-login: Changed default behavior to be to drop privileges.
Also since the default is to run as root, allow that. There is now "-n"
parameter to avoid dropping privileges.
Timo Sirainen [Thu, 5 May 2011 16:13:55 +0000 (18:13 +0200)]
doveadm: Added "index" command to add unindexed messages into index/cache/fts.
The caching adds only the fields that were previously added to the mailbox's
caching decisions, so it won't do anything useful for mailboxes that user's
client hasn't accessed yet.
Timo Sirainen [Wed, 4 May 2011 09:42:17 +0000 (11:42 +0200)]
lib-storage: Added MAIL_FETCH_POP3_ORDER special field and implemented for Maildir.
The idea is that this specifies the order of messages when accessing via
POP3. This is useful when migrating both POP3 and IMAP users from servers
where their message ordering differes and they still want to be preserved.
Timo Sirainen [Tue, 3 May 2011 16:41:10 +0000 (18:41 +0200)]
doveadm: Added "director dump" command.
It outputs doveadm director commands to add/remove the current host
configuration, so if all directors are stopped, their state can be easily
restored by running the commands.
Timo Sirainen [Sat, 30 Apr 2011 12:00:42 +0000 (15:00 +0300)]
lib-storage: mailbox_delete() now always first expunges all mails before trying deletion.
If any new mails are added during expunging, the mailbox deletion fails.
This behavior allows removing basically duplicated code where this is done
for mdbox, sdbox with external attachments, quota updates and lazy-expunge.
Timo Sirainen [Sat, 30 Apr 2011 11:20:30 +0000 (14:20 +0300)]
lazy-expunge: Removed support for more than one lazy-expunge namespace.
More than one is conceptually difficult to understand, complicates the code
and after the next change it wouldn't even work anymore.
Timo Sirainen [Wed, 20 Apr 2011 14:57:20 +0000 (17:57 +0300)]
maildir: Remove invalid extension records from dovecot-uidlist.
For now we'll assume that if the key is outside A..Z it's invalid. Since
only 4 keys are used currently, there is still a lot of letters available
for future use.
Timo Sirainen [Wed, 13 Apr 2011 09:40:48 +0000 (12:40 +0300)]
doveconf: Added -S parameter to dump a simplified machine readable config.
This should make it slightly easier for external programs/scripts to call
doveconf and parse its output.
Timo Sirainen [Tue, 12 Apr 2011 14:05:49 +0000 (17:05 +0300)]
auth: Removed max. request queue limit from LDAP.
Old requests get dropped after 60 seconds, but other than that there is
probably not much point in having a hard coded limit.
Timo Sirainen [Fri, 8 Apr 2011 17:23:17 +0000 (20:23 +0300)]
imap-login: Reduced the max. number of allowed bad commands.
This makes it even more sure that we won't reply with anything dangerous
when attempting to access us with HTTP client.
Timo Sirainen [Fri, 8 Apr 2011 17:21:58 +0000 (20:21 +0300)]
imap-login: Don't allow IMAP command tags that have invalid characters.
This simply attempts to prevent HTTP requests from replying with any
potentially danerous data that some web browsers might execute, e.g.:
curl --request POST -F 'x="<script>alert(1)</script>"' http://localhost:143/
The above command probably doesn't work, because max. bad commands is
reached earlier. But if it isn't, this change makes sure it doesn't return
back anything, because '"' and '(' aren't allowed characters. Even if '"'
weren't required, there hopefully isn't much to be done without being able
to call any functions.
Timo Sirainen [Fri, 8 Apr 2011 16:35:27 +0000 (19:35 +0300)]
director: Reset hosts' last_failed timestamps when they're suspected to be working again.
This should fix some problems during director removals and additions.