]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
7 years agopush-notification-driver-lua: Add keywords and flags to MessageAppend event
Aki Tuomi [Mon, 7 Jan 2019 18:01:21 +0000 (20:01 +0200)] 
push-notification-driver-lua: Add keywords and flags to MessageAppend event

7 years agopush-notification-driver-lua: Add keywords and flags to MessageNew event
Aki Tuomi [Mon, 7 Jan 2019 17:49:20 +0000 (19:49 +0200)] 
push-notification-driver-lua: Add keywords and flags to MessageNew event

7 years agopush-notification-driver-lua: Rename keywords_set and keywors_clear to keywords
Aki Tuomi [Mon, 7 Jan 2019 17:48:11 +0000 (19:48 +0200)] 
push-notification-driver-lua: Rename keywords_set and keywors_clear to keywords

This is more concince since these are the keywords being operated on.

7 years agopush-notification-driver-lua: Push keywords in helper function
Aki Tuomi [Mon, 7 Jan 2019 17:47:14 +0000 (19:47 +0200)] 
push-notification-driver-lua: Push keywords in helper function

7 years agopush-notification-driver-lua: Push mail flags as array of flags
Aki Tuomi [Mon, 7 Jan 2019 17:42:39 +0000 (19:42 +0200)] 
push-notification-driver-lua: Push mail flags as array of flags

7 years agopush-notification: Add flags and keywords to MessageAppend event
Aki Tuomi [Mon, 7 Jan 2019 18:00:07 +0000 (20:00 +0200)] 
push-notification: Add flags and keywords to MessageAppend event

7 years agopush-notification: Add flags and keywords to MessageNew event
Aki Tuomi [Mon, 7 Jan 2019 17:33:28 +0000 (19:33 +0200)] 
push-notification: Add flags and keywords to MessageNew event

7 years agom4: Remove unneeded else case from want_lz4
Aki Tuomi [Fri, 11 Jan 2019 07:55:25 +0000 (09:55 +0200)] 
m4: Remove unneeded else case from want_lz4

This causes extraneous code in configure causing it to fail

7 years agom4: Replace some if tests with AS_IF
Aki Tuomi [Fri, 11 Jan 2019 07:37:51 +0000 (09:37 +0200)] 
m4: Replace some if tests with AS_IF

Fixes configure on older systems

7 years agom4: Remove stray comma from want_lua.m4
Aki Tuomi [Fri, 11 Jan 2019 07:37:42 +0000 (09:37 +0200)] 
m4: Remove stray comma from want_lua.m4

7 years agom4: Remove stray AC_ARG_WITH from arc4random.m4
Aki Tuomi [Fri, 11 Jan 2019 07:37:02 +0000 (09:37 +0200)] 
m4: Remove stray AC_ARG_WITH from arc4random.m4

7 years agolib: test-event-log - Add test for log level
Aki Tuomi [Fri, 28 Dec 2018 08:36:49 +0000 (10:36 +0200)] 
lib: test-event-log - Add test for log level

7 years agolib: event - Check log level for info, warning and error
Aki Tuomi [Fri, 28 Dec 2018 08:17:10 +0000 (10:17 +0200)] 
lib: event - Check log level for info, warning and error

7 years agolib: event - Add event_want_level and event_want_log_level
Aki Tuomi [Fri, 28 Dec 2018 17:06:12 +0000 (19:06 +0200)] 
lib: event - Add event_want_level and event_want_log_level

7 years agolib: event - Add min_log_level
Aki Tuomi [Tue, 11 Dec 2018 13:46:05 +0000 (15:46 +0200)] 
lib: event - Add min_log_level

Determines minimum severity to log for this event

7 years agoglobal: Really change array_idx(A, 0) to array_first(A)
Aki Tuomi [Thu, 10 Jan 2019 10:11:24 +0000 (12:11 +0200)] 
global: Really change array_idx(A, 0) to array_first(A)

Was only partially done in 27b2b51943e0f9440483abeae4c9f5805b236db9

7 years agoglobal: Use array_last instead of array_idx
Aki Tuomi [Fri, 4 Jan 2019 13:16:44 +0000 (15:16 +0200)] 
global: Use array_last instead of array_idx

@@
expression E;
@@

-array_idx(E, array_count(E) - 1)
+array_last(E)

@@
expression E;
@@

-array_idx_modifiable(E, array_count(E) - 1)
+array_last_modifiable(E)

7 years agoglobal: Use array_pop_back
Aki Tuomi [Fri, 4 Jan 2019 12:01:53 +0000 (14:01 +0200)] 
global: Use array_pop_back

@@
expression A;
@@

-array_delete(A, array_count(A)-1, 1)
+array_pop_back(A)

And manually fixing the few missed ones

7 years agoglobal: Use array_pop_front
Aki Tuomi [Fri, 4 Jan 2019 11:59:36 +0000 (13:59 +0200)] 
global: Use array_pop_front

@@
expression A;
@@

-array_delete(A, 0, 1)
+array_pop_front(A)

7 years agoglobal: Use array_push_front
Aki Tuomi [Fri, 4 Jan 2019 11:58:46 +0000 (13:58 +0200)] 
global: Use array_push_front

@@
expression A,I;
@@

-array_insert(A, 0, I, 1)
+array_push_front(A, I)

7 years agoglobal: Use array_push_back
Aki Tuomi [Fri, 4 Jan 2019 11:58:08 +0000 (13:58 +0200)] 
global: Use array_push_back

@@
expression A,I;
@@

-array_append(A, I, 1)
+array_push_back(A, I)

7 years agoglobal: Use array_first instead of array_idx
Aki Tuomi [Fri, 4 Jan 2019 11:56:10 +0000 (13:56 +0200)] 
global: Use array_first instead of array_idx

@@
expression A;
@@

-array_idx(A, 0)
+array_first(A)

@@
expression A;
@@

-array_idx_modifiable(A, 0)
+array_first_modifiable(A)

7 years agolib: array - Add helpers for dealing with some common array usecases
Aki Tuomi [Wed, 2 Jan 2019 11:29:32 +0000 (13:29 +0200)] 
lib: array - Add helpers for dealing with some common array usecases

Adds macros for accessing first and last item, pushing and popping
and also adding/removing first item.

Note that pop and shift do not return item.

7 years agolib: array - Fix asserts to work correctly on 32-bit systems
Aki Tuomi [Fri, 4 Jan 2019 14:01:01 +0000 (16:01 +0200)] 
lib: array - Fix asserts to work correctly on 32-bit systems

7 years agolib-smtp: client: Fix infinite loop in XCLIENT command interaction with server.
Stephan Bosch [Sun, 6 Jan 2019 15:22:02 +0000 (16:22 +0100)] 
lib-smtp: client: Fix infinite loop in XCLIENT command interaction with server.

The state regarding the fact that the XCLIENT command was already sent was not
recorded. So, after the HELO handshake, the client would send a new XCLIENT
command.

7 years agolib-smtp: client: command: Add debug message showing what commands are being sent...
Stephan Bosch [Sun, 6 Jan 2019 15:21:29 +0000 (16:21 +0100)] 
lib-smtp: client: command: Add debug message showing what commands are being sent to the server.

7 years agolib-smtp: client: Move connection to TRANSACTION state immediately when a transaction...
Stephan Bosch [Thu, 27 Dec 2018 13:13:15 +0000 (14:13 +0100)] 
lib-smtp: client: Move connection to TRANSACTION state immediately when a transaction is started.

Before, it waited until the actual start handler was called from timeout, but
that causes a race condition with mtp_client_connection_abort_transaction(),
which in turn causes an assert panic.

Panic was:

Panic: file smtp-client-connection.c: line 2153 (smtp_client_connection_abort_transaction): assertion failed: (conn->state != SMTP_CLIENT_CONNECTION_STATE_READY)

7 years agolib-smtp: client: Properly reset connection state upon reconnect.
Stephan Bosch [Sun, 11 Nov 2018 19:41:18 +0000 (20:41 +0100)] 
lib-smtp: client: Properly reset connection state upon reconnect.

7 years agolib-smtp: client: connection: Prevent timeout leak for transaction start.
Stephan Bosch [Sun, 11 Nov 2018 19:32:09 +0000 (20:32 +0100)] 
lib-smtp: client: connection: Prevent timeout leak for transaction start.

Perform timeout management in a single place. Also, always start the next
transaction only through a timeout.

7 years agolog: Use failure context log_prefix when available as prefix for error.
Sergey Kitov [Wed, 12 Dec 2018 14:21:29 +0000 (16:21 +0200)] 
log: Use failure context log_prefix when available as prefix for error.

Current behaviour hides log prefix when seeing errors via doveadm log
errors, this commit will fix it.

7 years agoauth: Fix auth-policy log-only warning whitespace
Martti Rannanjärvi [Thu, 13 Dec 2018 09:30:06 +0000 (11:30 +0200)] 
auth: Fix auth-policy log-only warning whitespace

7 years agoauth: Add auth_policy_log_only setting
Aki Tuomi [Tue, 4 Dec 2018 11:42:44 +0000 (13:42 +0200)] 
auth: Add auth_policy_log_only setting

When auth_policy_log_only=yes, only log what would have been done.

7 years agoauth: Treat all negative responses from policy servers as drops
Aki Tuomi [Tue, 4 Dec 2018 11:42:04 +0000 (13:42 +0200)] 
auth: Treat all negative responses from policy servers as drops

Otherwise negative responses that are not -1 are considered
as success, which is wrong.

7 years agoauth: Log policy decisions clearly
Aki Tuomi [Tue, 4 Dec 2018 11:41:20 +0000 (13:41 +0200)] 
auth: Log policy decisions clearly

7 years agolmtp: Load all globally-defined mail_plugins at client connect.
Stephan Bosch [Sat, 10 Nov 2018 14:26:51 +0000 (15:26 +0100)] 
lmtp: Load all globally-defined mail_plugins at client connect.

Before, this was not performed until after a user lookup was performed for a
recipient. That is not acceptable when plugins need to modify the LMTP protocol
itself.

7 years agolmtp: Install header files.
Stephan Bosch [Sat, 10 Nov 2018 12:58:37 +0000 (13:58 +0100)] 
lmtp: Install header files.

This allows creating external lmtp plugins.

7 years agolmtp: Rename commands.h to lmtp-commands.h.
Stephan Bosch [Sat, 10 Nov 2018 12:48:56 +0000 (13:48 +0100)] 
lmtp: Rename commands.h to lmtp-commands.h.

7 years agolmtp: Rename client.h to lmtp-client.h.
Stephan Bosch [Sat, 10 Nov 2018 12:52:28 +0000 (13:52 +0100)] 
lmtp: Rename client.h to lmtp-client.h.

7 years agolmtp: Make include directory available to external plugins.
Stephan Bosch [Sat, 10 Nov 2018 12:41:27 +0000 (13:41 +0100)] 
lmtp: Make include directory available to external plugins.

7 years agolmtp: local: Create a client vfunc for local delivery.
Stephan Bosch [Sat, 3 Nov 2018 12:34:20 +0000 (13:34 +0100)] 
lmtp: local: Create a client vfunc for local delivery.

This way,for example, the struct mail_deliver_context passed to mail_deliver()
can be adjusted by plugins.

7 years agolib-smtp: server: Add support for adding (non-standard) extra capabilities.
Stephan Bosch [Sat, 3 Nov 2018 10:18:46 +0000 (11:18 +0100)] 
lib-smtp: server: Add support for adding (non-standard) extra capabilities.

7 years agolib-smtp: syntax: Add new smtp_ehlo_params_are_valid().
Stephan Bosch [Sat, 10 Nov 2018 12:27:52 +0000 (13:27 +0100)] 
lib-smtp: syntax: Add new smtp_ehlo_params_are_valid().

This new version checks whether the parameters contained in the provided string
array are all valid EHLO parameters.

7 years agolib-smtp: syntax: Remame smtp_ehlo_params_are_valid() to smtp_ehlo_params_str_is_valid().
Stephan Bosch [Sat, 10 Nov 2018 12:22:52 +0000 (13:22 +0100)] 
lib-smtp: syntax: Remame smtp_ehlo_params_are_valid() to smtp_ehlo_params_str_is_valid().

Moves it out of the way for a function that is better suited for this name;
i.e., it operates on an array of parameters.

7 years agolib-smtp: server: Add smtp_server_reply_ehlo_add_params().
Stephan Bosch [Sat, 3 Nov 2018 10:18:10 +0000 (11:18 +0100)] 
lib-smtp: server: Add smtp_server_reply_ehlo_add_params().

7 years agolib-smtp: server: EHLO command: Move composition of individual reply lines to separat...
Stephan Bosch [Sat, 3 Nov 2018 08:55:41 +0000 (09:55 +0100)] 
lib-smtp: server: EHLO command: Move composition of individual reply lines to separate functions.

7 years agolib-smtp: server: EHLO command: Move composition of default EHLO reply to a separate...
Stephan Bosch [Sat, 3 Nov 2018 08:27:48 +0000 (09:27 +0100)] 
lib-smtp: server: EHLO command: Move composition of default EHLO reply to a separate public function.

7 years agolmtp: Add support for module contexts to recipient.
Stephan Bosch [Sat, 3 Nov 2018 00:00:13 +0000 (01:00 +0100)] 
lmtp: Add support for module contexts to recipient.

7 years agolmtp: Add support for module contexts to client.
Stephan Bosch [Fri, 2 Nov 2018 23:54:50 +0000 (00:54 +0100)] 
lmtp: Add support for module contexts to client.

7 years agolmtp: Implement client vfuncs for transaction start and free.
Stephan Bosch [Fri, 2 Nov 2018 23:49:32 +0000 (00:49 +0100)] 
lmtp: Implement client vfuncs for transaction start and free.

7 years agolmtp: Implement client vfuncs for SMTP transaction commands.
Stephan Bosch [Fri, 2 Nov 2018 23:33:31 +0000 (00:33 +0100)] 
lmtp: Implement client vfuncs for SMTP transaction commands.

7 years agolmtp: RCPT command: Allocate lmtp_recipient object immediately.
Stephan Bosch [Sat, 3 Nov 2018 13:26:24 +0000 (14:26 +0100)] 
lmtp: RCPT command: Allocate lmtp_recipient object immediately.

7 years agolmtp: DATA command: Add data size to client state.
Stephan Bosch [Fri, 2 Nov 2018 23:41:03 +0000 (00:41 +0100)] 
lmtp: DATA command: Add data size to client state.

7 years agolmtp: DATA command: Put the data input stream in the client state rather than the...
Stephan Bosch [Fri, 2 Nov 2018 23:37:52 +0000 (00:37 +0100)] 
lmtp: DATA command: Put the data input stream in the client state rather than the transaction context.

7 years agolmtp: Implement basic client vfuncs.
Stephan Bosch [Fri, 2 Nov 2018 22:48:48 +0000 (23:48 +0100)] 
lmtp: Implement basic client vfuncs.

Currently, only client_destroy can be overriden.

7 years agolmtp: Add hook for client_create().
Stephan Bosch [Sat, 3 Nov 2018 11:56:30 +0000 (12:56 +0100)] 
lmtp: Add hook for client_create().

7 years agolmtp: Remove obsolete declaration from lmtp-common.h.
Stephan Bosch [Sat, 3 Nov 2018 11:47:00 +0000 (12:47 +0100)] 
lmtp: Remove obsolete declaration from lmtp-common.h.

7 years agolmtp: Make lmtp-common.h the primary include.
Stephan Bosch [Sat, 3 Nov 2018 11:45:19 +0000 (12:45 +0100)] 
lmtp: Make lmtp-common.h the primary include.

This better matches other services.

7 years agolmtp: Rename main.h to lmtp-common.h.
Stephan Bosch [Sat, 3 Nov 2018 11:34:02 +0000 (12:34 +0100)] 
lmtp: Rename main.h to lmtp-common.h.

This better matches other services.

7 years agolmtp: Rename lmtp-common to lmtp-recipient.
Stephan Bosch [Sat, 3 Nov 2018 11:26:51 +0000 (12:26 +0100)] 
lmtp: Rename lmtp-common to lmtp-recipient.

7 years agolib-storage: Fix mail_get_headers() API comment
Timo Sirainen [Tue, 11 Dec 2018 18:28:33 +0000 (20:28 +0200)] 
lib-storage: Fix mail_get_headers() API comment

7 years agomaster: Before child process closes log fds, switch logging to stderr
Timo Sirainen [Tue, 11 Dec 2018 13:26:01 +0000 (15:26 +0200)] 
master: Before child process closes log fds, switch logging to stderr

Otherwise any logging could cause the process to fail with FATAL_LOGWRITE
without writing the error message anywhere. This is especially unwanted
when using --enable-devel-checks and logging a debug message about growing
data stack.

7 years agolib-http: client: Fix panic occurring at connection failure.
Stephan Bosch [Fri, 7 Dec 2018 21:38:19 +0000 (22:38 +0100)] 
lib-http: client: Fix panic occurring at connection failure.

In http_client_peer_connection_failed_pool(), all linked queues are notified
about the connection failure through http_client_queue_connection_failure().
That function can internally link and unlink peers to the queue, including the
calling one. This means that the peer->queues array can be modified while it is
iterated in the array_foreach() loop. The problem is fixed by making a local
copy of the peer->queues array.

7 years agolib-http: client: Fix handling of servers with several alternative IP addresses.
Stephan Bosch [Thu, 25 Oct 2018 08:31:07 +0000 (10:31 +0200)] 
lib-http: client: Fix handling of servers with several alternative IP addresses.

This also addresses an assert failure occurring with parallel clients:

Panic: file http-client-queue.c: line 518 (http_client_queue_connection_failure): assertion failed: (queue->cur_peer == peer)

7 years agolib-storage: Fix error handling if mailbox list index refresh fails
Timo Sirainen [Tue, 4 Dec 2018 09:19:23 +0000 (11:19 +0200)] 
lib-storage: Fix error handling if mailbox list index refresh fails

The caller expects the error to be in mail_storage, not mailbox_list.

7 years agodriver-mysql: Avoid double-closing MySQL connection
Aki Tuomi [Tue, 4 Dec 2018 12:40:04 +0000 (14:40 +0200)] 
driver-mysql: Avoid double-closing MySQL connection

Fixes double-free

7 years agomaildir: Don't crash with zlib plugin when saving is aborted
Timo Sirainen [Mon, 3 Dec 2018 13:43:06 +0000 (15:43 +0200)] 
maildir: Don't crash with zlib plugin when saving is aborted

The ostream can be finished even if the saving had already failed. It gets
deleted anyway.

Fixes:
Panic: file ostream-zlib.c: line 37 (o_stream_zlib_close): assertion failed: (zstream->ostream.finished || zstream->ostream.ostream.stream_errno != 0 || zstream->ostream.error_handling_disabled)

7 years agolib-smtp: client: Make sending the XCLIENT command(s) always implicit and do it only...
Stephan Bosch [Mon, 3 Dec 2018 17:45:43 +0000 (18:45 +0100)] 
lib-smtp: client: Make sending the XCLIENT command(s) always implicit and do it only once.

For most servers, XCLIENT changes the ip:port identity of the client, causing it
to lose privileges to send more XCLIENT commands. For long XCLIENT commands
split in a series of XCLIENT commands, the ip:port parameters were sent last
already, so that did not cause problems even before this change. However, the
old code assumed it could update XCLIENT fields later on, which is often not
possible.

7 years agosubmission: relay backend: Don't bother updating the protocol in proxy data.
Stephan Bosch [Mon, 3 Dec 2018 17:45:43 +0000 (18:45 +0100)] 
submission: relay backend: Don't bother updating the protocol in proxy data.

Old SMTP clients cannot use the submission service, since these cannot perform
the required authentication.

7 years agosubmission: Move client_create_backend_default() after smtp_server_connection_login...
Stephan Bosch [Mon, 3 Dec 2018 17:45:42 +0000 (18:45 +0100)] 
submission: Move client_create_backend_default() after smtp_server_connection_login() in client_create().

This way, the created default backend can use the HELO data provided to smtp_server_connection_login().

7 years agolib-smtp: client: Allow deferring sending the XCLIENT command until authentication...
Stephan Bosch [Mon, 3 Dec 2018 17:45:42 +0000 (18:45 +0100)] 
lib-smtp: client: Allow deferring sending the XCLIENT command until authentication or first mail transaction.

This allows updating the proxy data until the XCLIENT command actually needs to
be sent. For submission, this means that later EHLO domain changes can still be
accounted for. This change makes the simplifications in subsequent changes
easier.

7 years agolib-smtp: client: Merge smtp_client_connection_init_xclient() into smtp_client_connec...
Stephan Bosch [Mon, 3 Dec 2018 17:45:41 +0000 (18:45 +0100)] 
lib-smtp: client: Merge smtp_client_connection_init_xclient() into smtp_client_connection_authenticate().

7 years agolib-smtp: client: Move smtp_client_connection_send_xclient() before smtp_client_conne...
Stephan Bosch [Mon, 3 Dec 2018 17:45:40 +0000 (18:45 +0100)] 
lib-smtp: client: Move smtp_client_connection_send_xclient() before smtp_client_connection_authenticate().

Keeps ordering of functions logical for next changes.

7 years agosubmission: relay backend: Provide data for the HELO and PROTO XCLIENT fields to...
Stephan Bosch [Mon, 3 Dec 2018 17:45:40 +0000 (18:45 +0100)] 
submission: relay backend: Provide data for the HELO and PROTO XCLIENT fields to the relay connection.

7 years agolib-smtp: server: Use the HELO domain provided to smtp_server_connection_login()...
Stephan Bosch [Mon, 3 Dec 2018 17:45:39 +0000 (18:45 +0100)] 
lib-smtp: server: Use the HELO domain provided to smtp_server_connection_login() immediately.

Before, it was only used when no new HELO/EHLO command was issued before MAIL.

7 years agolib-smtp: client: Remove proxy_data parameter from smtp_client_connection_send_xclient().
Stephan Bosch [Mon, 3 Dec 2018 17:45:39 +0000 (18:45 +0100)] 
lib-smtp: client: Remove proxy_data parameter from smtp_client_connection_send_xclient().

Use smtp_client_connection_update_proxy_data() to change fields in the proxy
data recorded in the client.

7 years agolib-smtp: client: Add smtp_client_connection_update_proxy_data().
Stephan Bosch [Mon, 3 Dec 2018 17:45:38 +0000 (18:45 +0100)] 
lib-smtp: client: Add smtp_client_connection_update_proxy_data().

Allows updating the proxy data after creation of the connection.

7 years agolib-smtp: client: Make smtp_client_connection_send_xclient() return void.
Stephan Bosch [Mon, 3 Dec 2018 17:45:38 +0000 (18:45 +0100)] 
lib-smtp: client: Make smtp_client_connection_send_xclient() return void.

7 years agolib-smtp: client: Copy proxy data from settings using the new smtp_proxy_data_merge...
Stephan Bosch [Mon, 3 Dec 2018 17:45:37 +0000 (18:45 +0100)] 
lib-smtp: client: Copy proxy data from settings using the new smtp_proxy_data_merge() functioṅ.

7 years agolib-smtp: common: Add smtp_proxy_data_merge().
Stephan Bosch [Mon, 3 Dec 2018 17:45:36 +0000 (18:45 +0100)] 
lib-smtp: common: Add smtp_proxy_data_merge().

7 years agolib-smtp: client: Drop smtp_client_command_mail_submit_after().
Stephan Bosch [Mon, 3 Dec 2018 17:45:35 +0000 (18:45 +0100)] 
lib-smtp: client: Drop smtp_client_command_mail_submit_after().

It is not used.

7 years agolib-smtp: client: connection: Fix copying of PROTO XCLIENT field in proxy data.
Stephan Bosch [Mon, 3 Dec 2018 17:45:24 +0000 (18:45 +0100)] 
lib-smtp: client: connection: Fix copying of PROTO XCLIENT field in proxy data.

7 years agolib-smtp: syntax: Fix smtp_ehlo_line_parse() to also record the last parameter.
Stephan Bosch [Mon, 3 Dec 2018 17:45:17 +0000 (18:45 +0100)] 
lib-smtp: syntax: Fix smtp_ehlo_line_parse() to also record the last parameter.

7 years agologin-proxy: Fix potential crash for delayed disconnects
Timo Sirainen [Mon, 3 Dec 2018 13:59:13 +0000 (15:59 +0200)] 
login-proxy: Fix potential crash for delayed disconnects

This happens only with login_proxy_max_disconnect_delay.

Fixes:
Panic: file ioloop.c: line 86 (io_add): assertion failed: (fd >= 0)

7 years agolib-smtp: client: Prevent sending an empty XCLIENT command when the first parameter...
Stephan Bosch [Mon, 3 Dec 2018 23:16:47 +0000 (00:16 +0100)] 
lib-smtp: client: Prevent sending an empty XCLIENT command when the first parameter is long.

7 years agolib: event - Add event_set_log_prefix_callback
Aki Tuomi [Thu, 29 Nov 2018 11:12:28 +0000 (13:12 +0200)] 
lib: event - Add event_set_log_prefix_callback

Fetch prefix using a callback.

7 years agolib: Fix failure_context.log_prefix_type_pos handling
Timo Sirainen [Thu, 29 Nov 2018 14:28:23 +0000 (16:28 +0200)] 
lib: Fix failure_context.log_prefix_type_pos handling

The log type string was inserted into wrong location if there were multiple
log prefixes.

7 years agolib-storage: Remove MAILBOX_FEATURE_QRESYNC
Timo Sirainen [Wed, 28 Nov 2018 12:13:54 +0000 (14:13 +0200)] 
lib-storage: Remove MAILBOX_FEATURE_QRESYNC

This is an imap-specific feature, which doesn't need to be visible in
the lib-storage layer.

7 years agoimap: Add support for ENABLE extensions
Timo Sirainen [Wed, 28 Nov 2018 12:12:57 +0000 (14:12 +0200)] 
imap: Add support for ENABLE extensions

Based on patch by Aki Tuomi

7 years agoimap: Change state import/export to use full feature string names
Timo Sirainen [Wed, 28 Nov 2018 12:02:44 +0000 (14:02 +0200)] 
imap: Change state import/export to use full feature string names

Single letter IDs wouldn't allow extensions.

7 years agoimap: Add client_enabled_features()
Timo Sirainen [Thu, 29 Nov 2018 08:01:36 +0000 (10:01 +0200)] 
imap: Add client_enabled_features()

This simplifies the following commits.

7 years agoimap: Cleanup - Change client_enable() to return void
Timo Sirainen [Wed, 28 Nov 2018 11:19:02 +0000 (13:19 +0200)] 
imap: Cleanup - Change client_enable() to return void

Nothing cares about its return value. With the current features it's
not even possible to fail. Possibly mailbox_enable() should be also
changed to return void in the future.

7 years agoimap: Add and use imap_feature_lookup()
Timo Sirainen [Wed, 28 Nov 2018 11:17:39 +0000 (13:17 +0200)] 
imap: Add and use imap_feature_lookup()

This simplifies the following commits.

7 years agoimap: Add and use client_enabled_mailbox_features()
Timo Sirainen [Wed, 28 Nov 2018 10:50:51 +0000 (12:50 +0200)] 
imap: Add and use client_enabled_mailbox_features()

This simplifies the following commits.

7 years agoimap: Cleanup - don't avoid calling mailbox_enable(box, 0)
Timo Sirainen [Wed, 28 Nov 2018 10:48:47 +0000 (12:48 +0200)] 
imap: Cleanup - don't avoid calling mailbox_enable(box, 0)

This simplifies the following changes. mailbox_enable() is an efficient
function and it doesn't mind being called with features=0 parameter.

7 years agoimap: Add and use client_has_enabled() wrapper
Timo Sirainen [Wed, 28 Nov 2018 10:44:48 +0000 (12:44 +0200)] 
imap: Add and use client_has_enabled() wrapper

This simplifies the following commits.

7 years agoimap: client_enable() API change - enable features one at a time
Timo Sirainen [Wed, 28 Nov 2018 10:42:55 +0000 (12:42 +0200)] 
imap: client_enable() API change - enable features one at a time

This simplifies the following commits.

7 years agoimap: Access enabled features via new imap_client_feature_* variables
Timo Sirainen [Wed, 28 Nov 2018 10:26:33 +0000 (12:26 +0200)] 
imap: Access enabled features via new imap_client_feature_* variables

This simplifies the following commits.

7 years agom4: dovecot.m4 - Bump serial
Aki Tuomi [Thu, 29 Nov 2018 08:19:38 +0000 (10:19 +0200)] 
m4: dovecot.m4 - Bump serial

7 years agom4: dovecot.m4 - Improve CC_CLANG
Aki Tuomi [Mon, 26 Nov 2018 10:45:52 +0000 (12:45 +0200)] 
m4: dovecot.m4 - Improve CC_CLANG

7 years agom4: dovecot.m4 - Call CC_CLANG before DC_DOVECOT_CFLAGS
Aki Tuomi [Mon, 26 Nov 2018 10:38:25 +0000 (12:38 +0200)] 
m4: dovecot.m4 - Call CC_CLANG before DC_DOVECOT_CFLAGS

So we know if we are using clang compiler