]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Sat, 21 May 2016 11:16:08 +0000 (13:16 +0200)]
lib-http: client: Improved request reference counting in connection code.
It should now always be clear when the connection object holds a reference to a request and when it is released.
Only while the reference is held, req->conn points to a connection.
This also makes the assertion in http_client_request_unref() more robust and clear.
Stephan Bosch [Sun, 22 May 2016 08:42:01 +0000 (10:42 +0200)]
lib-http: client: Fixed reference counting for requests that are aborted due to an early server response.
An additional http_client_request_unref() is (now) unneccessary.
Stephan Bosch [Thu, 19 May 2016 21:40:26 +0000 (23:40 +0200)]
lib-http: client: Fixed reference counting for requests that are aborted due to having a broken outgoing payload stream.
Timo Sirainen [Wed, 18 May 2016 16:40:32 +0000 (19:40 +0300)]
lib-http: Changed http_client_request_error to set request to NULL
It's going to internally unreference it, so the caller should be aware of it
also.
I also changed request state check to be an assert, since I don't think
there's any safe way this could work otherwise.
Stephan Bosch [Fri, 20 May 2016 22:16:38 +0000 (00:16 +0200)]
lib-http: response parser: Added check for the range of the response status value.
A value of 666 was accepted inappropriately.
Timo Sirainen [Mon, 20 Jun 2016 00:07:58 +0000 (03:07 +0300)]
lib-dict-extra: Compiler warning fix
Timo Sirainen [Mon, 13 Jun 2016 14:10:22 +0000 (17:10 +0300)]
lib-dict: Added dict_switch_ioloop()
Timo Sirainen [Wed, 1 Jun 2016 21:57:17 +0000 (00:57 +0300)]
lib-dict: dict-client rewrite to support async operations
Timo Sirainen [Fri, 6 May 2016 14:24:42 +0000 (17:24 +0300)]
lib: Added t_str_tabunescape()
Timo Sirainen [Sun, 19 Jun 2016 23:25:47 +0000 (02:25 +0300)]
lib-dcrypt: Use a more supported EC curve in unit test
Fixes running the test on CentOS 6.
Timo Sirainen [Sun, 19 Jun 2016 22:47:59 +0000 (01:47 +0300)]
lib-index: Don't break indexes on syscall failures during index refreshing.
Especially mmap() failures due to out of memory could have triggered this.
We treated the open as successful, which meant that an empty index was
opened.
Timo Sirainen [Sun, 19 Jun 2016 20:18:43 +0000 (23:18 +0300)]
lib-dcrypt: Fixed running unit tests in build directory.
Timo Sirainen [Sun, 19 Jun 2016 17:23:27 +0000 (20:23 +0300)]
mailbox-alias: Fixed renaming mailboxes when the plugin is loaded.
Timo Sirainen [Sun, 19 Jun 2016 15:44:55 +0000 (18:44 +0300)]
lib-dcrypt: Fixed memory leak in test-crypto unit test
Timo Sirainen [Sun, 19 Jun 2016 15:38:39 +0000 (18:38 +0300)]
doveadm dump: Updated obox's oid output.
Stephan Bosch [Tue, 14 Jun 2016 23:54:25 +0000 (01:54 +0200)]
lib-http: client: Added more debug logging about the submission of delayed requests.
Stephan Bosch [Tue, 14 Jun 2016 23:53:44 +0000 (01:53 +0200)]
time-util: Fixed usec comparison in timeval_cmp_margin().
Teemu Huovila [Tue, 14 Jun 2016 19:42:09 +0000 (22:42 +0300)]
lib-dcrypt: Fix error_r pointer verification.
Timo Sirainen [Tue, 14 Jun 2016 19:32:36 +0000 (22:32 +0300)]
lib-fs: Added write_bytes to statistics
Martti Rannanjärvi [Tue, 10 May 2016 07:19:57 +0000 (10:19 +0300)]
[LEN] to [static LEN] on some function parameters
Also add STATIC_ARRAY macro to hide it in c++ compilation.
Aki Tuomi [Tue, 14 Jun 2016 09:30:27 +0000 (12:30 +0300)]
dcrypt: Arm deinitialization code
Aki Tuomi [Tue, 14 Jun 2016 09:08:49 +0000 (12:08 +0300)]
dcrypt: Add test for public key loading
Aki Tuomi [Tue, 14 Jun 2016 09:08:34 +0000 (12:08 +0300)]
dcrypt-openssl: Pass pointer safely
Timo Sirainen [Tue, 14 Jun 2016 07:49:24 +0000 (10:49 +0300)]
lib-index: Fixed test-mail-index-sync-ext
Timo Sirainen [Mon, 13 Jun 2016 22:14:13 +0000 (01:14 +0300)]
lib-index: Fixes to handling resized records.
Timo Sirainen [Mon, 13 Jun 2016 17:16:14 +0000 (20:16 +0300)]
dict: Increased max number of pipelined requests from 5 to 1000.
The client is supposed to be the one throttling the requests. We mainly
want to avoid accidental abuses. Using 1000 is hopefully "large enough"
without being "too large".
Timo Sirainen [Mon, 13 Jun 2016 14:59:01 +0000 (17:59 +0300)]
dict: Avoid potentially using 100% CPU
Continuing
65c570f18 fix.
Timo Sirainen [Mon, 13 Jun 2016 14:11:28 +0000 (17:11 +0300)]
lib-fs: Added fs_switch_ioloop()
Timo Sirainen [Mon, 13 Jun 2016 14:31:34 +0000 (17:31 +0300)]
lib-fs: Code cleanup for fs-sis: Use struct fs.parent
Aki Tuomi [Mon, 13 Jun 2016 09:49:19 +0000 (12:49 +0300)]
lib-dcrypt: Use hex encoded public key ID in callback
Timo Sirainen [Tue, 7 Jun 2016 00:47:44 +0000 (03:47 +0300)]
Fixed linking with OSX.
Aki Tuomi [Mon, 13 Jun 2016 09:44:09 +0000 (12:44 +0300)]
lib-dcrypt: Use dcrypt_key_id_private when applicable
Aki Tuomi [Wed, 11 May 2016 05:02:29 +0000 (08:02 +0300)]
ldap: Fix cyclic dependency
Timo Sirainen [Mon, 13 Jun 2016 09:18:07 +0000 (12:18 +0300)]
dovecot-config: Add lib-dcrypt to LIBDOVECOT_INCLUDE
Since lib-dcrypt is part of libdovecot.
Martti Rannanjärvi [Thu, 19 May 2016 08:14:46 +0000 (11:14 +0300)]
master: make setting listen empty an error
Timo Sirainen [Sun, 12 Jun 2016 17:11:49 +0000 (20:11 +0300)]
lib-index: mail_index_ext_resize() was broken when record_size wasn't changed.
Aki Tuomi [Sun, 12 Jun 2016 15:57:10 +0000 (18:57 +0300)]
lib-dcrypt: Fix various problems
Timo Sirainen [Sat, 11 Jun 2016 18:23:57 +0000 (21:23 +0300)]
lib-mail: Improved message-parser unit tests.
Timo Sirainen [Sat, 11 Jun 2016 18:23:07 +0000 (21:23 +0300)]
lib-mail: Fixed message_parser_init_from_parts() with truncated MIME headers
Timo Sirainen [Sat, 11 Jun 2016 18:20:37 +0000 (21:20 +0300)]
lib-mail: message-header-parser now keeps istream referenced.
Timo Sirainen [Sat, 11 Jun 2016 17:50:39 +0000 (20:50 +0300)]
lib-storage: mail_set_cache_corrupted*() now sets internal error to storage.
At least index_mail_set_message_parts_corrupted() assumed that this was
being done.
Timo Sirainen [Sat, 11 Jun 2016 14:13:12 +0000 (17:13 +0300)]
cassandra: Try fallback_consistency also for write timeout failures.
Aki Tuomi [Tue, 7 Jun 2016 05:50:12 +0000 (08:50 +0300)]
doveadm-server: Disable idle timeout for now
Timo Sirainen [Tue, 7 Jun 2016 00:25:16 +0000 (03:25 +0300)]
lib-dcrypt: Fixed library dependencies
_DEPENDENCIES needs an explicit paths, not "-lssl" and such. Fixes building
with e.g. OSX.
Timo Sirainen [Tue, 7 Jun 2016 00:04:32 +0000 (03:04 +0300)]
lib-lda: Don't assert-crash if home directory isn't set.
Timo Sirainen [Sun, 5 Jun 2016 13:01:05 +0000 (16:01 +0300)]
mbox: Code cleanup - use bool instead of int for tracking locked-status
Timo Sirainen [Mon, 2 May 2016 15:27:02 +0000 (18:27 +0300)]
quota: Differentiate between forced and non-forced quota recalc
The "count" backend doesn't need to recalc quota unless an explicit "doveadm
quota recalc" command is called.
Timo Sirainen [Mon, 2 May 2016 15:16:00 +0000 (18:16 +0300)]
quota: Skip reading mail sizes when quota backend doesn't need it.
If quota backend is updating the quota internally, it's just going to ignore
the looked up size. The only reason for looking up the sizes is to check
with quota_try_alloc() whether user is going over quota.
Timo Sirainen [Sun, 5 Jun 2016 23:27:35 +0000 (02:27 +0300)]
fs-randomfail: Support failures after asynchronous commands have already finished.
Timo Sirainen [Sun, 5 Jun 2016 23:26:09 +0000 (02:26 +0300)]
dict: Fixed hang when pipelining multiple commands.
Timo Sirainen [Sun, 5 Jun 2016 21:07:53 +0000 (00:07 +0300)]
lib-index: Extension record size resizing was still broken.
Fixes assert-crash:
Panic: file mail-index-util.c: line 143 (mail_index_seq_array_add): assertion failed: (array->arr.element_size == sizeof(seq) + aligned_record_size)
Timo Sirainen [Sun, 5 Jun 2016 13:51:12 +0000 (16:51 +0300)]
lib-mail: Added comment about invalid timezones in message_date_parse()
Timo Sirainen [Sun, 5 Jun 2016 13:40:27 +0000 (16:40 +0300)]
director: Fixed error handling when directors support incompatible tags
Connection should have been disconnected immediately, not after the next
command that would have produced "Incompatible protocol".
Timo Sirainen [Sun, 5 Jun 2016 12:57:48 +0000 (15:57 +0300)]
lib-dcrypt: Fixed error handling in dcrypt_key_id_public()
Timo Sirainen [Sun, 5 Jun 2016 12:35:13 +0000 (15:35 +0300)]
lib-storage: Fixed error handling in list=children checking
Timo Sirainen [Sun, 5 Jun 2016 12:32:09 +0000 (15:32 +0300)]
fts-lucene: Fixed error handling when checking if settings had changed.
Timo Sirainen [Sun, 5 Jun 2016 12:31:20 +0000 (15:31 +0300)]
mailbox-alias plugin: Fixed error handling
Timo Sirainen [Sun, 5 Jun 2016 12:26:11 +0000 (15:26 +0300)]
lib-storage: Search args equalness checks didn't compare keywords correctly.
This may have broken the search in some situations.
Timo Sirainen [Sun, 5 Jun 2016 12:23:45 +0000 (15:23 +0300)]
mbox: Fixed expunging first mail with CRLF linefeeds.
Timo Sirainen [Sun, 5 Jun 2016 12:18:04 +0000 (15:18 +0300)]
mdbox: Fix want_altpath flags/boolean mixup
There was only a single flag, so this wasn't actually currently broken.
Timo Sirainen [Sun, 5 Jun 2016 12:11:56 +0000 (15:11 +0300)]
auth: Fixed error handling in passdb/userdb dict config parsing
Timo Sirainen [Sun, 5 Jun 2016 11:54:05 +0000 (14:54 +0300)]
director: Fixed ignoring an obsolete up/down change while host is desynced.
Timo Sirainen [Sun, 5 Jun 2016 01:29:00 +0000 (04:29 +0300)]
lib-dcrypt: Fixed function return type.
Timo Sirainen [Sat, 4 Jun 2016 00:47:37 +0000 (03:47 +0300)]
lazy-expunge: Fixed crash on error handling
Timo Sirainen [Fri, 3 Jun 2016 17:14:01 +0000 (20:14 +0300)]
lib-index: Fix duplicate fields in mail_cache_register_fields()
Broken by hash_table_insert() API change. The earlier code was also a bit
wrong by allocating a bit too much memory when there were duplicate fields
being registered.
Timo Sirainen [Fri, 3 Jun 2016 17:10:02 +0000 (20:10 +0300)]
lib-index: Fixed extension resizing
Broken by
8483af4ff .
Timo Sirainen [Fri, 3 Jun 2016 17:00:14 +0000 (20:00 +0300)]
lib-index: Added header-size asserts
Timo Sirainen [Fri, 3 Jun 2016 16:58:29 +0000 (19:58 +0300)]
lib-index: Fixed fsck handling extension with invalid header size
Fixes:
Panic: file mail-index-sync-ext.c: line 393 (mail_index_sync_ext_init_new): assertion failed: (hdr_buf->used == map->hdr.header_size)
Timo Sirainen [Fri, 3 Jun 2016 16:20:35 +0000 (19:20 +0300)]
lib-storage: Detect duplicate mailbox GUIDs in guid-cache.
Also fixes assert-crashing in hash_table_insert() when it happens.
Timo Sirainen [Fri, 3 Jun 2016 16:18:43 +0000 (19:18 +0300)]
maildir: Detect duplicate keywords in dovecot-keywords file
Use the first such keyword's index, not the last.
Also fixes assert-crashing in hash_table_insert() when it happens.
Timo Sirainen [Fri, 3 Jun 2016 16:17:03 +0000 (19:17 +0300)]
maildir: Avoid extra memory usage on duplicate uidlist entries
Also fixes assert-crashing in hash_table_insert() when it happens.
Timo Sirainen [Fri, 3 Jun 2016 14:54:36 +0000 (17:54 +0300)]
lib-index: Allow growing ext record_size after mail_index_update_ext()
The existing records will just get some zero-padding at the end of records.
Timo Sirainen [Fri, 3 Jun 2016 14:52:39 +0000 (17:52 +0300)]
lib-index: Fixed changing extension record sizes.
map needs to be cloned before any extension record size changes are done.
Otherwise the map cloning will crash or do something broken.
Timo Sirainen [Fri, 3 Jun 2016 14:40:11 +0000 (17:40 +0300)]
lib-index: Minor code cleanup - use better variable names
Baofeng Wang [Wed, 18 May 2016 11:42:21 +0000 (14:42 +0300)]
lib-storage: add no_fts in struct mail_search_arg
When flag is set, FTS will not be performed.
fts plugin: handle no_fts flag
No fts will be performed once flag is set.
Original patch from Timo Sirainen <timo.sirainen@dovecot.fi>
Timo Sirainen [Mon, 30 May 2016 16:07:16 +0000 (19:07 +0300)]
virtual: Moved virtual_mailbox_vfuncs to lib-storage.
This allows implementing other virtual storage backends.
Timo Sirainen [Wed, 1 Jun 2016 09:37:22 +0000 (12:37 +0300)]
master: Give a nicer error if unix/fifo_listener path is empty.
The previous error was simply:
unlink(/var/run/dovecot/) failed: Is a directory
Timo Sirainen [Thu, 2 Jun 2016 13:06:08 +0000 (16:06 +0300)]
dict-sql: Improve error message for invalid value fields.
It'll now show which map's pattern matched, making it easier to find
from the config file.
Timo Sirainen [Mon, 23 May 2016 14:47:50 +0000 (17:47 +0300)]
auth: Support %variable expansion for LDAP field names.
For example this is now allowed:
user_attrs = \
=namespace/%{ldap:enabledNamespace}/enabled=yes \
...
Timo Sirainen [Wed, 18 May 2016 18:41:49 +0000 (21:41 +0300)]
lib-imap-storage: Don't sort uninitialized array on invalid header list.
Timo Sirainen [Wed, 18 May 2016 11:24:55 +0000 (14:24 +0300)]
lib-imap-storage: Minor error logging cleanup/fix.
We read from input, not from mail_input. In theory it could have the actual
error instead of mail_input (although right now it couldn't).
Timo Sirainen [Wed, 18 May 2016 15:41:33 +0000 (18:41 +0300)]
lib: ostream-escaped: Fixed setting offset
Timo Sirainen [Mon, 16 May 2016 16:16:55 +0000 (19:16 +0300)]
lmtp: Fixed error logging when writing to temp file
Timo Sirainen [Mon, 16 May 2016 12:49:08 +0000 (15:49 +0300)]
global: Use [io]_stream_get_error() insted of %m
Stephan Bosch [Tue, 10 May 2016 18:37:55 +0000 (20:37 +0200)]
Added LIBDOVECOT_SQL_INCLUDE to dovecot-config and dovecot.m4.
Timo Sirainen [Wed, 11 May 2016 09:19:14 +0000 (05:19 -0400)]
dsync: Fixed potential crash
This seems to be possible with dsync_mailbox_find_common_expunged_uid() ->
dsync_mailbox_common_uid_found() -> dsync_mailbox_rewind_search() -> following
search doesn't find anything.
Timo Sirainen [Tue, 3 May 2016 16:42:08 +0000 (19:42 +0300)]
doveadm fetch: Translate commas to spaces in body|binary.<section> with
This way we can do e.g.:
doveadm fetch 'uid body.header.fields(from,to,subject)' ...
Although in theory we could also change the parser to allow spaces as long
as they're inside (..), but this is probably too much extra effort.
Timo Sirainen [Tue, 3 May 2016 16:39:44 +0000 (19:39 +0300)]
lib-imap-storage: Allow HEADER.FIELDS(..) without space before '('
This is to allow doveadm fetch to use it. Attempting to do this without a
space in IMAP already fails elsewhere:
x fetch 1 body.peek[header.fields(from to)]
x BAD Error in IMAP command FETCH: Invalid characters in atom
Timo Sirainen [Tue, 3 May 2016 11:58:37 +0000 (14:58 +0300)]
doveadm fetch: Fixed logging errors for istream failures
Timo Sirainen [Tue, 3 May 2016 11:54:28 +0000 (14:54 +0300)]
doveadm fetch: Added body.<section> and binary.<section> fields
These correspond to IMAP BODY[<section>].
Martti Rannanjärvi [Wed, 20 Apr 2016 11:33:57 +0000 (14:33 +0300)]
doveadm: error to print formatted without format
This changes the segfault of `doveadm -f formatted ...` to an error.
Stephan Bosch [Sat, 30 Apr 2016 12:22:21 +0000 (14:22 +0200)]
lib-http: server: Fixed assert failure occurring when closing the connection while a request payload was still being read.
Timo Sirainen [Sat, 30 Apr 2016 12:26:27 +0000 (15:26 +0300)]
.gitignore: Added *~
Aki Tuomi [Tue, 26 Apr 2016 16:26:34 +0000 (19:26 +0300)]
doveadm-server: Handle istream send error.
Teemu Huovila [Fri, 29 Apr 2016 18:36:31 +0000 (21:36 +0300)]
lib-dict-extra: Avoid out of scope data stack usage.
Aki Tuomi [Wed, 20 Apr 2016 14:34:53 +0000 (17:34 +0300)]
lib: Add PKCS#5 pbkdf1 and 2
Aki Tuomi [Wed, 27 Apr 2016 06:14:29 +0000 (09:14 +0300)]
auth: Add PBKDF2 password scheme
Teemu Huovila [Wed, 1 Jun 2016 09:24:57 +0000 (12:24 +0300)]
lib-fts: Improved stopword file reading.
The reading tries to be a little bit stricter now. Only stopwords at the
start of a new line are accepted now. Changed fi stopwords accordingly.
Also removed superfluous stack allocation in parsing.
Teemu Huovila [Mon, 30 May 2016 09:40:00 +0000 (12:40 +0300)]
lib-fts: Add stopword files for more languages.
Teemu Huovila [Mon, 30 May 2016 08:54:26 +0000 (11:54 +0300)]
lib-fts: Move stopwords to subdirectory.
All files incluided in dist are explicitly mentioned. The whole
subdirectory 'stopwords' could also be distributed, but that is
more error prone.