2020-12-22 10:22:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (89f716dc2)

    lib-master, stats: Fix sending and parsing UPDATE commands

    These commands were parsed completely wrong, resulting in errors like:

    Client sent invalid input for UPDATE: Invalid tv_created: Invalid timeval
    microseconds parameter

M	src/lib-master/stats-client.c
M	src/lib-master/test-event-stats.c
M	src/stats/client-writer.c

2020-12-12 17:39:54 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1546d5e14)

    NEWS: Add news for 2.3.13


M	NEWS

2020-07-29 11:28:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f71f58daf)

    NEWS: Add NEWS for 2.3.11.3


M	NEWS

2020-07-28 11:02:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ed30ca543)

    NEWS: Add NEWS for 2.3.11.2


M	NEWS

2020-06-30 11:50:26 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ea34cc097)

    NEWS: Add news for 2.3.11


M	NEWS

2020-11-30 22:10:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (090bad0fa)

    lib-storage: Fix potential assert-crash when fetching body snippet

    This happened only in a rather special condition. Added unit test to 
    reproduce it.

    Fixes: Panic: file message-part-data.c: line 28
    (message_part_data_is_plain_7bit): assertion failed: (data != NULL)

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

2020-11-30 20:37:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6b9c86377)

    lib-storage: Fix potential assert-crash when adding missing attachment flags

    This happened only in a rather special condition. Added unit test to 
    reproduce it.

    Fixes: Panic: file index-mail-headers.c: line 298 (index_mail_parse_header):
    assertion failed: (part != NULL)

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

2020-11-18 21:22:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (84cde48e5)

    lib-imap: Fix writing BODYSTRUCTURE for truncated multipart/digest part

    Fixes error while parsing BODYSTRUCTURE: message_part message/rfc822 flag
    doesn't match lines in BODYSTRUCTURE

M	src/lib-imap/imap-bodystructure.c
M	src/lib-imap/test-imap-bodystructure.c

2020-11-18 20:48:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e32a99fd5)

    lib-imap: Fix writing BODYSTRUCTURE for truncated multipart/ part

    If the max nesting limit is reached, write the last part out as 
    application/octet-stream. The original content-type could be confusing IMAP
    clients when they don't see any child parts.

M	src/lib-imap/imap-bodystructure.c
M	src/lib-imap/test-imap-bodystructure.c

2020-11-18 18:55:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f3ff0ca97)

    lib-imap: Fix writing BODYSTRUCTURE for truncated message/rfc822 part

    If the max nesting limit is reached, write the last part out as 
    application/octet-stream instead of dummy message/rfc822.

    Fixes error while parsing BODYSTRUCTURE: message_part message/rfc822 flag
    doesn't match BODYSTRUCTURE

M	src/lib-imap/imap-bodystructure.c
M	src/lib-imap/test-imap-bodystructure.c

2020-12-01 10:25:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5cbc8d7da)

    lib-http: http-client-request - Fix payload assertions in
    http_client_request_send_more().

    When the request payload is finished, both req->payload_input and 
    req->payload_output could be NULL, so the assertions on those being not NULL 
    need to happen after the check for req->payload_finished.

    This particularly causes problems with the blocking
    http_client_request_send/finish_payload() API, which constantly modifies
    req->payload_input and sets it to NULL to finish the output.

    This caused a panic:

    Panic: file http-client-request.c: line 1232
    (http_client_request_send_more): assertion failed: (req->payload_input !=
    NULL)

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

2018-04-04 15:18:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ba19713dd)

    lib-http: test-http-payload - Add test for blocking client output payload.


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

2018-04-04 03:02:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (298fc5f29)

    lib-http: test-http-payload - Implement reference counting for client
    request.


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

2020-06-27 18:48:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (839d4279b)

    lib-http: Reformat http-client-request.c.


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

2020-10-19 13:47:10 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fef608008)

    stats: openmetrics - Include submetric name only when present

    Otherwise we SIGSEGV.

M	src/stats/stats-service-openmetrics.c

2020-10-29 12:55:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (940307ae2)

    imap: Fix potential hang if client disconnects with pipelined ambiguous
    commands

    For example if client pipelines FETCH+LOGOUT commands and disconnects during 
    a large FETCH output, the LOGOUT command is processed as waiting for 
    unambiguity. This code path however doesn't detect a client disconnection, 
    and input IO handler is removed so it can't detect it either. So the imap 
    process hangs.

M	src/imap/imap-client.c

2020-10-29 12:52:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1c56defb0)

    imap: Move disconnected-check inside client_continue_pending_input()

    This way all of its callers don't have to check if the client is 
    disconnected.

M	src/imap/cmd-append.c
M	src/imap/cmd-idle.c
M	src/imap/imap-client.c
M	src/imap/imap-search.c
M	src/imap/main.c

2020-11-20 12:52:47 +0100 Markus Valentin <markus.valentin@open-xchange.com> (1acfa9175)

    doveadm: mail: doveadm_mail_failed_error() - Set specific exit code for
    MAIL_ERROR_INUSE

    Set exit code DOVEADM_EX_NOTPOSSIBLE in case MAIL_ERROR_INUSE is set via 
    doveadm_mail_failed_error(). This exit code is used to indicate that a 
    operation cannot be done because another session prevents it.

M	src/doveadm/doveadm-mail.c

2020-11-20 12:15:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cafccc4f0)

    doveadm: When sending server logs to client, make sure ioloop isn't set to
    NULL

    This could have happened if there was any logging done outside command 
    handling. For example a doveadm command used http-client, which has a 
    timeout that triggers logging only after the command is finished.

    Fixes segfault and: Panic: file http-client.c: line 642
    (http_client_context_close): assertion failed: (cctx->clients_list == NULL)

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

2020-11-19 22:07:37 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (461acf490)

    imap: Fix memory leak in get_expunges_fallback()


M	src/imap/imap-fetch.c

2020-11-12 14:15:54 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (7581cacd8)

    lib: event-filter-parser - Test simple but invalid input


M	src/lib/test-event-filter-parser.c

2020-11-12 13:49:49 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a11b89423)

    lib: event-filter - Do not assert that there in no output on error

    When the input is a simple (but invalid) expression (e.g., a=b=c) the output 
    variable may be set.  This is perfectly fine.

    The assertion (and the associated failure) come from when event filter 
    parsing was switched to the new filter syntax
    (fcba1d530737813de11d9d730d5db6496e2e574b).

M	src/lib/event-filter.c

2020-11-11 11:09:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (50698d4bc)

    configure.ac: Finish removing vpopmail support


M	configure.ac

2020-10-23 16:24:09 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (48d6f7282)

    auth: Remove ntlm mechanism & the LANMAN and NTLM password schemes


M	COPYING
M	configure.ac
M	src/Makefile.am
M	src/auth/Makefile.am
D	src/auth/mech-ntlm.c
M	src/auth/mech.c
M	src/auth/password-scheme.c
M	src/auth/test-libpassword.c
M	src/auth/test-mech.c
M	src/doveadm/Makefile.am
D	src/lib-ntlm/Makefile.am
D	src/lib-ntlm/ntlm-des.c
D	src/lib-ntlm/ntlm-des.h
D	src/lib-ntlm/ntlm-encrypt.c
D	src/lib-ntlm/ntlm-encrypt.h
D	src/lib-ntlm/ntlm-flags.h
D	src/lib-ntlm/ntlm-message.c
D	src/lib-ntlm/ntlm-message.h
D	src/lib-ntlm/ntlm-types.h
D	src/lib-ntlm/ntlm.h

2020-10-16 09:18:31 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0b6c6bbba)

    auth: Remove vpopmail user & pass db support


M	configure.ac
M	doc/example-config/conf.d/10-auth.conf
M	doc/example-config/conf.d/Makefile.am
D	doc/example-config/conf.d/auth-vpopmail.conf.ext
D	m4/want_vpopmail.m4
M	src/auth/Makefile.am
M	src/auth/db-checkpassword.c
D	src/auth/passdb-vpopmail.c
M	src/auth/passdb.c
D	src/auth/userdb-vpopmail.c
D	src/auth/userdb-vpopmail.h
M	src/auth/userdb.c
M	src/master/main.c

2020-10-16 09:01:19 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (84d8535ff)

    auth: Remove S/Key mechanism & password scheme


M	doc/example-config/conf.d/10-auth.conf
M	src/auth/Makefile.am
M	src/auth/main.c
R089	src/auth/mech-otp-skey-common.c	src/auth/mech-otp-common.c
R074	src/auth/mech-otp-skey-common.h	src/auth/mech-otp-common.h
M	src/auth/mech-otp.c
D	src/auth/mech-skey.c
M	src/auth/mech.c
M	src/auth/password-scheme.c
M	src/auth/test-libpassword.c
M	src/auth/test-mech.c

2020-10-16 08:50:21 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (6e9124339)

    auth: Remove RPA mechanism & password scheme


M	src/auth/Makefile.am
D	src/auth/mech-rpa.c
M	src/auth/mech.c
D	src/auth/password-scheme-rpa.c
M	src/auth/password-scheme.c
M	src/auth/password-scheme.h
M	src/auth/test-libpassword.c
M	src/auth/test-mech.c

2020-10-16 08:31:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (371580cd6)

    auth: Remove postmap socket type


M	src/auth/main.c

2020-10-16 08:28:12 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a1818ebe8)

    auth: Remove support for SIA passdb


M	configure.ac
D	m4/want_sia.m4
M	src/auth/Makefile.am
D	src/auth/passdb-sia.c
M	src/auth/passdb.c

2020-10-27 15:12:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6d4c971dd)

    lib-storage: Add prefix to failed mailbox list index rebuild error messages

    This makes it clearer that the failure is happening because index was being 
    rebuilt.

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

2020-10-27 15:13:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ecf218af0)

    lib-storage: Fix error message when mailbox list index rebuild fails

    The error needs to be copied to mailbox_list, otherwise it's just
    "Unknown internal list error".

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

2020-10-27 15:11:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7e4515266)

    lib-storage: Fix mailbox list iteration error handling for INBOX

    If INBOX isn't in the first namespace, the error wasn't correctly set for 
    it.

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

2020-10-27 15:08:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fdf93eded)

    lib-storage: Use mailbox_get_last_mail_error() for mailbox_get_path_to()
    errors

    mailbox_list_get_last_error() happens to work currently, but it's 
    accidental.

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

2020-11-02 18:55:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (68380ecde)

    lib-index: Fix detecting if index is undeleted

    It was possible that mail_index_is_deleted() kept returning that the index 
    was deleted, even if it was marked as undeleted. This happened when the 
    deletion was in dovecot.index.log.2, undeletion in dovecot.index.log and 
    dovecot.index pointed to the .log.2 file. This caused the .log file to be 
    read first, which sees the undeletion. Later on the .log.2 was parsed and it
    marked the index back as deleted.

M	src/lib-index/mail-index-private.h
M	src/lib-index/mail-transaction-log-file.c

2020-11-06 17:07:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c2122e006)

    imap: Improve imap-client-hibernate unit test


M	src/imap/imap-client-hibernate.c
M	src/imap/imap-client.h
M	src/imap/test-imap-client-hibernate.c

2020-08-24 19:10:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (867ddfba4)

    imap: imap_client_hibernate() - Return reason string on failure

    This helps writing a unit test for it.

M	src/imap/cmd-idle.c
M	src/imap/imap-client-hibernate.c
M	src/imap/imap-client.h

2020-08-24 19:10:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d75fbac7f)

    imap: Delay initializing client IO until client_create_finish()

    This helps writing unit tests.

M	src/imap/imap-client.c

2020-08-24 16:58:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1ea3a379a)

    imap: Fix crash if imap-hibernate socket can't be connected to

    The error was supposed to be returned to caller, not logged directly.

M	src/imap/imap-client-hibernate.c

2020-08-17 18:26:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (259b4279f)

    lib-imap: Add imap_parser_client_read_tag()


M	src/lib-imap/imap-parser.c
M	src/lib-imap/imap-parser.h

2020-08-17 18:22:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c832b1a63)

    imap-login: Use imap_parser_read_tag() and _read_command_name()


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

2020-08-17 18:15:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a7103e0c1)

    imap-login: Split off client_invalid_command()


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

2020-08-17 18:11:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (09e436242)

    imap: Use imap_parser_read_tag() and _read_command_name()


M	src/imap/imap-client.c

2020-08-17 17:59:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (253787d72)

    imap: Split off client_command_failed_early()


M	src/imap/imap-client.c

2020-08-17 17:32:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (99159f963)

    lib-imap: Add imap_parser_read_tag() and _read_command_name()


M	src/lib-imap/imap-parser.c
M	src/lib-imap/imap-parser.h
M	src/lib-imap/test-imap-parser.c

2020-10-23 10:56:08 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d101feb06)

    lib: Be less verbose in event filter tests

    Only print the input string if the test failed.

M	src/lib/test-event-filter-parser.c

2020-09-11 10:57:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6ae93c393)

    lib-imap: Don't generate invalid BODYSTRUCTURE when reaching MIME part limit

    If the last MIME part was message/rfc822 and its child was truncated away, 
    BODYSTRUCTURE was missing the ENVELOPE and BODY[STRUCTURE] parts. Fixed by 
    writing empty dummy ones.

M	src/lib-imap/imap-bodystructure.c

2020-09-11 09:53:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (67f792cb9)

    lib-mail: message-parser - Fix assert-crash when enforcing MIME part limit

    The limit could have been exceeded with message/rfc822 parts.

M	src/lib-mail/message-parser.c
M	src/lib-mail/test-message-parser.c

2020-08-24 19:12:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b4a9872b8)

    imap: Add unit test for imap-client-hibernate


M	src/imap/Makefile.am
M	src/imap/imap-client-hibernate.c
M	src/imap/imap-client.h
A	src/imap/test-imap-client-hibernate.c

2020-08-17 18:33:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (00df2308b)

    imap: Escape tag when sending it to imap-hibernate process


M	src/imap/imap-client-hibernate.c

2020-11-05 16:02:39 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a8a2ca01d)

    configure: Update version to 2.3.13


M	configure.ac

2020-10-27 23:16:44 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (184a9526e)

    lib-smtp: smtp-server-connection - Make sure output stream errors are
    handled.


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

2020-10-26 10:19:46 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (75ab81059)

    lib-ssl-iosteam: ostream-openssl - Make sure error on plaintext streams is
    propagated.


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

2020-10-26 22:04:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5b4e8e981)

    lib-ssl-iostrea: ostream-openssl - Add local variable for ssl_io in
    o_stream_ssl_flush_buffer().


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

2020-11-05 13:25:19 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (98798b85a)

    auth: db-oauth2 - Do not allow empty active_value or active_attribute, when
    other is set


M	src/auth/db-oauth2.c

2020-10-29 11:37:22 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (0ce1f3495)

    auth: db-oauth2 - If active attribute is present in request, check it

    If the attribute is missing, do not assume it's false.

M	src/auth/db-oauth2.c

2020-10-29 11:36:00 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (3330dbe12)

    auth: db-oauth2 - Check active attribute by default


M	src/auth/db-oauth2.c

2020-10-22 11:42:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fd8ae5027)

    auth: db-oauth2 - Change active:false to mean invalid token

    Specifications say that invalid token, expired token and any other reason
    why the token can be considered invalid should return
    {"active":false} reply with no other fields.

    Thus, we need to consider this as invalid token.

M	src/auth/db-oauth2.c

2020-10-22 11:41:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bec575990)

    auth: db-oauth2 - Allow active:false without username


M	src/auth/db-oauth2.c

2020-10-13 17:34:12 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (17813e78b)

    lib-storage: Skip setting log view in mailbox_get_expunges_init when
    box->view is outdated.

    This fixes assert-crash when IMAP client uses QRESYNC and lots of changes
    happen between syncing points.

    Fixes: Panic: file mail-transaction-log-view.c: line 144
    (mail_transaction_log_view_set): assertion failed: (min_file_seq <=
    max_file_seq)

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

2020-10-29 12:34:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (28301c44d)

    lib-fts: test-fts-filter - Fix clang suspicious concatenation of string
    literals warning

    Fixes: warning: suspicious concatenation of string literals in an array
    initialization; did you mean to separate the elements with a comma?
    [-Wstring-concatenation]

M	src/lib-fts/test-fts-filter.c

2020-10-29 12:33:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9e72e39d5)

    lib: Standardize STMT_BEGIN and STMT_END

    do .. while(0) should work everywhere.

    This also fixes warnings given by new clang: warning: '}' and ')' tokens
    terminating statement expression appear in different macro expansion
    contexts [-Wcompound-token-split-by-macro]

M	src/lib/macros.h

2020-10-29 12:32:44 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e7342877f)

    lib: test-istream - Don't try to return void


M	src/lib/test-istream.c

2020-10-28 12:45:09 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (05a491eeb)

    lib: test-file-cache - Add asserts for initial return value of
    file_cache_get


M	src/lib/test-file-cache.c

2020-10-28 12:23:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (57c63983d)

    lib-lda: Update mail sizes to event only if they are known


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

2020-10-28 12:22:58 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (edb32ea0e)

    lib-storage: raw-mail - Cast st_size to uoff_t

    mbox->size is unsigned field, and st_size will be -1 is the stat target is
    not regular file or symbolic link. This can happen if it's stream like
    stdin.

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

2020-10-23 14:54:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (005a3d3b5)

    lib-fs: iteration - Fix crash when overwriting iteration error

    Can't use fs_file_path() because file is NULL. Instead, add the path to 
    struct fs_iter directly so it can be used in the error.

    Broken by eaaf40ca4e8994824abff89fc617c3cc737d83a5

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

2020-10-22 20:21:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7a97dfb74)

    quota: Avoid implicit integer conversion to unsigned in quota calculation

    Deducting negative number from unsigned integer causes signed integer
    conversion to unsigned int, which results a too large positive number. Do
    calculations using int64 instead.

    This did not cause any visible problems, found by clang integer
    sanitization.

M	src/plugins/quota/quota.c

2020-10-22 18:53:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (408a4323a)

    global: Fix overzealous use of ENUM_NEGATE


M	src/lib-index/mail-transaction-log-file.c
M	src/lib-ssl-iostream/iostream-openssl-context.c

2020-10-22 22:46:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d1808bf2d)

    lib: istream-seekable - Fix returning stream size

    The returned size may have been truncated.

M	src/lib/istream-seekable.c
M	src/lib/test-istream-seekable.c

2020-10-16 11:21:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (966140ac5)

    lib-fs: Add assert to make sure we never log "(null)" as the old error


M	src/lib-fs/fs-api.c

2020-10-16 11:20:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8a094bf12)

    lib-fs: Fix logging old error when an unlogged error is replaced by new
    error

    The old error was logged as "(null)" if the error happened in a non-root
    (filter) file.

M	src/lib-fs/fs-api.c

2020-10-16 10:19:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eaaf40ca4)

    lib-fs: Include file's path when logging pending error messages

    Otherwise it may not be known which file the error is about.

    This happens when a file is freed without the last error being logged. Also
    when an unlogged error is being replaced with a new error.

M	src/lib-fs/fs-api.c

2020-09-24 13:44:58 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (23645222d)

    lib: event-filter-parser - Disallow non-equals comparators on non-fields

    Non-equals comparisons (<, <=, >, and >=) aren't well defined for anything 
    other than fields.  Therefore, if we encounter one of these comparators with 
    an event name, category name, or source location, we should error out and 
    avoid confusing the user.

M	src/lib/event-filter-parser.y
M	src/lib/test-event-filter-parser.c

2020-10-15 20:34:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (81e2119bf)

    lib-storage: Delay recreating event when closing mail

    If the mail isn't reused, the event is unnecessary.

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

2020-10-19 13:49:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fb6aa6443)

    global: Explicitly wrap values to fit target


M	src/lib-compression/test-compression.c
M	src/lib-imap/imap-utf7.c
M	src/lib/base64.c
M	src/lib/test-array.c
M	src/lib/test-data-stack.c
M	src/lib/test-istream-concat.c
M	src/lib/test-istream-seekable.c

2020-09-01 09:44:04 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (48b2c8cfa)

    global: Add explicit casts where needed

    Squash implicit conversion complains from sanitizer.

M	src/auth/crypt-blowfish.c
M	src/lib-index/mail-index-sync-keywords.c
M	src/lib-index/mail-index-sync-update.c
M	src/lib-lua/dlua-dovecot.c
M	src/lib-master/master-service.c
M	src/lib-storage/index/mbox/mbox-sync-rewrite.c
M	src/lib-storage/index/mbox/mbox-sync-update.c
M	src/lib-storage/index/mbox/mbox-sync.c
M	src/lib/test-array.c
M	src/lib/test-failures.c
M	src/lib/test-unichar.c

2020-08-13 11:36:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fd35a7baa)

    global: Disable undefined behaviour sanitization for select locations


M	src/auth/crypt-blowfish.c
M	src/lib-http/http-client-peer.c
M	src/lib-otp/otp-parse.c
M	src/lib/bits.h
M	src/lib/buffer.c
M	src/lib/data-stack.c
M	src/lib/hash.c
M	src/lib/md4.c
M	src/lib/md5.c
M	src/lib/strnum.c
M	src/lib/test-bits.c

2020-08-20 08:39:26 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f4cca6a5c)

    global: Fix negation with constants to match target type


M	src/doveadm/doveadm-dump-log.c
M	src/lib-index/mail-cache-transaction.c
M	src/lib-index/mail-index-private.h
M	src/lib-index/mail-index-sync-update.c
M	src/lib-index/mail-index-util.c
M	src/lib-storage/index/index-mail.h
M	src/lib-storage/index/mbox/mbox-lock.c
M	src/lib-storage/list/mailbox-list-index-notify.c
M	src/lib/hash.c
M	src/lib/md4.c
M	src/lib/md5.c
M	src/lib/test-bits.c
M	src/plugins/fts-squat/squat-uidlist.c

2020-08-20 08:35:59 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4684a4a0e)

    global: Use ENUM_NEGATE() macro where necessary


M	src/auth/auth-fields.c
M	src/doveadm/doveadm-dump-index.c
M	src/doveadm/doveadm-mail-mailbox-cache.c
M	src/doveadm/doveadm-mail-mailbox-status.c
M	src/doveadm/dsync/dsync-brain.c
M	src/doveadm/dsync/dsync-ibc-stream.c
M	src/doveadm/dsync/dsync-transaction-log-scan.c
M	src/imap-login/imap-proxy.c
M	src/imap/cmd-list.c
M	src/imap/imap-search.c
M	src/imap/imap-sync.c
M	src/lib-dict-backend/dict-cdb.c
M	src/lib-fs/fs-api.c
M	src/lib-fs/fs-metawrap.c
M	src/lib-index/mail-cache-decisions.c
M	src/lib-index/mail-cache-fields.c
M	src/lib-index/mail-cache-purge.c
M	src/lib-index/mail-cache-transaction.c
M	src/lib-index/mail-index-map-hdr.c
M	src/lib-index/mail-index-sync-update.c
M	src/lib-index/mail-index-sync.c
M	src/lib-index/mail-index-transaction-update.c
M	src/lib-index/mail-index-transaction-view.c
M	src/lib-index/mail-index-view-sync.c
M	src/lib-index/mail-transaction-log-file.c
M	src/lib-index/mail-transaction-log-view.c
M	src/lib-index/test-mail-cache-purge.c
M	src/lib-index/test-mail-index-transaction-update.c
M	src/lib-mail/message-decoder.c
M	src/lib-mail/message-parser.c
M	src/lib-smtp/smtp-server-connection.c
M	src/lib-ssl-iostream/iostream-openssl-context.c
M	src/lib-storage/index/cydir/cydir-save.c
M	src/lib-storage/index/cydir/cydir-storage.c
M	src/lib-storage/index/dbox-common/dbox-save.c
M	src/lib-storage/index/dbox-multi/mdbox-mail.c
M	src/lib-storage/index/dbox-multi/mdbox-storage.c
M	src/lib-storage/index/dbox-single/sdbox-copy.c
M	src/lib-storage/index/dbox-single/sdbox-storage.c
M	src/lib-storage/index/imapc/imapc-list.c
M	src/lib-storage/index/imapc/imapc-mail-fetch.c
M	src/lib-storage/index/imapc/imapc-mailbox.c
M	src/lib-storage/index/imapc/imapc-save.c
M	src/lib-storage/index/imapc/imapc-storage.c
M	src/lib-storage/index/index-mail-headers.c
M	src/lib-storage/index/index-mail.c
M	src/lib-storage/index/index-search.c
M	src/lib-storage/index/index-status.c
M	src/lib-storage/index/index-storage.c
M	src/lib-storage/index/maildir/maildir-filename-flags.c
M	src/lib-storage/index/maildir/maildir-mail.c
M	src/lib-storage/index/maildir/maildir-save.c
M	src/lib-storage/index/maildir/maildir-sync-index.c
M	src/lib-storage/index/maildir/maildir-uidlist.c
M	src/lib-storage/index/mbox/mbox-save.c
M	src/lib-storage/index/mbox/mbox-sync-update.c
M	src/lib-storage/index/mbox/mbox-sync.c
M	src/lib-storage/index/pop3c/pop3c-storage.c
M	src/lib-storage/index/raw/raw-storage.c
M	src/lib-storage/list/mailbox-list-fs-iter.c
M	src/lib-storage/list/mailbox-list-index-backend.c
M	src/lib-storage/list/mailbox-list-index-iter.c
M	src/lib-storage/list/mailbox-list-index-status.c
M	src/lib-storage/list/mailbox-list-index-sync.c
M	src/lib-storage/list/mailbox-list-index.c
M	src/lib-storage/list/mailbox-list-iter.c
M	src/lib-storage/list/mailbox-list-maildir-iter.c
M	src/lib-storage/list/mailbox-list-subscriptions.c
M	src/lib-storage/mail-storage-service.c
M	src/lib-storage/mail-storage.c
M	src/lib-storage/mailbox-attribute.c
M	src/lib/askpass.c
M	src/lib/fd-util.c
M	src/lib/ioloop-poll.c
M	src/lib/iostream-temp.c
M	src/lib/net.c
M	src/plugins/acl/acl-cache.c
M	src/plugins/acl/acl-mailbox-list.c
M	src/plugins/acl/acl-mailbox.c
M	src/plugins/fs-compress/fs-compress.c
M	src/plugins/fts-lucene/fts-backend-lucene.c
M	src/plugins/fts-solr/fts-backend-solr.c
M	src/plugins/lazy-expunge/lazy-expunge-plugin.c
M	src/plugins/mail-crypt/fs-crypt-common.c
M	src/plugins/quota/quota-storage.c
M	src/plugins/replication/replication-plugin.c
M	src/plugins/virtual/virtual-storage.c
M	src/plugins/virtual/virtual-sync.c
M	src/util/rawlog.c

2020-09-23 14:51:53 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (38a1c8fc8)

    global: Use UOFF_T_MAX instead of (uoff_t)-1


M	src/anvil/anvil-settings.c
M	src/auth/auth-settings.c
M	src/config/config-settings.c
M	src/dict/dict-settings.c
M	src/director/director-settings.c
M	src/dns/dns-client-settings.c
M	src/doveadm/doveadm-settings.c
M	src/doveadm/dsync/dsync-mail.h
M	src/doveadm/dsync/dsync-mailbox-export.c
M	src/doveadm/dsync/dsync-mailbox-import.c
M	src/doveadm/dsync/dsync-transaction-log-scan.c
M	src/imap-hibernate/imap-hibernate-settings.c
M	src/imap-login/imap-login-settings.c
M	src/imap-urlauth/imap-urlauth-login-settings.c
M	src/imap-urlauth/imap-urlauth-settings.c
M	src/imap-urlauth/imap-urlauth-worker-settings.c
M	src/imap/cmd-append.c
M	src/imap/imap-fetch-body.c
M	src/imap/imap-settings.c
M	src/indexer/indexer-settings.c
M	src/indexer/indexer-worker-settings.c
M	src/ipc/ipc-settings.c
M	src/lda/main.c
M	src/lib-compression/istream-bzlib.c
M	src/lib-compression/istream-lzma.c
M	src/lib-compression/istream-zlib.c
M	src/lib-fs/fs-api.c
M	src/lib-fs/fs-metawrap.c
M	src/lib-fs/fs-posix.c
M	src/lib-http/http-client-connection.c
M	src/lib-http/http-header-parser.c
M	src/lib-http/http-response-parser.c
M	src/lib-http/http-server-request.c
M	src/lib-http/test-http-payload.c
M	src/lib-imap-storage/imap-msgpart-url.c
M	src/lib-imap-storage/imap-msgpart.c
M	src/lib-imap-storage/imap-msgpart.h
M	src/lib-index/mail-index-map-hdr.c
M	src/lib-index/mail-index-map-read.c
M	src/lib-index/mail-index-sync-update.c
M	src/lib-index/mail-index-sync.c
M	src/lib-index/mail-index-view-sync.c
M	src/lib-index/mail-transaction-log-file.c
M	src/lib-index/mail-transaction-log-private.h
M	src/lib-index/mail-transaction-log-view.c
M	src/lib-index/mail-transaction-log.c
M	src/lib-index/test-mail-transaction-log-view.c
M	src/lib-mail/istream-attachment-connector.c
M	src/lib-mail/istream-attachment-connector.h
M	src/lib-mail/istream-header-filter.c
M	src/lib-mail/test-istream-attachment.c
M	src/lib-settings/settings-parser.c
M	src/lib-smtp/smtp-command-parser.c
M	src/lib-smtp/smtp-server-connection.c
M	src/lib-smtp/smtp-server-reply.c
M	src/lib-smtp/test-smtp-payload.c
M	src/lib-storage/index/dbox-common/dbox-file-fix.c
M	src/lib-storage/index/dbox-common/dbox-file.c
M	src/lib-storage/index/dbox-common/dbox-mail.c
M	src/lib-storage/index/dbox-multi/mdbox-file.c
M	src/lib-storage/index/imapc/imapc-mail-fetch.c
M	src/lib-storage/index/imapc/imapc-mail.c
M	src/lib-storage/index/index-mail-binary.c
M	src/lib-storage/index/index-mail.c
M	src/lib-storage/index/istream-mail.c
M	src/lib-storage/index/maildir/maildir-copy.c
M	src/lib-storage/index/maildir/maildir-mail.c
M	src/lib-storage/index/maildir/maildir-save.c
M	src/lib-storage/index/maildir/maildir-uidlist.c
M	src/lib-storage/index/mbox/istream-raw-mbox.c
M	src/lib-storage/index/mbox/istream-raw-mbox.h
M	src/lib-storage/index/mbox/mbox-mail.c
M	src/lib-storage/index/mbox/mbox-save.c
M	src/lib-storage/index/mbox/mbox-sync-parse.c
M	src/lib-storage/index/mbox/mbox-sync-rewrite.c
M	src/lib-storage/index/mbox/mbox-sync-update.c
M	src/lib-storage/index/mbox/mbox-sync.c
M	src/lib-storage/index/pop3c/pop3c-mail.c
M	src/lib-storage/index/raw/raw-mail.c
M	src/lib-storage/index/raw/raw-storage.c
M	src/lib/file-cache.c
M	src/lib/istream-concat.c
M	src/lib/istream-failure-at.c
M	src/lib/istream-limit.c
M	src/lib/istream-private.h
M	src/lib/istream-seekable.c
M	src/lib/istream-tee.c
M	src/lib/istream.c
M	src/lib/ostream-file.c
M	src/lib/ostream.h
M	src/lib/strnum.c
M	src/lib/test-iostream-temp.c
M	src/lib/test-istream-concat.c
M	src/lib/test-istream-sized.c
M	src/lib/test-istream.c
