]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Pali Rohár [Sun, 5 Jun 2016 13:48:18 +0000 (15:48 +0200)]
lib-mail: parse_mailbox: Set display name instead mailbox when parsing failed
It does not make sense to set mailbox without domain on incorrect input.
Rather set display name which is more likely useable value.
Test case:
test
is parsed as:
{ name = "test", mailbox = NULL, domain = NULL }
Pali Rohár [Sun, 5 Jun 2016 13:48:17 +0000 (15:48 +0200)]
lib-mail: parse_addr_spec: Email address without local-part is invalid
Add explicit invalid_syntax flag also when end of input occure because
address is without domain invalid and in this case it was not correctly
propagated.
Pali Rohár [Sun, 5 Jun 2016 13:48:16 +0000 (15:48 +0200)]
lib-mail: parse_addr_spec: Like in rfc822_skip_comment() check if last_comment is not NULL
This will fix possible NULL pointer dereference when caller does not set last_comment.
Pali Rohár [Sun, 5 Jun 2016 13:48:15 +0000 (15:48 +0200)]
lib-mail: message_address_write: Fix generating group list with empty name
Empty name for group list must be quoted.
Test case:
{ { name = NULL, mailbox = "", domain = NULL }, { name = NULL, mailbox = NULL, domain = NULL } }
converts to:
"":;
Pali Rohár [Sun, 5 Jun 2016 13:48:14 +0000 (15:48 +0200)]
lib-mail: message_address_write: Fix generating empty group list
Empty group list ends with ": " not with ", ".
Test case:
{ { name = NULL, mailbox = "group", domain = NULL }, { name = NULL, mailbox = NULL, domain = NULL } }
converts to:
group:;
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 14:48:41 +0000 (17:48 +0300)]
global: More fixes to mismatched bool vs int handling
Timo Sirainen [Sun, 5 Jun 2016 12:37:06 +0000 (15:37 +0300)]
global: Fixed mismatched bool vs. int/pointer handling
I don't think these fix any actual bugs.
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:31:09 +0000 (19:31 +0300)]
global: Use hash_table_update() instead of _insert() where necessary.
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>
Baofeng Wang [Tue, 17 May 2016 08:45:50 +0000 (11:45 +0300)]
hash: refactor hash_table_insert_node() and its callers reference
Refactor *changes* the behavior of hash_table_insert().
* hash_table_insert() will assert when a key already exsists.
And hash_table_update() remains updating value when a key already exsists.
Refactor also changes the argument list referred by all its callers:
* hash_table_insert/update/resize().
Baofeng Wang [Tue, 17 May 2016 08:42:30 +0000 (11:42 +0300)]
lib-fts: fixup misuse of hash_table_insert()
Instead use hash_table_update() to replace value when a key exsists.
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
Martti Rannanjärvi [Thu, 2 Jun 2016 12:11:21 +0000 (15:11 +0300)]
print CFLAGS on ./configure
Martti Rannanjärvi [Mon, 9 May 2016 12:24:28 +0000 (15:24 +0300)]
lib: net_get_ip_any[46]() to struct net_ip[46]_any
Also add struct net_ip[46]_loopback.
Baofeng Wang [Mon, 9 May 2016 11:04:47 +0000 (14:04 +0300)]
lib: remove useless NULL check after calling vstrconcat
behavior change accordingly.
Baofeng Wang [Wed, 20 Apr 2016 14:28:24 +0000 (17:28 +0300)]
liblib: *_strndup() and *_strconcat() shouldn't pass through NULLs.
Assert NULL string pointer in below functions:
i_strndup(), t_strndup() and p_strconcat(), t_strconcat(), i_strconcat() and
vstrconcat.
Replace former NULL condition check accordingly.
Baofeng Wang [Thu, 28 Apr 2016 08:47:59 +0000 (11:47 +0300)]
lib-fs: do NOT feed i_strconcat() with NULL
fill the string with valid content beforehand.
Baofeng [Tue, 12 Apr 2016 10:08:05 +0000 (13:08 +0300)]
storage: do NOT feed p_strconcat() with NULL.
p_strconcat will never take NULL as an valid argument.
So ns->list->set.alt_dir has to be checked NULL.
Baofeng [Mon, 11 Apr 2016 18:20:48 +0000 (21:20 +0300)]
auth: do NOT feed p_strconcat() with NULL
p_strconcat will never take NULL as an valid argument.
Check possible NULL string before calling it.
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.
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 [Wed, 1 Jun 2016 21:52:37 +0000 (00:52 +0300)]
dict: Pipelined iteration replies may have been hanging.
For example:
- lookup start
- iterate start
- iterate finished, but can't reply yet
- lookup finished
- iterate reply can be sent now, but wasn't previously
Timo Sirainen [Wed, 1 Jun 2016 21:51:26 +0000 (00:51 +0300)]
dict: Fixed crash when reaching max (5) pending commands.
Timo Sirainen [Wed, 1 Jun 2016 15:11:29 +0000 (18:11 +0300)]
global: Use i_stream_get_max_buffer_size() wherever possible
After
7be8ba0c0 it's no longer correct to access stream->max_buffer_size
directly. These changes fix using istream-chain with various wrapper
streams.
Timo Sirainen [Wed, 1 Jun 2016 15:09:48 +0000 (18:09 +0300)]
lib: i_stream_get_max_buffer_size() checks also parents' max sizes
This fixes i_stream_get_max_buffer_size() to work correctly with
istream-chain.
Timo Sirainen [Wed, 1 Jun 2016 15:03:58 +0000 (18:03 +0300)]
lib: istream-chain didn't update its max_buffer_size
I had this code at some point earlier, but looks like it got lost from the
final commit.
Timo Sirainen [Wed, 1 Jun 2016 14:52:23 +0000 (17:52 +0300)]
lib-compression: istream.max_buffer_size == 0 isn't unlimited.
Timo Sirainen [Wed, 1 Jun 2016 14:18:23 +0000 (17:18 +0300)]
fs-metawrap: Removed unnecessary code.
As mentioned in
a0cf7d392 , this can't happen.
Timo Sirainen [Wed, 1 Jun 2016 14:12:51 +0000 (17:12 +0300)]
lib-fs: Improved unit tests.
Timo Sirainen [Wed, 1 Jun 2016 14:12:10 +0000 (17:12 +0300)]
fs-metawrap: Removed unnecessary code.
The caller already set success==FALSE if ostream was closed.
Timo Sirainen [Wed, 1 Jun 2016 14:11:53 +0000 (17:11 +0300)]
lib-fs: Added more asserts
Timo Sirainen [Wed, 1 Jun 2016 14:06:28 +0000 (17:06 +0300)]
lib-fs: Clarified fs_write_stream_abort() API and dropped its _async().
We can't handle an abort after an async fs_write_stream_finish() is already
going.
Timo Sirainen [Wed, 1 Jun 2016 12:15:19 +0000 (15:15 +0300)]
lib-fs: Added fs_write_stream_abort_async()
Timo Sirainen [Wed, 1 Jun 2016 10:30:22 +0000 (13:30 +0300)]
lib: Fix to previous istream-chain max_buffer_size handling
We were casting the wrong stream.
Timo Sirainen [Tue, 31 May 2016 19:33:32 +0000 (22:33 +0300)]
fs-metawrap: Fixed buffer size while reading metadata header.
It's not enough to have the buffer size set to "large enough" at the time of
the stream creation, because i_stream_set_max_buffer_size() could be called
afterwards.
Timo Sirainen [Tue, 31 May 2016 19:19:37 +0000 (22:19 +0300)]
lib: Fixed max_buffer_size handling in istream-chain
The default max_buffer_size=256 was wrong in all situations.
We're now assuming that the underlying istreams' max_buffer_size is always
correct. While gluing together two streams we're now allocating enough
memory to hold all of the wanted data (instead of assert-crashing as could
have happened earlier). This means that the max memory usage is actually
the two streams' max_buffer_size summed together. Ideally this would be
fixed to limit the max_buffer_size to maximum of the two, but that would
require further changes.
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 [Wed, 1 Jun 2016 05:43:23 +0000 (08:43 +0300)]
doveadm: Do not use INT64 with mail cmds yet
Timo Sirainen [Tue, 31 May 2016 23:01:10 +0000 (02:01 +0300)]
lib-dcrypt: Fixed check program dependencies
Timo Sirainen [Tue, 31 May 2016 21:19:41 +0000 (00:19 +0300)]
lib-dcrypt: Fixed dcrypt_openssl_generate_keypair()
Timo Sirainen [Tue, 31 May 2016 21:12:44 +0000 (00:12 +0300)]
lib: Fixed file_copy() after recent changes.
Timo Sirainen [Tue, 31 May 2016 14:16:17 +0000 (17:16 +0300)]
dict-client: Fixed idle_msecs setting.
Timo Sirainen [Tue, 31 May 2016 14:06:29 +0000 (17:06 +0300)]
lib-fs: Don't duplicate backend name in fs_init() errors.
fs_init() already adds the "backend: " prefix to the error_r, so the callers
shouldn't do it again.
Timo Sirainen [Tue, 31 May 2016 14:01:41 +0000 (17:01 +0300)]
lib-storage: Fixed error_r with mail_storage_service_lookup_next()
We no longer want to hide the actual error message.
Timo Sirainen [Tue, 31 May 2016 09:24:01 +0000 (12:24 +0300)]
lib: iostream-temp: Fixed o_stream_send_istream()
Aki Tuomi [Mon, 30 May 2016 19:39:39 +0000 (22:39 +0300)]
lib-dcrypt: Use base64 encoded test samples
Aki Tuomi [Mon, 30 May 2016 19:33:29 +0000 (22:33 +0300)]
lib-dcrypt: Fix strict type-punning warning
Aki Tuomi [Mon, 30 May 2016 19:30:31 +0000 (22:30 +0300)]
lib-dcrypt: Fix various OpenSSL API usage issues
Aki Tuomi [Mon, 30 May 2016 19:05:22 +0000 (22:05 +0300)]
lib-dcrypt: Remove duplication of samples
Timo Sirainen [Mon, 30 May 2016 18:41:12 +0000 (21:41 +0300)]
lib-dcrypt: Finish previous t_malloc() change.
Martti Rannanjärvi [Tue, 17 May 2016 08:38:14 +0000 (11:38 +0300)]
Replace some t_malloc_no0 calls with t_malloc0
This might increase safety.
Martti Rannanjärvi [Tue, 17 May 2016 07:56:53 +0000 (10:56 +0300)]
Use t_new in complicated t_malloc_no0 calls
Martti Rannanjärvi [Tue, 17 May 2016 07:35:35 +0000 (10:35 +0300)]
Remove t_malloc in favour of t_malloc_no0
Using either t_malloc_no0 or t_malloc0 makes it clear whether the
allocated memory is zeroed or not.
Timo Sirainen [Fri, 20 May 2016 12:16:41 +0000 (15:16 +0300)]
o_stream_send_istream() API changed again
The new API enforces the caller to correctly handle all the possible
situations. It also makes in unambiguous whether to wait for input or
output stream.
Timo Sirainen [Mon, 30 May 2016 18:14:53 +0000 (21:14 +0300)]
lib-dcrypt: Always allow error_r to be NULL.
Especially dcrypt_openssl_private_to_public_key() was called with
error_r=NULL by the dcrypt.c itself.
Timo Sirainen [Mon, 30 May 2016 16:38:22 +0000 (19:38 +0300)]
lib-dcrypt: sample-v2.bin shouldn't be executable
Timo Sirainen [Mon, 30 May 2016 12:36:17 +0000 (15:36 +0300)]
lib-dcrypt: Compiler warning fixes
Timo Sirainen [Fri, 27 May 2016 10:01:41 +0000 (13:01 +0300)]
lib-storage: mail_storage_service_next() now returns error string.
Timo Sirainen [Fri, 27 May 2016 09:55:36 +0000 (12:55 +0300)]
lib-storage: mail_storage_service_lookup() now returns the full error.
Timo Sirainen [Fri, 27 May 2016 09:49:30 +0000 (12:49 +0300)]
lmtp, quota-status: Don't send mail_storage_service_lookup() error to client.
This is in preparation for changing the returned error to contain the full
error string. The current error string is pretty useless for any purpose.
Timo Sirainen [Fri, 27 May 2016 19:18:17 +0000 (22:18 +0300)]
doveadm mailbox delete: Added --unsafe option.
Timo Sirainen [Fri, 27 May 2016 19:15:07 +0000 (22:15 +0300)]
lib-storage: Added MAILBOX_FLAG_DELETE_UNSAFE
Aki Tuomi [Thu, 5 May 2016 21:29:16 +0000 (00:29 +0300)]
configure: Include lib-dcrypt in core
Aki Tuomi [Wed, 27 Apr 2016 11:08:00 +0000 (14:08 +0300)]
lib-dcrypt: Initial implementation
Aki Tuomi [Mon, 30 May 2016 11:45:09 +0000 (14:45 +0300)]
doveadm-director: Fix commands so that they compile
Timo Sirainen [Fri, 27 May 2016 08:29:09 +0000 (11:29 +0300)]
doveadm mailbox delete: Added -e parameter to delete only empty mailboxes.
Aki Tuomi [Wed, 24 Feb 2016 10:10:19 +0000 (12:10 +0200)]
doveadm-director: Convert to ver2 infra
Stephan Bosch [Sun, 29 May 2016 17:14:58 +0000 (19:14 +0200)]
imap: Implemented support for the LITERAL- capability.
This replaces the LITERAL+ capability when the imap_literal_minus setting is enabled.
Stephan Bosch [Sun, 29 May 2016 17:23:39 +0000 (19:23 +0200)]
lib-imap: imap-parser: Turned the fatal error flag into a proper error code.
Stephan Bosch [Sun, 29 May 2016 17:58:55 +0000 (19:58 +0200)]
lib-imap: imap-parser: Made the fatal result parameter of imap_parser_get_error() optional.
Stephan Bosch [Sun, 29 May 2016 17:39:13 +0000 (19:39 +0200)]
lib-imap: imap-parser: Renamed error field to error_msg.