]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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 [Mon, 8 Aug 2016 12:51:17 +0000 (15:51 +0300)]
lib: ostream-temp didn't update offset when dup()ing fd.
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 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 [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").
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
Timo Sirainen [Tue, 2 Aug 2016 19:31:50 +0000 (22:31 +0300)]
director: Added more debug information to "Ping timed out" error
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.
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.
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: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 [Sun, 17 Jul 2016 18:37:06 +0000 (12:37 -0600)]
cassandra: Support commit2 API
Timo Sirainen [Sun, 17 Jul 2016 18:33:41 +0000 (12:33 -0600)]
lib-sql: Added sql_transaction_commit2()
In v2.3 the sql_transaction_commit() API was just modified, but for now
we'll add this _commit2() to preserve API compatibility.
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.
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.
Timo Sirainen [Thu, 14 Jul 2016 11:53:54 +0000 (06:53 -0500)]
doveadm fetch: Fixed body.snippet.
Timo Sirainen [Wed, 13 Jul 2016 20:10:57 +0000 (15:10 -0500)]
dbox: Initialize pop3-uidl header on INBOX creation.
This way we don't add any UIDLs to dovecot.index.cache on the first POP3
UIDL access. We'll assume that pop3-uidl header is updated whenever any
backend UIDLs are added, which should happen nowadays.
Timo Sirainen [Wed, 13 Jul 2016 19:07:02 +0000 (14:07 -0500)]
lib-storage: Initialize pop3-uidl header also when no backend UIDLs exist.
The first time POP3 UIDL command is used, set the header even when there are
no backend UIDLs to prevent any further UIDL caching.
Aki Tuomi [Mon, 11 Jul 2016 11:56:41 +0000 (14:56 +0300)]
auth: Fail request if last passdb is noauthenticate
Aki Tuomi [Mon, 11 Jul 2016 11:56:25 +0000 (14:56 +0300)]
gssapi: Add missing PASSDB_RESULT_NEXT clause
Timo Sirainen [Mon, 11 Jul 2016 13:13:28 +0000 (16:13 +0300)]
lib-fs: Added fs_metadata_init_or_clear() helper
Aki Tuomi [Mon, 11 Jul 2016 11:18:36 +0000 (14:18 +0300)]
passdb: Skip credentials handling for noauthenticate
Timo Sirainen [Mon, 11 Jul 2016 08:28:10 +0000 (11:28 +0300)]
lib-storage: Fixed crash on subscription listing if subscription refresh fails.
Aki Tuomi [Sat, 9 Jul 2016 17:11:45 +0000 (20:11 +0300)]
auth: Skip authentication with noauthenticate
Timo Sirainen [Mon, 11 Jul 2016 08:55:34 +0000 (11:55 +0300)]
mdbox: Fixed crash when saving POP3 UIDLs to a non-empty mailbox.
Fixes assert:
Panic: file mdbox-save.c: line 337: unreached
Timo Sirainen [Mon, 11 Jul 2016 08:40:41 +0000 (11:40 +0300)]
pop3c: Fixed crash in syncing when local indexes existed but UIDL wasn't cached.
Timo Sirainen [Mon, 11 Jul 2016 07:22:06 +0000 (10:22 +0300)]
lmtp: Don't send double-DISCONNECT to anvil.
Happened with lmtp_user_concurrency_limit > 0. Fixes errors like:
Error: connect limit: disconnection for unknown pid 123 + ident lmtp/username
Timo Sirainen [Wed, 6 Jul 2016 20:41:18 +0000 (23:41 +0300)]
Compiler warning fix
Timo Sirainen [Tue, 5 Jul 2016 15:15:55 +0000 (18:15 +0300)]
fs-sis*: Use fs_wrapper_*() wherever possible
Timo Sirainen [Tue, 5 Jul 2016 15:12:33 +0000 (18:12 +0300)]
fs-sis*: Minor error handling function cleanups.
We don't really need to go to the parent fs, so just use what is easiest.
Timo Sirainen [Tue, 5 Jul 2016 15:03:36 +0000 (18:03 +0300)]
fs-sis*: Removed unnecessary error copying.
It was probably needed in the beginning, but nowadays the parent-most fs
keeps the error. There's no need to copy it around.
Timo Sirainen [Tue, 5 Jul 2016 14:59:08 +0000 (17:59 +0300)]
fs-metawrap: Use fs_wrapper_*() wherever possible
Timo Sirainen [Tue, 5 Jul 2016 14:55:12 +0000 (17:55 +0300)]
fs-compress: Use fs_wrapper_*() wherever possible
Timo Sirainen [Tue, 5 Jul 2016 14:52:00 +0000 (17:52 +0300)]
lib-fs: Implement all lib-fs functions as wrappers to parent stream.
Timo Sirainen [Wed, 6 Jul 2016 10:15:22 +0000 (13:15 +0300)]
lib-dcrypt: istream-decrypt now differentiates between temporary errors and corruption.
Timo Sirainen [Wed, 6 Jul 2016 10:11:50 +0000 (13:11 +0300)]
lib-dcrypt: Set stream_errno on istream-decrypt read failures.
Fixes assert-crashes that would happen otherwise.
Timo Sirainen [Wed, 6 Jul 2016 10:31:12 +0000 (13:31 +0300)]
lib: Updated istream's stream_errno comments.
Timo Sirainen [Wed, 6 Jul 2016 10:24:03 +0000 (13:24 +0300)]
lib-compression: istream-zlib/lzma now differentiates between temporary errors and corruption.
Timo Sirainen [Tue, 5 Jul 2016 17:58:29 +0000 (20:58 +0300)]
lib-storage: Clarify that mail_namespace_find_inbox() never returns NULL.
If namespaces==NULL, this function isn't even supposed to be called.
Aki Tuomi [Tue, 5 Jul 2016 11:41:41 +0000 (14:41 +0300)]
passdb-static: Support password scheme
This allows password argument to provide scheme instead of
defaulting to plain. If no scheme is provided, plain is
defaulted.
Martti Rannanjärvi [Mon, 4 Jul 2016 08:57:43 +0000 (11:57 +0300)]
lib-dcrypt: tell in error_r that RSA key has to be converted to pkey
Aki Tuomi [Mon, 4 Jul 2016 15:25:23 +0000 (18:25 +0300)]
doveadm-pw: Use debug value when loading modules
Aki Tuomi [Mon, 4 Jul 2016 15:24:29 +0000 (18:24 +0300)]
dcrypt: Fix linkage into libdovecot.so
Timo Sirainen [Mon, 4 Jul 2016 12:05:00 +0000 (15:05 +0300)]
master: Add master socket's io listener later.
Most importantly this fixes startup failure with kqueue:
Panic: kevent(EV_ADD, READ, 56) failed: Bad file descriptor
kqueue doesn't survive a fork(), so this change delays its creation until
after fork().
Timo Sirainen [Mon, 4 Jul 2016 11:44:40 +0000 (14:44 +0300)]
master: Make sure stdout isn't closed on startup failures.
closing master_fd might have tried to close(0) since it wasn't initialized
to -1.