2018-03-27 19:51:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8e2f634)

    Release 2.3.1


M	configure.ac

2018-03-20 10:59:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (df36024)

    NEWS: Add v2.3.1


M	NEWS

2018-03-19 11:34:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5282175)

    NEWS: Update to 2.3.0.1


M	NEWS

2018-03-15 22:36:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c5a5c0c)

    lib-smtp: test-smtp-server-errors: Add test for DATA command erroneously
    used with BODY=BINARYMIME.


M	src/lib-smtp/test-smtp-server-errors.c

2018-03-15 22:34:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b8acb2f)

    lib-smtp: test-smtp-server-errors: Add tests for missing MAIL and RCPT
    commands before DATA command.


M	src/lib-smtp/test-smtp-server-errors.c

2018-03-15 22:36:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5cb6dc6)

    lib-smtp: server: Check that BINARYMIME is not used without CHUNKING.


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

2018-03-14 01:54:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f3192a7)

    submission: Add 8BITMIME and BINARYMIME back to supported capabilities.

    These are supported when the backend provides support. These were
    erroneously disabled earlier by 3bf0c0e211ba1e4ee9977a9dfea32e14ebc50aab.

M	src/submission/submission-common.h

2018-03-21 11:29:26 +0200 Arkadiusz Miśkiewicz <arekm@maven.pl> (e87de88)

    lib-master: Fix dns_wildcard_match usage

    Broken by 446c0b02a7802b676e893ccc4934fc7318d950ea

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

2018-03-12 14:50:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7cb9342)

    lib-dcrypt: test-stream - Ensure more is read when buffer becomes empty


M	src/lib-dcrypt/test-stream.c

2018-03-12 14:48:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (002702f)

    lib-dcrypt: istream-decrypt - Read more if buffer is empty

    If there is no more buffered data, try to decrypt more.

    - Fixes Panic: file istream.c: line 192 (i_stream_read): assertion failed:
    (!stream->blocking)
    - Fixes infinite loop when stream is not blocking

M	src/lib-dcrypt/istream-decrypt.c

2018-03-15 13:19:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5c6bae7)

    imapc: Update mail size also when RFC822.SIZE is smaller than fetched header
    size

    If this isn't done, istream-mail will detect that the fetched header is 
    larger than RFC822.SIZE and fail with "Cached message size smaller than 
    expected"

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

2018-03-15 12:20:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (44afc06)

    imapc: Update mail size also when istream_opened() hook is called

    When fetching a message body the cached message size was set. However, if
    istream_opened() hook was used this wasn't done. If a client had fetched
    both (RFC822.SIZE BODY.PEEK[]) and the server sent a wrong RFC822.SIZE, that
    size was used for the message body size, which resulted in "Cached message
    size larger than expected" errors.

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

2018-03-01 12:17:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3e65692)

    sdbox: Delete .temp* files on when save/copy transaction is rolled back

    For example when copying was aborted due to user being over quota, temp 
    files were left behind.

M	src/lib-storage/index/dbox-single/sdbox-save.c

2018-03-07 11:24:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6242cf5)

    notify: Fix crash if NO_NOTIFY transaction is rolled back during commit

    Fixes: Panic: no notify_mail_txn found

M	src/plugins/notify/notify-storage.c

2018-03-06 15:15:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bed7043)

    lib-master: Correctly match when local_name has multiple names

    Reported by J. Nick Koston <nick@cpanel.net>

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

2018-03-06 10:33:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (45ba1f5)

    lib-master: Reply from config process is tabescaped

    Found by J. Nick Koston <nick@cpanel.net>

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

2018-03-10 19:43:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c1256ee)

    config: tabescape local name and service


M	src/config/config-connection.c

2018-03-06 10:31:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a4a4bd2)

    config: Make local_name comparison faster

    Based on patch by J. Nick Koston <nick@cpanel.net>

M	src/config/config-filter.c

2018-03-12 15:06:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a28e082)

    imapc: Don't try to add mails to index if they already exist there

    Broken by 259a4ca5943123915a019799623d2e4a4ef7fd15 when imapc was used with
    (not in-memory) index files.

    This caused errors like "Append with UID 200, but next_uid = 201"

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

2018-03-09 16:09:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c4688bd)

    lmtp: Provide hidden support for ORCPT RCPT parameter.

    This is normally only available with the DSN capability, but we use it to 
    forward the original recipient in proxy setups.

    This feature was available in the original Dovecot v2.2 LMTP, but it got
    lost in the new lib-smtp implementation.

M	src/lmtp/client.c
M	src/lmtp/lmtp-proxy.c

2018-02-27 23:13:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (954d65a)

    lmtp: proxy: Use per-connection SMTP client settings.

    This is needed for setting source IP in later change. The peer_trusted
    setting must me moved, since this setting is overriden by per-connection
    settings, rather than merged.

M	src/lmtp/lmtp-proxy.c

2018-03-09 16:03:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (73654d4)

    lib-smtp: client: Add support for forcibly enabling support for a
    capability.

    Then it is enabled even when the server does not list it in the EHLO
    response.

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

2018-03-09 16:01:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (32b2ef2)

    lib-smtp: params: Make ORCPT parameter available separately if hidden
    capability is enabled.


M	src/lib-smtp/smtp-common.h
M	src/lib-smtp/smtp-params.c

2018-03-09 15:47:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8abbd4a)

    lib-smtp: common: Use the BIT() macro for defining the capability flags.


M	src/lib-smtp/smtp-common.h

2017-12-24 14:35:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b4534c9)

    lib-smtp: client: Fix rawlog input stream inconsistency by updating streams
    right after initializing TLS.

    Restructured the code to call a new function called
    smtp_client_connection_streams_changed() which performs all the necessary
    updates. Before, enabling rawlog could break the TLS handshake.

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

2017-12-01 13:46:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (af014a8)

    auth: Include tls=true/false in policy server request


M	src/auth/auth-policy.c

2017-12-01 13:30:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b06ad24)

    auth: Support secured=tls


M	src/auth/auth-request-var-expand.c
M	src/auth/auth-request.c
M	src/auth/auth-request.h
M	src/auth/test-auth-request-var-expand.c

2017-12-11 11:16:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b205e85)

    login-common: Pass SSL protocol details to auth


M	src/login-common/sasl-server.c

2017-12-01 13:16:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (192a990)

    login-common: Indicate TLS encryption if haproxy says it was


M	src/login-common/client-common.c
M	src/login-common/client-common.h
M	src/login-common/sasl-server.c

2017-12-11 11:08:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b7fafd6)

    lib-auth: Include ssl protocol details in request when present


M	src/lib-auth/auth-client-request.c
M	src/lib-auth/auth-client.h

2017-12-01 13:16:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3dffa06)

    lib-auth: Add AUTH_REQUEST_FLAG_TLS

    Indicates whether connection is over TLS encryption.

M	src/lib-auth/auth-client-request.c
M	src/lib-auth/auth-client.h

2017-12-11 11:00:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8230e3d)

    lib-ssl-iostream: Add accessors for additional SSL protocol details

    This is needed in order to send these details as fields to auth process

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

2017-12-13 09:52:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (36b9d01)

    m4: Check for SSL_CIPHER_get_kx_nid


M	m4/ssl.m4

2018-01-11 16:10:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (19ccc86)

    auth: Ensure crypt schemes match with samples


M	src/auth/password-scheme-crypt.c

2018-01-11 15:22:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (50d398f)

    auth: Fix crypt scheme detection

    Broken by 1ebb6094e5105ba7ef521a0177c42d3ea81243f0

M	src/auth/password-scheme-crypt.c

2018-02-08 15:45:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8b9b3d4)

    auth: Support standard auth variables in LDAP subqueries


M	src/auth/db-ldap.c

2018-01-28 21:39:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a61c327)

    lib-http: client: Assert that req->client != NULL in
    http_client_request_send_error().

    Applies when blocking payload output API is being used. Addresses a report
    by scan-build.

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

2018-01-20 18:48:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1ab6917)

    lib-http: test-http-payload: Initialize http_context in
    test_client_create_clients().

    Fixes complaint from scan-build.

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

2018-01-20 16:48:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1acfddc)

    lib-smtp: address: Remove useless local variable initialization in
    smtp_address_clone().

    Fixes complaint from scan-build.

M	src/lib-smtp/smtp-address.c

2018-02-08 13:27:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (036defc)

    lib-http: client: Fix using non-context SSL settings

    The SSL settings were used for the SSL context, but they weren't used for 
    individual SSL streams. This broke stream-only settings, like 
    allow_invalid_cert=TRUE.

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

2018-03-08 14:10:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dc030ea)

    lib: Remove ostream.get_used_size()

    Removes backwards compatibility.

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

2018-03-08 14:08:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1ea0f53)

    lib-test: test-ostream - Implement the new ostream.get_buffer_used_size()
    API

    It's implemented the same way as the old get_used_size(). The default 
    implementation for get_buffer_avail_size() also works with this.

M	src/lib-test/test-ostream.c

2018-03-08 14:08:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6a49ec)

    lib: ostream-buffer - Implement the new ostream.get_buffer_used_size() API

    It's implemented the same way as the old get_used_size(). The default 
    implementation for get_buffer_avail_size() also works with this.

M	src/lib/ostream-buffer.c

2018-03-08 14:07:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (884e2a1)

    lib: ostream-file - Implement the new ostream.get_buffer_used_size() API

    It's implemented the same way as the old get_used_size(). The default 
    implementation for get_buffer_avail_size() also works with this.

M	src/lib/ostream-file.c

2018-02-24 22:04:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (25c0f51)

    lib-compression: Implement the new ostream.get_buffer_used/avail_size() APIs

    The avail_size() implementation isn't fully correct for bzlib/zlib/lzma. 
    Fixing it requires larger changes though.

M	src/lib-compression/ostream-bzlib.c
M	src/lib-compression/ostream-lz4.c
M	src/lib-compression/ostream-lzma.c
M	src/lib-compression/ostream-zlib.c

2018-02-24 22:04:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (159d778)

    lib-ssl-iostream: Implement the new ostream.get_buffer_used/avail_size()
    APIs


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

2018-02-24 22:04:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7b4f32a)

    lib: ostream-multiplex - Implement the new get_buffer_used/avail_size() APIs


M	src/lib/ostream-multiplex.c

2018-02-26 15:17:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d941f9c)

    lib: Remove ostream-escaped

    It can't implement o_stream_get_buffer_avail_size() correctly with its 
    current API. Nothing uses it currently, so easier to just remove it 
    entirely.

M	src/lib/Makefile.am
D	src/lib/ostream-escaped.c
D	src/lib/ostream-escaped.h
M	src/lib/test-lib.inc
D	src/lib/test-ostream-escaped.c

2018-02-24 22:03:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dafdbfd)

    lib: Change/clarify o_stream_get_buffer_used/avail_size() APIs

    ostream.get_used_size() is deprecated and replaced by get_buffer_used_size() 
    and get_buffer_avail_size().

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

2018-01-20 15:44:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (976105f)

    auth: db-lua - Do not assert-crash if given parameter was not auth_request

    Use luaL_error instead that will back out more gracefully.

    Fixes Panic: file db-lua.c: line 279 (auth_lua_check_auth_request):
    assertion failed: (lua_istable(script->L, arg))

M	src/auth/db-lua.c

2018-01-20 20:33:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (cca32a3)

    auth: db-lua - Use luaL_error correctly


M	src/auth/db-lua.c

2017-06-08 12:18:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5403eb2)

    lib-auth: Require being connected before adding requests


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

2017-06-05 12:44:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6e1e25e)

    lib-auth: Prevent double-disconnect

    When disconnecting, it's possible that disconnect gets called twice by some
    callback, so protect it with a boolean.

    Fixes Panic: file hash.c: line 152 (hash_table_clear): assertion failed:
    (table->frozen == 0)

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

2018-03-06 22:11:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c3df1c9)

    lib-lda: Do not convert "From:" message address to STMP address, just to
    make a string for logging.

    This leads to problems when the message address (RFC5322) has UTF-8 code
    points in the local part, which is (currently) allowed for message
    addresses, but not for SMTP addresses (RFC5321).

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

2018-03-06 13:27:17 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2677b2c)

    master: Strip '\n' from suid_dumpable read buffer before str_to_uint()


M	src/master/service-process.c

2018-03-01 18:38:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6b8fa4)

    master: Improve "core not dumped" error messages with Linux

    Recommend setting /proc/fs/suid_dumpable to 2 and
    /proc/sys/kernel/core_pattern to absolute path, if they already aren't.

M	src/master/common.h
M	src/master/main.c
M	src/master/service-process.c

2018-03-01 18:37:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ab1b7f2)

    master: Add explanation URL to "core dumps disabled" and "core not dumped"
    errors


M	src/master/service-process.c

2018-02-19 19:22:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b194576)

    global: Use unix_socket capability in connection.c

    This is more reliably way to correctly create input stream with unix socket
    capability for passing fd's around

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

2018-02-19 19:09:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2a2cdd9)

    lib: connection - only switch created iostreams

    Fixes imap-hibernate: Fatal: master: service(imap-hibernate): child killed
    with signal 11 (core dumps disabled)

    Broken in 086b73efd1a5812a64acc951366a499d325509a6

M	src/lib/connection.c

2018-01-28 00:14:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6899712)

    submission: Properly handle omission of required authentication for relay
    connection.

    Particularly, do not forward the 530 error to the client. Instead, log the 
    problem and close the client connection with an internal error.

M	src/submission/submission-commands.c

2018-01-28 00:10:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f199f59)

    lib-smtp: server: Fix overwriting a previously submitted reply.

    The submitted flag was not reset, nor was the replies_submitted counter 
    decreased. This caused assertion failures.

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

2018-03-05 21:02:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e7482be)

    submission: Limit the set of capabilities to those that are actually
    supported.

    Particularly, the XCLIENT capability was inappropriately enabled when the 
    backend MTA announced support. XCLIENT is not supported by Dovecot
    post-login.

M	src/submission/submission-client.c
M	src/submission/submission-common.h

2018-03-01 14:53:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (46cae2d)

    lib-smtp: server: Only accept XCLIENT command when the XCLIENT capability is
    active.

    Report "502 Unsupported command" otherwise. Before, it would complain about
    the client not being trusted, which is confusing.

M	src/lib-smtp/smtp-server-cmd-xclient.c
M	src/lmtp/client.c
M	src/submission-login/client.c

2018-03-01 14:52:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (34f492a)

    lib-smtp: client: Make clear that XCLIENT is not sent if the server has no
    support.


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

2017-12-23 22:51:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (57d3c49)

    lib-smtp: client: Add assertion to smtp_client_command_write().

    Makes sure it is not used after the command is submitted.

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

2017-12-23 22:49:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ee9ceaf)

    lib-smtp: client: Fix smtp_client_command_name_equals() to work properly
    after the command is submitted.

    At command submission, CRLF is appended to command data. This messed up the
    name comparison. This in turn caused a spurious QUIT command to be sent to
    the server at connection close.

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

2017-12-23 22:14:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (18f762e)

    lib-smtp: client: Make smtp_client_connection_commands_abort() more reliable
    by copying the command lists.

    Copy the current lists of queued and waiting commands and reference each
    command before calling smtp_client_command_abort(). Aborting one command can
    cause other dependent commands to be aborted (in a transaction or from
    submission service), which could have caused trouble in this function.

M	src/lib-smtp/smtp-client-command.c
M	src/lib-smtp/smtp-client-connection.c
M	src/lib-smtp/smtp-client-private.h

2017-12-23 22:04:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0ac8caa)

    lib-smtp: client: Make smtp_client_connection_commands_fail_reply() more
    reliable by copying the command lists.

    Copy the current lists of queued and waiting commands and reference each
    command before calling smtp_client_command_fail_reply(). Failing one command
    can cause other dependent commands to be aborted (in a transaction or from
    submission service), which could have caused trouble in this function. 
    Problems would likely occur at connection disconnect.

M	src/lib-smtp/smtp-client-command.c
M	src/lib-smtp/smtp-client-connection.c
M	src/lib-smtp/smtp-client-private.h

2018-02-01 23:04:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3d61168)

    dsync: Log a warning if copying a mail fails unexpectedly

    Don't log a warning if it happens because the source message was expunged. 
    That's an expected failure.

M	src/doveadm/dsync/dsync-mailbox-import.c

2018-03-07 15:14:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f431eff)

    submission-login: Only send HELO domain to post-login service when it is
    valid.


M	src/submission-login/client-authenticate.c

2018-03-07 15:03:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d70971d)

    lib-smtp: server: Fix application of pre-login HELO domain when no
    post-login HELO is issued.

    The substituted domain was not marked as valid, which caused the HELO field
    of the produced received line to be set to 'unknown'.

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

2018-03-04 23:43:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ab4b3fd)

    lib-smtp: server: RCPT command: Make sure conn->state.pending_rcpt_cmds
    cannot decrement through zero.

    Added assertion.

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

2018-03-04 23:42:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f0908f0)

    lib-smtp: server: MAIL command: Make sure conn->state.pending_mail_cmds
    cannot decrement through zero.

    Added assertion.

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

2018-03-04 23:35:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0f9b956)

    lib-smtp: server: Fix double decrement of RCPT pending counter upon error.

    The pending counter was sometimes decremented twice in specific error 
    conditions, leading to an assert panic in the DATA command. This was caused
    by some dead code. If the MAIL command failed in a pipeline before the RCPT
    command, the assert was triggered.

    Panic was:

    Panic: file smtp-server-cmd-data.c: line 354 (cmd_data_start): assertion
    failed: (conn->state.pending_mail_cmds == 0 && conn->state.pending_rcpt_cmds
    == 0)

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

2018-02-01 00:14:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (61f6497)

    lib-lda: Parse Return-Path header using RFC5322 (IMF) "path" syntax, rather
    than RFC5321 (SMTP) "Path" syntax.

    SMTP does not allow white space, which causes all kinds of trouble when the 
    address is parsed from a header field.

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

2018-02-01 00:08:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (435e4ff)

    lib-mail: message-address: Add support for parsing RFC5322 "path" syntax.

    This is either a single angle-addr or just <>. This path syntax differs from
    the RFC5321 "Path" syntax in that it allows whitespace, which is very
    important when it is parsed from a header.

M	src/lib-mail/message-address.c
M	src/lib-mail/message-address.h
M	src/lib-mail/test-message-address.c

2018-03-12 12:42:46 +0200 Ville Savolainen <ville.savolainen@dovecot.fi> (db0373b)

    Fixup "lib-mail: message_address_write() - don't crash with NULL address"

     Remove content that did not belong to
    9f2fe2782224266bf2a403f430de011cf3b9da9d

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

2018-02-02 18:07:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6418419)

    lib-storage: Fix mailbox rename checking child mailbox name lengths

    It was supposed to prevent allowing renames that would cause any child 
    mailbox name to be too long. However, the check wasn't working.

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

2018-03-01 17:59:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (59eb3b6)

    lib-storage: Fix memory leak when search accessed headers but found no mails

    For example fetching headers with UID FETCH for a nonexistent UID.

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

2018-03-01 17:55:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5d3a81e)

    lib-storage: Code cleanup - remove unnecessary temporary variable


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

2018-01-29 08:43:05 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (8c6e305)

    global: start relying on file_lock_free(NULL) being a no-op

    Cleanup performed with the following semantic patch:

    	@@
    expression E;
    @@

    	- if (E != NULL) {
    -       file_lock_free(&E);
    - }
    + file_lock_free(&E);

M	src/lib-index/mail-cache.c
M	src/lib-storage/index/index-mailbox-size.c
M	src/lib-storage/mail-autoexpunge.c
M	src/lib/file-lock.c
M	src/plugins/fts-squat/squat-trie.c
M	src/plugins/fts-squat/squat-uidlist.c

2018-01-29 08:41:03 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e1d3ec5)

    global: start relying on mailbox_header_lookup_unref(NULL) being a no-op

    Cleanup performed with the following semantic patch:

    	@@
    expression E;
    @@

    	- if (E != NULL) {
    -       mailbox_header_lookup_unref(&E);
    - }
    + mailbox_header_lookup_unref(&E);

M	src/doveadm/doveadm-mail-iter.c
M	src/doveadm/dsync/dsync-mailbox-export.c
M	src/imap/imap-fetch.c
M	src/lib-imap-storage/imap-msgpart.c
M	src/lib-storage/index/index-mail.c
M	src/lib-storage/index/index-search.c
M	src/plugins/mail-log/mail-log-plugin.c
M	src/plugins/virtual/virtual-mail.c

2018-01-29 08:40:27 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (4db31f1)

    lib-storage: mailbox_header_lookup_unref(NULL) should be a no-op


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

2018-01-29 08:38:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (27aed64)

    lib-mail: start relying on mail_html2text_deinit(NULL) being a no-op

    Cleanup performed with the following semantic patch:

    	@@
    expression E;
    @@

    	- if (E != NULL) {
    -       mail_html2text_deinit(&E);
    - }
    + mail_html2text_deinit(&E);

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

2018-01-29 08:38:16 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (9c22e26)

    lib-mail: mail_html2text_deinit(NULL) should be a no-op


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

2017-11-09 10:37:34 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (f5ab340)

    global: start relying on ssl_iostream_destroy(NULL) being a no-op

    Cleanup performed with the following semantic patch:

    	@@
    expression E;
    @@

    	- if (E != NULL) {
    - 	ssl_iostream_destroy(&E);
    - }
    + ssl_iostream_destroy(&E);

M	src/doveadm/client-connection-tcp.c
M	src/doveadm/doveadm-dsync.c
M	src/lib-smtp/smtp-server-connection.c
M	src/login-common/client-common.c
M	src/login-common/login-proxy.c

2017-11-09 10:39:25 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ba110cd)

    ssl-iostream: ssl_iostream_destroy(NULL) should be a no-op


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

2017-11-09 10:34:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (90c5875)

    global: start relying on iostream_proxy_unref(NULL) being a no-op

    Cleanup performed with the following semantic patch:

    	@@
    expression E;
    @@

    	- if (E != NULL) {
    - 	iostream_proxy_unref(&E);
    - }
    + iostream_proxy_unref(&E);

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

2017-11-09 10:36:02 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (431971a)

    lib: iostream_proxy_unref(NULL) should be a no-op


M	src/lib/iostream-proxy.c

2017-11-09 10:30:51 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e741abe)

    global: start relying on str_free(NULL) being a no-op

    Cleanup performed with the following semantic patch:

    	@@
    expression E;
    @@

    	- if (E != NULL) {
    - 	str_free(&E);
    - }
    + str_free(&E);

M	src/imap/imap-fetch.c
M	src/lib-fs/fs-metawrap.c
M	src/lib-fts/fts-filter.c
M	src/lib-http/http-client-request.c
M	src/lib-storage/index/cydir/cydir-sync.c
M	src/lib-storage/index/index-search-mime.c
M	src/lib/istream.c
M	src/login-common/client-common.c
M	src/plugins/acl/acl-attributes.c
M	src/plugins/fts-solr/fts-backend-solr.c

2017-11-09 10:32:32 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a7e32ba)

    lib: str_free(NULL) should be a no-op


M	src/lib/str.c

2018-02-19 13:27:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f904b00)

    lib-http: client: Add event fields for the number of bytes sent and received
    for each request in the last attempt.


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

2018-02-19 13:24:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bac5c58)

    lib-http: response parser: Record input stream offset for the start of the
    last parsed response.


M	src/lib-http/http-response-parser.c
M	src/lib-http/http-response-parser.h

2018-02-19 13:20:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (074fb5a)

    lib-http: message parsers: Record beginning of parsed data.


M	src/lib-http/http-message-parser.h
M	src/lib-http/http-request-parser.c
M	src/lib-http/http-response-parser.c

2018-01-21 15:46:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (457bd50)

    lib-http: client: Trigger special events when a request is finished, retried
    or redirected.


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

2018-01-21 16:19:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (187dd20)

    lib-http: client: Record last status code in the request object.


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

2018-01-21 16:08:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6d1afbe)

    lib-http: client: Reset redirect counter when the request is retried.

    The absence of this reset caused problems when there was a redirect limit
    and the request was retried, in which case the limit is reached too soon.

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

2018-01-21 16:06:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0333014)

    lib-http: client: Add "host" and "port" fields to request event.


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

2018-01-21 16:00:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ba02f29)

    lib-http: client: Use the new  http_url_get_port*() functions.


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

2018-01-21 15:54:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (71c28aa)

    lib-http: url: Add functions that obtain the effective port for the URL.

    When no port is set for the URL, it is set to 0. These functions substitute
    the applicable default.

M	src/lib-http/http-url.h

2018-01-21 15:50:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fb954a8)

    lib-http: Create http-common.h, which contains global definitions shared by
    client and server.

    Currently contains only the default HTTP port definitions that used to be 
    private to the client.
