2021-03-04 09:52:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (cee3cbc0d)

    NEWS: Mention XZ/LZMA removal.


M	NEWS

2021-03-02 10:55:53 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4e50dcb9e)

    NEWS: Update news for 2.3.14


M	NEWS

2021-01-22 14:00:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (52e6c6f4e)

    lib-compression: Remove xz/lzma write support

    For now, we keep the read support to allow for a more gradual migration from 
    lzma/xz.

    The code has bugs.  Additionally, there is no benefit in keeping it around. 
    bzip2 or zstd (at maximum compression level) are likely better choices for 
    archival.  For non-archival usecases, a light compression algorithm like 
    zstd (at low to medium compression level) or lz4 are better choices.

M	configure.ac
M	run-test-valgrind.supp
M	src/lib-compression/Makefile.am
M	src/lib-compression/compression.c
D	src/lib-compression/ostream-lzma.c
M	src/lib-compression/ostream-zlib.h
M	src/lib-compression/test-compression.c

2021-02-16 13:39:02 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4ccddd0c6)

    doc/example: 10-metrics.conf - Add metrics related settings


A	doc/example-config/conf.d/10-metrics.conf
M	doc/example-config/conf.d/Makefile.am

2021-02-16 13:25:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b2dd70fc2)

    doc/eaxmple: 10-logging.conf - Update syntax example to point to online
    documentation


M	doc/example-config/conf.d/10-logging.conf

2021-02-24 17:51:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4ea5787c8)

    lib-mail: message-parser - Always properly finish parsed input

    If the caller hadn't called message_parser_parse_next_block() after seeing
    EOF in the istream, the deinit could have crashed with:

    Panic: file message-parser.c: line 802 (message_parser_deinit_from_parts):
    assertion failed: (ctx->nested_parts_count == 0 ||
    i_stream_have_bytes_left(ctx->input))

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

2021-02-18 16:25:50 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c0f460b72)

    stats: openmetrics: Do microsecond to seconds conversion only for duration
    values

    Other metrics should be exported with their values unchanged.

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

2021-02-16 21:06:50 +0100 Martin Michaelis <code@mgjm.de> (939c30da5)

    stats: openmentrics: Change histogram bucket unit to seconds

    In ae678116a79fff609cdf4fb1eb7eb3db2975bf1c the unit of durations was
    changed from microseconds to seconds, but the `le` field in histograms is
    still in microseconds.

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

2021-02-18 21:39:09 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (fcdaab6b2)

    stats: refactor duration field name into a macro


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

2019-01-04 09:57:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (db0ab5853)

    plugins: fts-solr: Use a private HTTP client.

    This is a workaround for problems with the
    http_client_request_send_payload() API that occur when several shared HTTP
    clients use this API at the same time and payload sending gets interleaved.

M	src/plugins/fts-solr/solr-connection.c

2019-01-04 09:55:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1ff9c5aff)

    plugins: fts: tika: Use a private HTTP client.

    This is a workaround for problems with the
    http_client_request_send_payload() API that occur when several shared HTTP
    clients use this API at the same time and payload sending gets interleaved.

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

2021-02-17 11:16:58 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (eee37ef68)

    NEWS: Change 2.3.14 to release candidate


M	NEWS

2021-02-12 14:45:39 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (882ab22f5)

    config: test-config-parser - Change filename to match .gitignore pattern


M	src/config/test-config-parser.c

2021-02-12 14:32:01 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a33be17c6)

    config: test-config-parser - Cleanup input file after test


M	src/config/test-config-parser.c

2021-02-10 15:20:13 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (7d4a50114)

    NEWS: Add news for 2.3.14


M	NEWS

2021-02-08 10:05:47 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e57a34bdc)

    lib-settings: test-settings-parser - Use ULL suffix

    Some of the sizes do not fit to UL in 32 bit systems.

M	src/lib-settings/test-settings-parser.c

2021-01-28 17:04:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (52d787109)

    lib-mail: test-message-snippet - Add unit tests for multipart messages


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

2021-02-03 17:22:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (0c6a0dd18)

    lib-mail: test-message-snippet - Use test_assert_strcmp

    Makes it easier to see what failed.

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

2021-01-28 16:52:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (0172d687a)

    lib-mail: Reformat test-message-snippet.c


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

2021-01-28 17:01:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (58b6e2f11)

    lib-mail: message-snippet - Stop building snippet on first non-empty part

    When we have gotten some snippet out of first eligible part, we can stop.

M	src/lib-mail/message-snippet.c

2021-01-28 16:48:05 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9f0c3bd9c)

    lib-mail: message-snippet - Do not stop on first non-text part

    Some mail structures would break snippet generation because the code would
    stop on multipart.

M	src/lib-mail/message-snippet.c

2021-01-28 11:07:32 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (72545451c)

    lib-mail: message-snippet - Free html parser before making new

    If html parser has already been initialized, free it before restarting the
    parser.

    Fixes memory leak introduced by 7f7be2cbf68f8a202a688d5bc50f82483d461643

M	src/lib-mail/message-snippet.c

2021-02-04 11:25:22 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (974d12816)

    configure: Update version to 2.3.14


M	configure.ac

2021-02-04 08:59:29 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (bf8286ac5)

    stats: stats-service-openmetrics - Use PRIdTIME_T for startup time


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

2021-02-04 08:57:24 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b97fa9643)

    login: login-proxy - Fix type conflict


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

2021-02-04 08:54:59 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (77de43799)

    lib-mail: test-message-header-decode - Use ptrdiff_t for rep_char_len

    The length is compared to a pointer difference, so using ptrdiff_t squashes
    a warning.

M	src/lib-mail/test-message-header-decode.c

2021-02-04 08:46:51 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e38c52558)

    lib-settings: test-setting-parser - Use correct type in test

    SIZE uses uoff_t.

M	src/lib-settings/test-settings-parser.c

2021-02-04 08:45:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8aa7f840c)

    lib: backtrace - Use correct format modifier

    Matches size_t correctly.

M	src/lib/backtrace-string.c

2021-02-04 08:44:46 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (01366bd18)

    lib: test-time-util - Use correct types for test case

    Fixes type mismatch on 32-bit systems.

M	src/lib/test-time-util.c

2021-01-19 19:11:47 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (0ac71cbbc)

    master: Fix reopening log files on SIGUSR1


M	src/master/main.c

2021-01-19 19:11:20 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (34f7b38b5)

    man: Clarify how doveadm log reopen works


M	doc/man/doveadm-log.1.in

2021-01-28 16:45:45 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (260b49d7a)

    dovecot.service.in: Update documentation URL


M	dovecot.service.in

2021-01-22 13:19:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (264d67d6f)

    lib-master: test-event-stats - Fix unit test when compiling using build
    directory

    When using build directory __FILE__ expands to
    "../../../src/lib-master/test-event-stats.c", which doesn't match
    "test-event-stats.c" what is normally used.

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

2021-01-18 18:14:47 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (001d919b9)

    lib-master: test-event-stats - Cast test value to uint64_t


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

2021-01-04 16:31:03 +0000 Paul Howarth <paul@city-fan.org> (2cc1feca9)

    lib: Fix timeval_cmp_margin for 32-bit systems

    The test suite compares times with seconds values of -INT_MAX and INT_MAX.
    The result of this comparison does not fit in a value of type int and so the
    test suite fails on 32-bit systems where time_t is an int. To fix this,
    calculations on seconds values are done using long long integers.

    Broken by 16ab5542

M	src/lib/time-util.c

2021-01-26 17:44:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (195f6742c)

    dsync: Use a better default vname escape character

    A control character was a bit unreadable in strings.

M	src/doveadm/doveadm-dsync.c

2021-01-26 18:55:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (00c766450)

    dsync: Replace escape characters in outgoing mailbox names with alt_char

    Especially when dsync is used for migration, we don't want to end up having 
    invalid mUTF7 mailbox names locally. Also, remote might not even be 
    configured to use the same escape character.

M	src/doveadm/dsync/dsync-brain-mailbox-tree.c

2021-01-26 18:54:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (11b549e55)

    dsync: Send alt_char also to slave brain


M	src/doveadm/doveadm-dsync.c
M	src/doveadm/dsync/dsync-brain.c
M	src/doveadm/dsync/dsync-brain.h
M	src/doveadm/dsync/dsync-ibc-stream.c
M	src/doveadm/dsync/dsync-ibc.h
M	src/doveadm/dsync/dsync-mailbox-tree.c

2021-01-18 23:53:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ae3de56ed)

    lib-storage: mailbox_list_escape_name_params() - Assert that escape_char
    isn't NUL


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

2021-01-15 19:27:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d02d59d34)

    imapc: Add comment explaining various mailbox names


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

2021-01-18 23:31:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b4ae3a5fa)

    imapc: fs mailbox_list - Remove vname_escape_char

    This isn't necessary.

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

2021-01-18 23:30:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1535a2ddb)

    imapc: Add IMAPC_LIST_FS_NAME_ESCAPE_CHAR

    This clarifies how the escape characters are used.

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

2021-01-18 23:23:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2a4264729)

    imapc: Add a default vname_escape_char

    Having vname_escape_char guarantees that all the remote mailbox names are 
    accessible by escaping them as necessary.

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

2021-01-18 23:19:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6abcea7e0)

    imapc: Fix local filesystem directory name escaping

    Use the remote mailbox name as the base. Convert the hierarchy separator and
    add escaping as necessary.

    The old method was based on storage_name, and it's a bit unclear if it 
    worked correctly in all situations.

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

2021-01-16 17:20:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fc0be41d1)

    imapc: Add imapc_list_remote_to_storage_name()


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

2021-01-16 15:03:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d8d1e4db3)

    imapc: Fix remote/storage mailbox name mismatches


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

2021-01-16 15:00:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0e2c465f4)

    imapc: Use more explicit mailbox name variable names

    Clearly specify which type of a mailbox name it is to avoid 
    misunderstandings.

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

2021-01-16 14:44:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ec9ad14e8)

    imapc: Rename imapc_list_get_fs_name() to imapc_list_storage_to_fs_name()


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

2021-01-16 14:41:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (caa30d512)

    imapc: Rename imapc_list_to_vname() to imapc_list_remote_to_vname()


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

2021-01-16 14:40:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b840f1fc1)

    imapc: Rename imapc_list_to_remote() to imapc_list_storage_to_remote_name()


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

2021-01-14 17:45:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bd8839f99)

    lib-storage: mailbox_list_default_get_storage_name() - Escape
    ns_prefix/INBOX if possible

    If storage_name_escape_char is set, escape the "I" letter in the 
    storage_name if the namespace also has inbox=yes. This way it's possible to 
    distinguish between the actual INBOX and ns_prefix/INBOX.

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

2021-01-14 17:33:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a243cdb74)

    lib-storage: Update mailbox_list_settings.{vname|storage_name}_escape_char
    comments

    Also add the examples in the comments to unit tests to make sure they really 
    work.

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

2021-01-14 17:27:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (73364f0f2)

    lib-storage: Fix mailbox name escape/unescape ordering

    This fixes some cases like not properly escaping '/' in storage_name if it 
    was also the namespace separator. This also allows using the same character 
    for both vname_escape_char and storage_name_escape_char.

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

2021-01-14 17:07:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6adcea35e)

    lib-storage: mailbox_list_default_get_vname() - Fix escaping namespace
    separator in storage_name

    For example if { storage_name="foo/bar", storage_sep=".", ns_sep="/" } the
    "/" in the name shouldn't be treated as a namespace separator. If
    vname_escape_char is set, it should be returned escaped instead.

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

2021-01-14 16:38:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e3be8553d)

    lib-storage: Use imap_escaped_utf8_to_utf7()


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

2021-01-14 16:32:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c50fd4ddf)

    lib-storage: Use imap_escaped_utf8_hex_to_char()


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

2021-01-14 16:23:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9d41e00ed)

    lib-storage: Use mailbox_list_settings.vname_escape_char also with utf8
    storage names

    mailbox_list_default_get_storage_name() was already unescaping with utf8, so
    mailbox_list_default_get_vname() should also be escaping with utf8.

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

2021-01-14 15:40:44 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6da08d8c6)

    lib-storage: mailbox_list_default_get_vname() - Use
    imap_utf7_to_utf8_escaped()

    This changes the output a bit for broken mUTF7 names. Previously if any part
    of the string had broken mUTF7 input, none of it was converted. Now it's
    instead trying to convert as much as it can.

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

2021-01-14 15:09:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5f858f84b)

    lib-storage: mailbox_list_default_get_vname() - Escape each hierarchical
    name separately

    Same reasoning as for the similar change for 
    mailbox_list_default_get_storage_name().

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

2021-01-14 12:47:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (af18e441c)

    lib-storage: Split off mailbox_list_storage_name_prepare()


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

2021-01-14 12:34:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8f139ccc9)

    lib-storage: mailbox_list_default_get_storage_name() - Escape each
    hierarchical name separately

    This makes it possible in the following commits to allow unescaping to write
    namespace hierarchy separator character without converting it into the
    mailbox_list separator.

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

2021-01-14 12:30:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5fd5ad3a2)

    lib-storage: mailbox_list_default_get_storage_name() - Cleanup shared
    namespace root handling


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

2021-01-14 12:03:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0dc071a97)

    lib-storage: Split off mailbox_list_vname_prepare()

    This also slightly changes the code logic. mailbox_list_escape_name() is now
    called also for INBOX, but that doesn't actually matter.

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

2021-01-14 15:22:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4224bb830)

    lib-storage: Remove mailbox_list_unescape_name() by moving its code inline

    There was only a single caller for this function. It doesn't need to exist.

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

2021-01-14 15:20:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (20e26b52d)

    lib-storage: Remove mailbox_list_escape_name() by moving its code inline

    There was only a single caller for this function. It doesn't need to exist.

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

2021-01-13 20:55:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (71877ef5e)

    lib-storage: Add unit tests for
    mailbox_list_default_get_{storage_name|vname}()


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

2021-01-13 18:50:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7b794d307)

    lib-storage: Rename mailbox_list_settings.broken_char to vname_escape_char

    This clarifies that it's only used in vnames.

M	src/doveadm/doveadm-dsync.c
M	src/lib-storage/index/imapc/imapc-list.c
M	src/lib-storage/index/imapc/imapc-storage.h
M	src/lib-storage/mailbox-list.c
M	src/lib-storage/mailbox-list.h

2021-01-13 18:47:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5cfd6cec1)

    lib-storage: Rename mailbox_list_settings.escape_char to
    storage_name_escape_char

    This clarifies that it's only used in storage_names.

M	src/lib-storage/index/imapc/imapc-list.c
M	src/lib-storage/index/imapc/imapc-storage.c
M	src/lib-storage/index/imapc/imapc-storage.h
M	src/lib-storage/mail-storage.c
M	src/lib-storage/mailbox-list.c
M	src/lib-storage/mailbox-list.h
M	src/plugins/listescape/listescape-plugin.c

2021-01-13 19:50:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bffa6a9c0)

    lib-imap: Add imap_utf7_to_utf8_escaped() and imap_escaped_utf8_to_utf7()

    These can be used to convert invalid mUTF-7 to escaped UTF-8 and back to the 
    original invalid input.

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

2021-01-13 19:48:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (db7054d86)

    lib-imap: test-imap-utf7 - Simplify test_imap_utf7_non_utf16()


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

2021-01-13 19:19:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (40070778c)

    lib-imap: Move unnecessary shift check to mbase64_decode_to_utf8()


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

2021-01-13 19:17:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (02f35f281)

    lib-imap: test-imap-utf7 - Improve/clarify testing '&'

    & is never base64-encoded.

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

2021-01-25 13:32:18 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (aeea2ce10)

    config: Add unit test for config parser


M	src/config/Makefile.am
A	src/config/test-config-parser.c

2021-01-20 10:07:56 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (686c1f22a)

    config: Extract sources to libconfig.la

    Makes unit testing possible

M	src/config/Makefile.am

2021-01-19 11:54:15 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8ab5ea3dd)

    lib-settings: test-settings - Add tests for settings file


M	configure.ac
M	src/lib-settings/Makefile.am
A	src/lib-settings/test-settings.c

2021-01-18 15:43:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (dc5600c98)

    test-settings-parser: Add test for size


M	src/lib-settings/test-settings-parser.c

2021-01-18 15:32:51 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c064eea80)

    lib-settings: test-settings-parser - Add test for settings parser


M	src/lib-settings/test-settings-parser.c

2021-01-18 14:11:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4b0ffe163)

    lib-settings: Add support for $ENV:name

    Expands into given environment variable

M	src/lib-settings/settings.c

2020-01-22 14:34:15 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (479223dc5)

    config: Add support for $ENV:name

    Expands into given environment variable

M	src/config/config-parser.c

2020-01-22 14:33:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2edc5200f)

    config: Expand multiple variables per line

    Needed to properly support environment variables.

M	src/config/config-parser.c

2021-01-20 10:49:23 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9c6bc94d9)

    config: config-parser - Add config_write_keyvariable

    Move code handling key variable expansion to separate function. Simplifies
    next commit.

M	src/config/config-parser.c

2021-01-12 13:53:19 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (18ddfa4ed)

    lib-storage: Make lua methods and functions use the passed in lua_State *
    directly


M	src/lib-storage/mail-user-lua.c
M	src/lib-storage/mailbox-lua.c

2021-01-12 14:27:31 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fd03e3c9a)

    lib-storage: Make dlua_push_mail() take lua_State * directly


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

2021-01-12 14:26:07 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fba66539f)

    lib-storage: Make dlua_push_mail_user() take lua_State * directly


M	src/lib-storage/mail-storage-lua.h
M	src/lib-storage/mail-user-lua.c
M	src/plugins/mail-lua/mail-lua-plugin.c
M	src/plugins/push-notification/push-notification-driver-lua.c

2021-01-12 13:30:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8c77a11e8)

    lib-storage: Make lua_storage_cmp() take lua_State * directly


M	src/lib-storage/mail-storage-lua-private.h
M	src/lib-storage/mail-user-lua.c
M	src/lib-storage/mailbox-lua.c

2021-01-12 12:59:39 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (9e2ceb472)

    lib-storage: Make lua_check_storage_mailbox() take lua_State * directly


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

2021-01-12 12:02:05 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (f15ca44e5)

    lib-storage: Make dlua_push_mailbox() take lua_State * directly


M	src/lib-storage/mail-lua.c
M	src/lib-storage/mail-storage-lua.h
M	src/lib-storage/mail-user-lua.c
M	src/lib-storage/mailbox-lua.c

2021-01-07 18:12:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7e98d506b)

    master: Send instance_name setting to log process

    This way log process can use it for syslog ident

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

2020-12-07 15:58:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f1a97bdc3)

    cassandra: Fix logging messages with LFs

    At least some trace level messages had them.

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

2020-04-18 12:56:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4a7f625ee)

    m4: Fix configuration of libunwind on i386 (and probably other systems).

    Use the standard libunwind-coredump instead of the system-dependent library. 
    This way, all can be configured using pkg-config, without relying on a
    failed attempt to use the $build_cpu variable to find the system-dependent
    library. This fails on i386 and probably other systems as well.

M	m4/want_unwind.m4
M	run-test-valgrind.supp

2020-03-25 16:20:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7036a7bfe)

    lib-imap: imap_bodystructure_write() - Add asserts to check unexpected NULLs
    inside lists

    This just changes the assert that already triggers into a bit clearer 
    assert.

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

2020-03-25 15:52:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8818482ba)

    lib-imap: Add unit test for invalid BODYSTRUCTUREs


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

2020-03-25 15:52:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d749c280b)

    lib-imap: imap_arg_get/as_nstring() - fail if input is an atom

    Atoms were wrongly allowed in these places.

    These have been used in very few places, so this change should be pretty 
    safe to do. The only affected places are:

     * SETMETADATA - Backwards compatibility preserved by earlier commit
    * ID - It's not expected that any clients use atoms here
    * imapc - Server replies are parsed more strictly now

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

2020-03-25 15:49:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dd43103e2)

    lib-imap: Don't wrongly accept NILs or atoms when parsing BODYSTRUCTURE

    Especially NILs could cause crashes later on when some internal field is 
    NULL when it's not expectedly to be.

    Fixes a crash when parsing BODYSTRUCTURE and writing it out with 
    imap_bodystructure_write() when some of the parameter lists contained NILs.

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

2020-03-25 15:47:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (69be6e9a8)

    lib-imap: imap_body_parse_from_bodystructure() - Write size field as atom

    Following changes will break writing it as nstring.

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

2020-03-25 16:00:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (923362d27)

    imap: SETMETADATA - Explicitly support using atoms for values

    Required to keep atoms working (and especially not assert-crashing) after 
    the following imap_arg_get_nstring() change.

M	src/imap/cmd-setmetadata.c

2021-01-20 11:15:18 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (429a12a38)

    lib: event-filter - Implement event_filter_merge() unit test


M	src/lib/Makefile.am
A	src/lib/test-event-filter-merge.c
M	src/lib/test-lib.inc

2021-01-12 11:15:44 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ebb4a80f8)

    lib: event-filter - Use p_strdup() instead of p_strdup_empty() to avoid
    NULLs

    The code used p_strdup_empty() in an (incorrect) attempt to avoid NULLs 
    turning into empty strings ("").  None of the strdup variants do this. 
    However, p_strdup_empty() converts empty strings to NULLs.  This caused a 
    NULL pointer dereference later on.

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

2021-01-21 09:15:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9577b94d5)

    lib: test-lib - Free event filters

    Fixes memory leak

    Forgotten from 01ccf687d660331ca3e483c90582156757cebb7f

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

2021-01-19 13:46:13 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (01ccf687d)

    lib: event-filter - Implement filter boolean expression unit tests

    This is a exhaustive test of the boolean operators using field equality 
    comparisons.  This test code focuses on the boolean operators (AND, OR, NOT)
    and not on the comparison operators (=, <, >, <=, and >=) and their 
    arguments (event names, source locations, categories).

M	src/lib/Makefile.am
A	src/lib/test-event-filter-expr.c
M	src/lib/test-lib.inc

2021-01-19 13:42:17 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (784302007)

    lib: event-filter - Correct a comment referring to old filter syntax


M	src/lib/event-filter.c

2021-01-19 13:41:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ae60143ac)

    lib: event-filter - Add a helper function to get at the filter's boolean
    expression

    This is necessary for the soon-to-be-implemented unit tests.

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

2021-01-19 13:40:17 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (586b2386e)

    lib: event-filter - Expose internal functions to allow for unit testing

    We'll need these to avoid code duplication when unit testing the boolean 
    expression evaluation logic.

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

2021-01-04 12:01:28 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (abe9c7585)

    lib: event-filter - Make NOT operator right associative and higher
    precedence

    For example, consider the filter:

        event=* AND
       NOT event=foo AND
       NOT event=bar AND
       NOT event=baz

    The "NOT" operator is supposed to be bound to the comparisons to the 
    immediate right.  That is, it supposed to be equivalent to:

        event=* AND
       (NOT event=foo) AND
       (NOT event=bar) AND
       (NOT event=baz)

    Both of these should produce the following parse tree:

        AND
         AND
           AND
             EQ EVENT '*'
             NOT
               EQ EVENT 'foo'
           NOT
             EQ EVENT 'bar'
         NOT
           EQ EVENT 'baz'

    Instead, before this commit, the NOTs were getting bound to the entire 
    sub-expression to the right.  Therefore, the original filter expression was
    being parsed as if it were:

        event=* AND
       NOT (event=foo AND
            NOT (event=bar AND
                 NOT event=baz))

    Which produced the following parse tree:

        AND
         EQ EVENT '*'
         NOT
           AND
             EQ EVENT 'foo'
             NOT
               AND
                 EQ EVENT 'bar'
                 NOT
                   EQ EVENT 'baz'

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

2021-01-14 20:31:18 +0100 Philippe Antoine <contact@catenacyber.fr> (709727324)

    lib-test: fuzzer - Don't crash in targets without ioloop


M	src/lib-test/fuzzer.c

2021-01-18 17:53:36 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (93652abc5)

