2017-12-22 15:35:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c8b89eb)

    Released v2.3.0.


M	NEWS
M	configure.ac

2017-12-22 15:12:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dfc19b4)

    doveadm dump: Add "multiplex" dump type

    This allows dumping all channels from istream-multiplex stream.

M	src/doveadm/doveadm-dump.c

2017-12-22 15:11:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (70b1a35)

    doveadm dump: Allow doveadm_cmd_dump.test() to be NULL

    This means that there's no auto-detection for the dump type.

M	src/doveadm/doveadm-dump.c

2017-12-22 15:10:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (56c43d3)

    lib: istream-multiplex - Return error if the last packet wasn't fully read


M	src/lib/istream-multiplex.c

2017-12-22 15:07:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (93fd68a)

    doveadm: Fix potential crash or reading garbage from doveadm-server

    The connection's input buffer may have been reallocated or otherwise moved 
    while checking for log input.

M	src/doveadm/server-connection.c

2017-12-22 13:36:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c0dd00d)

    doveadm: Don't connect to stats-writer for the "quick init" commands


M	src/doveadm/doveadm.c

2017-12-22 13:20:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e71a080)

    lib-master: Add master_service_init_stats_client()

    This allows initializing the stats client after master_service_init() if 
    necessary.

M	src/lib-master/master-service-settings.c
M	src/lib-master/master-service.c
M	src/lib-master/master-service.h

2017-12-22 13:27:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (818b09e)

    lib-master: Hide connect(stats-writer) errors when running via CLI

    Only hide errors that occur if the stats process isn't running, i.e. when 
    socket isn't found or there's no listener. This way e.g. permission errors 
    are still logged, which points to a wrong configuration.

M	src/lib-master/master-service-settings.c
M	src/lib-master/stats-client.c
M	src/lib-master/stats-client.h

2017-12-22 13:34:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (96dd47c)

    auth: Fix password and scheme handling in Lua db

    This was only partially fixed in c86575ac9776d0995355d03719c82e7ceac802e6

M	src/auth/db-lua.c
M	src/auth/passdb-lua.c

2017-12-22 09:42:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c471ce9)

    imap-old-stats plugin: Finish renaming the plugin

    The init functions and dependency were named wrong, so it didn't work.

M	src/plugins/imap-old-stats/imap-stats-plugin.c
M	src/plugins/imap-old-stats/imap-stats-plugin.h

2017-12-22 09:37:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cb2feda)

    m4: Fix detecting libsodium to use LIBS instead of LDFLAGS

    Patch by Eray Aslan

M	m4/want_sodium.m4

2017-12-22 09:36:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (21a6bcd)

    m4: Avoid _FORTIFY_SOURCE redefinition warnings

    Some source based distros like Gentoo already enable -D_FORTIFY_SOURCE=2 by
    default resulting in the following warnings during build:

    <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
    <built-in>: note: this is the location of the previous definition

    Patch by Eray Aslan

M	m4/cc_fortify.m4

2017-12-22 09:59:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a8369d9)

    example-config: Fix postmaster_address comment

    The default value was wrong.

M	doc/example-config/conf.d/15-lda.conf

2017-12-22 11:25:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6bc16cf)

    doveadm-server: Fix potential hangs with SSL connections


M	src/doveadm/client-connection-tcp.c

2017-12-18 21:58:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (71965c1)

    auth: Don't include LIBSODIUM_LIBS in dependencies

    Put it into AUTH_LIBS among other libraries that are used by auth.

M	m4/want_sodium.m4
M	src/auth/Makefile.am

2017-12-21 23:09:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7adffef)

    lib-smtp: server: STARTTLS command: Call
    smtp_server_connection_set_ssl_streams() after calling the conn_start_tls()
    connection callback.

    This is called instead smtp_server_connection_set_streams(), so that the
    connection is now marked as SSL-secured. This fixes a submission-login bug
    that prevented client login when ssl=required.

M	src/lib-smtp/smtp-server-cmd-starttls.c

2017-12-21 23:07:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d076bd9)

    lib-smtp: server: Add smtp_server_connection_set_ssl_streams().

    It wraps smtp_server_connection_set_streams() and additionally marks the
    connection as SSL-secured.

M	src/lib-smtp/smtp-server-connection.c
M	src/lib-smtp/smtp-server.h

2017-12-21 23:00:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b1de005)

    lib-smtp: server: Change conn_start_tls() connection callback to return a
    success status.


M	src/lib-smtp/smtp-server-cmd-starttls.c
M	src/lib-smtp/smtp-server.h
M	src/submission-login/client.c

2017-12-19 00:29:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d0d92f4)

    man: Update version number to v2.3


M	doc/man/doveadm-acl.1.in
M	doc/man/doveadm-altmove.1.in
M	doc/man/doveadm-auth.1.in
M	doc/man/doveadm-batch.1.in
M	doc/man/doveadm-deduplicate.1.in
M	doc/man/doveadm-director.1.in
M	doc/man/doveadm-dump.1.in
M	doc/man/doveadm-exec.1.in
M	doc/man/doveadm-expunge.1.in
M	doc/man/doveadm-fetch.1.in
M	doc/man/doveadm-flags.1.in
M	doc/man/doveadm-force-resync.1.in
M	doc/man/doveadm-fs.1.in
M	doc/man/doveadm-fts.1.in
M	doc/man/doveadm-help.1.in
M	doc/man/doveadm-import.1.in
M	doc/man/doveadm-index.1.in
M	doc/man/doveadm-instance.1.in
M	doc/man/doveadm-kick.1.in
M	doc/man/doveadm-log.1.in
M	doc/man/doveadm-mailbox-cryptokey.1.in
M	doc/man/doveadm-mailbox.1.in
M	doc/man/doveadm-move.1.in
M	doc/man/doveadm-penalty.1.in
M	doc/man/doveadm-proxy.1.in
M	doc/man/doveadm-purge.1.in
M	doc/man/doveadm-pw.1.in
M	doc/man/doveadm-quota.1.in
M	doc/man/doveadm-replicator.1.in
M	doc/man/doveadm-save.1.in
M	doc/man/doveadm-search-query.7
M	doc/man/doveadm-search.1.in
M	doc/man/doveadm-stats.1.in
M	doc/man/doveadm-sync.1.in
M	doc/man/doveadm-user.1.in
M	doc/man/doveadm-who.1.in
M	doc/man/doveadm.1.in
M	doc/man/doveconf.1.in
M	doc/man/dovecot-lda.1.in
M	doc/man/dovecot.1.in

2017-12-18 16:45:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3f3d3c6)

    lib-smtp: server: Fixed assertion in smtp_server_connection_next_reply()
    checking whether command is fully replied.

    It did not handle LMTP DATA/BDAT command correctly, for which there can be
    multiple replies.

    This fixes mixing local/remote recipients in LMTP, which used to crash: 
    Panic: file smtp-server-connection.c: line 610
    (smtp_server_connection_next_reply): assertion failed: (cmd->state ==
    SMTP_SERVER_COMMAND_STATE_READY_TO_REPLY &&
    smtp_server_command_is_replied(cmd))

M	src/lib-smtp/smtp-server-connection.c

2017-12-18 19:28:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (de37420)

    lib-smtp: server: Fix compile error in smtp-server-cmd-helo.c.

    Error was:
    "smtp-server-cmd-helo.c", line 140: void function cannot return value

M	src/lib-smtp/smtp-server-cmd-helo.c

2017-12-16 16:52:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (12aba59)

    Released v2.3.0.rc1.


M	NEWS
M	configure.ac

2017-12-18 15:20:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (97fad7a)

    lib-smtp: command parser: Fix error recovery.

    Input characters were not skipped upon error, meaning that error recovery
    would encounter these again. This would make the parser parse the same data
    over and over again, yielding the same error. This in turn caused the SMTP
    server application to hang in an infinite input loop, submitting error
    replies in the process, thereby filling up the process memory until
    exhaustion. Problem seen in submission service, but LMTP is also affected.

M	src/lib-smtp/smtp-command-parser.c

2017-12-18 14:08:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a72c750)

    lib-smtp: server: Fix panic when disconnecting client aborting commands

    This happened at least if the relay server simply disconnected without 
    sending any output.

    Fixes: Panic: file submission-commands.c: line 39: unreached

M	src/submission/submission-commands.c

2017-12-18 14:04:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (aa70583)

    lib-smtp: smtp_server_connection_pending_command_data() - don't crash if
    smtp_parser is NULL


M	src/lib-smtp/smtp-server-connection.c

2017-12-18 13:16:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b1e79ed)

    doc: example-config: Properly document SSL configuration for submission
    relay server.


M	doc/example-config/conf.d/20-submission.conf

2017-12-18 12:08:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c9d1ad7)

    submission: Fix memory leaks at deinit when submission_relay_host setting is
    missing


M	src/submission/main.c

2017-12-18 12:06:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f8d6f8d)

    lib-smtp: server: Fix panic when io_remove() is called too late

    With submission-login the conn_disconnect() callback ends up in 
    login-common's client_disconnect(), which closes the file descriptor. The
    io_remove() was done afterwards, which caused a crash:

    submission-login: Panic: epoll_ctl(del, 18) failed: Bad file descriptor

M	src/lib-smtp/smtp-server-connection.c

2017-12-18 12:05:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2814b47)

    lib-smtp: server: Fix infinite loop when client disconnects in initial state


M	src/lib-smtp/smtp-command-parser.c
M	src/lib-smtp/smtp-command-parser.h
M	src/lib-smtp/test-smtp-command-parser.c

2017-12-18 12:48:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9b375f5)

    old-stats plugin: Rename stats_* settings to old_stats_*


M	src/plugins/old-stats/stats-plugin.c

2017-12-18 12:47:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (de6d216)

    auth: Install stats plugin to old-stats/

    Fixes using auth_stats=yes

M	src/auth/Makefile.am

2017-12-17 20:41:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (52e8bf3)

    lib: Fix using appended log prefixes for events when full prefix isn't
    replaced


M	src/lib/event-log.c

2017-12-17 20:39:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1a5b037)

    lib: Fix using failure_context.log_prefix with internal log process
    communication


M	src/lib/failures.c

2017-12-17 20:38:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bf88269)

    log: Add "disable log prefix" flag to log lines


M	src/lib/failures.c
M	src/lib/failures.h
M	src/log/log-connection.c

2017-12-17 20:35:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c2c58ed)

    lib: Add event_send()


M	src/lib/lib-event-private.h
M	src/lib/lib-event.c

2017-12-17 20:35:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (642f2bb)

    lib: Rename event_send() to event_vsend()


M	src/lib/event-log.c
M	src/lib/lib-event-private.h
M	src/lib/lib-event.c

2017-12-15 23:28:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4e29b62)

    lmtp: local: Properly handle a user being over quota.

    Recent changes caused quota enforcement to be ineffective.

M	src/lmtp/lmtp-local.c

2017-12-15 21:31:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8d7c247)

    lmtp: local: Make sure pending recipient is always destroyed.

    Before, the recipient was not freed when the server/connection ended
    prematurely.

M	src/lmtp/lmtp-local.c

2017-12-14 23:00:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c9f90d9)

    login-proxy: Add back support for ssl_client_cert/key

    Forgot to add these while rewriting login-proxy to use lib-ssl-iostream.

M	src/login-common/login-proxy.c

2017-12-14 22:59:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (024ca27)

    lib-ssl-iostream: If allow_invalid_cert=TRUE, skip verifying hostname


M	src/lib-ssl-iostream/iostream-openssl.c

2017-12-15 14:42:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (552d37c)

    lib-master: Fix master_service_ssl_settings_to_iostream_set() for client
    settings

    ssl_verify_client_cert setting applies only to server side. For client side 
    we always verify the SSL certificate validity.

M	src/lib-master/master-service-ssl-settings.c

2017-12-15 14:11:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (88dac1a)

    lib-http: Add http_client_init_private()

    This allows creating a HTTP client without a shared context, in case it's 
    needed for some reason.

M	src/lib-http/http-client.c
M	src/lib-http/http-client.h

2017-12-15 14:10:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (00ef907)

    lib-http: Change http_client_init() to use the global shared client context

    This is most likely what is usually wanted.

M	src/lib-http/http-client.c
M	src/lib-http/http-client.h

2017-12-15 14:08:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a9f3703)

    lib-http: Add http_client_get_global_context()


M	src/lib-http/http-client.c
M	src/lib-http/http-client.h

2017-12-14 21:49:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (993b1b9)

    fts: Code cleanup


M	src/plugins/fts/fts-build-mail.c

2017-12-14 21:42:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3813ebc)

    fts: Don't try to retry parsing if indexing already fails


M	src/plugins/fts/fts-build-mail.c

2017-12-14 21:39:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d7c139d)

    fts: Use consistent naming for retriable_err_msg

    It's only for retriable errors, not errors in general

M	src/plugins/fts/fts-build-mail.c

2017-12-14 21:34:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d8ebe88)

    fts: Make sure may_need_retry is reset between attempts.

    It wasn't if the second attempt failed early.

M	src/plugins/fts/fts-build-mail.c

2017-12-14 21:26:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f4c18fa)

    fts: Add assert to make sure fts_parser.deinit() returns retriable_error_msg
    when needed


M	src/plugins/fts/fts-parser.c

2017-12-14 21:25:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fc2b89b)

    fts: fts-parser-tika - Add assert to make sure retriable_error_msg is set


M	src/plugins/fts/fts-parser-tika.c

2017-12-14 21:25:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cbe118d)

    fts: fts-parser-script - Fix deinit return value


M	src/plugins/fts/fts-parser-script.c

2017-12-14 21:23:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (07bfc94)

    fts: fts-parser-html - Fix deinit return value


M	src/plugins/fts/fts-parser-html.c

2017-12-14 21:53:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (76f2553)

    fts: fts_parser_deinit() - Fix default return value


M	src/plugins/fts/fts-parser.c

2017-12-14 21:24:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8c93c82)

    fts: Add comment to fts_parser_deinit() describing its API


M	src/plugins/fts/fts-parser.h

2017-12-14 10:31:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ec61c40)

    lib: Fix static analyzer warning about uninitialized va_list


M	src/lib/lib-event.c

2017-12-14 12:01:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3b4d146)

    lib-storage: Delay error handing for invalid postmaster_address setting


M	src/lib-lda/mail-send.c
M	src/lib-storage/mail-storage-settings.c
M	src/lib-storage/mail-storage-settings.h

2017-12-14 20:56:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (117ae14)

    cassandra: Fix crash when using prepared statements

    Broken by cae3c6903c10682429f9849ab1a25093e3f538e4

M	src/lib-sql/driver-cassandra.c

2017-12-14 23:10:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a074b1e)

    *-login: Avoid unnecessary "OK Waiting for authentication process to
    respond"

    These happened with SSL connections when the process was starting up. The
    ssl-istream was triggering the IO callback, which was thinking that the 
    client was sending a command. If this happened early on before auth process 
    connection was finished, this caused several unnecessary notifications to 
    the client.

M	src/login-common/client-common.c

2017-12-14 23:23:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (99a6ea3)

    global: Finish fixing oldstats plugin/service rename


M	src/old-stats/stats-settings.c
M	src/plugins/old-stats/mail-stats.c
M	src/plugins/old-stats/stats-plugin.h

2017-12-14 21:50:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3c8a163)

    lib-http: client: Check whether client is running in a wait loop with the
    correct condition.

    This used to check client->ioloop != NULL, but now it should check
    client->waiting. Previous commit (e8a1b62fe4a81b211dcccd1a58b44f254074eab6)
    omitted a few instances where this should have been changed.

M	src/lib-http/http-client-connection.c
M	src/lib-http/http-client-host.c
M	src/lib-http/http-client-request.c
M	src/lib-http/http-client.c

2017-12-14 10:46:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (21bc261)

    lda: Do not replace the NULL sender with a default <MAILER-DAEMON> address.

    Only do this substitution locally where a NULL sender would cause problems,
    not everywhere else. This e.g. causes problems when determining whether to
    send a rejection somewhere; attempts would be made to mail <MAILER-DAEMON>. 
    Also other envelope-based (Sieve) tests would get confused.

M	src/lda/main.c

2017-12-14 10:42:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a1f1ff1)

    lib-lda: Properly check whether MAIL FROM is the NULL sender <>.

    There's a function for that, since comparison with NULL pointer is not
    sufficient.

M	src/lib-lda/mail-deliver.c

2017-12-13 20:53:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e366340)

    lib-master: stats-client - Fix reconnection if handshake wait fails

    Fixes: Warning: Timeout leak: 0x5555556ac8d0 (stats-client.c:132)

M	src/lib-master/stats-client.c

2017-12-14 13:02:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a46221f)

    submission-login: Fix another NULL dereference occurring at an invalid reply
    from the backend server.

    The text variable was still being used when it could be NULL. Made the
    offending code dependent on the reply validity check.

    Problem found by Coverity.

M	src/submission-login/submission-proxy.c

2017-12-14 14:13:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7a80631)

    oldstats plugin: Fix init/deinit function names


M	src/plugins/old-stats/stats-plugin.c

2017-12-14 02:11:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (75aaa1a)

    lib-storage: mailbox_list_index - Don't overwrite INBOX's flags with
    prefix/INBOX's

    This made the real INBOX appear as if it was \NoSelect

M	src/lib-storage/list/mailbox-list-index-sync.c

2017-12-14 02:10:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6081f6a)

    lib-storage: mailbox_list_index - indentation cleanup


M	src/lib-storage/list/mailbox-list-index-sync.c

2017-12-14 01:39:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6549236)

    lib-storage: mailbox_list_index - List prefix/INBOX if it necessary


M	src/lib-storage/list/mailbox-list-index-iter.c
M	src/lib-storage/list/mailbox-list-index.h

2017-12-14 01:36:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (874dc84)

    LAYOUT=fs: Fix listing prefix/INBOX

    Removed some confusing special case code that didn't seem to work very well. 
    Implemented this now properly so that prefix/INBOX is listed as \NoSelect 
    mailbox whenever it has children.

    It's not actually possible to differentiate between INBOX and prefix/INBOX 
    in the storage for a inbox=yes namespace, because they both are converted 
    into the same storage_name=INBOX.

M	src/lib-storage/list/mailbox-list-fs-iter.c

2017-12-14 01:34:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (141aa0e)

    LAYOUT=fs: List INBOX as \NoInferiors when necessary


M	src/lib-storage/list/mailbox-list-fs-iter.c

2017-12-14 01:31:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f7dd04e)

    LAYOUT=index: List INBOX as \NoInferiors when necessary


M	src/lib-storage/list/mailbox-list-index-iter.c

2017-12-14 01:23:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (38e6026)

    LAYOUT=Maildir++: List INBOX as \NoInferiors when necessary


M	src/lib-storage/list/mailbox-list-maildir-iter.c

2017-12-14 01:23:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9a2149c)

    lib-storage: Add mail_namespace_is_inbox_noinferiors()


M	src/lib-storage/mail-namespace.h

2017-12-08 16:14:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (50ba09c)

    imapc: Don't skip listing "INBOX" when INBOX/ namespace prefix is used.

    The INBOX was still listed as part of the autocreated mailboxes, unless 
    MAILBOX_LIST_ITER_NO_AUTO_BOXES was used.

M	src/lib-storage/index/imapc/imapc-list.c

2017-12-13 19:11:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (673ee24)

    lib: mempool-allocfree - make static analyzer happier with pool clearing

    It was thinking that already freed memory was being accessed.

M	src/lib/mempool-allocfree.c

2017-12-13 20:55:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (11d4b18)

    dbox: Fix creating dbox-alt-root symlink when mail root directory doesn't
    exist

    Broken by 74664ac6dcf88cfc2ae6378c87c20ba694385a23

M	src/lib-storage/index/dbox-common/dbox-storage.c

2017-12-13 21:52:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (af7956f)

    lib-http: client: peer: Properly handle claiming an existing connection.

    If no other connections were being created, request handling was not
    restarted. This problem sometimes caused the client to hang. Fixed by
    calling http_client_peer_connection_success() upon claiming an existing
    connection.

M	src/lib-http/http-client-peer.c

2017-12-13 18:16:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (20138b8)

    lib-http: test-http-payload: Terminate the test if it is hanging for some
    reason.


M	src/lib-http/test-http-payload.c

2017-12-13 17:27:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b7f1ebf)

    lib-http: test-http-payload: Amend shared client tests to do both download
    and echo tests.

    Also, the original download tests were named wrong.

M	src/lib-http/test-http-payload.c

2017-12-13 17:29:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c9f7a21)

    lib-http: test-http-payload: Fixed indent problems.


M	src/lib-http/test-http-payload.c

2017-12-13 14:44:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f46a703)

    doveadm stats dump: Add -r parameter to reset stats after dumping


M	src/doveadm/doveadm-stats.c

2017-12-13 14:43:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9c675f5)

    stats: Add DUMP-RESET command to reset stats after dumping them


M	src/stats/client-reader.c
M	src/stats/stats-metrics.c
M	src/stats/stats-metrics.h

2017-12-12 21:38:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74664ac)

    lib-storage: Delay creating mail root directory until it's necessary


M	src/lib-storage/mail-storage.c

2017-12-12 21:36:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d95773f)

    lib-storage: Make sure index root is created when it's the same as root
    directory

    This is required by the following commit.

M	src/lib-storage/mailbox-list.c

2017-08-09 20:06:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e8a1b62)

    lib-http: client: Made http_client record the current ioloop it is switched
    to.

    This prevents http_client_wait() from switching the client to an ioloop it
    was never explicitly switched to.

M	src/lib-http/http-client-private.h
M	src/lib-http/http-client-request.c
M	src/lib-http/http-client.c
M	src/lib-http/http-client.h

2017-12-13 14:19:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (481992b)

    imap: Fix o_stream_is_corked() assert check

    All the callers cork the stream, so this can only mean that the corking 
    failed because the connection was already closed. Continue handling the 
    input anyway.

    Fixes: Panic: file imap-client.c: line 1236 (client_handle_input): assertion
    failed: (o_stream_is_corked(client->output))

M	src/imap/imap-client.c

2017-12-13 15:48:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a820036)

    LAYOUT=index: Fix crash in doveadm force-resync if storage doesn't implement
    list_index_rebuild()

    Broken by recent changes.

M	src/lib-storage/list/mailbox-list-index-backend.c

2017-12-12 18:10:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f544706)

    LAYOUT=index: Fix updating STATUS changes in mailbox list index

    Mailbox list index backend code was overriding sync_init and sync_deinit 
    methods, which STATUS handling had already already overridden. They both 
    used the same super struct, so STATUS's sync_* were never called.

M	src/lib-storage/list/mailbox-list-index-backend.c
M	src/lib-storage/list/mailbox-list-index-status.c
M	src/lib-storage/list/mailbox-list-index-storage.h
M	src/lib-storage/list/mailbox-list-index.c
M	src/lib-storage/list/mailbox-list-index.h

2017-12-13 15:54:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (583c531)

    lib-master: Fix logging "Expected FILTER" error


M	src/lib-master/stats-client.c

2017-12-13 15:54:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (db2d8df)

    stats: Fix logging unknown client command error


M	src/stats/client-writer.c

2017-12-13 14:37:59 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0e8ff50)

    .gitignore: Ignore src/old-stats/old-stats


M	.gitignore

2017-12-04 23:39:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (324f41b)

    lib-http: Add named event: http_request_finished


M	src/lib-http/http-client-request.c

2017-12-04 21:56:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (285f3c4)

    doveadm: Add new "stats dump" command


M	src/doveadm/Makefile.am
M	src/doveadm/doveadm-cmd.c
M	src/doveadm/doveadm-cmd.h
A	src/doveadm/doveadm-stats.c

2017-12-04 21:23:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (838d6a4)

    global: Enable MASTER_SERVICE_FLAG_SEND_STATS for mail processes


M	src/doveadm/doveadm.c
M	src/doveadm/main.c
M	src/imap/main.c
M	src/indexer/indexer-worker.c
M	src/lmtp/main.c
M	src/pop3/main.c

2017-12-04 20:39:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (15dd189)

    lib: connection - When receiving invalid VERSION line, log the line contents


M	src/lib/connection.c

2017-12-04 20:33:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2fb2794)

    log: Fix restoring global log prefix

    It was allocated from data stack, which was freed by 
    master_service_init_finish(). This may have caused wrong prefix to be used
    for log's internal error messages, or restoring the global log prefix could
    have crashed:

    Panic: file strfuncs.c: line 147 (t_noalloc_strdup_vprintf): assertion
    failed: ((unsigned int)ret == *size_r-1)

M	src/log/log-connection.h
M	src/log/main.c

2017-12-08 00:15:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (36409af)

    lib-http: client: Replace http_*_debug() with e_debug()


M	src/lib-http/http-client-connection.c
M	src/lib-http/http-client-host.c
M	src/lib-http/http-client-peer.c
M	src/lib-http/http-client-queue.c
M	src/lib-http/http-client-request.c
M	src/lib-http/http-client.c

2017-12-04 12:58:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (39018a6)

    lib-http: client: Remove redundant debug logging checks


M	src/lib-http/http-client-connection.c
M	src/lib-http/http-client-host.c
M	src/lib-http/http-client-peer.c
M	src/lib-http/http-client-queue.c
M	src/lib-http/http-client-request.c
M	src/lib-http/http-client.c

2017-12-04 12:35:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2d1ad57)

    lib-http: client: Add support for event API


M	src/lib-http/http-client-connection.c
M	src/lib-http/http-client-host.c
M	src/lib-http/http-client-peer.c
M	src/lib-http/http-client-private.h
M	src/lib-http/http-client-queue.c
M	src/lib-http/http-client-request.c
M	src/lib-http/http-client.c
M	src/lib-http/http-client.h

2017-12-04 12:27:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a79ae29)

    lib-http: Cleanup - Add name parameter to http_client_host_create()


M	src/lib-http/http-client-host.c

2017-12-03 19:31:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b254b8e)

    lib-fs: Replace i_error() calls with e_error()


M	src/lib-fs/fs-posix.c
M	src/lib-fs/fs-sis-common.c
M	src/lib-fs/fs-sis-queue.c
M	src/lib-fs/fs-sis.c

2017-12-03 19:26:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fc59aba)

    lib-fs: Add fs_file/iter_init_with_event()

    Use the event for logging critical errors

M	src/lib-fs/fs-api-private.h
M	src/lib-fs/fs-api.c
M	src/lib-fs/fs-api.h
M	src/lib-fs/fs-sis-common.c

2017-12-04 15:06:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6d1218e)

    lib-fs: Add fs_file/iter_init_parent()


M	src/lib-fs/fs-api-private.h
M	src/lib-fs/fs-api.c
M	src/lib-fs/fs-metawrap.c
M	src/lib-fs/fs-randomfail.c
M	src/lib-fs/fs-sis-queue.c
M	src/lib-fs/fs-sis.c
M	src/lib-fs/fs-wrapper.c
M	src/plugins/fs-compress/fs-compress.c
M	src/plugins/mail-crypt/fs-crypt-common.c

2017-12-04 14:55:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4110f96)

    lib-fs: Set fs_iter.flags immediately in fs_iter_init()

    This way backends don't need to set it.

M	src/lib-fs/fs-api.c
M	src/lib-fs/fs-dict.c
M	src/lib-fs/fs-posix.c
M	src/lib-fs/fs-randomfail.c
M	src/lib-fs/fs-test.c
M	src/lib-fs/fs-wrapper.c

2017-12-04 14:53:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4d71d71)

    lib-fs: Split allocation from fs.iter_init() to a separate fs.iter_alloc()


M	src/lib-fs/fs-api-private.h
