]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Fri, 1 Jul 2016 00:03:02 +0000 (03:03 +0300)]
lib: ostream-file now automatically corks during flush callback.
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.
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:06:56 +0000 (18:06 +0300)]
configure: Fix static array check
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
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.
Timo Sirainen [Fri, 1 Jul 2016 14:42:29 +0000 (17:42 +0300)]
dict-client: Attempt to connect to dict socket for 1 second before failing.
Timo Sirainen [Fri, 1 Jul 2016 13:37:09 +0000 (16:37 +0300)]
lib-http: Clarify response message when retries have happened.
"1 attempts" sounds like 1 attempt in total, while this was actually the
second attempt.
Timo Sirainen [Fri, 1 Jul 2016 13:36:31 +0000 (16:36 +0300)]
dict-client: Make sure query's start_time is up-to-date.
Timo Sirainen [Fri, 1 Jul 2016 13:34:26 +0000 (16:34 +0300)]
dict-client: Don't log slow background async commit/iteration replies.
If a caller has already finished iteration, or does async commit without a
callback, it means that it started the query without caring when it
finishes. The caller may already have been doing blocking work while
waiting for the dict reply. We don't want to log a warning, because it
could be completely wrong.
Timo Sirainen [Fri, 1 Jul 2016 13:31:52 +0000 (16:31 +0300)]
cassandra: Added debug_queries connect setting.
This logs all the queries and how long they took, without having to log all
the other Cassandra library debug messages.
Timo Sirainen [Fri, 1 Jul 2016 13:31:19 +0000 (16:31 +0300)]
cassandra: If query fails, include how long the reply took in the error message.
Timo Sirainen [Fri, 1 Jul 2016 13:30:06 +0000 (16:30 +0300)]
cassandra: Warn if queries take too long (default 5 secs)
Can be changed with e.g. "connect = ... warn_timeout=30s"
Timo Sirainen [Fri, 1 Jul 2016 13:27:30 +0000 (16:27 +0300)]
LAYOUT=index: Make sure error is preserved if created mailbox can't be added to list index.
mailbox_delete() could overwrite the error.
Aki Tuomi [Fri, 1 Jul 2016 12:13:55 +0000 (15:13 +0300)]
man: Provide usage for doveadm mailbox update
Timo Sirainen [Fri, 1 Jul 2016 09:23:59 +0000 (12:23 +0300)]
lib-storage: Fixed mailbox_delete_empty() error message when mails exist
Timo Sirainen [Fri, 1 Jul 2016 08:56:46 +0000 (11:56 +0300)]
dict-client: When skipping connect() due to earlier failure, preserve the original error.
Timo Sirainen [Fri, 1 Jul 2016 08:41:51 +0000 (11:41 +0300)]
dict-client: If commit fails to send BEGIN, don't try sending anything else.
Fixes memory leak and also fixes overwriting the original error message.
Timo Sirainen [Fri, 1 Jul 2016 08:12:03 +0000 (11:12 +0300)]
lib-storage: Autoexpunging should ignore nonexistent mailboxes.
The check was done too late after recent changes.
Timo Sirainen [Fri, 1 Jul 2016 08:07:47 +0000 (11:07 +0300)]
doveadm mailbox update: Avoid assert-crash on errors.
Timo Sirainen [Thu, 30 Jun 2016 23:49:32 +0000 (02:49 +0300)]
login-proxy: cork+uncork in flush callbacks
Potentially reduces latency at the end of a larger data transfer.
Timo Sirainen [Thu, 30 Jun 2016 22:14:34 +0000 (01:14 +0300)]
lib-dcrypt: Removed dead code.
Timo Sirainen [Thu, 30 Jun 2016 22:11:15 +0000 (01:11 +0300)]
lib: Fix to compiling STATIC_ARRAY in C++ code
Timo Sirainen [Thu, 30 Jun 2016 17:24:34 +0000 (20:24 +0300)]
configure: Check if C99 "static" keyword is supported for array sizes.
Stephan Bosch [Thu, 30 Jun 2016 20:35:59 +0000 (22:35 +0200)]
lib-http: client: Fixed potential segfault problem in http_client_connection_server_close().
Used wrong variable: it is set to NULL by http_client_request_unref() before it is used.
Problem found by Coverity.
Timo Sirainen [Thu, 30 Jun 2016 15:13:52 +0000 (18:13 +0300)]
lib-dcrypt: Compiling fix
Timo Sirainen [Thu, 30 Jun 2016 13:21:40 +0000 (16:21 +0300)]
imap: Fixed reading LDA settings from config.
Timo Sirainen [Thu, 30 Jun 2016 11:08:24 +0000 (14:08 +0300)]
master: Stopping didn't close dead-pipes early enough.
This caused stopping to be too slow. Broken by
0153cf542 .
Timo Sirainen [Thu, 30 Jun 2016 09:10:29 +0000 (12:10 +0300)]
lmtp: Removed assert, which triggers if anvil connect fails.
Timo Sirainen [Thu, 30 Jun 2016 09:08:19 +0000 (12:08 +0300)]
lmtp: Fixed pipelining of commands after RCPT TO
We should stop while waiting for anvil reply. Broken by
ced943b0a .
Aki Tuomi [Thu, 30 Jun 2016 08:57:19 +0000 (11:57 +0300)]
auth-request: Whitespace fix
Aki Tuomi [Thu, 30 Jun 2016 07:03:18 +0000 (10:03 +0300)]
auth-request: Correctly allocate mech_password and credentials_scheme
Aki Tuomi [Thu, 30 Jun 2016 06:29:26 +0000 (09:29 +0300)]
dcrypt: Free keys in test-stream
Aki Tuomi [Thu, 30 Jun 2016 06:06:51 +0000 (09:06 +0300)]
dcrypt: Add tests for 0 and 1 byte data
Aki Tuomi [Thu, 30 Jun 2016 06:06:33 +0000 (09:06 +0300)]
dcrypt: Fix bugs in 0 and 1 byte payload files
Timo Sirainen [Wed, 29 Jun 2016 22:27:37 +0000 (01:27 +0300)]
lib-ssl-iostream: Compiler fix to previous commit
Timo Sirainen [Wed, 29 Jun 2016 22:15:38 +0000 (01:15 +0300)]
lib-ssl-iostream: Disable "CRYPTO_set_mem_functions() was called too late" for now
It always happens at least with Ubuntu 16.04.
Timo Sirainen [Wed, 29 Jun 2016 20:56:18 +0000 (23:56 +0300)]
auth: delay_until can optionally now have +<max random secs> suffix.
Timo Sirainen [Wed, 29 Jun 2016 20:54:46 +0000 (23:54 +0300)]
auth: Fixed checking if delay_until is too large
Timo Sirainen [Wed, 29 Jun 2016 19:29:20 +0000 (22:29 +0300)]
dsync: When full resync is wanted in a stateful sync, output empty state.
This continues
3d49dc64d , which didn't actually work because
brain->require_full_resync was either cleared earlier or it was never
even set in this brain.
Timo Sirainen [Wed, 29 Jun 2016 18:09:48 +0000 (21:09 +0300)]
doveadm: Read settings with service=doveadm
This was done for mail commands while initializing the mail user, but
other commands weren't using it. This meant that doveadm was using only
global settings instead of protocol doveadm { .. } settings for everything
except mail commands.
Timo Sirainen [Wed, 29 Jun 2016 17:44:37 +0000 (20:44 +0300)]
doveadm user: Avoid potential crashes when running via doveadm-server
Timo Sirainen [Wed, 29 Jun 2016 16:22:51 +0000 (19:22 +0300)]
dict-sql: Treat NULL value the same as "key not found"
Timo Sirainen [Tue, 28 Jun 2016 20:12:03 +0000 (23:12 +0300)]
doveadm: Added "service stop" command to stop specific services.
Timo Sirainen [Sun, 26 Jun 2016 20:04:00 +0000 (23:04 +0300)]
master: Allow stopping specific services via master socket.
Timo Sirainen [Tue, 28 Jun 2016 20:38:48 +0000 (23:38 +0300)]
master: Added service_monitor_stop_close() to stops service and close its listeners.
Timo Sirainen [Tue, 28 Jun 2016 20:38:11 +0000 (23:38 +0300)]
master: Added support for stopping specific services.
We need to have a per-service fd for detecting a dead master.
Timo Sirainen [Wed, 29 Jun 2016 16:12:58 +0000 (19:12 +0300)]
lib-storage: Fixed search arg initialization tracking for INTHREAD
Timo Sirainen [Wed, 29 Jun 2016 15:49:57 +0000 (18:49 +0300)]
virtual: Fixed error handling when matching mailboxes by metadata.
Timo Sirainen [Wed, 29 Jun 2016 15:34:07 +0000 (18:34 +0300)]
maildir: Improved "Filename keeps changing" error handling/logging
Timo Sirainen [Wed, 29 Jun 2016 15:33:48 +0000 (18:33 +0300)]
maildir: Code comment update
Timo Sirainen [Wed, 29 Jun 2016 15:33:27 +0000 (18:33 +0300)]
dsync: Add session ID to log line prefix.
Timo Sirainen [Wed, 29 Jun 2016 15:31:21 +0000 (18:31 +0300)]
maildir: Fixed updating filenames in existing uidlist
Broken by
042668c0c .
This could have caused errors like:
- maildir_file_do(...): Filename keeps changing
- Expunged message reappeared, giving a new UID
Aki Tuomi [Fri, 3 Jun 2016 14:30:58 +0000 (17:30 +0300)]
doveadm-server: Do not crash if empty data in authorization
Aki Tuomi [Tue, 31 May 2016 19:22:37 +0000 (22:22 +0300)]
doveadm: Implement user and auth cache flush to server
Aki Tuomi [Sat, 4 Jun 2016 05:14:45 +0000 (08:14 +0300)]
doveadm-server: Skip doveadm_print_init
Some commands need to do output that is not doable with
doveadm_print, so we need to have a flag to indicate this.
Timo Sirainen [Wed, 29 Jun 2016 13:34:11 +0000 (16:34 +0300)]
lmtp: If anvil lookup fails, ignore lmtp_user_concurrency_limit
Previously it was randomly allowing or disallowing the client.
Timo Sirainen [Wed, 29 Jun 2016 12:25:28 +0000 (15:25 +0300)]
auth: Added delay_until passdb extra field.
Timo Sirainen [Wed, 29 Jun 2016 13:01:13 +0000 (16:01 +0300)]
auth: Fixed plaintext authentication when auth policy was already processed.
Broken by
e82511362 .
Timo Sirainen [Wed, 29 Jun 2016 12:49:38 +0000 (15:49 +0300)]
lib-fts: Added maxlen parameter to icu-normalizer.
This is needed because the normalization can increase the token's length.
Timo Sirainen [Tue, 28 Jun 2016 19:20:20 +0000 (22:20 +0300)]
auth: Added ":remove" suffix for passdb/userdb extra fields to remove fields.
Timo Sirainen [Tue, 28 Jun 2016 21:56:56 +0000 (00:56 +0300)]
auth: userdb passwd iteration now skips users not in first/last_valid_gid range
Patch by Michal Hlavinka / Red Hat
Timo Sirainen [Tue, 28 Jun 2016 21:50:13 +0000 (00:50 +0300)]
*-login: Don't disable auth penalty for login_trusted_networks.
It might or might not be a webmail (or something) that has its own penalty.
If the old behavior is still wanted, it's possible to do nowadays with e.g.:
passdb {
driver = passwd-file
args = username_format=%{rip} /etc/dovecot/passdb
}
/etc/dovecot/passdb:
192.168.10.123:::::::nodelay=yes
192.168.10.124:::::::nodelay=yes
Timo Sirainen [Wed, 29 Jun 2016 11:09:01 +0000 (14:09 +0300)]
lmtp: Increase user's concurrency limit already after RCPT TO.
This way it's not possible for a lot of mails to arrive to user concurrently
and bypass the lmtp_user_concurrency_limit.
Timo Sirainen [Wed, 29 Jun 2016 11:07:34 +0000 (14:07 +0300)]
lmtp: If user has rached lmtp_user_concurrency_limit, fail at RCPT TO stage.
Otherwise LMTP client would have to send the entire email body before
getting the failure.
Timo Sirainen [Mon, 20 Jun 2016 11:43:04 +0000 (14:43 +0300)]
lib-storage: Fixed MAILBOX_METADATA_FIRST_SAVE_DATE with mailbox_list_index=no
This also meant that autoexpunging wasn't working then.
Aki Tuomi [Wed, 29 Jun 2016 11:55:12 +0000 (14:55 +0300)]
auth-policy: Do not do policy checks every time
Timo Sirainen [Wed, 29 Jun 2016 11:43:31 +0000 (14:43 +0300)]
auth: Finish policy.[ch] renaming..
Timo Sirainen [Wed, 29 Jun 2016 11:31:28 +0000 (14:31 +0300)]
auth: Avoid nonstandard #pragma once
Timo Sirainen [Wed, 29 Jun 2016 11:30:56 +0000 (14:30 +0300)]
auth: Rename policy.[ch] to auth-policy.[ch]
Martti Rannanjärvi [Tue, 28 Jun 2016 10:24:09 +0000 (13:24 +0300)]
lib-dcrypt: correctly set version 2 on key info
Dovecot format version 2 keys were incorrectly reported as version 1
before.
Timo Sirainen [Wed, 29 Jun 2016 11:16:58 +0000 (14:16 +0300)]
lib-index: Fixed view syncing when changes couldn't be read from transaction logs
Fixes errors like:
Log synchronization error at seq=0,offset=0 for .../dovecot.index: Append with UID 5, but next_uid = 6
.../dovecot.index view syncing failed to apply changes
Aki Tuomi [Wed, 29 Jun 2016 11:12:29 +0000 (14:12 +0300)]
auth-policy: Do not allow/report when master query
This way auth policy isn't consulted when e.g. doveadm is used.
Aki Tuomi [Wed, 29 Jun 2016 10:52:09 +0000 (13:52 +0300)]
auth-policy: Report success earlier
Timo Sirainen [Tue, 28 Jun 2016 21:37:09 +0000 (00:37 +0300)]
configure: Detect SSL_COMP_free_compression_methods() by linking
Fixes using libressl.
Timo Sirainen [Tue, 28 Jun 2016 18:59:26 +0000 (21:59 +0300)]
lib: Added assert to iostream-temp
Input stream isn't expected to shrink here. Potentially this could be
changed to an error instead.
Timo Sirainen [Tue, 28 Jun 2016 16:45:12 +0000 (19:45 +0300)]
lazy-expunge: Fixed crash when copying from internal namespace
Most importantly fixes crash in LDA.
Timo Sirainen [Tue, 28 Jun 2016 16:41:40 +0000 (19:41 +0300)]
lda: Fixed data stack usage in initialization.
For example -p parameter was broken. Broken by
0679f8a70 .
Timo Sirainen [Tue, 28 Jun 2016 07:25:21 +0000 (10:25 +0300)]
dict-ldap: Fixed linking with OSX
Timo Sirainen [Tue, 28 Jun 2016 07:15:02 +0000 (10:15 +0300)]
auth: Compiler warning fixes
Aki Tuomi [Fri, 3 Jun 2016 18:35:48 +0000 (21:35 +0300)]
auth-policy: Hook auth policy to auth code
Aki Tuomi [Fri, 3 Jun 2016 17:21:42 +0000 (20:21 +0300)]
auth-policy: Add policy implementation
Baofeng Wang [Fri, 10 Jun 2016 11:31:00 +0000 (14:31 +0300)]
fts plugin: Added fts_autoindex_exclude settings.
fts_autoindex_exclude setting specifies special-use flag or mailbox name to
be excluded.
- If a name starts with '\', it's treated as a case-insensitive special-use
flag.
- Multiple names can be specified with serial numbers, for example:
plugin {
fts_autoindex_exclude = \Junk
fts_autoindex_exclude2 = \Trash
fts_autoindex_exclude3 = DUMPSTER
fts_autoindex_exclude4 = New folder
}
Timo Sirainen [Mon, 27 Jun 2016 13:37:18 +0000 (16:37 +0300)]
lib-dcrypt: Make static analyzer happier
Aki Tuomi [Mon, 27 Jun 2016 11:43:58 +0000 (14:43 +0300)]
dcrypt: Add tests for v1 and v2 public keys and RSA
Aki Tuomi [Mon, 27 Jun 2016 11:43:27 +0000 (14:43 +0300)]
dcrypt-openssl: Various fixes
Fix v1 and v2 key handling and some allocation issues.
Timo Sirainen [Mon, 27 Jun 2016 11:13:15 +0000 (14:13 +0300)]
lib-dcrypt: Added sample-v1_short.asc to EXTRA_DIST
Aki Tuomi [Mon, 27 Jun 2016 10:21:05 +0000 (13:21 +0300)]
istream-decrypt: Ensure we can open short v1 files