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.
Timo Sirainen [Sun, 6 Mar 2011 22:56:54 +0000 (00:56 +0200)]
expire: When saving first message to expire mailbox, use the oldest message's save-time.
This makes it easier to enable and test expire plugin. This also changes how
expire dict is used: previously when all messages were expunged in a
mailbox its entry was deleted in dict, but now its value is set to 0.