]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Tue, 29 Mar 2016 12:29:21 +0000 (15:29 +0300)]
Released v2.2.23
Aki Tuomi [Wed, 30 Mar 2016 10:14:40 +0000 (13:14 +0300)]
doveadm-mail: Initialize missing cmd context username
Fixes assert-crash in doveadm_mail_single_user()
Timo Sirainen [Wed, 30 Mar 2016 07:51:50 +0000 (10:51 +0300)]
lib-storage: Fixed memory leak when iterating attributes.
Aki Tuomi [Wed, 30 Mar 2016 07:34:06 +0000 (10:34 +0300)]
doveadm-mail: Don't lose rip/lip/lport/rport in passdb lookups for doveadm TCP connections
Timo Sirainen [Wed, 30 Mar 2016 05:24:51 +0000 (08:24 +0300)]
director: Avoid a potential assert-crash after removing a director from ring.
This should fix the crash:
Panic: director: file director-connection.c: line 1926 (director_connection_init_out): assertion failed: (!host->removed)
Also moved the last_network_failure timestamp reset a bit later, since
there's no need to reset the timestamp if we're not actually connecting
to the server.
Timo Sirainen [Tue, 29 Mar 2016 18:17:22 +0000 (21:17 +0300)]
doveadm: Fixed reading USER environment for v1 commands.
Timo Sirainen [Tue, 29 Mar 2016 12:04:01 +0000 (15:04 +0300)]
doveadm-batch: Fixed error message for an unknown subcommand.
Timo Sirainen [Tue, 29 Mar 2016 11:57:20 +0000 (14:57 +0300)]
doveadm: Fixed adding username header to commands iterating through multiple users.
Timo Sirainen [Tue, 29 Mar 2016 11:17:01 +0000 (14:17 +0300)]
doveadm-server: v2 mail commands weren't doing a userdb lookup.
Timo Sirainen [Tue, 29 Mar 2016 11:10:10 +0000 (14:10 +0300)]
doveadm-server: Fixed running multi-word commands.
The problem with for example "mailbox status" command is that:
- doveadm cli: argv[0] = "mailbox", argv[1] = "status"
- doveadm-server: argv[0] = "mailbox status"
So with doveadm cli we'll now instead just skip over words until argv[0]
is the last word of the command ("status").
Timo Sirainen [Tue, 29 Mar 2016 11:06:43 +0000 (14:06 +0300)]
doveadm: Code cleanup - always use const char *const[] type for argv.
Needed to fix compiler warnings in the following patch.
Stephan Bosch [Thu, 24 Mar 2016 17:48:55 +0000 (02:48 +0900)]
lib-http: client: Fixed request timeout handling during pipelining.
The timeout was not managed correctly. If an earlier request finished, it
would not restart the timeout for the next pending request.
Also, filling the pipeline caused the timout to be reset inappropriately,
postponing its expiry.
Stephan Bosch [Thu, 24 Mar 2016 17:47:28 +0000 (02:47 +0900)]
lib-http: client: Fixed handling of stalled connections that emerge when the client ioloop hasn't run for a long time.
Inside the peer's request handler routine, the connections are verified
after the ioloop continues. If they turn out to be broken, they
self-destruct while the handler routine is active, leading to problems.
Solved by referencing the connection and retrying the connection statistics
loop when a connection is lost in the process.
Timo Sirainen [Thu, 24 Mar 2016 01:07:15 +0000 (10:07 +0900)]
director: Make sure freeing a user doesn't leak a timeout.
Timo Sirainen [Thu, 24 Mar 2016 01:01:17 +0000 (10:01 +0900)]
director: Fixed memory leak when killing a user.
Timo Sirainen [Thu, 24 Mar 2016 01:00:00 +0000 (10:00 +0900)]
director: Make sure a long-delayed kill reply for user doesn't mess up the state.
This should fix assert-crash:
director: Panic: file director.c: line 690 (director_user_kill_finish_delayed_to): assertion failed: (ctx->user->kill_state == USER_KILL_STATE_DELAY)
Timo Sirainen [Thu, 24 Mar 2016 00:43:43 +0000 (09:43 +0900)]
director: Small improvements to director-test.sh
Test with a bigger director ring. Include microseconds in log timestamps to
make debugging easier. Changed the name of the info_log_path.
Timo Sirainen [Thu, 24 Mar 2016 00:42:50 +0000 (09:42 +0900)]
director: Don't re-send SYNC unnecessarily often.
Timo Sirainen [Thu, 24 Mar 2016 00:36:14 +0000 (09:36 +0900)]
director: Fixed user weakness getting stuck if multiple directors set user weak simultaneously
Aki Tuomi [Wed, 23 Mar 2016 07:01:31 +0000 (09:01 +0200)]
doveadm: Move getenv to correct place
All getenv()s must be done after master_service_init() or the pointer will be
corrupted with Linux and other OSes without setproctitle().
Aki Tuomi [Tue, 22 Mar 2016 07:19:45 +0000 (09:19 +0200)]
doveadm-server: Fixed initializing username for mail commands.
Timo Sirainen [Wed, 23 Mar 2016 01:08:06 +0000 (10:08 +0900)]
doveadm: Getting user from USER environment wasn't done in the right place.
doveadm_mail_cmdline_init() is also called when parsing commands from
doveadm-server. The USER environment is supposed to be read only from
doveadm command line.
Timo Sirainen [Mon, 21 Mar 2016 12:51:49 +0000 (21:51 +0900)]
lib: Avoid assert-crash in istream-concat at close.
If stream was seeked to EOF, cur_input=NULL and closing the stream would cause
i_stream_concat_skip() to crash. Fixed this by making sure cur_input is never NULL.
This also adds a check to not allow seeking past EOF, but this shouldn't happen anyway.
Timo Sirainen [Mon, 21 Mar 2016 12:46:47 +0000 (21:46 +0900)]
lib: Small code cleanup to istream-concat - don't use a magic UINT_MAX value as error code
Michael M Slusarz [Fri, 4 Mar 2016 02:55:03 +0000 (19:55 -0700)]
doveadm: Fix typos in error messages
Teemu Huovila [Wed, 16 Mar 2016 07:27:04 +0000 (09:27 +0200)]
lib-fts: Fix unit tests for lib-fts.
Phil Carmody [Mon, 29 Feb 2016 17:29:14 +0000 (19:29 +0200)]
plugins: fts-expunge-log - subtraction from and dumping of a flattened log
This permits you to read a whole expunge log, remove records from the
in-memory copy of it, and write it back out to file.
NOTE: Inefficiently implemented. The hash is effectively rebuilt, this
time backed by a file, a record at a time, which implies O(n^2)
possibilities.
Signed-off-by: Phil Carmody <phil@dovecot.fi>
Stephan Bosch [Sat, 12 Mar 2016 00:56:55 +0000 (01:56 +0100)]
lib-http: client: Improved test-http-payload to test partial reading of response payload.
Stephan Bosch [Thu, 3 Mar 2016 21:29:44 +0000 (22:29 +0100)]
lib-http: server: Improved test-http-payload to test partial reading of request payload.
Stephan Bosch [Thu, 3 Mar 2016 21:28:47 +0000 (22:28 +0100)]
lib-http: server: Fixed handling of partially read request payload.
This would sometimes cause the server to hang.
Teemu Huovila [Tue, 15 Mar 2016 08:48:31 +0000 (10:48 +0200)]
lib-fts: Limit maximum length of addresses found.
The address tokenizer now takes a "maxlen" parameter, which
defaults to 254 bytes.
Previously addresses, or something looking like it, could
be of any length. This could cause trouble in fts backends.
Teemu Huovila [Tue, 15 Mar 2016 08:47:20 +0000 (10:47 +0200)]
lib-fts: Lift helper function out of generic tokenizer.
Timo Sirainen [Tue, 15 Mar 2016 23:55:01 +0000 (10:55 +1100)]
virtual plugin: Fixed off-by-one in virtual_max_open_mailboxes check.
Timo Sirainen [Tue, 15 Mar 2016 23:33:26 +0000 (10:33 +1100)]
virtual plugin: Don't assert-crash if backend mailbox is recreated while virtual mailbox is open.
Timo Sirainen [Tue, 15 Mar 2016 23:23:52 +0000 (10:23 +1100)]
virtual plugin: Handle backend mailbox deletion on backend open/sync
Timo Sirainen [Tue, 15 Mar 2016 23:17:45 +0000 (10:17 +1100)]
virtual plugin: Code cleanup - remove confusing bbox_index_opened
It was originally added because mailbox_open() was always called and we
wanted to know if the mailbox was open before it. But this code was already
removed.
Timo Sirainen [Tue, 15 Mar 2016 23:04:32 +0000 (10:04 +1100)]
virtual plugin: If we detect backend box to be deleted, mark it permanently deleted.
Timo Sirainen [Tue, 15 Mar 2016 22:30:20 +0000 (09:30 +1100)]
dbox: Fixed pop3.order caching for mails without no specified order.
Timo Sirainen [Thu, 10 Mar 2016 01:59:46 +0000 (14:59 +1300)]
lib-fs: Fixed fs-sis to work again
Timo Sirainen [Fri, 4 Mar 2016 14:40:23 +0000 (16:40 +0200)]
doveadm who: Don't require mask parameter.
Timo Sirainen [Fri, 4 Mar 2016 11:12:59 +0000 (13:12 +0200)]
config: Escape regexps properly in settings-get.pl to avoid warnings with new Perl
Timo Sirainen [Fri, 4 Mar 2016 11:02:37 +0000 (13:02 +0200)]
v2.2.22.rc1 released
Timo Sirainen [Thu, 3 Mar 2016 14:10:51 +0000 (16:10 +0200)]
fts: Added "doveadm fts tokenize" command.
Aki Tuomi [Thu, 3 Mar 2016 09:53:05 +0000 (11:53 +0200)]
doveadm-http: Fixed crash when no authentication was configured.
Timo Sirainen [Wed, 2 Mar 2016 22:15:30 +0000 (00:15 +0200)]
lib-index: After MAIL_INDEX_OPEN_FLAG_SAVEONLY access cache's read_buf wasn't always reset.
This could have caused at least errors like:
Corrupted index cache file .../dovecot.index.cache: File too small
I'm not sure if it might have also returned stale data sometimes.
Easy way to reproduce this bug was:
imaptest copy=100 copybox=Trash &
imaptest box=Trash append=0
Timo Sirainen [Tue, 1 Mar 2016 20:11:05 +0000 (22:11 +0200)]
lib-index: Minor code cleanup - removed duplicate function prototype.
Timo Sirainen [Wed, 2 Mar 2016 18:32:25 +0000 (20:32 +0200)]
doveadm: Don't treat doveadm_api_key differently when it's unset vs set to empty.
Aki Tuomi [Wed, 2 Mar 2016 15:45:18 +0000 (17:45 +0200)]
doveadm-http: Minor logging improvement - indicate error source
Aki Tuomi [Wed, 2 Mar 2016 15:38:40 +0000 (17:38 +0200)]
doveadm-http: Drop surplus log prefix
Aki Tuomi [Wed, 2 Mar 2016 14:08:06 +0000 (16:08 +0200)]
doveadm-http: Set HTTP client's max idletime to 5 seconds
Aki Tuomi [Wed, 2 Mar 2016 14:07:51 +0000 (16:07 +0200)]
doveadm-http: For each executed command, log the command name and the user parameter if given.
Aki Tuomi [Wed, 2 Mar 2016 13:36:38 +0000 (15:36 +0200)]
doveadm-http: Improve authentication related code
Aki Tuomi [Wed, 2 Mar 2016 09:04:35 +0000 (11:04 +0200)]
doveadm-http: Code cleanup - Move authorize to its own function
Aki Tuomi [Wed, 2 Mar 2016 08:58:37 +0000 (10:58 +0200)]
doveadm-http: Add API calls and versioning for v1
Timo Sirainen [Tue, 1 Mar 2016 17:37:30 +0000 (19:37 +0200)]
auth: Make password_scheme_encryption_rounds extern to allow plugins to read it.
Timo Sirainen [Tue, 1 Mar 2016 14:07:53 +0000 (16:07 +0200)]
lib: Fixed memory leak io_add_istream()+io_remove() when the stream didn't have fd.
Timo Sirainen [Mon, 29 Feb 2016 20:10:06 +0000 (22:10 +0200)]
lib: iostream-temp allows now calling o_stream_seek() on it.
Timo Sirainen [Mon, 29 Feb 2016 23:34:25 +0000 (01:34 +0200)]
doveadm: A bit nicer way to implement doveadm_cmd_param_array() returning C-string array
So replacement of
4afc67eb9 , which I accidentally pushed before remembering
about this other way.
Aki Tuomi [Sun, 28 Feb 2016 17:31:10 +0000 (19:31 +0200)]
doveadm-kick: Rewrite to ver2 infra
Aki Tuomi [Sun, 28 Feb 2016 17:25:46 +0000 (19:25 +0200)]
doveadm-kick: Print kicked usernames via doveadm-print API
Aki Tuomi [Sun, 28 Feb 2016 17:07:03 +0000 (19:07 +0200)]
doveadm-who: Rewrite to ver2 infra
Aki Tuomi [Sun, 28 Feb 2016 16:59:35 +0000 (18:59 +0200)]
doveadm kick: Don't show who command's help on duplicate network/username masks
Timo Sirainen [Sun, 28 Feb 2016 16:48:15 +0000 (18:48 +0200)]
doveadm: Changed doveadm_cmd_param_array() to return C-string array instead of ARRAY()
We could support both with separate functions, but perhaps this one is enough.
Aki Tuomi [Mon, 29 Feb 2016 15:25:31 +0000 (17:25 +0200)]
doveadm-dict: Use ver2 structures
Aki Tuomi [Mon, 29 Feb 2016 15:13:32 +0000 (17:13 +0200)]
doveadm-dict: Remove i_fatal() usage
Aki Tuomi [Mon, 29 Feb 2016 14:46:02 +0000 (16:46 +0200)]
doveadm-fs: Use doveadm_print instead of printf
Timo Sirainen [Mon, 29 Feb 2016 11:23:56 +0000 (13:23 +0200)]
doveadm: Renamed long parameter names.
Timo Sirainen [Mon, 29 Feb 2016 12:04:28 +0000 (14:04 +0200)]
doveadm mailbox metadata list: Added missing mailbox parameter
Timo Sirainen [Mon, 29 Feb 2016 10:59:23 +0000 (12:59 +0200)]
lib-storage: Use getuid() instead of geteuid() for checking if we're running as root.
This fixes running multiple doveadm commands for different users. Running
mail_storage_service_init() + _deinit() multiple times left euid non-root,
which dropped the MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP flag.
Timo Sirainen [Mon, 29 Feb 2016 11:02:40 +0000 (13:02 +0200)]
doveadm-server: Drop privileges only temporarily when running mail commands.
This allows running mail commands for multiple users within the same doveadm
connection.
Timo Sirainen [Mon, 29 Feb 2016 08:31:37 +0000 (10:31 +0200)]
doveadm-http: Fixed crash on unknown commands.
Also if command had already failed, don't override the existing method_err with 403.
Aki Tuomi [Mon, 29 Feb 2016 07:35:03 +0000 (09:35 +0200)]
doveadm-mail-index: Use integer parameter type
Timo Sirainen [Sun, 28 Feb 2016 20:23:03 +0000 (22:23 +0200)]
lib-storage: When cached mime.parts is detected to be inconsistent, log it as hex-encoded.
Timo Sirainen [Sun, 28 Feb 2016 20:22:06 +0000 (22:22 +0200)]
lib-storage: If cached mime.parts is corrupted, log it hex-encoded.
Timo Sirainen [Sun, 28 Feb 2016 20:08:40 +0000 (22:08 +0200)]
lib-mail: message_search_msg() passes through message_parser_deinit_from_parts()'s error string
Timo Sirainen [Sun, 28 Feb 2016 19:07:27 +0000 (21:07 +0200)]
Use mail_set_cache_corrupted_reason() wherever possible.
Timo Sirainen [Sun, 28 Feb 2016 19:05:48 +0000 (21:05 +0200)]
lib-storage: mail_set_cache_corrupted*() now logs also the mailbox name that was corrupted.
Timo Sirainen [Sun, 28 Feb 2016 19:03:47 +0000 (21:03 +0200)]
lib-mail: Minor code cleanup to message_parser_deinit() calls.
Timo Sirainen [Sun, 28 Feb 2016 18:46:57 +0000 (20:46 +0200)]
lib-mail: Added message_parser_deinit_from_parts()
The returned error strings could still be improved to give more details,
especially give an approximate offset of where the problem is.
Timo Sirainen [Sun, 28 Feb 2016 18:19:45 +0000 (20:19 +0200)]
lib-storage: Added mail_set_cache_corrupted_reason()
Timo Sirainen [Sun, 28 Feb 2016 17:57:10 +0000 (19:57 +0200)]
*-login: If verbose_ssl=yes, make sure all SSL errors are logged.
They should already be logged in the client's disconnection line, but log
them also with debug level just to make sure no errors are lost or
overwritten.
Timo Sirainen [Sun, 28 Feb 2016 17:55:53 +0000 (19:55 +0200)]
lib-ssl-iostream: If verbose=TRUE, internally log all errors.
Timo Sirainen [Sun, 28 Feb 2016 17:51:54 +0000 (19:51 +0200)]
lib-ssl-iostream: Log all SSL info lines with debug-level.
They're not logged at all if verbose=FALSE, so they're really debug messages.
Aki Tuomi [Sat, 27 Feb 2016 09:36:29 +0000 (11:36 +0200)]
doveadm-fs: Use ver2 structures
Aki Tuomi [Sat, 27 Feb 2016 09:13:24 +0000 (11:13 +0200)]
doveadm-cmd: Support non-strings in compat wrapper
Aki Tuomi [Sun, 28 Feb 2016 16:33:01 +0000 (18:33 +0200)]
doveadm-mail: Rename ctx to mctx to separate from cctx
Aki Tuomi [Sun, 28 Feb 2016 16:27:35 +0000 (18:27 +0200)]
doveadm: Changed v2 command APIs to be easier to use.
Timo Sirainen [Sun, 28 Feb 2016 16:25:31 +0000 (18:25 +0200)]
doveadm: Minor code cleanup - use arg-> instead of argv[i].
Timo Sirainen [Fri, 26 Feb 2016 15:33:02 +0000 (17:33 +0200)]
doveadm: Code cleanup - Removed unnecessary pointer checks.
Originally for some reason added by
e16cdc182 .
Timo Sirainen [Fri, 26 Feb 2016 14:21:38 +0000 (16:21 +0200)]
doveadm: Fixed command parameter handling for doveadm-server.
Timo Sirainen [Fri, 26 Feb 2016 14:05:01 +0000 (16:05 +0200)]
doveadm: Add more consts to avoid a cast breaking strict-aliasing rules.
Aki Tuomi [Fri, 26 Feb 2016 13:33:23 +0000 (15:33 +0200)]
doveadm: Fixed parsing field/flag/file parameters.
Timo Sirainen [Fri, 26 Feb 2016 13:25:27 +0000 (15:25 +0200)]
doveadm-log: Fixed trimming empty prefixes.
Too eager (long) cast removal from the original code broke it. Changed to
a slightly simplified version now.
Timo Sirainen [Fri, 26 Feb 2016 12:58:33 +0000 (14:58 +0200)]
doveadm: Pass through mail_storage_service_input fields in doveadm_cmd_attributes
Timo Sirainen [Fri, 26 Feb 2016 12:55:02 +0000 (14:55 +0200)]
doveadm: Added struct doveadm_cmd_attributes, which is passed around instead of argc/argv
Aki Tuomi [Wed, 24 Feb 2016 11:59:28 +0000 (13:59 +0200)]
doveadm-penalty: Convert to ver2 infra
Aki Tuomi [Fri, 26 Feb 2016 12:38:46 +0000 (14:38 +0200)]
doveadm-flags: Support giving flags as an array.
Aki Tuomi [Thu, 25 Feb 2016 07:26:39 +0000 (09:26 +0200)]
doveadm-copymove: Use ver2 structures
Aki Tuomi [Fri, 26 Feb 2016 07:37:06 +0000 (09:37 +0200)]
doveadm: Code cleanup - coding style fixes for doveadm_cmd_param*() accessors
Aki Tuomi [Fri, 26 Feb 2016 07:33:25 +0000 (09:33 +0200)]
doveadm-cmd: Add CMD_PARAM_IP