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 [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.
Timo Sirainen [Fri, 8 Apr 2011 13:41:26 +0000 (16:41 +0300)]
config: Log a warning if global ssl=no, but some section has ssl=yes/required.
Actually supporting per-protocol (or even worse, per-ip) SSL would be too
much trouble.
Timo Sirainen [Mon, 4 Apr 2011 20:07:37 +0000 (23:07 +0300)]
quota: Set quota limit correctly (for code path that doesn't exist).
quota_alloc() followed by quota_test/try_alloc() set the "quota left" limit
wrong. But this is only a theoretical problem, because nothing actually
calls quota_alloc() currently.
Timo Sirainen [Fri, 25 Mar 2011 23:10:59 +0000 (01:10 +0200)]
lib-settings: Fixed crash when trying treat strlist as having a subsection.
For example "plugin/foo/bar=yes" crashed, while it should have been just
ignored.
Timo Sirainen [Fri, 25 Mar 2011 22:33:51 +0000 (00:33 +0200)]
lib-storage: Fixed mailbox_get_expunges() to return GUIDs with all mailbox formats.
Also added mailbox_get_expunged_uids() for use cases that don't really need
GUIDs.
Timo Sirainen [Wed, 23 Mar 2011 22:10:59 +0000 (00:10 +0200)]
lib-storage: Removed extra "don't allow INBOX to be deleted" check.
It's already checked in places where it could cause actual harm
(accidentally deleting other mailboxes) and where it's not allowed (IMAP).
This allows dsync backup to delete unwanted INBOX if the mail location
settings allow it.
Timo Sirainen [Wed, 23 Mar 2011 21:13:00 +0000 (23:13 +0200)]
lib-storage: When mail_location is looked up from environment, set its unexpanded string properly.
This fixes a crash when creating index directories and mail location was
autodetected.