]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Sat, 24 Nov 2018 17:57:00 +0000 (19:57 +0200)]
dovecot.m4: Use dnl instead of hash for comments
Aki Tuomi [Sat, 24 Nov 2018 08:20:54 +0000 (10:20 +0200)]
configure: Use DC_DOVECOT_HARDENING
Aki Tuomi [Sat, 24 Nov 2018 08:15:04 +0000 (10:15 +0200)]
dovecot.m4: Add DC_DOVECOT_HARDENING to check hardening options
Aki Tuomi [Sat, 24 Nov 2018 08:11:55 +0000 (10:11 +0200)]
m4: Move various compiler and linker checks to dovecot.m4
We don't want to distribute CFLAGS or LDFLAGS that break
compiler, due to lack of support.
Aki Tuomi [Wed, 28 Nov 2018 18:18:21 +0000 (20:18 +0200)]
lib: connection - Add tests for handshake failures
Aki Tuomi [Wed, 28 Nov 2018 18:17:23 +0000 (20:17 +0200)]
lib: connection - Use CONNECTION_DISCONNECT_HANDSHAKE_FAILED explicitly
Do not accidentically use it when connection was disconnected for
some other reason.
Aki Tuomi [Mon, 26 Nov 2018 17:03:11 +0000 (19:03 +0200)]
auth: auth-worker-client - Use connection code
Aki Tuomi [Tue, 20 Nov 2018 12:28:23 +0000 (14:28 +0200)]
auth: auth-worker-client - Log error in input handler
Simplifies next commit
Aki Tuomi [Mon, 26 Nov 2018 16:59:35 +0000 (18:59 +0200)]
auth: auth-worker-client - Move dbhash_verify to better place
Simplifies next commit
Aki Tuomi [Mon, 19 Nov 2018 12:29:29 +0000 (14:29 +0200)]
auth: auth-worker-client - Use connection structure
Simplifies following commits
Aki Tuomi [Mon, 26 Nov 2018 16:57:02 +0000 (18:57 +0200)]
auth: auth-worker-client - Internalize auth_worker_client
Aki Tuomi [Mon, 19 Nov 2018 12:45:34 +0000 (14:45 +0200)]
auth: auth-worker-client - Use master_service_connection on constructor
Simplifies following commits
Aki Tuomi [Wed, 28 Nov 2018 12:51:20 +0000 (14:51 +0200)]
lib: connection - When logging fd, use %d and not %u
File descriptors are signed integers
Aki Tuomi [Wed, 28 Nov 2018 13:19:02 +0000 (15:19 +0200)]
lib: connection - Add some comments
Aki Tuomi [Tue, 27 Nov 2018 10:28:12 +0000 (12:28 +0200)]
lib: Add test-connection.c
Aki Tuomi [Tue, 27 Nov 2018 12:48:37 +0000 (14:48 +0200)]
lib: connection - Drop unused from_streams boolean
Aki Tuomi [Fri, 23 Nov 2018 11:57:30 +0000 (13:57 +0200)]
lib: connection - Add connection_closed wrapper
Centralizes calling v.destroy
Aki Tuomi [Fri, 23 Nov 2018 08:37:13 +0000 (10:37 +0200)]
lib: connection - Require destroy vfunc
Prevents signal 11 crash
Aki Tuomi [Wed, 21 Nov 2018 13:27:25 +0000 (15:27 +0200)]
lib: connection - Add support for switching input handlers
Aki Tuomi [Wed, 21 Nov 2018 10:13:06 +0000 (12:13 +0200)]
lib: connection - Add handshake support
This allows specifying a custom handshake, that will be
called before actual processing starts. Defaults to version check.
Aki Tuomi [Wed, 21 Nov 2018 11:04:33 +0000 (13:04 +0200)]
lib: connection - Add connection_init_client_fd
Simplifies testing
Aki Tuomi [Fri, 23 Nov 2018 08:35:19 +0000 (10:35 +0200)]
lib: connection - Do not resume if there is nothing to resume into
Aki Tuomi [Tue, 20 Nov 2018 12:54:43 +0000 (14:54 +0200)]
lib: connection - stop idle timeout when input is halted
Otherwise the client might get disconnected for wrong
reason.
Aki Tuomi [Fri, 23 Nov 2018 11:44:17 +0000 (13:44 +0200)]
lib: connection - Add disconnected field
Aki Tuomi [Tue, 20 Nov 2018 12:49:51 +0000 (14:49 +0200)]
lib: connection - Add timeout handlers
Allows specifying custom timeout handlers for connection
and idle timeouts.
Aki Tuomi [Mon, 19 Nov 2018 12:58:54 +0000 (14:58 +0200)]
lib: connection - support per-connection input idle timeout
Aki Tuomi [Fri, 23 Nov 2018 09:14:48 +0000 (11:14 +0200)]
lib: connection - Fix indentation for event_set_append_log_prefix
Aki Tuomi [Fri, 23 Nov 2018 13:34:51 +0000 (15:34 +0200)]
lib-master: test-event-stats - Use PRIu64 format
Forgotten in
e16ba6f
Aki Tuomi [Fri, 23 Nov 2018 13:33:20 +0000 (15:33 +0200)]
lib-master: test-event-stats - Include signal.h
Forgotten in
e16ba6f
Timo Sirainen [Fri, 23 Nov 2018 08:11:42 +0000 (10:11 +0200)]
Update NEWS to v2.2.36 and v2.3.4
Aki Tuomi [Wed, 14 Nov 2018 13:44:14 +0000 (15:44 +0200)]
lib-storage: pop3c - Use mail_user_init_ssl_client_settings
Aki Tuomi [Wed, 14 Nov 2018 13:43:58 +0000 (15:43 +0200)]
lib-imap-client: Drop unused fields from settings
Aki Tuomi [Wed, 14 Nov 2018 13:24:41 +0000 (15:24 +0200)]
auth: passdb-imap - Adapt to imap-client API change
Aki Tuomi [Wed, 14 Nov 2018 13:24:18 +0000 (15:24 +0200)]
lib-storage: imapc - Use mail_user_ssl_settings
Aki Tuomi [Wed, 14 Nov 2018 13:21:36 +0000 (15:21 +0200)]
lib-imap-client: Use iostream ssl settings directly
Prevents custom SSL CAs and certificate verification disabling
until fixed by subsequent commits.
Aki Tuomi [Wed, 14 Nov 2018 12:05:24 +0000 (14:05 +0200)]
auth: Use master service ssl settings for http client in policy checks
Aki Tuomi [Wed, 14 Nov 2018 12:43:52 +0000 (14:43 +0200)]
lib-master: When duplicating SSL settings set empty values NULL
Otherwise default CA is not used for client connections.
Broken in
30dca954
Timo Sirainen [Fri, 9 Nov 2018 11:03:43 +0000 (13:03 +0200)]
submission: Install header files
This allows creating external submission plugins.
Aki Tuomi [Fri, 9 Nov 2018 07:54:38 +0000 (09:54 +0200)]
doc: Update example config about `ssl_client_require_valid_cert`
Timo Sirainen [Wed, 31 Oct 2018 15:19:42 +0000 (17:19 +0200)]
lib-fs: If fs_get_metadata() isn't implemented, return internal metadata anyway
The metadata is sometimes used for transferring internal metadata within the
files. This metadata isn't stored to disk. So even if the fs driver doesn't
support metadata at all, it should still be possible to get/set the internal
metadata. Setting it was already possible, but getting wasn't.
Aki Tuomi [Wed, 7 Nov 2018 07:51:50 +0000 (09:51 +0200)]
lib: Add unit test for event duration
Make sure event duration is non-zero when used without
ioloop.
Stephan Bosch [Fri, 2 Nov 2018 09:39:17 +0000 (10:39 +0100)]
submission: relay backend: Forward a (possibly multi-line) 421 reply from relay server to the client.
Before, it substituted a generic 421 error reply, which is far less helpful.
Stephan Bosch [Fri, 2 Nov 2018 09:37:22 +0000 (10:37 +0100)]
submission: client: Properly handle a multi-line reason string in client_disconnect().
Pass the multi-line string to smtp_server_connection_terminate(), yet log it as a single line.
Stephan Bosch [Fri, 2 Nov 2018 09:26:53 +0000 (10:26 +0100)]
lib-smtp: server: connection: Properly handle a multi-line reason in smtp_server_connection_terminate().
Stephan Bosch [Fri, 2 Nov 2018 09:43:11 +0000 (10:43 +0100)]
lib-smtp: server: connection: Properly handle a multi-line reason in smtp_server_connection_disconnect().
Convert it to a single line string.
Stephan Bosch [Fri, 2 Nov 2018 09:23:42 +0000 (10:23 +0100)]
lib-smtp: server: connection: Add smtp_server_connection_reply_lines().
This function immediately sends a reply on the connection with the indicated
status, enhanced code and text lines.
Stephan Bosch [Fri, 2 Nov 2018 09:17:30 +0000 (10:17 +0100)]
lib-smtp: server: connection: Add debug messages for protocol elements sent outside the normal reply API.
Stephan Bosch [Fri, 2 Nov 2018 09:14:57 +0000 (10:14 +0100)]
lib-smtp: reply: Add smtp_reply_get_text_lines_omit_prefix().
This returns a string array of the lines in the reply, omitting the prefix (the
first word), which is usually a "<domain>" value.
Stephan Bosch [Fri, 2 Nov 2018 09:11:35 +0000 (10:11 +0100)]
lib-smtp: reply: Make parsing enhanced status codes available as a separate function.
Stephan Bosch [Fri, 2 Nov 2018 09:12:20 +0000 (10:12 +0100)]
lib: strfuncs: Add t_str_oneline().
This puts the string on a single line by replacing all newlines with spaces and
dropping any carriage returns
Aki Tuomi [Tue, 6 Nov 2018 19:00:47 +0000 (21:00 +0200)]
lib-lua: Fix sizeof usage for struct event* storage
Found by coverity
Stephan Bosch [Fri, 2 Nov 2018 09:08:26 +0000 (10:08 +0100)]
lib-smtp: client: transaction: Hold a reference to the transaction while calling the RCPT command callback.
This fixes memory problems when the callback inadvertently gets the transaction destroyed.
Aki Tuomi [Wed, 31 Oct 2018 12:19:49 +0000 (14:19 +0200)]
lib-storage: Copy all relevant TLS settings
Not just ca path and dir
Aki Tuomi [Wed, 31 Oct 2018 12:09:30 +0000 (14:09 +0200)]
lib-storage: Add all client ssl settings to mail storage settings
Aki Tuomi [Wed, 31 Oct 2018 12:20:36 +0000 (14:20 +0200)]
lib-master: Add new setting `ssl_client_require_valid_cert`
This controls whether TLS certificates are verified
for TLS CLIENT connections.
Stephan Bosch [Thu, 1 Nov 2018 00:14:50 +0000 (01:14 +0100)]
lib-smtp: server: recipient: Hold a reference to the recipient while calling a non-destroy hook.
Prevents memory problems when the hook inadvertently gets the recipient
destroyed. Unlike the server command, this is not strictly necessary for the
recipient object, but we add this anyway to prevent future problems when the
recipient implementation becomes more complex (e.g. with additional hooks).
Stephan Bosch [Wed, 31 Oct 2018 23:58:47 +0000 (00:58 +0100)]
lib-smtp: server: recipient: Prevent reference counting from within destroy hook.
Stephan Bosch [Thu, 1 Nov 2018 00:25:10 +0000 (01:25 +0100)]
lib-smtp: server: recipient: Add reference counting.
Unlike the server command, this is not strictly necessary for the recipient
object, but we add this anyway to prevent future problems when the recipient
implementation becomes more complex.
Stephan Bosch [Wed, 31 Oct 2018 23:12:03 +0000 (00:12 +0100)]
lib-smtp: server: Make sure command object is not used after it is destroyed in hook.
Stephan Bosch [Thu, 1 Nov 2018 00:40:10 +0000 (01:40 +0100)]
lib-smtp: server: command: Hold connection reference while calling replied hook.
Stephan Bosch [Wed, 31 Oct 2018 23:44:10 +0000 (00:44 +0100)]
lib-smtp: server: command: Move core of smtp_server_command_submit_reply() into a separate function.
Makes the next changes easier.
Stephan Bosch [Wed, 31 Oct 2018 23:39:21 +0000 (00:39 +0100)]
lib-smtp: server: command: Hold a reference to the command while calling a non-destroy hook.
Prevents memory problems when the hook inadvertently gets the command destroyed.
Stephan Bosch [Wed, 31 Oct 2018 23:27:50 +0000 (00:27 +0100)]
lib-smtp: server: command: Prevent reference counting from within destroy hook.
Stephan Bosch [Thu, 1 Nov 2018 21:22:34 +0000 (22:22 +0100)]
lib-smtp: Consistently use signed integer for reference counters.
Stephan Bosch [Tue, 30 Oct 2018 08:53:07 +0000 (09:53 +0100)]
submission: relay backend: Add assertion in backend_relay_handle_relay_reply() to address compiler warning.
Assert that the error message is assinged when the result is FALSE.
Stephan Bosch [Tue, 30 Oct 2018 08:57:31 +0000 (09:57 +0100)]
submission: relay backend: In backend_relay_handle_relay_reply(): Only determine error detail when it is used.
Stephan Bosch [Mon, 29 Oct 2018 00:36:43 +0000 (01:36 +0100)]
submission: Make include directory available to external plugins.
Stephan Bosch [Thu, 25 Oct 2018 21:50:55 +0000 (23:50 +0200)]
submission: relay backend: Allow creating the client transaction with specific flags.
Stephan Bosch [Thu, 18 Oct 2018 00:15:07 +0000 (02:15 +0200)]
lib-smtp: client: Allow enabling the LMTP per-RCPT DATA reply behavior for ESMTP transactions.
This is non-standard.
Stephan Bosch [Sat, 27 Oct 2018 10:20:01 +0000 (12:20 +0200)]
submission: Add support for module contexts to backend.
Stephan Bosch [Sat, 27 Oct 2018 09:56:59 +0000 (11:56 +0200)]
submission: Allocate each backend on its own pool.
This allows allocating per-backend module data.
Stephan Bosch [Fri, 26 Oct 2018 19:00:00 +0000 (21:00 +0200)]
submission: Add support for modifying the transaction path and parameters in the trans_start backend vfunc.
To keep the changes limited to a particular backend, the server transaction
cannot be modified. Also, creating a mock server transaction and passing it on
is not a good idea, since it is not a simple container struct.
Stephan Bosch [Fri, 26 Oct 2018 15:00:32 +0000 (17:00 +0200)]
submission: Add backend flag indicating whether the backend is ready.
This flag is set just before the ready() vfunc is called.
Stephan Bosch [Thu, 18 Oct 2018 21:35:05 +0000 (23:35 +0200)]
submission: Add backend vfunc called when the backend is ready.
For a relay backend, this means that the connection is fully connected and
handshaked. For any backend it means the capabilities are known (and passed as a
parameter to the ready function).
Stephan Bosch [Thu, 25 Oct 2018 21:50:22 +0000 (23:50 +0200)]
lib-smtp: params: Explicitly allow smtp_params_*_add_extra() value parameter to be NULL.
Stephan Bosch [Tue, 16 Oct 2018 23:34:54 +0000 (01:34 +0200)]
submission: relay backend: Allow recording extra (non-standard) capabilities.
Stephan Bosch [Tue, 16 Oct 2018 21:58:23 +0000 (23:58 +0200)]
submission: relay backend: Provide access to the client connection and transaction for plugins.
Stephan Bosch [Tue, 16 Oct 2018 22:59:02 +0000 (00:59 +0200)]
lib-smtp: client: Add support for recording extra (non-standard) capabilities from server.
Stephan Bosch [Tue, 16 Oct 2018 23:05:07 +0000 (01:05 +0200)]
lib-smtp: client: connection: Consolidate capability data into a struct.
Allows clearing it reliably.
Stephan Bosch [Fri, 26 Oct 2018 20:26:53 +0000 (22:26 +0200)]
submission: Clarify the behavior of command handlers and the requirements for overriding them.
Stephan Bosch [Thu, 25 Oct 2018 19:02:46 +0000 (21:02 +0200)]
submission: Use the new smtp_server_cmd_noop_reply_success() function.
Stephan Bosch [Mon, 12 Mar 2018 01:59:28 +0000 (02:59 +0100)]
lmtp: local: Use the new smtp_server_cmd_rcpt_reply_success() function.
Stephan Bosch [Thu, 25 Oct 2018 18:29:30 +0000 (20:29 +0200)]
lib-smtp: server: NOOP command: Implement smtp_server_cmd_noop_reply_success() for sending default success reply.
Stephan Bosch [Thu, 25 Oct 2018 18:38:26 +0000 (20:38 +0200)]
lib-smtp: server: RSET command: Implement smtp_server_cmd_rset_reply_success() for sending default success reply.
Stephan Bosch [Mon, 12 Mar 2018 00:03:24 +0000 (01:03 +0100)]
lib-smtp: server: RCPT command: Implement smtp_server_cmd_rcpt_reply_success() for sending default success reply.
Stephan Bosch [Mon, 12 Mar 2018 00:01:46 +0000 (01:01 +0100)]
lib-smtp: server: MAIL command: Implement smtp_server_cmd_mail_reply_success() for sending default success reply.
Stephan Bosch [Sun, 28 Oct 2018 11:08:50 +0000 (12:08 +0100)]
submission: relay backend: Always reset the trans_started flag upon trans_free().
Stephan Bosch [Sun, 28 Oct 2018 11:08:13 +0000 (12:08 +0100)]
submission: backend: Properly reset the trans_started flag upon trans_free().
Stephan Bosch [Fri, 19 Oct 2018 15:39:36 +0000 (17:39 +0200)]
doc: example-config: Document the new submission_backend_capabilities setting.
Stephan Bosch [Mon, 29 Oct 2018 16:27:17 +0000 (17:27 +0100)]
submission,submission-login: Implicitly enable CHUNKING when submission_backend_capabilities setting includes BINARYMIME.
BINARYMIME requires CHUNKING support and we should not expect administrators to
always be aware of that fact.
Stephan Bosch [Fri, 19 Oct 2018 15:12:10 +0000 (17:12 +0200)]
submission: relay backend: VRFY command: Avoid forwarding 500 and 502 replies back to client.
These are in fact non-standard for VRFY and indicate that VRFY support is
disabled, which is not allowed by the specification. Instead, we now substitute
the default 252 response.
Stephan Bosch [Fri, 19 Oct 2018 15:02:08 +0000 (17:02 +0200)]
lib-smtp: server: VRFY command: Implement smtp_server_cmd_reply_default() for sending default reply.
Stephan Bosch [Fri, 19 Oct 2018 14:42:41 +0000 (16:42 +0200)]
submission,submission-login: Omit listing VRFY capability if the backend provides no explicit support.
Stephan Bosch [Fri, 19 Oct 2018 09:15:50 +0000 (11:15 +0200)]
submission-login: Use the submission_backend_capabilities setting to compose the EHLO reply when configured.
This way, the EHLO response prior to AUTH will better match the EHLO response after AUTH.
Stephan Bosch [Fri, 19 Oct 2018 09:24:35 +0000 (11:24 +0200)]
submission-login: Add the VRFY capability to the EHLO reply.
The post-login service does it too.
Stephan Bosch [Thu, 18 Oct 2018 22:35:53 +0000 (00:35 +0200)]
submission: relay backend: Fix non-transaction commands to work when submission_backend_capabilities is configured.
When submission_backend_capabilities is configured, the backend is not started
until the first transaction is started. But for commands that should work
outside the transaction, the backend should also be started, which was not the
case before this fix.
Stephan Bosch [Thu, 18 Oct 2018 22:01:40 +0000 (00:01 +0200)]
submission: backends: Set the started flag before calling the backend start vfunc.
This prevents recursive mishaps.
Aki Tuomi [Mon, 29 Oct 2018 08:43:10 +0000 (10:43 +0200)]
auth: test-lua - Add test to ensure that values are not converted to number by mistake
Aki Tuomi [Mon, 29 Oct 2018 08:42:36 +0000 (10:42 +0200)]
auth: test-lua - Fix unit test to handle errors
Aki Tuomi [Mon, 29 Oct 2018 12:43:11 +0000 (14:43 +0200)]
auth: test-lua - Fix inconsistent whitespace