2019-08-23 09:43:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3c910f64b)

    Release 2.3.7.2


M	NEWS
M	configure.ac

2019-05-17 10:33:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f904cbdfe)

    lib-imap: Make sure str_unescape() won't be writing past allocated memory

    The previous commit should already prevent this, but this makes sure it 
    can't become broken in the future either. It makes the performance a tiny 
    bit worse, but that's not practically noticeable.

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

2019-05-10 19:24:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (85fcb895c)

    lib-imap: Don't accept strings with NULs

    IMAP doesn't allow NULs except in binary literals. We'll still allow them in
    regular literals as well, but just not in strings.

    This fixes a bug with unescaping a string with NULs: str_unescape() could 
    have been called for memory that points outside the allocated string, 
    causing heap corruption. This could cause crashes or theoretically even 
    result in remote code execution exploit.

    Found by Nick Roessler and Rafi Rubin

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

2019-07-22 14:06:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0152c8b10)

    Released 2.3.7.1


M	configure.ac

2019-07-22 13:45:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (12ed2e67c)

    NEWS: Add release notes for 2.3.7.1


M	NEWS

2019-07-22 14:57:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (203ac46cc)

    lib-storage: Namespace prefix shouldn't be included in all mailbox name
    validity checks

    Broken by 90c2995737cc1f3fe042993beb7b0b32e5375795

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

2019-07-15 10:14:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0d7ad15ff)

    lib: ostream-file: Don't log any errors when setting TCP_NODELAY

    It's likely never useful to log the error, and it seems more and more 
    unexpected errors just keep popping up.

M	src/lib/ostream-file.c

2019-07-15 21:50:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (40844e85f)

    lib-smtp: smtp-params - Assume all capabilities are supported when adding
    parameter event fields.

    The actual capabilities are not really needed, since any assigned field is 
    relevent for event processing, whether the remote end will accept it or not.

    This also fixes an assert failure occuring for proxied connections. Since
    the server and client (proxy) connections can have different capabilities
    and since the client connection does not have a proper capability list
    available in the beginning of the handshake, the event created for a client
    transaction would cause an assert failure when parameters were assigned that
    did not match the capabilities (none).

M	src/lib-smtp/smtp-client-transaction.c
M	src/lib-smtp/smtp-params.c
M	src/lib-smtp/smtp-params.h
M	src/lib-smtp/smtp-server-recipient.c
M	src/lib-smtp/smtp-server-transaction.c

2019-07-12 13:22:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (494d20bdc)

    configure: Update ABI version, too

    Was forgotten from dc7c9463386fd2a822a79218e8b846bd8c57c648

M	configure.ac

2019-07-10 13:28:22 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (dc7c94633)

    Released 2.3.7


M	configure.ac

2019-07-10 11:01:57 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (cd2a4a8aa)

    NEWS: Add release notes for 2.3.7


M	NEWS

2019-07-10 10:44:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c837ecd72)

    NEWS: Add missing 2.3.6 news


M	NEWS

2019-07-12 10:22:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (64815293f)

    config: Cache converted ssl-parameters.dat result

    This way the ssl-parameters.dat is read only once by the config process 
    instead of for every config request.

M	src/config/doveconf.c
M	src/config/main.c
M	src/config/old-set-parser.c
M	src/config/old-set-parser.h

2019-07-12 10:16:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fffdea3fb)

    config: Fix memory leaks when failing to convert ssl-parameters.dat

    If ssl_dh setting isn't set and ssl-parameters.dat isn't found or there's 
    some error reading it, memory is leaked for every config request. This 
    eventually results in config process dying due to reaching vsz_limit.

M	src/config/old-set-parser.c

2019-07-11 15:08:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ebd260aae)

    lib-storage: Fix setting \Noinferiors flag for detached INBOX

    The "" namespace is nowadays automatically created, so we can't just check 
    if mail_namespace_find_prefix() returns NULL.

    I left the NULL check there for now at least, just in case there's some 
    reason I couldn't think of when it could be NULL.

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

2019-07-11 14:43:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6e49d94cf)

    dict: Exit early to work around various errors and crashes at shutdown

    This is just a kludge until the dict process cleanup can be done cleanly.

M	src/dict/main.c

2019-03-28 21:41:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f5e80766d)

    lib: connection - Make sure the connection name is always available.


M	src/lib/connection.c
M	src/lib/connection.h

2019-07-10 02:09:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0ac4c9692)

    lib-dns: Log "Disconnect" event before calling DNS callbacks and freeing
    lookups

    dns_lookup_free() could be freeing the dns_client, which causes a segfault 
    in the e_debug() log call.

    Broken by fc8c54c48fec6a89d9cda755756c233191c62af1

M	src/lib-dns/dns-lookup.c

2019-07-01 19:04:03 -0400 Stephan Bosch <stephan.bosch@open-xchange.com> (7896f076c)

    lib-http: guard against hshared use-after-free

    This fixes a race condition where the http_client_host_shared_idle_timeout() 
    function would get called with an already freed hshared argument.

    Specifically, the situation arises from the hshared idle timeout calling 
    http_client_host_shared_free(), which removes the timeout and then proceeds
    to free the client queue.  The client queue freeing code indirectly calls 
    http_client_host_shared_check_idle(), which notices that there is no idle 
    timeout and allocates one.

    The backtrace at the point of this new timeout allocation:

        frame #3: 0x00007f0c775897f0 libdovecot.so.0`timeout_add_to(...)
    ioloop.c:280
       frame #4: 0x00007f0c7751a45f
    libdovecot.so.0`http_client_host_shared_check_idle(hshared=<unavailable>) at
    http-client-host.c:69
       frame #5: 0x00007f0c7750de89
    libdovecot.so.0`http_client_request_error(_req=<unavailable>, status=9000,
    error="") at http-client-request.c:1525
       frame #6: 0x00007f0c77517f38
    libdovecot.so.0`http_client_queue_fail_full(queue=0x000055e13cff0e10,
    status=9000, error="", all=<unavailable>) at http-client-queue.c:183
       frame #7: 0x00007f0c77518baa
    libdovecot.so.0`http_client_queue_free(queue=0x000055e13cff0e10) at
    http-client-queue.c:141
       frame #8: 0x00007f0c7751a8bc
    libdovecot.so.0`http_client_host_free_shared(_host=<unavailable>) at
    http-client-host.c:391
       frame #9: 0x00007f0c7751ab4c
    libdovecot.so.0`http_client_host_shared_free(_hshared=0x00007ffdac109e48) at
    http-client-host.c:294
       frame #10: 0x00007f0c7751ace8
    libdovecot.so.0`http_client_host_shared_idle_timeout(hshared=<unavailable>)
    at http-client-host.c:40
       frame #11: 0x00007f0c7758a1a4 libdovecot.so.0`io_loop_handle_timeouts at
    ioloop.c:682
       frame #12: 0x00007f0c7758a089
    libdovecot.so.0`io_loop_handle_timeouts(ioloop=0x000055e13cfc8d80) at
    ioloop.c:696
       frame #13: 0x00007f0c7758befc
    libdovecot.so.0`io_loop_handler_run_internal(ioloop=0x000055e13cfc8d80) at
    ioloop-select.c:126
       frame #14: 0x00007f0c7758a56d
    libdovecot.so.0`io_loop_handler_run(ioloop=<unavailable>) at ioloop.c:767
       frame #15: 0x00007f0c7758a798
    libdovecot.so.0`io_loop_run(ioloop=0x000055e13cfc8d80) at ioloop.c:740
       frame #16: 0x00007f0c774f61eb
    libdovecot.so.0`master_service_run(service=0x000055e13cfc8c10,
    callback=<unavailable>) at master-service.c:782
       frame #17: 0x000055e13b48e3a5 stats`main(argc=<unavailable>,
    argv=<unavailable>) at main.c:99
       frame #18: 0x00007f0c771092e1 libc.so.6`__libc_start_main + 241
       frame #19: 0x000055e13b48e41a stats`_start + 42

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

2019-07-09 10:19:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ce63a2aa3)

    lib-storage: test-mail-storage - Use array_push_back() and array_front()

    These were dropped due to changes being merged in different order than in 
    master.

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

2019-07-09 10:18:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1d8546e7e)

    lib-storage: test-mail-storage - Add missing
    MASTER_SERVICE_FLAG_DONT_SEND_STATS

    This was dropped due to changes being merged in different order than in 
    master.

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

2018-03-01 20:12:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e1e787ba4)

    lib-storage: test-mail-storage - add check for mailbox_create() return value


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

2019-07-03 00:40:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fb0b98778)

    lib-smtp: smtp-server-cmd-helo - Fix segfault occurring when domain argument
    is invalid in a second EHLO command.


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

2019-07-08 18:56:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c7d7bc163)

    lib-index: After recreating cache, make sure offsets are immediately updated
    to map

    They were most likely refreshed anyway before the next cache usage, but this 
    caused an assert-crash if the dovecot.index was also recreated in the same 
    sync.

    Broken by e31b0637d8788885a71db2def5743ebf14c698f3

    Fixes: Panic: file mail-index-write.c: line 138 (mail_index_write):
    assertion failed: (file->hdr.prev_file_offset == hdr->log_file_head_offset)

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

2019-07-08 18:59:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0c88a1229)

    lib-index: Fix using old map when checking for unexpected changes during log
    rotate

    This shouldn't normally be possible. The log is locked, so other processes 
    shouldn't be able to write anything to it. This was mainly found by the 
    earlier bug.

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

2019-06-10 23:07:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (93647b674)

    lib-index: Compress cache immediately after enough mails have been expunged

    This fixes a bug where cache may never become compressed in certain mailbox 
    access patterns. Especially for autoexpunging in lazy_expunge mailboxes. The
    cache compression happened only when:

    a) After the mailbox_sync() that finishes expunging there was another 
    mailbox_sync(). If mailbox was immediately closed after expunging, this 
    didn't happen.

    b) Fields are fetched from cache

    If neither of these happened, the cache just kept growing. This happened 
    especially with lazy_expunge mailboxes.

    sdbox format was always doing b) during expunging, because it looked up 
    GUIDs from cache. However, this helped only with regular expunges, not with
    autoexpunges, because autoexpunging didn't finish with any mailbox_sync()
    (which is a bug on its own).

    mdbox also did GUID lookups from cache, but it wasn't doing cache 
    compressions due the bug fixed by the previous commit.

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

2019-06-10 23:01:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f1d7fbe7b)

    lib-index: Fix calling expunge handlers with mdbox

    This fixes updating deleted_record_count in dovecot.index.cache files. 
    Because they were wrong, the cache wasn't always compressed as early as it
    should have been.

    mdbox uses a separate transaction to commit expunges while mailbox is being 
    synced. When syncing was finished, tail_offset was updated too early so 
    mail_index_map(MAIL_INDEX_SYNC_HANDLER_FILE) was always a no-op and expunge 
    handlers were never called.

    There doesn't seem to be any downside to not updating tail_offset early. 
    sdbox saving also uses such a transaction, but there is no difference in the
    resulting dovecot.index.log file. The main worry I had was that tail_offset
    wouldn't be updated to point to the end of the log file. However, this
    doesn't happen with the old code either. This is because the extra
    transaction is external, and tail_offset updating skips over all external
    transactions anyway.

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

2019-06-17 13:59:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7e2025cae)

    mdbox: Always sync dovecot.map.index with
    MAIL_INDEX_SYNC_FLAG_UPDATE_TAIL_OFFSET

    This avoids errors after the next commit.

M	src/lib-storage/index/dbox-multi/mdbox-map.c

2019-06-10 22:58:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (36fd3aa9e)

    lib-index: mail_index_sync_update_mailbox_offset() - Remove unnecessary code

    The function call has no side effects, and the return values aren't used.

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

2019-06-12 10:58:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9653e1e3b)

    lib-storage: Sync mailbox after autoexpunging

    This actually finishes expunging the mails. Previously the mails were just
    marked to be expunged in the transaction log, and the next session that
    opened the mailbox finished the expunging.

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

2019-02-14 00:21:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eda3d8b4e)

    lmtp: Replace i_info() with e_info().


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

2019-02-14 00:17:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0a5504fe1)

    lmtp: Replace i_error() with e_error().


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

2018-12-27 22:39:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (57b63be0c)

    lmtp: proxy: Use client.event for SMTP client connection.


M	src/lmtp/lmtp-proxy.c

2018-12-27 22:37:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f4a5a3cfe)

    lmtp: local: Use rcpt.event as mail_*user's parent event.


M	src/lmtp/lmtp-local.c

2019-02-14 00:36:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dc3f6ae45)

    lmtp: Add username to recipient event.


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

2018-12-27 22:32:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5c0011515)

    lmtp: Add client.event.


M	src/lmtp/lmtp-client.c
M	src/lmtp/lmtp-client.h
M	src/lmtp/lmtp-common.h
M	src/lmtp/main.c

2019-03-09 23:33:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5247b646b)

    lib-smtp: smtp-submit - Rename event setting to event_parent.


M	src/lib-smtp/smtp-submit.c
M	src/lib-smtp/smtp-submit.h

2019-03-08 22:21:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ea0ac8e12)

    lib-smtp: smtp-server - Rename event setting to event_parent.


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

2019-03-08 21:47:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (30916fb93)

    lib-smtp: smtp-client - Rename event setting to event_parent.


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

2019-03-08 22:20:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a0e88a2d4)

    lib-http: http-client - Rename event setting to event_parent.


M	src/auth/auth-policy.c
M	src/lib-http/http-client.c
M	src/lib-http/http-client.h
M	src/plugins/push-notification/push-notification-driver-ox.c

2019-03-07 21:51:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a77d77eec)

    lib: connection - Turn connection_init_client_ip*() name parameter into an
    explicit hostname.

    This way, the default connection name will be hostname:ip when hostname is
    not NULL. This will be helpful once the connection API has TLS support.

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

2019-03-02 13:05:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1f9e241f0)

    lib-smtp: smtp-client-command - Emit smtp_client_command_finished event for
    replied commands.

    This was an omission.

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

2019-03-02 13:08:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4d34162c4)

    lib-smtp: smtp-client-command - Make sure command event is finished just
    once.


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

2019-03-02 17:18:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a2c7e3932)

    lib-smtp: smtp-submit - Emit named events.

    These have some overlap with the smtp-client events, but for the sendmail
    binary submission method those are not produced.

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

2018-12-28 00:41:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fcfaddd83)

    lib-smtp: smtp-submit - Add support for event API.


M	src/lib-smtp/smtp-submit.c
M	src/lib-smtp/smtp-submit.h

2018-12-28 00:36:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1b0a23c55)

    lib-smtp: smtp-submit - Collect optional inputs to
    smtp_submit_session_init() into a struct.


M	src/lib-lda/mail-send.c
M	src/lib-smtp/smtp-submit.c
M	src/lib-smtp/smtp-submit.h
M	src/lib-smtp/test-smtp-submit.c

2019-02-12 01:48:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (067869b8c)

    lib-smtp: smtp-server-transaction - Record the size of the message data in
    the event at the end of the transaction.


M	src/lib-smtp/smtp-server-cmd-data.c
M	src/lib-smtp/smtp-server-private.h
M	src/lib-smtp/smtp-server-transaction.c

2019-02-12 01:47:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e64dad8e6)

    lib-smtp: smtp-server-recipient - Emit named events.


M	src/lib-smtp/smtp-server-cmd-rcpt.c
M	src/lib-smtp/smtp-server-private.h
M	src/lib-smtp/smtp-server-recipient.c
M	src/lib-smtp/smtp-server-transaction.c

2019-02-12 01:40:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (37e3ae1bf)

    lib-smtp: smtp-server-transaction - Emit named events.


M	src/lib-smtp/smtp-server-cmd-data.c
M	src/lib-smtp/smtp-server-private.h
M	src/lib-smtp/smtp-server-transaction.c

2019-02-12 01:33:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0da7a4acf)

    lib-smtp: smtp-server - Record the number of denied recipients.


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

2019-02-12 01:08:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a0fff6a0c)

    lib-smtp: smtp-server-recipient - Manage "finished" status of the recipient.


M	src/lib-smtp/smtp-server-cmd-rcpt.c
M	src/lib-smtp/smtp-server-private.h
M	src/lib-smtp/smtp-server-recipient.c
M	src/lib-smtp/smtp-server-transaction.c
M	src/lib-smtp/smtp-server.h

2019-02-12 00:59:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1f60b72b6)

    lib-smtp: smtp-server-transaction - Manage "finished" status of the
    transaction.


M	src/lib-smtp/smtp-server-cmd-data.c
M	src/lib-smtp/smtp-server-cmd-rset.c
M	src/lib-smtp/smtp-server-private.h
M	src/lib-smtp/smtp-server-transaction.c
M	src/lib-smtp/smtp-server.h

2019-02-12 00:22:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3a04d5a8d)

    lib-smtp: smtp-server: Set pointer parameter of
    smtp_server_transaction_free() to NULL immediately.


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

2019-02-12 00:19:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (67170b853)

    lib-smtp: smtp-server - Call transaction callbacks from transaction object
    functions.


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

2019-02-04 03:36:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (684a4a826)

    lib-smtp: smtp-server-command - Emit named events.


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

2019-02-12 00:09:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (abbbe1188)

    lib-smtp: smtp-server-reply - Add smtp_server_reply_add_to_event().


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

2019-02-04 03:37:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (de875765e)

    lib-smtp: smtp-server - Record the enhanced code in the reply content.


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

2019-02-12 00:01:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4d1794dd7)

    lib-smtp: smtp-server-reply - Add smtp_server_reply_is_success() and use it.


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

2019-02-04 03:32:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (55628e4a5)

    lib-smtp: smtp-server-reply - Add smtp_server_reply_get_message().


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

2019-02-11 23:49:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (05587fa3b)

    lib-smtp: smtp-server-reply - Make smtp_server_reply_get_one_line() reply
    parameter const.


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

2019-02-12 00:04:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (698e48132)

    lib-smtp: smtp-server.h - Move server functions to a single place.

    Corrects position of smtp_server_switch_ioloop() in the header file.

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

2018-12-17 04:08:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (89c00366f)

    lib-smtp: smtp-server - Replace smtp_*_debug() with e_debug().


M	src/lib-smtp/smtp-server-cmd-auth.c
M	src/lib-smtp/smtp-server-cmd-data.c
M	src/lib-smtp/smtp-server-cmd-starttls.c
M	src/lib-smtp/smtp-server-command.c
M	src/lib-smtp/smtp-server-connection.c
M	src/lib-smtp/smtp-server-reply.c

2018-12-24 01:46:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2c5a4948c)

    lib-smtp: smtp-server - Replace smtp_*_error() with e_error().


M	src/lib-smtp/smtp-server-cmd-auth.c
M	src/lib-smtp/smtp-server-cmd-data.c
M	src/lib-smtp/smtp-server-connection.c
M	src/lib-smtp/smtp-server-private.h

2018-12-24 01:35:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (23de719f8)

    lib-smtp: smtp-server-connection - Replace i_error() with e_error().


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

2018-12-17 03:53:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ee36ea0d0)

    lib-smtp: smtp-server - Remove redundant debug logging checks.


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

2018-12-17 03:45:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4938ef8f2)

    lib-smtp: smtp-server - Add support for event API.


M	src/lib-smtp/smtp-server-command.c
M	src/lib-smtp/smtp-server-connection.c
M	src/lib-smtp/smtp-server-private.h
M	src/lib-smtp/smtp-server-recipient.c
M	src/lib-smtp/smtp-server-reply.c
M	src/lib-smtp/smtp-server-transaction.c
M	src/lib-smtp/smtp-server.c
M	src/lib-smtp/smtp-server.h

2019-02-14 01:05:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d83fda8d4)

    lib-smtp: smtp-server - Provide RCPT parameters as parameter to
    smtp_server_recipient_create().

    Needed for event API, but also fixes a memory leak occurring upon parameter 
    parse error.

M	src/lib-smtp/smtp-server-cmd-rcpt.c
M	src/lib-smtp/smtp-server-private.h
M	src/lib-smtp/smtp-server-recipient.c

2018-12-24 00:11:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fb37d049b)

    lib-smtp: smtp-server - Add smtp_server_command_new_invalid().

    Creates an empty command for sending an error reply for an invalid command.

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

2018-12-16 19:40:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (909d7cefb)

    lib-smtp: smtp-server - Remove unused server->ioloop field.


M	src/lib-smtp/smtp-server-private.h

2018-12-16 19:29:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0a27d6d41)

    lib-smtp: smtp-server - Properly document all settings.


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

2019-02-28 10:03:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7e8f5c2e8)

    lib: connection - Add generic event fields for local and remote addresses.


M	src/lib/connection.c

2019-02-28 09:55:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9fd5384d0)

    lib: connection - Use the connection event for all connection types
    directly.

    This way, the common event fields for the connection are available to each 
    connection type and its descendant events for objects like commands,
    requests, and transactions.

    This also creates a standard log prefix used by all connection types.

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

2019-03-01 16:21:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2c82004ae)

    lib-smtp: smtp-client-connection - Create separate parent event to add the
    smtp-client log prefix.

    This is needed for a later commit that moves the addition of the connection
    log prefix to the connection API.

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

2019-03-01 16:54:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (60657e3e9)

    lib-smtp: smtp-client-connection - Retain the host name in the connection
    label after DNS lookup.


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

2019-03-01 15:16:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d3b121ea7)

    lib-smtp: smtp-client-connection - Remember whether the hostname is actually
    an IP address.

    This is needed to prevent connection log prefix from containing an IP twice.

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

2019-03-01 16:02:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (411033709)

    lib-dns: dns-lookup - Perform connection-related logging using the
    connection event.


M	src/lib-dns/dns-lookup.c

2019-03-01 15:12:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d6300edd0)

    lib: connection - Add socket_path event field for unix connections.


M	src/lib/connection.c

2019-02-28 09:49:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a827e191f)

    lib-http: http-client-connection - Drop the connection ID.

    This is now unused.

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

2019-02-28 09:41:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f35d631cf)

    lib-http: http-client-connection - Use the default connection label.


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

2019-02-28 09:36:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (24f8a2e83)

    lib-smtp: smtp-client-connection - Drop the connection ID.

    This is now unused.

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

2019-02-28 09:29:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (971a7470e)

    lib-smtp: smtp-client-connection - Use the default connection label.


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

2019-02-27 22:19:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b27375ab0)

    lib-http: http-server-connection - Drop the connection ID.

    This is now unused.

M	src/lib-http/http-server-connection.c
M	src/lib-http/http-server-private.h

2019-02-27 22:17:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d50fb71bc)

    lib-http: http-server-connection - Drop the connection properties.

    These are now unused.

M	src/lib-http/http-server-private.h

2019-02-27 22:13:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (525a3ba8c)

    lib-http: http-server-connection - Use the default connection label.


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

2019-02-27 21:59:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (892c46961)

    lib-smtp: smtp-server-connection - Drop the connection ID.

    This is now unused.

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

2019-02-27 21:52:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (436c1c88d)

    lib-smtp: smtp-server-connection - Drop the connection properties.

    These are now unused.

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

2019-02-27 21:49:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (121b21881)

    lib-smtp: smtp-server-connection - Use the default connection label.


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

2019-02-27 21:34:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (efd6b429b)

    lib: connection - Remove existing log prefix.

    It is often redundant to the parent event's log prefix. Subsequent commits
    will yield a better and more generic solution.

M	src/lib/connection.c

2019-02-27 21:30:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1bed67626)

    lib: connection - Move creation of passthrough event in
    connection_client_connected().

    Moved close to where it is used, which is more common in event code
    elsewhere.

M	src/lib/connection.c

2019-02-27 21:41:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (46f8b69a9)

    lib: connection - Make providing a name for the connection optional.


M	src/lib/connection.c
M	src/lib/connection.h

2019-02-27 21:23:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f80df12ec)

    lib-smtp: smtp-server-connection - Use connection properties for remote
    ip:port.


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

2019-02-27 21:14:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (af5f5cda1)

    lib-http: http-server-connection - Use connection->label instead of
    connection->name.


M	src/lib-http/http-server-connection.c
M	src/lib-http/http-server-private.h

2019-02-27 21:12:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c7a61bf2a)

    lib-smtp: smtp-server-connection - Use connection->label instead of
    connection->name.


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

2019-02-27 00:33:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dfe5ad375)

    lib-http: http-client-connection - Use connection_init() immediately upon
    creation.

    This avoids the need to remember whether the connection was initialized.

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

2019-03-02 00:49:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2f8c7d6c3)

    lib: connection - Compose standard names for the input/output streams.


M	src/lib/connection.c

2019-02-27 03:16:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ec7c7c6ef)

    lib: connection - Add a unique numeric ID to the connection.

    It is incremented for each created connection. The IDs are specific to the 
    connection list.

M	src/lib/connection.c
M	src/lib/connection.h

2019-02-27 03:09:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6bbd227ac)

    lib: connection - Compose a standard label for logging.


M	src/lib/connection.c
M	src/lib/connection.h

2019-02-27 02:28:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8dc0d77bf)

    lib: connection - Add connection_init_server_ip().


M	src/lib/connection.c
M	src/lib/connection.h

2019-02-27 02:21:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3252d8c60)

    lib: connection - Record and update connection properties.


M	src/lib/connection.c
M	src/lib/connection.h

2019-03-01 15:59:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (563dad05c)
