]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
5 years agoRelease 2.3.7.2 release-2.3.7 2.3.7.2
Aki Tuomi [Fri, 23 Aug 2019 06:43:33 +0000 (09:43 +0300)] 
Release 2.3.7.2

5 years agolib-imap: Make sure str_unescape() won't be writing past allocated memory
Timo Sirainen [Fri, 17 May 2019 07:33:53 +0000 (10:33 +0300)] 
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.

5 years agolib-imap: Don't accept strings with NULs
Timo Sirainen [Fri, 10 May 2019 16:24:51 +0000 (19:24 +0300)] 
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

6 years agoReleased 2.3.7.1 2.3.7.1
Timo Sirainen [Mon, 22 Jul 2019 11:06:25 +0000 (14:06 +0300)] 
Released 2.3.7.1

6 years agoNEWS: Add release notes for 2.3.7.1
Timo Sirainen [Mon, 22 Jul 2019 10:45:13 +0000 (13:45 +0300)] 
NEWS: Add release notes for 2.3.7.1

6 years agolib-storage: Namespace prefix shouldn't be included in all mailbox name validity...
Timo Sirainen [Mon, 22 Jul 2019 11:57:34 +0000 (14:57 +0300)] 
lib-storage: Namespace prefix shouldn't be included in all mailbox name validity checks

Broken by 90c2995737cc1f3fe042993beb7b0b32e5375795

6 years agolib: ostream-file: Don't log any errors when setting TCP_NODELAY
Timo Sirainen [Mon, 15 Jul 2019 07:14:23 +0000 (10:14 +0300)] 
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.

6 years agolib-smtp: smtp-params - Assume all capabilities are supported when adding parameter...
Stephan Bosch [Mon, 15 Jul 2019 19:50:11 +0000 (21:50 +0200)] 
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).

6 years agoconfigure: Update ABI version, too 2.3.7
Aki Tuomi [Fri, 12 Jul 2019 10:22:06 +0000 (13:22 +0300)] 
configure: Update ABI version, too

Was forgotten from dc7c9463386fd2a822a79218e8b846bd8c57c648

6 years agoReleased 2.3.7
Aki Tuomi [Wed, 10 Jul 2019 10:28:22 +0000 (13:28 +0300)] 
Released 2.3.7

6 years agoNEWS: Add release notes for 2.3.7
Aki Tuomi [Wed, 10 Jul 2019 08:01:57 +0000 (11:01 +0300)] 
NEWS: Add release notes for 2.3.7

6 years agoNEWS: Add missing 2.3.6 news
Aki Tuomi [Wed, 10 Jul 2019 07:44:45 +0000 (10:44 +0300)] 
NEWS: Add missing 2.3.6 news

6 years agoconfig: Cache converted ssl-parameters.dat result
Timo Sirainen [Fri, 12 Jul 2019 07:22:01 +0000 (10:22 +0300)] 
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.

6 years agoconfig: Fix memory leaks when failing to convert ssl-parameters.dat
Timo Sirainen [Fri, 12 Jul 2019 07:16:26 +0000 (10:16 +0300)] 
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.

6 years agolib-storage: Fix setting \Noinferiors flag for detached INBOX
Timo Sirainen [Thu, 11 Jul 2019 12:08:10 +0000 (15:08 +0300)] 
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.

6 years agodict: Exit early to work around various errors and crashes at shutdown
Timo Sirainen [Thu, 11 Jul 2019 11:43:13 +0000 (14:43 +0300)] 
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.

6 years agolib: connection - Make sure the connection name is always available.
Stephan Bosch [Thu, 28 Mar 2019 20:41:53 +0000 (21:41 +0100)] 
lib: connection - Make sure the connection name is always available.

6 years agolib-dns: Log "Disconnect" event before calling DNS callbacks and freeing lookups
Timo Sirainen [Tue, 9 Jul 2019 23:09:12 +0000 (02:09 +0300)] 
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

6 years agolib-http: guard against hshared use-after-free
Stephan Bosch [Mon, 1 Jul 2019 23:04:03 +0000 (19:04 -0400)] 
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

6 years agolib-storage: test-mail-storage - Use array_push_back() and array_front()
Timo Sirainen [Tue, 9 Jul 2019 07:19:24 +0000 (10:19 +0300)] 
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.

6 years agolib-storage: test-mail-storage - Add missing MASTER_SERVICE_FLAG_DONT_SEND_STATS
Timo Sirainen [Tue, 9 Jul 2019 07:18:30 +0000 (10:18 +0300)] 
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.

6 years agolib-storage: test-mail-storage - add check for mailbox_create() return value
Timo Sirainen [Thu, 1 Mar 2018 18:12:35 +0000 (20:12 +0200)] 
lib-storage: test-mail-storage - add check for mailbox_create() return value

6 years agolib-smtp: smtp-server-cmd-helo - Fix segfault occurring when domain argument is inval...
Stephan Bosch [Tue, 2 Jul 2019 22:40:05 +0000 (00:40 +0200)] 
lib-smtp: smtp-server-cmd-helo - Fix segfault occurring when domain argument is invalid in a second EHLO command.

6 years agolib-index: After recreating cache, make sure offsets are immediately updated to map
Timo Sirainen [Mon, 8 Jul 2019 15:56:12 +0000 (18:56 +0300)] 
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)

6 years agolib-index: Fix using old map when checking for unexpected changes during log rotate
Timo Sirainen [Mon, 8 Jul 2019 15:59:21 +0000 (18:59 +0300)] 
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.

6 years agolib-index: Compress cache immediately after enough mails have been expunged
Timo Sirainen [Mon, 10 Jun 2019 20:07:56 +0000 (23:07 +0300)] 
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.

6 years agolib-index: Fix calling expunge handlers with mdbox
Timo Sirainen [Mon, 10 Jun 2019 20:01:16 +0000 (23:01 +0300)] 
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.

6 years agomdbox: Always sync dovecot.map.index with MAIL_INDEX_SYNC_FLAG_UPDATE_TAIL_OFFSET
Timo Sirainen [Mon, 17 Jun 2019 10:59:10 +0000 (13:59 +0300)] 
mdbox: Always sync dovecot.map.index with MAIL_INDEX_SYNC_FLAG_UPDATE_TAIL_OFFSET

This avoids errors after the next commit.

6 years agolib-index: mail_index_sync_update_mailbox_offset() - Remove unnecessary code
Timo Sirainen [Mon, 10 Jun 2019 19:58:44 +0000 (22:58 +0300)] 
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.

6 years agolib-storage: Sync mailbox after autoexpunging
Timo Sirainen [Wed, 12 Jun 2019 07:58:37 +0000 (10:58 +0300)] 
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.

6 years agolmtp: Replace i_info() with e_info().
Stephan Bosch [Wed, 13 Feb 2019 23:21:16 +0000 (00:21 +0100)] 
lmtp: Replace i_info() with e_info().

6 years agolmtp: Replace i_error() with e_error().
Stephan Bosch [Wed, 13 Feb 2019 23:17:20 +0000 (00:17 +0100)] 
lmtp: Replace i_error() with e_error().

6 years agolmtp: proxy: Use client.event for SMTP client connection.
Stephan Bosch [Thu, 27 Dec 2018 21:39:20 +0000 (22:39 +0100)] 
lmtp: proxy: Use client.event for SMTP client connection.

6 years agolmtp: local: Use rcpt.event as mail_*user's parent event.
Stephan Bosch [Thu, 27 Dec 2018 21:37:40 +0000 (22:37 +0100)] 
lmtp: local: Use rcpt.event as mail_*user's parent event.

6 years agolmtp: Add username to recipient event.
Stephan Bosch [Wed, 13 Feb 2019 23:36:41 +0000 (00:36 +0100)] 
lmtp: Add username to recipient event.

6 years agolmtp: Add client.event.
Stephan Bosch [Thu, 27 Dec 2018 21:32:01 +0000 (22:32 +0100)] 
lmtp: Add client.event.

6 years agolib-smtp: smtp-submit - Rename event setting to event_parent.
Stephan Bosch [Sat, 9 Mar 2019 22:33:24 +0000 (23:33 +0100)] 
lib-smtp: smtp-submit - Rename event setting to event_parent.

6 years agolib-smtp: smtp-server - Rename event setting to event_parent.
Stephan Bosch [Fri, 8 Mar 2019 21:21:22 +0000 (22:21 +0100)] 
lib-smtp: smtp-server - Rename event setting to event_parent.

6 years agolib-smtp: smtp-client - Rename event setting to event_parent.
Stephan Bosch [Fri, 8 Mar 2019 20:47:00 +0000 (21:47 +0100)] 
lib-smtp: smtp-client - Rename event setting to event_parent.

6 years agolib-http: http-client - Rename event setting to event_parent.
Stephan Bosch [Fri, 8 Mar 2019 21:20:58 +0000 (22:20 +0100)] 
lib-http: http-client - Rename event setting to event_parent.

6 years agolib: connection - Turn connection_init_client_ip*() name parameter into an explicit...
Stephan Bosch [Thu, 7 Mar 2019 20:51:48 +0000 (21:51 +0100)] 
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.

6 years agolib-smtp: smtp-client-command - Emit smtp_client_command_finished event for replied...
Stephan Bosch [Sat, 2 Mar 2019 12:05:08 +0000 (13:05 +0100)] 
lib-smtp: smtp-client-command - Emit smtp_client_command_finished event for replied commands.

This was an omission.

6 years agolib-smtp: smtp-client-command - Make sure command event is finished just once.
Stephan Bosch [Sat, 2 Mar 2019 12:08:34 +0000 (13:08 +0100)] 
lib-smtp: smtp-client-command - Make sure command event is finished just once.

6 years agolib-smtp: smtp-submit - Emit named events.
Stephan Bosch [Sat, 2 Mar 2019 16:18:02 +0000 (17:18 +0100)] 
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.

6 years agolib-smtp: smtp-submit - Add support for event API.
Stephan Bosch [Thu, 27 Dec 2018 23:41:43 +0000 (00:41 +0100)] 
lib-smtp: smtp-submit - Add support for event API.

6 years agolib-smtp: smtp-submit - Collect optional inputs to smtp_submit_session_init() into...
Stephan Bosch [Thu, 27 Dec 2018 23:36:32 +0000 (00:36 +0100)] 
lib-smtp: smtp-submit - Collect optional inputs to smtp_submit_session_init() into a struct.

6 years agolib-smtp: smtp-server-transaction - Record the size of the message data in the event...
Stephan Bosch [Tue, 12 Feb 2019 00:48:01 +0000 (01:48 +0100)] 
lib-smtp: smtp-server-transaction - Record the size of the message data in the event at the end of the transaction.

6 years agolib-smtp: smtp-server-recipient - Emit named events.
Stephan Bosch [Tue, 12 Feb 2019 00:47:43 +0000 (01:47 +0100)] 
lib-smtp: smtp-server-recipient - Emit named events.

6 years agolib-smtp: smtp-server-transaction - Emit named events.
Stephan Bosch [Tue, 12 Feb 2019 00:40:29 +0000 (01:40 +0100)] 
lib-smtp: smtp-server-transaction - Emit named events.

6 years agolib-smtp: smtp-server - Record the number of denied recipients.
Stephan Bosch [Tue, 12 Feb 2019 00:33:07 +0000 (01:33 +0100)] 
lib-smtp: smtp-server - Record the number of denied recipients.

6 years agolib-smtp: smtp-server-recipient - Manage "finished" status of the recipient.
Stephan Bosch [Tue, 12 Feb 2019 00:08:16 +0000 (01:08 +0100)] 
lib-smtp: smtp-server-recipient - Manage "finished" status of the recipient.

6 years agolib-smtp: smtp-server-transaction - Manage "finished" status of the transaction.
Stephan Bosch [Mon, 11 Feb 2019 23:59:28 +0000 (00:59 +0100)] 
lib-smtp: smtp-server-transaction - Manage "finished" status of the transaction.

6 years agolib-smtp: smtp-server: Set pointer parameter of smtp_server_transaction_free() to...
Stephan Bosch [Mon, 11 Feb 2019 23:22:38 +0000 (00:22 +0100)] 
lib-smtp: smtp-server: Set pointer parameter of smtp_server_transaction_free() to NULL immediately.

6 years agolib-smtp: smtp-server - Call transaction callbacks from transaction object functions.
Stephan Bosch [Mon, 11 Feb 2019 23:19:49 +0000 (00:19 +0100)] 
lib-smtp: smtp-server - Call transaction callbacks from transaction object functions.

6 years agolib-smtp: smtp-server-command - Emit named events.
Stephan Bosch [Mon, 4 Feb 2019 02:36:03 +0000 (03:36 +0100)] 
lib-smtp: smtp-server-command - Emit named events.

6 years agolib-smtp: smtp-server-reply - Add smtp_server_reply_add_to_event().
Stephan Bosch [Mon, 11 Feb 2019 23:09:21 +0000 (00:09 +0100)] 
lib-smtp: smtp-server-reply - Add smtp_server_reply_add_to_event().

6 years agolib-smtp: smtp-server - Record the enhanced code in the reply content.
Stephan Bosch [Mon, 4 Feb 2019 02:37:52 +0000 (03:37 +0100)] 
lib-smtp: smtp-server - Record the enhanced code in the reply content.

6 years agolib-smtp: smtp-server-reply - Add smtp_server_reply_is_success() and use it.
Stephan Bosch [Mon, 11 Feb 2019 23:01:39 +0000 (00:01 +0100)] 
lib-smtp: smtp-server-reply - Add smtp_server_reply_is_success() and use it.

6 years agolib-smtp: smtp-server-reply - Add smtp_server_reply_get_message().
Stephan Bosch [Mon, 4 Feb 2019 02:32:42 +0000 (03:32 +0100)] 
lib-smtp: smtp-server-reply - Add smtp_server_reply_get_message().

6 years agolib-smtp: smtp-server-reply - Make smtp_server_reply_get_one_line() reply parameter...
Stephan Bosch [Mon, 11 Feb 2019 22:49:59 +0000 (23:49 +0100)] 
lib-smtp: smtp-server-reply - Make smtp_server_reply_get_one_line() reply parameter const.

6 years agolib-smtp: smtp-server.h - Move server functions to a single place.
Stephan Bosch [Mon, 11 Feb 2019 23:04:42 +0000 (00:04 +0100)] 
lib-smtp: smtp-server.h - Move server functions to a single place.

Corrects position of smtp_server_switch_ioloop() in the header file.

6 years agolib-smtp: smtp-server - Replace smtp_*_debug() with e_debug().
Stephan Bosch [Mon, 17 Dec 2018 03:08:47 +0000 (04:08 +0100)] 
lib-smtp: smtp-server - Replace smtp_*_debug() with e_debug().

6 years agolib-smtp: smtp-server - Replace smtp_*_error() with e_error().
Stephan Bosch [Mon, 24 Dec 2018 00:46:56 +0000 (01:46 +0100)] 
lib-smtp: smtp-server - Replace smtp_*_error() with e_error().

6 years agolib-smtp: smtp-server-connection - Replace i_error() with e_error().
Stephan Bosch [Mon, 24 Dec 2018 00:35:52 +0000 (01:35 +0100)] 
lib-smtp: smtp-server-connection - Replace i_error() with e_error().

6 years agolib-smtp: smtp-server - Remove redundant debug logging checks.
Stephan Bosch [Mon, 17 Dec 2018 02:53:32 +0000 (03:53 +0100)] 
lib-smtp: smtp-server - Remove redundant debug logging checks.

6 years agolib-smtp: smtp-server - Add support for event API.
Stephan Bosch [Mon, 17 Dec 2018 02:45:58 +0000 (03:45 +0100)] 
lib-smtp: smtp-server - Add support for event API.

6 years agolib-smtp: smtp-server - Provide RCPT parameters as parameter to smtp_server_recipient...
Stephan Bosch [Thu, 14 Feb 2019 00:05:57 +0000 (01:05 +0100)] 
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.

6 years agolib-smtp: smtp-server - Add smtp_server_command_new_invalid().
Stephan Bosch [Sun, 23 Dec 2018 23:11:59 +0000 (00:11 +0100)] 
lib-smtp: smtp-server - Add smtp_server_command_new_invalid().

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

6 years agolib-smtp: smtp-server - Remove unused server->ioloop field.
Stephan Bosch [Sun, 16 Dec 2018 18:40:51 +0000 (19:40 +0100)] 
lib-smtp: smtp-server - Remove unused server->ioloop field.

6 years agolib-smtp: smtp-server - Properly document all settings.
Stephan Bosch [Sun, 16 Dec 2018 18:29:35 +0000 (19:29 +0100)] 
lib-smtp: smtp-server - Properly document all settings.

6 years agolib: connection - Add generic event fields for local and remote addresses.
Stephan Bosch [Thu, 28 Feb 2019 09:03:17 +0000 (10:03 +0100)] 
lib: connection - Add generic event fields for local and remote addresses.

6 years agolib: connection - Use the connection event for all connection types directly.
Stephan Bosch [Thu, 28 Feb 2019 08:55:17 +0000 (09:55 +0100)] 
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.

6 years agolib-smtp: smtp-client-connection - Create separate parent event to add the smtp-clien...
Stephan Bosch [Fri, 1 Mar 2019 15:21:36 +0000 (16:21 +0100)] 
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.

6 years agolib-smtp: smtp-client-connection - Retain the host name in the connection label after...
Stephan Bosch [Fri, 1 Mar 2019 15:54:48 +0000 (16:54 +0100)] 
lib-smtp: smtp-client-connection - Retain the host name in the connection label after DNS lookup.

6 years agolib-smtp: smtp-client-connection - Remember whether the hostname is actually an IP...
Stephan Bosch [Fri, 1 Mar 2019 14:16:37 +0000 (15:16 +0100)] 
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.

6 years agolib-dns: dns-lookup - Perform connection-related logging using the connection event.
Stephan Bosch [Fri, 1 Mar 2019 15:02:40 +0000 (16:02 +0100)] 
lib-dns: dns-lookup - Perform connection-related logging using the connection event.

6 years agolib: connection - Add socket_path event field for unix connections.
Stephan Bosch [Fri, 1 Mar 2019 14:12:01 +0000 (15:12 +0100)] 
lib: connection - Add socket_path event field for unix connections.

6 years agolib-http: http-client-connection - Drop the connection ID.
Stephan Bosch [Thu, 28 Feb 2019 08:49:01 +0000 (09:49 +0100)] 
lib-http: http-client-connection - Drop the connection ID.

This is now unused.

6 years agolib-http: http-client-connection - Use the default connection label.
Stephan Bosch [Thu, 28 Feb 2019 08:41:34 +0000 (09:41 +0100)] 
lib-http: http-client-connection - Use the default connection label.

6 years agolib-smtp: smtp-client-connection - Drop the connection ID.
Stephan Bosch [Thu, 28 Feb 2019 08:36:30 +0000 (09:36 +0100)] 
lib-smtp: smtp-client-connection - Drop the connection ID.

This is now unused.

6 years agolib-smtp: smtp-client-connection - Use the default connection label.
Stephan Bosch [Thu, 28 Feb 2019 08:29:44 +0000 (09:29 +0100)] 
lib-smtp: smtp-client-connection - Use the default connection label.

6 years agolib-http: http-server-connection - Drop the connection ID.
Stephan Bosch [Wed, 27 Feb 2019 21:19:27 +0000 (22:19 +0100)] 
lib-http: http-server-connection - Drop the connection ID.

This is now unused.

6 years agolib-http: http-server-connection - Drop the connection properties.
Stephan Bosch [Wed, 27 Feb 2019 21:17:26 +0000 (22:17 +0100)] 
lib-http: http-server-connection - Drop the connection properties.

These are now unused.

6 years agolib-http: http-server-connection - Use the default connection label.
Stephan Bosch [Wed, 27 Feb 2019 21:13:25 +0000 (22:13 +0100)] 
lib-http: http-server-connection - Use the default connection label.

6 years agolib-smtp: smtp-server-connection - Drop the connection ID.
Stephan Bosch [Wed, 27 Feb 2019 20:59:08 +0000 (21:59 +0100)] 
lib-smtp: smtp-server-connection - Drop the connection ID.

This is now unused.

6 years agolib-smtp: smtp-server-connection - Drop the connection properties.
Stephan Bosch [Wed, 27 Feb 2019 20:52:02 +0000 (21:52 +0100)] 
lib-smtp: smtp-server-connection - Drop the connection properties.

These are now unused.

6 years agolib-smtp: smtp-server-connection - Use the default connection label.
Stephan Bosch [Wed, 27 Feb 2019 20:49:04 +0000 (21:49 +0100)] 
lib-smtp: smtp-server-connection - Use the default connection label.

6 years agolib: connection - Remove existing log prefix.
Stephan Bosch [Wed, 27 Feb 2019 20:34:33 +0000 (21:34 +0100)] 
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.

6 years agolib: connection - Move creation of passthrough event in connection_client_connected().
Stephan Bosch [Wed, 27 Feb 2019 20:30:54 +0000 (21:30 +0100)] 
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.

6 years agolib: connection - Make providing a name for the connection optional.
Stephan Bosch [Wed, 27 Feb 2019 20:41:54 +0000 (21:41 +0100)] 
lib: connection - Make providing a name for the connection optional.

6 years agolib-smtp: smtp-server-connection - Use connection properties for remote ip:port.
Stephan Bosch [Wed, 27 Feb 2019 20:23:10 +0000 (21:23 +0100)] 
lib-smtp: smtp-server-connection - Use connection properties for remote ip:port.

6 years agolib-http: http-server-connection - Use connection->label instead of connection->name.
Stephan Bosch [Wed, 27 Feb 2019 20:14:36 +0000 (21:14 +0100)] 
lib-http: http-server-connection - Use connection->label instead of connection->name.

6 years agolib-smtp: smtp-server-connection - Use connection->label instead of connection->name.
Stephan Bosch [Wed, 27 Feb 2019 20:12:20 +0000 (21:12 +0100)] 
lib-smtp: smtp-server-connection - Use connection->label instead of connection->name.

6 years agolib-http: http-client-connection - Use connection_init() immediately upon creation.
Stephan Bosch [Tue, 26 Feb 2019 23:33:19 +0000 (00:33 +0100)] 
lib-http: http-client-connection - Use connection_init() immediately upon creation.

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

6 years agolib: connection - Compose standard names for the input/output streams.
Stephan Bosch [Fri, 1 Mar 2019 23:49:58 +0000 (00:49 +0100)] 
lib: connection - Compose standard names for the input/output streams.

6 years agolib: connection - Add a unique numeric ID to the connection.
Stephan Bosch [Wed, 27 Feb 2019 02:16:57 +0000 (03:16 +0100)] 
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.

6 years agolib: connection - Compose a standard label for logging.
Stephan Bosch [Wed, 27 Feb 2019 02:09:03 +0000 (03:09 +0100)] 
lib: connection - Compose a standard label for logging.

6 years agolib: connection - Add connection_init_server_ip().
Stephan Bosch [Wed, 27 Feb 2019 01:28:23 +0000 (02:28 +0100)] 
lib: connection - Add connection_init_server_ip().

6 years agolib: connection - Record and update connection properties.
Stephan Bosch [Wed, 27 Feb 2019 01:21:36 +0000 (02:21 +0100)] 
lib: connection - Record and update connection properties.

6 years agolib-dns: dns-lookup - Initialize the connection immediately.
Stephan Bosch [Fri, 1 Mar 2019 14:59:05 +0000 (15:59 +0100)] 
lib-dns: dns-lookup - Initialize the connection immediately.