]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Wed, 10 Aug 2016 11:05:25 +0000 (14:05 +0300)]
login-proxy: Fixed assert-crash/hang on connect errors.
The internal BUG would have left the host hanging. "Host is down" or any
immediate connect() error would have assert-crashed with:
Panic: file login-proxy.c: line 470 (login_proxy_disconnect): assertion failed: (proxy->state_rec->num_waiting_connections > 0)
Timo Sirainen [Tue, 9 Aug 2016 22:38:26 +0000 (01:38 +0300)]
lmtp: Fixed using default port 24
Broken by
dfe53c824 .
Timo Sirainen [Mon, 8 Aug 2016 16:25:05 +0000 (19:25 +0300)]
doveadm: Fixed -A and -u wildcard handling with server connections.
Timo Sirainen [Mon, 8 Aug 2016 16:24:08 +0000 (19:24 +0300)]
doveadm: Fixed hanging when printing output from different server connections.
Timo Sirainen [Mon, 8 Aug 2016 16:22:15 +0000 (19:22 +0300)]
doveadm: Avoid recursively calling server input callback
Probably doesn't fix anything, but it could cause confusing backtraces at
least.
Timo Sirainen [Mon, 8 Aug 2016 16:16:57 +0000 (19:16 +0300)]
doveadm-server: Fixed potential hang when reading replies to multiple commands
Timo Sirainen [Mon, 8 Aug 2016 16:11:16 +0000 (19:11 +0300)]
doveadm: Revert earlier NUL-printing change
793b024bf .
It changes the output in ways that are a bit difficult to fix. Also the
the important part where NULs printing is useful is in a message body,
which should work even without this change. So for now just revert it.
Timo Sirainen [Mon, 8 Aug 2016 14:56:48 +0000 (17:56 +0300)]
lib-auth: Avoid crash after user iteration if connection failed.
Timo Sirainen [Mon, 8 Aug 2016 14:13:15 +0000 (17:13 +0300)]
doveadm: Removed unused code.
Timo Sirainen [Mon, 8 Aug 2016 13:15:26 +0000 (16:15 +0300)]
dsync: Fixed empty-header-workaround
Timo Sirainen [Mon, 8 Aug 2016 13:06:50 +0000 (16:06 +0300)]
dsync_features: For consistency use '-' and not '_'
Other _features and _workarounds settings use also '-'.
Timo Sirainen [Mon, 8 Aug 2016 12:49:13 +0000 (15:49 +0300)]
lib: Small improvements to iostream-temp unit test.
Timo Sirainen [Mon, 8 Aug 2016 11:39:39 +0000 (14:39 +0300)]
doveadm: When printing input from doveadm-server, don't truncate at NUL.
Aki Tuomi [Mon, 8 Aug 2016 10:21:34 +0000 (13:21 +0300)]
doveadm: Pass connection to mail context
Aki Tuomi [Mon, 8 Aug 2016 08:38:54 +0000 (11:38 +0300)]
doveadm: Use str_append_tabescaped_n
Aki Tuomi [Mon, 8 Aug 2016 08:23:02 +0000 (11:23 +0300)]
lib: Add binary-safe tabescape
Aki Tuomi [Mon, 8 Aug 2016 06:29:26 +0000 (09:29 +0300)]
doveadm: Streamline tabunescape
Timo Sirainen [Mon, 8 Aug 2016 09:36:48 +0000 (12:36 +0300)]
doveadm: Extra safety - initialize cmd_input_fd to -1
Just to be sure it's never attempted to be accessed as 0 (stdin) before
being initialized. (It didn't happen with current code as far as I know.)
Phil Carmody [Tue, 12 Jul 2016 10:31:32 +0000 (13:31 +0300)]
lib: tests - give the tests names, using the new macros
The lists of test function declarations and of test functions to call was
basically the same list. Use the new test macros to squash them into one
list, and then chose to name all the tests, so that you can select which
ones to run. This can simplify the debug cycle when some of the tests are
lengthy.
e.g.:
phil@phil:~/repos/dovecot-core$ src/lib/test-lib --match crc
crc32 ................................................................ : ok
0 / 1 tests failed
src/lib is clearly the most complicated case, conversions of others where
filtering would be useful should be trivial following this example.
Signed-off-by: Phil Carmody <phil@dovecot.fi>
Phil Carmody [Tue, 12 Jul 2016 10:28:54 +0000 (13:28 +0300)]
lib-test: enable naming of tests, such that only a subset is run
How to use these will become clear in a subsequent patch. Even if you
don't want to name tests, the macros can reduce redundancy in the code,
as the list of test function prototypes and the list of test functions
to call become the same lists, expanded through 2 different macros.
Signed-off-by: Phil Carmody <phil@dovecot.fi>
Phil Carmody [Wed, 1 Jun 2016 10:57:34 +0000 (13:57 +0300)]
lib-test: improve expected error handling
If we expect a specific error string, then when we see it, suppress it.
We do not suppress errors expected by count, because if we get unexpected
errors, then we do not want them suppressed, and we have no way of
distinguishing between the expected and unexpected errors.
This of course favours the use of the expected string version of the helper,
but alas that's not always usable, as you can only expect one at a time.
Additionally, if we failed to see an expected message, then when we no longer
expect to see it, reset the expected message state to not cascade further
test assertion failures.
Signed-off-by: Phil Carmody <phil@dovecot.fi>
Conflicts:
src/lib-test/test-common.c
Martti Rannanjärvi [Wed, 3 Aug 2016 09:46:21 +0000 (12:46 +0300)]
doveadm: add doveadm dump dcrypt-file
Martti Rannanjärvi [Sat, 6 Aug 2016 19:12:13 +0000 (22:12 +0300)]
lib-dcrypt: make decrypt_istream format and flags visible
Martti Rannanjärvi [Sat, 6 Aug 2016 19:07:00 +0000 (22:07 +0300)]
lib-dcrypt: add dcrypt-iostream.h
Move everything from dcrypt-iostream-private.h and enum
io_stream_encrypt_flags to the new dcrypt-iostream.h file.
Aki Tuomi [Fri, 5 Aug 2016 12:21:29 +0000 (15:21 +0300)]
dsync: Add support for features
Add empty_header_workaround as first feature
J. Nick Koston [Sat, 9 Apr 2016 23:21:23 +0000 (18:21 -0500)]
quota_clone plugin: quota_clone_mail_user_created warned without debug
"The quota_clone_dict setting is missing from configuration" warning
would be thrown when debug mode was not enabled. This warning
happens under normal circumstances when prefix="" namespace is not
defined (usually when set to INBOX.)
See http://dovecot.org/list/dovecot-cvs/2012-October/021981.html for
more details on the automagic prefix="" namespace.
This change suppresses the spurious warning.
Wido den Hollander [Sat, 9 Apr 2016 11:43:16 +0000 (13:43 +0200)]
lmtp: Use port 24 if no port has been provided
This allows using the LMTP, IMAP and POP3 proxy on the same
Dovecot installation without the userdb providing the port
to connect to.
TCP port 24 is registered at IANA as: "any private mail system"
LMTP being the Local Mail Transfer Protocol classifies as a private
mail system and thus justifies the usage of port 24.
Prior to this patch the LTMP client would connect to TCP port 0 by
default if the userdb did not provide a port to connect to.
Stephan Bosch [Sat, 6 Aug 2016 15:59:10 +0000 (17:59 +0200)]
istream-base64-encoder: Implemented proper stat function that returns the encoded size of the stream.
For Base64 encoding, the size of the encoded data can be determined from the input data size exactly.
Timo Sirainen [Fri, 5 Aug 2016 19:57:02 +0000 (22:57 +0300)]
dict-client: Fixed error message for failed synchronous dict_lookup()
The error message was allocated from data stack, but freed too early.
Timo Sirainen [Thu, 4 Aug 2016 19:15:25 +0000 (22:15 +0300)]
lib-dcrypt: Fixed test-stream unit test not to leak memory
Broken by previous change.
Timo Sirainen [Thu, 4 Aug 2016 18:51:18 +0000 (21:51 +0300)]
lib-auth: Unescape passdb/userdb extra fields.
This only affected \001, \t, \r and \n characters which were left
tab-escaped (e.g. \t as "\001t").
Timo Sirainen [Thu, 4 Aug 2016 18:44:08 +0000 (21:44 +0300)]
lib-dcrypt: Added unit tests to nonblocking istream-decrypt
Timo Sirainen [Thu, 4 Aug 2016 18:38:30 +0000 (21:38 +0300)]
lib-dcrypt: test-stream writes now to buffer, not to temp-iostream
This simplifies the following change.
Timo Sirainen [Thu, 4 Aug 2016 18:29:14 +0000 (21:29 +0300)]
lib-dcrypt: Support nonblocking istreams.
Martti Rannanjärvi [Thu, 4 Aug 2016 16:45:35 +0000 (19:45 +0300)]
lib-dcrypt: add 0 to 400 byte stream test
Remove 8 byte speacial case also.
Martti Rannanjärvi [Thu, 4 Aug 2016 15:35:53 +0000 (18:35 +0300)]
lib-dcrypt: error message on missing decrypt key or password
Return a sensible error message when loading an encrypted private key is
attempted but the decrypt key or password is missing.
Timo Sirainen [Thu, 4 Aug 2016 14:11:20 +0000 (17:11 +0300)]
lib-http: Support per-request timeout and max_attempts
Timo Sirainen [Tue, 2 Aug 2016 20:25:57 +0000 (23:25 +0300)]
director: Throttle user move/kill failure errors after 100/sec.
If it happened to a lot of users, they can take a lot of space in logs.
Timo Sirainen [Tue, 2 Aug 2016 20:14:23 +0000 (23:14 +0300)]
lib: Added log throttling API.
Martti Rannanjärvi [Thu, 4 Aug 2016 14:39:02 +0000 (17:39 +0300)]
lib-dcrypt: don't give strstr NULL in test-crypto
x16a0 [Fri, 15 Jul 2016 07:53:12 +0000 (09:53 +0200)]
Fixed searching multiple mailboxes
When searching multiple mailboxes, a condition to search these mailboxes is added to the query string. However, this condition has to be separated from the preceding condition by a space (a '+' in this case, as it's encoded); otherwise, Solr considers it to be part of the previous condition, in which case it will fail to parse it properly. Therefore, this patch adds that one missing character so it works again.
Timo Sirainen [Tue, 2 Aug 2016 19:31:50 +0000 (22:31 +0300)]
director: Added more debug information to "Ping timed out" error
Aki Tuomi [Thu, 4 Aug 2016 17:21:27 +0000 (20:21 +0300)]
istream-decrypt: Fix error handling in stream header
Aki Tuomi [Thu, 4 Aug 2016 16:39:56 +0000 (19:39 +0300)]
lib-dcrypt: Skip checks if no backend found
Martti Rannanjärvi [Thu, 4 Aug 2016 09:57:58 +0000 (12:57 +0300)]
lib-dcrypt: drop format from key_load_public
Martti Rannanjärvi [Thu, 4 Aug 2016 09:52:20 +0000 (12:52 +0300)]
lib-dcrypt: drop format from key_load_private
Martti Rannanjärvi [Thu, 4 Aug 2016 09:19:05 +0000 (12:19 +0300)]
lib-dcrypt: get_info in openssl_load_private_key
Use dcrypt_openssl_key_string_get_info to determine the key format
instead of taking it as a parameter.
Martti Rannanjärvi [Thu, 4 Aug 2016 07:54:20 +0000 (10:54 +0300)]
lib-dcrypt: get_info in openssl_load_public_key
Use dcrypt_openssl_key_string_get_info to determine the key format
instead of taking it as a parameter.
Martti Rannanjärvi [Wed, 3 Aug 2016 14:55:15 +0000 (17:55 +0300)]
lib-dcrypt: change v2 key field separator to ':'
Aki Tuomi [Thu, 4 Aug 2016 12:57:22 +0000 (15:57 +0300)]
lib-dcrypt: Do not unref key twice
Aki Tuomi [Wed, 3 Aug 2016 07:14:35 +0000 (10:14 +0300)]
lib-dcrypt: Handle short reads in header correctly
Martti Rannanjärvi [Mon, 25 Jul 2016 11:04:47 +0000 (14:04 +0300)]
lib-dcrypt: add crashing 8 byte garbage read test
Aki Tuomi [Fri, 15 Jul 2016 13:31:01 +0000 (16:31 +0300)]
dcrypt: Update API for testing
Aki Tuomi [Fri, 15 Jul 2016 13:30:51 +0000 (16:30 +0300)]
dcrypt-iostream: Ref/unref keys
Aki Tuomi [Fri, 15 Jul 2016 13:27:03 +0000 (16:27 +0300)]
dcrypt: Use refcounting on keys
Aki Tuomi [Thu, 4 Aug 2016 05:55:12 +0000 (08:55 +0300)]
last-login: Add error handling for commit
Timo Sirainen [Wed, 3 Aug 2016 10:18:17 +0000 (13:18 +0300)]
lib-index: Fixed debug logging.
Timo Sirainen [Thu, 28 Jul 2016 22:02:29 +0000 (01:02 +0300)]
lib-index: If mail_debug=yes, log cache compressions.
Timo Sirainen [Mon, 25 Jul 2016 18:20:05 +0000 (14:20 -0400)]
Use mail_get_*stream_because() wherever possible.
Timo Sirainen [Thu, 28 Jul 2016 21:37:07 +0000 (00:37 +0300)]
lib-index: Added mail_cache_get_missing_reason()
Timo Sirainen [Mon, 25 Jul 2016 18:16:39 +0000 (14:16 -0400)]
lib-storage: Added mail_get_stream_because() and mail_get_hdr_stream_because()
With mail_debug=yes each mail access is now logged with a reason. This can
be helpful when figuring out why something isn't in dovecot.index.cache.
Timo Sirainen [Tue, 2 Aug 2016 18:16:15 +0000 (21:16 +0300)]
doveadm proxy kick: Fixed output message.
Timo Sirainen [Tue, 2 Aug 2016 18:10:42 +0000 (21:10 +0300)]
lib-lda: Support %{storage_id} in deliver_log_format
Timo Sirainen [Tue, 2 Aug 2016 18:09:34 +0000 (21:09 +0300)]
lib-lda: Code cleanup - move code to mail_deliver_open_mail()
No functional changes. On its own this is a rather useless cleanup, but
simplifies the next patch.
Timo Sirainen [Tue, 2 Aug 2016 17:09:49 +0000 (20:09 +0300)]
imap: When un-hibernating, send notification to imap-hibernate process earlier.
The initialization shouldn't take a long time, but there's really no need to
keep imap-hibernate itself waiting (and maybe timing out) if it does.
Timo Sirainen [Tue, 2 Aug 2016 17:03:01 +0000 (20:03 +0300)]
imap-hibernate: If un-hibernation failed due to timeout, log whether we saw version line.
Could help with debugging.
Timo Sirainen [Tue, 19 Jul 2016 16:16:17 +0000 (10:16 -0600)]
imap-hibernate: If imap-master socket is busy, retry un-hibernation later.
Timo Sirainen [Tue, 2 Aug 2016 10:41:07 +0000 (13:41 +0300)]
lib: var_has_key() properly ignores key=='\0' now.
Timo Sirainen [Tue, 2 Aug 2016 10:38:25 +0000 (13:38 +0300)]
lib: var_get_key() didn't handle %{long_variables} correctly
This also fixes var_has_key()'s long_key handling.
Timo Sirainen [Mon, 1 Aug 2016 22:04:57 +0000 (01:04 +0300)]
--without-shared-libs was linking libdovecot.so to mail binaries.
Broken by
e42dd7149 .
Timo Sirainen [Sat, 23 Jul 2016 16:02:29 +0000 (12:02 -0400)]
lib-fs: Added fs_get_nlinks()
Although fs_stat() could return this, its caller can't indicate whether
it actually wants the link count. Usually fs_stat() is used only to get
the file's size. In some backends it's not cheap to get the link count,
so adding this function allows the caller to explicitly ask for it.
Martti Rannanjärvi [Fri, 22 Jul 2016 07:47:20 +0000 (10:47 +0300)]
lib: return non-NULL pointer in i_stream_get_data when size is 0
Timo Sirainen [Mon, 25 Jul 2016 21:41:36 +0000 (17:41 -0400)]
dict-client: Don't keep a request timeout when there are only background commands.
Timo Sirainen [Mon, 25 Jul 2016 21:32:11 +0000 (17:32 -0400)]
dict-client: When we get disconnected, reconnect and re-send commands.
Timo Sirainen [Mon, 25 Jul 2016 21:08:18 +0000 (17:08 -0400)]
dict-client: Improved timeout error message
Timo Sirainen [Mon, 1 Aug 2016 22:02:59 +0000 (01:02 +0300)]
dict-client: Fixed hang in async iteration if it failed.
Timo Sirainen [Mon, 1 Aug 2016 19:18:08 +0000 (22:18 +0300)]
quota: Log an error if mail's size can't be read.
We were still logging "Internal quota calculation error" but not necessarily
any other reason.
Martti Rannanjärvi [Sat, 23 Jul 2016 20:58:46 +0000 (23:58 +0300)]
lib,lib-test: i_warning to i_debug on alloc growing messages
Timo Sirainen [Thu, 28 Jul 2016 21:59:43 +0000 (00:59 +0300)]
lib-storage: mbox_min_index_size setting didn't work correctly.
Timo Sirainen [Thu, 28 Jul 2016 18:15:16 +0000 (21:15 +0300)]
lib-storage: Don't crash fetching body.snippet when multipart/alternative part has no Content-Type
Timo Sirainen [Tue, 26 Jul 2016 17:54:37 +0000 (13:54 -0400)]
imap: Fixed assert-crash when detecting if client IO is hanging.
This was broken by
89d88a5bc .
Timo Sirainen [Tue, 26 Jul 2016 17:53:56 +0000 (13:53 -0400)]
auth: Fixed caching to support %{passdb} and %{userdb}
Timo Sirainen [Tue, 26 Jul 2016 17:52:44 +0000 (13:52 -0400)]
auth: Set userdb_lookup flag correctly for blocking userdb lookups.
This caused at least userdb-related logging to log the passdb instead.
Timo Sirainen [Tue, 26 Jul 2016 17:52:20 +0000 (13:52 -0400)]
auth: Code cleanup - use const for struct auth_request.
Timo Sirainen [Mon, 25 Jul 2016 18:09:38 +0000 (14:09 -0400)]
lazy-expunge: If lazy-expunge transaction failed already, stop further expunges.
Most importantly if the lazy-expunge mailbox opening fails, we don't now
retry opening the mailbox for each expunged mail.
Timo Sirainen [Sun, 24 Jul 2016 22:26:50 +0000 (18:26 -0400)]
lib: Potential compiling fix.
STATIC_ARRAY apparently requires that the parameter is named in some gcc
versions? In any case doesn't hurt.
Stephan Bosch [Wed, 13 Jul 2016 07:46:08 +0000 (09:46 +0200)]
Calling i_stream_next_line() on a chain stream would sometimes erroneously use the stream->w_buffer.
It used the wrong check to assess whether the w_buffer is usable.
The chain stream only uses the w_buffer when partial stream data needs to be merged. Otherwise, a parent stream's buffer is used directly. However, this does not mean that w_buffer will be NULL in that case, which is what i_stream_next_line() assumed.
Timo Sirainen [Mon, 11 Jul 2016 17:27:48 +0000 (20:27 +0300)]
lib-dcrypt: Allow flushing ostream multiple times.
The first time flushes the encryption and the following times just flush the
parent stream.
Timo Sirainen [Mon, 11 Jul 2016 17:27:14 +0000 (20:27 +0300)]
lib-dcrypt: Improved error message when istream isn't encrypted.
Timo Sirainen [Tue, 19 Jul 2016 15:28:06 +0000 (18:28 +0300)]
master: Don't leak master socket to child processes.
Timo Sirainen [Sun, 17 Jul 2016 19:51:05 +0000 (13:51 -0600)]
fts: Fixed fts_autoindex when no fts_autoindex_exclude settings existed.
Timo Sirainen [Sat, 16 Jul 2016 16:30:39 +0000 (11:30 -0500)]
lib-dict: Added DICT_COMMIT_RET_WRITE_UNCERTAIN
Timo Sirainen [Sat, 16 Jul 2016 16:23:52 +0000 (11:23 -0500)]
lib-dict: Added enum dict_commit_ret.
Timo Sirainen [Sat, 16 Jul 2016 14:31:04 +0000 (09:31 -0500)]
lib-sql: Added error_type to commit callback.
Timo Sirainen [Fri, 15 Jul 2016 21:40:31 +0000 (16:40 -0500)]
cassandra: Support returning SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN
Timo Sirainen [Fri, 15 Jul 2016 21:40:05 +0000 (16:40 -0500)]
lib-sql: Added sql_result_get_error_type().
For now the only special error type is SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN.
Aki Tuomi [Fri, 15 Jul 2016 08:31:25 +0000 (11:31 +0300)]
auth: Remove i_assert for credentials scheme
Stephan Bosch [Thu, 14 Jul 2016 18:53:46 +0000 (20:53 +0200)]
Added LIBDOVECOT_PUSH_NOTIFICATION_INCLUDE to dovecot.m4.
Timo Sirainen [Thu, 14 Jul 2016 21:16:52 +0000 (16:16 -0500)]
dict: Fixed crash on iteration handling.
Timo Sirainen [Thu, 14 Jul 2016 12:22:04 +0000 (07:22 -0500)]
dict-client: Improved logging for slow queries.
Especially commits now say what the first query within the commit was.