]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Sun, 27 Jan 2019 21:04:05 +0000 (22:04 +0100)]
lib-auth: auth-client - Use the connection API.
Stephan Bosch [Mon, 28 Jan 2019 20:27:55 +0000 (21:27 +0100)]
lib-auth: auth-client - Free the request in a separate function.
Stephan Bosch [Sun, 27 Jan 2019 16:34:33 +0000 (17:34 +0100)]
lib-auth: auth-client - Rename auth_server_connection* to auth_client_connection*.
Stephan Bosch [Mon, 28 Jan 2019 19:55:16 +0000 (20:55 +0100)]
lib-auth: Move struct auth_client_request from auth-client-request.c to auth-client-private.h.
Stephan Bosch [Sun, 27 Jan 2019 16:29:31 +0000 (17:29 +0100)]
lib-auth: Move content of auth-client-request.h to auth-client-private.h.
Stephan Bosch [Sun, 27 Jan 2019 16:16:21 +0000 (17:16 +0100)]
lib-auth: Move remainder of auth-server-connection.h to auth-client-private.h.
Stephan Bosch [Sun, 27 Jan 2019 16:13:12 +0000 (17:13 +0100)]
lib-auth: Move struct auth_server_connection from auth-server-connection.h to auth-client-private.h.
Stephan Bosch [Sun, 27 Jan 2019 16:09:27 +0000 (17:09 +0100)]
lib-auth: Rename auth-server-connection.c to auth-client-connection.c.
Stephan Bosch [Sun, 27 Jan 2019 16:03:37 +0000 (17:03 +0100)]
doveadm: doveadm-auth-server - Remove useless include for auth-server-connection.h.
Stephan Bosch [Sun, 27 Jan 2019 15:59:32 +0000 (16:59 +0100)]
doveadm: doveadm-auth - Remove useless include for auth-server-connection.h.
Stephan Bosch [Sun, 27 Jan 2019 22:48:14 +0000 (23:48 +0100)]
lib: connection - Add vfunc called when the connection becomes ready after handshake.
Stephan Bosch [Fri, 1 Feb 2019 00:23:35 +0000 (01:23 +0100)]
master: Add unit test for auth-client.
Stephan Bosch [Sun, 3 Feb 2019 14:21:42 +0000 (15:21 +0100)]
lib-auth: auth-client - Add ability to configure the connect timeout.
This is currently only useful and required for unit tests (the default is just
too long).
Stephan Bosch [Sun, 3 Feb 2019 14:41:02 +0000 (15:41 +0100)]
lib-auth: auth-client: Do not connect implicitly in auth_client_init().
Stephan Bosch [Sun, 3 Feb 2019 22:21:57 +0000 (23:21 +0100)]
master: test-master-login-auth: Small coding style fix.
Stephan Bosch [Sun, 3 Feb 2019 22:20:49 +0000 (23:20 +0100)]
master: test-auth-master - Small coding style fix.
Stephan Bosch [Sat, 26 Jan 2019 23:31:32 +0000 (00:31 +0100)]
lib-master: master-login-auth - Emit named events at the start and end of auth requests.
Stephan Bosch [Sat, 26 Jan 2019 21:27:42 +0000 (22:27 +0100)]
lib-master: master-login-auth - Add support for event API and use it for logging.
Stephan Bosch [Sat, 26 Jan 2019 20:47:21 +0000 (21:47 +0100)]
lib-master: master-login-auth - Free the request in a separate function.
Stephan Bosch [Sun, 27 Jan 2019 21:14:54 +0000 (22:14 +0100)]
lib-master: master-login-auth - Provide more helpful error message for EACCESS connect error.
Stephan Bosch [Wed, 30 Jan 2019 23:14:04 +0000 (00:14 +0100)]
lib-master: master-login-auth - Detect connection to auth-client socket for better error message.
Stephan Bosch [Sat, 26 Jan 2019 17:31:48 +0000 (18:31 +0100)]
lib-master: master-login-auth - Use the connection API.
Stephan Bosch [Sat, 26 Jan 2019 20:02:38 +0000 (21:02 +0100)]
lib-master: master-login-auth - Handle response ID at a single location.
Stephan Bosch [Sat, 26 Jan 2019 20:23:07 +0000 (21:23 +0100)]
lib-master: master-login-auth - Handle response arguments at a single location.
Stephan Bosch [Sun, 27 Jan 2019 11:40:48 +0000 (12:40 +0100)]
master: Add unit test for master-login-auth.
Stephan Bosch [Sun, 3 Feb 2019 11:21:15 +0000 (12:21 +0100)]
master: Drop useless LDFLAGS for unit test.
Stephan Bosch [Sun, 27 Jan 2019 11:32:42 +0000 (12:32 +0100)]
lib-master: master-login-auth - Add ability to configure the lookup timeout.
This is currently only useful and required for unit tests (the default is just
too long).
Stephan Bosch [Sun, 27 Jan 2019 12:49:29 +0000 (13:49 +0100)]
lib-master: master-login-auth - Perform timeout manipulations in milliseconds.
Stephan Bosch [Sun, 27 Jan 2019 12:43:27 +0000 (13:43 +0100)]
lib-master: master-login-auth - Rename master_login_auth_set_timeout() to master_login_auth_update_timeout().
Stephan Bosch [Sun, 27 Jan 2019 21:07:59 +0000 (22:07 +0100)]
lib-auth: auth-master - Restore helpful error message for EACCESS connect error.
It got lost in earlier changes.
Stephan Bosch [Sat, 26 Jan 2019 22:50:23 +0000 (23:50 +0100)]
lib-auth: auth-master - Define event category.
Stephan Bosch [Sat, 26 Jan 2019 18:07:37 +0000 (19:07 +0100)]
lib-auth: auth-master - Fully reset connection state upon disconnect.
Aki Tuomi [Mon, 28 Jan 2019 10:49:11 +0000 (12:49 +0200)]
lib: test-connection - Add iteration count
Allows running some tests few times to make sure deinit/init works
Aki Tuomi [Mon, 28 Jan 2019 10:45:33 +0000 (12:45 +0200)]
lib: test-connection - Add no version sent test
Aki Tuomi [Mon, 28 Jan 2019 13:42:44 +0000 (15:42 +0200)]
lib: connection - Set connection list to NULL on deinit
Otherwise reusing the connection object causes panic on deinit
Aki Tuomi [Mon, 28 Jan 2019 10:55:06 +0000 (12:55 +0200)]
lib: connection - Reset handshake_received on connect
A connection object can be reused, and so handshake_received
need to be reset to FALSE on connection to avoid panic.
Fixes Panic: file connection.c: line 169 (connection_input_line_default): assertion failed: (conn->version_received)
Timo Sirainen [Wed, 23 Jan 2019 15:22:27 +0000 (17:22 +0200)]
lib-index: Add mail_index_append_finish_uids_full()
Timo Sirainen [Wed, 23 Jan 2019 15:29:22 +0000 (17:29 +0200)]
lib-index: mail_index_append_finish_uids() cleanup: remove unnecessary if check
It was pretty confusing, and it was always TRUE.
Aki Tuomi [Thu, 15 Nov 2018 12:47:32 +0000 (14:47 +0200)]
doveadm: Use doveadm_get_ssl_settings
Aki Tuomi [Thu, 15 Nov 2018 12:46:44 +0000 (14:46 +0200)]
doveadm: dsync - use mail_storage_settings_init_ssl_client_settings
Aki Tuomi [Thu, 15 Nov 2018 12:42:28 +0000 (14:42 +0200)]
lib-storage: mail-user - Use mail_storage_settings_init_ssl_client_settings
Aki Tuomi [Thu, 15 Nov 2018 12:40:46 +0000 (14:40 +0200)]
mail-storage: Add mail_storage_settings_init_ssl_client_settings
Simplifies following commits
Aki Tuomi [Thu, 15 Nov 2018 12:35:36 +0000 (14:35 +0200)]
doveadm: Use master service SSL settings
Stephan Bosch [Tue, 22 Jan 2019 21:06:38 +0000 (22:06 +0100)]
lib-smtp: client: Fix dead assignment in smtp_client_command_pipeline_is_open().
Found by scan-build.
Stephan Bosch [Fri, 11 Jan 2019 23:46:09 +0000 (00:46 +0100)]
lib-auth: auth-master - Add debug message for each user returned for auth_master_user_list_next().
Stephan Bosch [Fri, 11 Jan 2019 21:31:39 +0000 (22:31 +0100)]
lib-auth: auth-master - Emit named events at the start and end of lookups.
Stephan Bosch [Sun, 30 Dec 2018 18:30:02 +0000 (19:30 +0100)]
lib-auth: auth-master - Add support for event API and use it for logging.
Stephan Bosch [Fri, 4 Jan 2019 16:39:37 +0000 (17:39 +0100)]
lib-auth: auth-master - Pass struct auth_master_lookup_ctx to parse_reply() rather than several of its fields.
Stephan Bosch [Sat, 29 Dec 2018 12:11:17 +0000 (13:11 +0100)]
lib-auth: auth-master - Use the connection API.
Stephan Bosch [Sat, 29 Dec 2018 20:02:47 +0000 (21:02 +0100)]
lib: connection - Add connection_verify_version().
Only verifies the service name and major version number.
Stephan Bosch [Sat, 29 Dec 2018 19:55:47 +0000 (20:55 +0100)]
lib: connection - Rename connection_verify_version() to connection_handshake_args_default().
Stephan Bosch [Fri, 11 Jan 2019 21:35:55 +0000 (22:35 +0100)]
master: Add unit test for auth-master.
Cannot be added to lib-auth due to cyclic dependencies.
Stephan Bosch [Wed, 9 Jan 2019 22:30:44 +0000 (23:30 +0100)]
lib-auth: auth-master - Add ability to configure the lookup timeout.
This is currently only useful and required for unit tests (the default is just
too long).
Stephan Bosch [Tue, 22 Jan 2019 22:21:46 +0000 (23:21 +0100)]
lib-smtp: test-smtp-payload - Do not assume that a non-regular files is a directory.
The unit test failed if something else (like a socket) was found.
Stephan Bosch [Tue, 22 Jan 2019 22:19:57 +0000 (23:19 +0100)]
lib-http: test-http-payload - Do not assume that a non-regular files is a directory.
The unit test failed if something else (like a socket) was found.
Stephan Bosch [Sun, 9 Dec 2018 11:13:59 +0000 (12:13 +0100)]
lib-smtp: command: Move main loop from sub-function to smtp_client_command_send_more() itself.
This reduces code indent in smtp_client_command_do_send_more() (the
sub-function) and it turns the inifite for loop into a nice conditional
while loop.
Stephan Bosch [Sun, 11 Nov 2018 22:32:15 +0000 (23:32 +0100)]
lib-smtp: test-smtp-client-errors: Test early DATA command success and error replies.
Early success for the DATA command is treated as a protocol error, while early
failure is allowed. Both situations are tested in a new scenario for the
test-smtp-client-errors unit test.
Stephan Bosch [Sun, 11 Nov 2018 22:25:50 +0000 (23:25 +0100)]
lib-smtp: client: Fix handling of non-blocking command payload stream.
By inference, this fixes the handling of non-blocking transaction payload as
well. No io was created when the payload stream returned no data.
Stephan Bosch [Sun, 11 Nov 2018 19:30:25 +0000 (20:30 +0100)]
lib-smtp: test-smtp-client-errors: Add test scenario for premature success replies.
Such replies are sent immediately along with the reply of the previous command.
So, the reply is sent before the corresponding command is even submitted. This
tests whether the client handles this erroneous situation correctly.
Stephan Bosch [Thu, 16 Aug 2018 20:34:53 +0000 (22:34 +0200)]
lib-smtp: test-smtp-payload: Add option to test payload exchange with small socket buffers.
This is not part of the normal `make check` procedure, since using small socket
buffers makes the test extremely slow.
Stephan Bosch [Wed, 15 Aug 2018 16:29:11 +0000 (18:29 +0200)]
lib-smtp: client: Allow receiving replies before command data stream is sent completely.
This avoids unnecessary problems with servers that reply somewhat early to DATA
and BDAT commands. For one, early failure replies are now handled properly.
Also, race conditions at the client between sending the closing CRLF.CRLF and
receiving the DATA reply are no longer causing problems.
Stephan Bosch [Sun, 9 Dec 2018 10:34:56 +0000 (11:34 +0100)]
lib-smtp: client: Put moving a command from the queue to the wait list in a separate function.
Stephan Bosch [Thu, 16 Aug 2018 20:15:36 +0000 (22:15 +0200)]
lib-smtp: client: Put determining the status of the command pipeline in a separate function.
Stephan Bosch [Thu, 16 Aug 2018 20:07:08 +0000 (22:07 +0200)]
lib-smtp: client: Put sending the command line in a separate function.
Stephan Bosch [Mon, 21 Jan 2019 21:21:03 +0000 (22:21 +0100)]
lib-smtp: client: Don't put connection in TRANSACTION state unless there's a transaction.
Fixes hang occurring when connection is ready before transaction is started.
Martti Rannanjärvi [Mon, 21 Jan 2019 08:50:24 +0000 (10:50 +0200)]
quota: Rename quota_set_resource() error_r to client_error_r
Don't pass on the error from dict_init() to client, though.
Martti Rannanjärvi [Mon, 21 Jan 2019 11:01:27 +0000 (13:01 +0200)]
imap-acl: Rename error_r sent to client as client_error_r
Martti Rannanjärvi [Mon, 21 Jan 2019 11:00:09 +0000 (13:00 +0200)]
lib-imap-urlauth: Rename error_r sent to clients as client_error_r
Martti Rannanjärvi [Mon, 21 Jan 2019 10:59:45 +0000 (12:59 +0200)]
lib-imap-storage: Rename error_r sent to clients as client_error_r
Martti Rannanjärvi [Mon, 21 Jan 2019 10:41:20 +0000 (12:41 +0200)]
imap,lib-storage: Rename error_r sent to clients as client_error_r
Timo Sirainen [Tue, 15 Jan 2019 23:00:22 +0000 (01:00 +0200)]
LAYOUT=index: Fix rebuilding mailbox list index on force-resync
The if-check was a bit confusing because have_backend==TRUE means that there
the mailbox list index is only an index, while have_backend==FALSE means
that the mailbox list index is the only source for the list of mailboxes
(= list index is the backend).
Anton Dollmaier [Thu, 27 Sep 2018 21:00:22 +0000 (23:00 +0200)]
submission-login: proxy: Fix omission of spaces between XCLIENT command parameters.
It would send for example:
> XCLIENT ADDR=10.0.1.2PORT=39074
The other end will obviously not accept this.
--
Commit message modified by Stephan Bosch
Stephan Bosch [Sat, 8 Sep 2018 18:54:54 +0000 (20:54 +0200)]
lib-smtp: client: BDAT command: Make sure the message contains CRLF consistently.
Before, only messages sent using DATA command guaranteed consistent CRLF,
because these are sent using o_stream_dot(), which does that internally. For the
BDAT command, the message was sent as-is, which is not always accepted by MTAs.
Stephan Bosch [Fri, 26 Oct 2018 10:15:45 +0000 (12:15 +0200)]
lib-smtp: client: BDAT command: Ensure data stream max buffer size is appropriate when stream size is unknown.
When stream size is unknown, the chunk size are determined by what can be
buffered in the data input stream immediately. If it's maximum buffer size is
(much) smaller than the maximum chunk size, the maximum chunk size is never
achieved.
Stephan Bosch [Fri, 26 Oct 2018 14:17:06 +0000 (16:17 +0200)]
lib-smtp: server: Fix forwarding a multi-line reply.
A multi-line reply had the '-' on the first line stripped upon sending, which
makes clients see two separate responses rather than just one. This was caused
by the fact that forwarded replies had the last_line field not set properly,
in which case the '-' was substituted on the first line, rather than the last.
The fix makes a forwarded reply indistinguishable from a normally created reply
by also allowing for amending the reply with additional lines using
smtp_server_reply_add_text().
Stephan Bosch [Fri, 26 Oct 2018 13:50:17 +0000 (15:50 +0200)]
lib-smtp: test-smtp-reply: Test whether parsed valid replies can be written back to the original input.
In some cases, the parser mangles the input a little to substitute invalid
characters. In those cases, the expected output is stated explicitly.
Stephan Bosch [Fri, 26 Oct 2018 13:36:21 +0000 (15:36 +0200)]
lib-smtp: Rename test-smtp-reply-parser.c to test-smtp-reply.c.
Encoding tests will also be included, making the old name confusing.
Josef 'Jeff' Sipek [Mon, 14 Jan 2019 23:28:42 +0000 (18:28 -0500)]
global: hash_table_iterate_deinit(NULL) is a no-op
@@
expression E;
@@
- if (E != NULL) {
- hash_table_iterate_deinit(&E);
- }
+ hash_table_iterate_deinit(&E);
Josef 'Jeff' Sipek [Mon, 14 Jan 2019 23:27:12 +0000 (18:27 -0500)]
lib: hash_table_iterate_deinit(NULL) should be a no-op
Josef 'Jeff' Sipek [Thu, 17 Jan 2019 16:09:13 +0000 (11:09 -0500)]
global: hash_table_destroy(NULL) is a no-op
@@
expression E;
@@
- if (hash_table_is_created(E))
- hash_table_destroy(&E);
+ hash_table_destroy(&E);
Stephan Bosch [Fri, 4 Jan 2019 12:57:36 +0000 (13:57 +0100)]
imap: client: Add init() client vfunc.
This is called when client creation is finished completely, including namespace
initialization. The normal create hook is executed before namespace
initialization, which is a problem when a plugin needs to access the mail
storage immediately.
Stephan Bosch [Sat, 5 Jan 2019 18:43:49 +0000 (19:43 +0100)]
imap: client: Rearrange and document the client vfuncs.
Stephan Bosch [Fri, 28 Dec 2018 18:16:26 +0000 (19:16 +0100)]
submssion: DATA command: Seek data stream to the beginning before executing backends.
Stephan Bosch [Fri, 28 Dec 2018 18:13:03 +0000 (19:13 +0100)]
submission: DATA command: Provide a default name for the data stream.
Stephan Bosch [Mon, 24 Dec 2018 14:02:58 +0000 (15:02 +0100)]
lmtp: local: Make the local_deliver client vfunc responsible for submitting the reply.
This gives plugins more power to override delivery behavior.
Stephan Bosch [Mon, 7 Jan 2019 14:35:07 +0000 (15:35 +0100)]
lib-mail: ostream-dot - Add unit test for parent stream buffer being almost full.
Timo Sirainen [Sat, 15 Dec 2018 14:32:22 +0000 (16:32 +0200)]
lib-mail: ostream-dot - Add asserts to make sure max_bytes doesn't underflow
Timo Sirainen [Sat, 15 Dec 2018 14:24:42 +0000 (16:24 +0200)]
lib-mail: ostream-dot - Fix potential assert-crash when parent stream buffer gets full
If max_bytes=1, the (max_bytes-2) calculation brings it to (size_t)-1. This
causes too much data to be sent to the parent stream, which then returns a
partial write and causes an assert-crash.
The final chunk calculation doesn't need the -2 check, because additional
bytes aren't inserted at that point.
Fixes:
Panic: file ostream-dot.c: line 208 (o_stream_dot_sendv): assertion failed: ((size_t)ret == sent + added)
Aki Tuomi [Mon, 14 Jan 2019 12:00:36 +0000 (14:00 +0200)]
global: Rename array_first and array_last to array_front and back
This is more consistent with other languages
Aki Tuomi [Fri, 11 Jan 2019 10:42:15 +0000 (12:42 +0200)]
global: Use array_push_front
Re-run of
70540d8b3e0799113fa4c47e3b778efb4679f24f due to
bad spatch usage
Aki Tuomi [Fri, 11 Jan 2019 10:41:48 +0000 (12:41 +0200)]
global: Use array_pop_front
Re-run of
9b726934956ed9ca02077a82f7b2a1d74b7c9146 due to
bad spatch usage.
Aki Tuomi [Fri, 11 Jan 2019 10:41:28 +0000 (12:41 +0200)]
global: Use array_pop_back
Re-run of
48c70592eb36b1263ad63e3c1dca8a0b5aff09ba due to
wrong spatch usage.
Aki Tuomi [Fri, 11 Jan 2019 10:40:59 +0000 (12:40 +0200)]
global: Use array_push_back instead of array_append
Timo Sirainen [Mon, 14 Jan 2019 15:52:26 +0000 (17:52 +0200)]
lib: hash_table_destroy(NULL) should be a no-op
Aki Tuomi [Mon, 14 Jan 2019 12:37:03 +0000 (14:37 +0200)]
m4: Fix moduledir behaviour
This is mainly a fix for plugins that depend on dovecot.m4
Aki Tuomi [Mon, 7 Jan 2019 18:08:26 +0000 (20:08 +0200)]
push-notification-driver-lua: Request flags and keywords
Aki Tuomi [Mon, 7 Jan 2019 17:54:56 +0000 (19:54 +0200)]
push-notification-driver-lua: Fix comment typo
Aki Tuomi [Mon, 7 Jan 2019 18:01:21 +0000 (20:01 +0200)]
push-notification-driver-lua: Add keywords and flags to MessageAppend 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
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.