]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Thu, 23 Jan 2020 18:28:57 +0000 (20:28 +0200)]
Released 2.3.9.3
Aki Tuomi [Thu, 23 Jan 2020 18:26:29 +0000 (20:26 +0200)]
NEWS: Add news for 2.3.9.3
Timo Sirainen [Wed, 15 Jan 2020 20:10:08 +0000 (22:10 +0200)]
lib-mail: message_snippet_generate() - Fix potential crash when input ends with '>'
This happens only when the mail was large enough and full enough with
whitespace that message-parser returned multiple blocks before the snippet
was finished.
Broken by
74063ed8219d055489d5233b0c02a59886d2078c
Timo Sirainen [Wed, 15 Jan 2020 19:38:26 +0000 (21:38 +0200)]
lib-mail: test-message-snippet - Test for invalid and truncated UTF-8
Timo Sirainen [Wed, 15 Jan 2020 19:09:34 +0000 (21:09 +0200)]
lib-fts: Add assert to make sure uni_utf8_get_char() returns valid UTF-8
The input to lib-fts is always expected to be valid UTF-8.
Timo Sirainen [Wed, 15 Jan 2020 19:07:05 +0000 (21:07 +0200)]
fts-solr: Add asserts to make sure make sure uni_utf8_get_char_n() returns valid UTF-8
FTS input is always valid UTF-8. This just makes it a bit clearer.
Stephan Bosch [Tue, 14 Jan 2020 09:54:34 +0000 (10:54 +0100)]
lib-smtp: test-smtp-command-parser - Add tests for incomplete UTF-8 characters.
Stephan Bosch [Tue, 14 Jan 2020 09:49:16 +0000 (10:49 +0100)]
lib-smtp: smtp-command-parser - Fix infinite loop occurring when command stream ends in UTF-8 character.
Broken by
8f08f1944be438a2422b604c08e5060b5c7bd72f .
Aki Tuomi [Fri, 13 Dec 2019 12:52:47 +0000 (14:52 +0200)]
Released v2.3.9.2
Aki Tuomi [Fri, 13 Dec 2019 11:40:14 +0000 (13:40 +0200)]
NEWS: Add news for 2.3.9.2
Timo Sirainen [Fri, 13 Dec 2019 11:35:06 +0000 (13:35 +0200)]
push-notification: Fix crash with empty from/to header
Aki Tuomi [Wed, 11 Dec 2019 14:58:54 +0000 (16:58 +0200)]
Released 2.3.9.1
Aki Tuomi [Wed, 11 Dec 2019 14:58:38 +0000 (16:58 +0200)]
NEWS: Add news for 2.3.9.1
Aki Tuomi [Wed, 11 Dec 2019 12:04:32 +0000 (14:04 +0200)]
push-notification-driver-lua: Provide missing to/from as empty string
Aki Tuomi [Wed, 11 Dec 2019 11:16:19 +0000 (13:16 +0200)]
push-notification: Handle group names correctly in from/to
Fixes signal 11 crash
Aki Tuomi [Wed, 4 Dec 2019 07:02:28 +0000 (09:02 +0200)]
Released v2.3.9
Aki Tuomi [Fri, 29 Nov 2019 10:31:00 +0000 (12:31 +0200)]
NEWS: Add news for 2.3.9
Aki Tuomi [Fri, 29 Nov 2019 10:06:37 +0000 (12:06 +0200)]
NEWS: Sync missing news v2.3.7-v2.3.8
Josef 'Jeff' Sipek [Mon, 2 Dec 2019 13:51:34 +0000 (08:51 -0500)]
lib: Free internal event categories on lib deinit
Josef 'Jeff' Sipek [Wed, 27 Nov 2019 20:49:52 +0000 (15:49 -0500)]
lib: Add ->clear_field() passthrough event op
Timo Sirainen [Fri, 22 Nov 2019 15:33:06 +0000 (17:33 +0200)]
lib-http: client request events: Add "dest_ip" field
Timo Sirainen [Fri, 22 Nov 2019 15:04:34 +0000 (17:04 +0200)]
lib-http: client request events: Add "dest_" prefix to "host" and "port"
This makes it consistent with the event names in connection API.
Timo Sirainen [Mon, 25 Nov 2019 20:12:06 +0000 (22:12 +0200)]
lib: connection: Remove assert for remote_port != 0
This can happen if connection_init_server_ip() is called with remote_ip set
but not remote_port. Alternative fix might be to move the assert to it.
Timo Sirainen [Mon, 25 Nov 2019 13:18:51 +0000 (15:18 +0200)]
lib: connection: Rename unix_peer_known to unix_peer_checked
This reflects more correctly what it means.
Timo Sirainen [Mon, 25 Nov 2019 13:16:09 +0000 (15:16 +0200)]
lib: connection: Cleanup connection_update_properties()
Add comments and change the code flows a bit to make it clearer what is
supposed to happen.
Fixes also a potential bug where getpeername() could return 0, but if
errno wasn't changed the following errno==ENOTSOCK could have wrongly
matched.
Timo Sirainen [Mon, 25 Nov 2019 17:46:52 +0000 (19:46 +0200)]
lib: connection: Fix remote_pid and remote_uid in UNIX client connection log prefixes
They previously weren't included in the log prefixes, because
unix_peer_known was set to TRUE too early.
Timo Sirainen [Mon, 25 Nov 2019 13:13:28 +0000 (15:13 +0200)]
lib: connection: Don't set remote_pid or remote_uid to TCP connection event
They weren't initialized properly when connection_init_server_ip() or
connection_init_client_ip_from() was called with remote_ip parameter.
Timo Sirainen [Fri, 22 Nov 2019 14:12:36 +0000 (16:12 +0200)]
lib: connection: Add "dest_host" event field if given
Timo Sirainen [Fri, 22 Nov 2019 14:59:55 +0000 (16:59 +0200)]
lib: connection: Remove clearing of event fields
This was done mainly because the fields could have become mixed up when a
client connection event had a parent server connection event. But now that
the IP and port fields are different for client and server connections this
problem mainly doesn't exist.
Timo Sirainen [Fri, 22 Nov 2019 13:39:14 +0000 (15:39 +0200)]
lib: connection: Fix naming of remote/local_ip/port
For client connections these fields were duplicated as "ip", "port" and
"client_ip".
Now make it explicit that client connections only have source_* and dest_*,
while server connections only have local_* and remote_*.
Timo Sirainen [Fri, 22 Nov 2019 15:20:54 +0000 (17:20 +0200)]
imap: rename: Add "old_mailbox" and "new_mailbox" fields to command event
Timo Sirainen [Thu, 21 Nov 2019 13:38:25 +0000 (15:38 +0200)]
imap: Add "mailbox" field to imap command events that use mailboxes
Timo Sirainen [Thu, 21 Nov 2019 13:31:40 +0000 (15:31 +0200)]
imap: Fix setting imap client event's "session" field for CLI sessions
Timo Sirainen [Thu, 21 Nov 2019 13:30:38 +0000 (15:30 +0200)]
imap: Remove imap_client.session_id
Use mail_user.session_id instead. The imap_client.session_id was NULL for
command line sessions, which gets fixed by using mail_user.session_id.
Timo Sirainen [Thu, 21 Nov 2019 13:21:13 +0000 (15:21 +0200)]
lib-storage: Remove mail_user and mail_storage_service_user events' "service" field
There is already "service:<name>" category added to all events so this is
duplication.
If it's later on decided to be useful after all, it should be added
automatically to all events. Probably by creating the root event in
lib-master.
Timo Sirainen [Thu, 21 Nov 2019 13:15:44 +0000 (15:15 +0200)]
lib-storage: Remove local/remote_ip/port from mail_storage_service_user event
These make sense more in the parent event.
Timo Sirainen [Thu, 21 Nov 2019 13:12:12 +0000 (15:12 +0200)]
imap: Add local/remote_ip/port to imap client event fields
Timo Sirainen [Thu, 21 Nov 2019 12:58:50 +0000 (14:58 +0200)]
lib-storage: Rename mailbox event field "name" to "mailbox"
The "name" could conflict with child events. It's also much clearer this
way especially when accessed via child events.
Timo Sirainen [Thu, 21 Nov 2019 12:57:33 +0000 (14:57 +0200)]
lib-smtp: Rename event field "name" to "cmd_name"
This makes it consistent with imap's cmd_name.
Stephan Bosch [Mon, 20 Aug 2018 20:18:27 +0000 (22:18 +0200)]
lmtp: Add client workarounds.
Adds same workarounds as the submission service supports.
Stephan Bosch [Mon, 20 Aug 2018 20:00:04 +0000 (22:00 +0200)]
submission: Rename workaround enum values.
Avoid conflicts with other protocols.
Stephan Bosch [Wed, 13 Nov 2019 21:59:03 +0000 (22:59 +0100)]
lmtp: lmtp-commands - Fix application of the lmtp_hdr_delivery_address setting.
Its value was ignored. It got broken by the move to the new lib-smtp for v2.3.
Stephan Bosch [Wed, 13 Nov 2019 21:58:13 +0000 (22:58 +0100)]
lmtp: lmtp-commands - Simplify lmtp_local_add_headers().
Stephan Bosch [Wed, 13 Nov 2019 00:03:26 +0000 (01:03 +0100)]
lmtp: lmtp-settings - Fix reading lmtp_hdr_delivery_address setting.
The setting was not actually parsed.
Stephan Bosch [Wed, 13 Nov 2019 21:36:07 +0000 (22:36 +0100)]
lib-smtp: smtp-server-transaction - Make the recipient address used in trace headers configurable.
Stephan Bosch [Wed, 13 Nov 2019 22:41:51 +0000 (23:41 +0100)]
lib-smtp: smtp-server-recipient - Add smtp_server_recipient_get_original().
Timo Sirainen [Sun, 24 Nov 2019 11:03:51 +0000 (13:03 +0200)]
lib-imap: Fix adding IMAP_ARG_EOL parameter to all unfinished lists
This is a continuation for
6beb5339f163eaa470974ced2bcdf193f130d8a7 ,
which added it only to the last open list, not its parent lists.
Josef 'Jeff' Sipek [Mon, 4 Nov 2019 20:37:17 +0000 (15:37 -0500)]
lib: Test category re-registration thoroughly
Josef 'Jeff' Sipek [Thu, 24 Oct 2019 21:58:22 +0000 (17:58 -0400)]
lib: Use event category representatives instead of user supplied pointers
Since we cannot rely on the consumers to supply us with unique category
pointers, we can switch all our tracking to the category representative
structures.
Josef 'Jeff' Sipek [Thu, 24 Oct 2019 21:40:32 +0000 (17:40 -0400)]
lib: Maintain a representative event category inside internal state
More than one category can be represented by the internal state. To give
consumers a unique but consistent category pointer, we allocate a category
structure (technically part of the internal state) and use it as the
representative for all the registrations.
Note: This commit only allocates and maintains the representatives. It does
not make use of them.
Josef 'Jeff' Sipek [Tue, 22 Oct 2019 18:40:02 +0000 (14:40 -0400)]
lib: Keep an internal event category structure
Josef 'Jeff' Sipek [Tue, 22 Oct 2019 18:19:10 +0000 (14:19 -0400)]
lib: events: Replace ->registered with ->internal
This is in preparation for maintaining an internal category state structure.
Josef 'Jeff' Sipek [Fri, 8 Nov 2019 17:58:47 +0000 (12:58 -0500)]
lib: Remove support for unregistering categories
Nothing used the code and there were some unhandled corner cases.
Josef 'Jeff' Sipek [Tue, 22 Oct 2019 18:14:13 +0000 (14:14 -0400)]
lib: Correct struct event_category's registered member's comment
Sina Tavakoli [Wed, 13 Nov 2019 09:49:23 +0000 (11:49 +0200)]
lib: json-parser: Escape characters U+2028 and U+2029 to avoid CR-LF conflict with some parsers.
Sina Tavakoli [Mon, 11 Nov 2019 13:24:07 +0000 (15:24 +0200)]
lib: json-parser: Fix eager escaping UTF-8 characters
Timo Sirainen [Sun, 10 Nov 2019 12:16:49 +0000 (14:16 +0200)]
push-notification: lua: Expose UTF8 from/to/subject
Replace the existing "subject" field with UTF8 subject. Add new
from_address, from_display_name, to_address and to_display_name where
the *_display_names are UTF8.
Timo Sirainen [Sun, 10 Nov 2019 12:09:18 +0000 (14:09 +0200)]
push-notification: Support UTF8-decoded from/to/subject
Use a new struct push_notification_message_ext for this so both MessageNew
and MessageAppend events can share the same struct.
For From and To addresses keep the actual email address and display-name in
separate fields, since some drivers want them separated.
Timo Sirainen [Thu, 7 Nov 2019 16:51:37 +0000 (18:51 +0200)]
push-notification: Simplify code with p_strarray_dup()
Timo Sirainen [Thu, 7 Nov 2019 16:49:02 +0000 (18:49 +0200)]
push-notification: Deduplicate MessageNew and MessageAppend events' data gathering code
It would have been simpler to share their structs, but that can't be done cleanly
without breaking the API's backwards compatibility.
Stephan Bosch [Thu, 21 Nov 2019 08:42:09 +0000 (09:42 +0100)]
lib-smtp: smtp-server-cmd-mail - Don't implicitly accept missing '<' and '>' when set->mail_path_allow_broken == TRUE.
Stephan Bosch [Wed, 20 Nov 2019 23:35:51 +0000 (00:35 +0100)]
lib-smtp: smtp-address - Don't allow missing '<' and '>' with only SMTP_ADDRESS_PARSE_FLAG_IGNORE_BROKEN flag set.
Stephan Bosch [Thu, 21 Nov 2019 14:35:28 +0000 (15:35 +0100)]
lib-smtp: test-smtp-server-errors - Fix "MAIL broken path" test.
The test label and the number of clients was wrong.
Martti Rannanjärvi [Fri, 15 Nov 2019 10:20:38 +0000 (12:20 +0200)]
doveadm: Fix doveadm_proxy_port alias
Timo Sirainen [Thu, 7 Nov 2019 11:01:47 +0000 (13:01 +0200)]
run-test-valgrind.supp: Fix libunwind supression
The stack trace changed after the initial suppression was done
Timo Sirainen [Thu, 7 Nov 2019 12:34:48 +0000 (14:34 +0200)]
lib-imap: imap_write_arg() - Write IMAP_ARG_LITERAL_SIZE* the same as imap_write_args_for_human()
Either way it's not a proper literal because the content is missing.
This is at least now more consistent.
Timo Sirainen [Thu, 7 Nov 2019 12:29:07 +0000 (14:29 +0200)]
imap: APPEND - Fix parameters for cmd_args and cmd_human_args
Note that this still includes only the first parameters when CATENATE or
MULTIAPPEND is used.
Timo Sirainen [Thu, 7 Nov 2019 12:28:56 +0000 (14:28 +0200)]
imap: client_args_finished() - support appending more args
Timo Sirainen [Thu, 7 Nov 2019 12:26:40 +0000 (14:26 +0200)]
imap: Split off client_args_finished()
Timo Sirainen [Wed, 6 Nov 2019 17:27:41 +0000 (19:27 +0200)]
imap: Add "cmd_" prefix to most imap_command_finished event parameters
Especially "name" can conflict with child events' parameter.
Timo Sirainen [Wed, 6 Nov 2019 17:27:07 +0000 (19:27 +0200)]
imap: Fix args and human_args parameters to imap_command_finished event
They were being set too early when they didn't yet exist.
Timo Sirainen [Fri, 8 Nov 2019 08:57:01 +0000 (10:57 +0200)]
lib-imap: Add IMAP_ARG_EOL parameter also for unfinished lists
If list parsing was stopped due to IMAP_ARG_LITERAL_SIZE* the list didn't
have IMAP_ARG_EOL added. However, imap_arg_get_list() could still have
been used for it, which assumes that the IMAP_ARG_EOL exists.
This didn't seem to cause any actual bugs so far, but the following commits
require this.
The IMAP_ARG_EOL is appended and deleted immediately. This way it's seen by
imap_arg_get_list(), but it won't change any other behavior unexpectedly.
Timo Sirainen [Tue, 29 Oct 2019 16:47:51 +0000 (18:47 +0200)]
lib: Add io_loop_stop_delayed()
Stephan Bosch [Tue, 8 Oct 2019 20:54:12 +0000 (22:54 +0200)]
lmtp: lmtp-proxy - Add ORCPT parameter to RCPT command when recipient path changes.
This will happen when passdb changes the username.
Stephan Bosch [Tue, 8 Oct 2019 22:25:41 +0000 (00:25 +0200)]
lib-smtp: smtp-params - Add support for parsing RCPT ORCPT parameter without domain.
Stephan Bosch [Tue, 8 Oct 2019 20:57:02 +0000 (22:57 +0200)]
lib-smtp: smtp-params - Add smtp_params_rcpt_has_orcpt().
Evaluates whether ORCPT parameter is present.
Stephan Bosch [Tue, 8 Oct 2019 20:56:21 +0000 (22:56 +0200)]
lib-smtp: smtp-params - Add smtp_params_rcpt_set_orcpt().
Allows modifying the ORCPT parameter.
Stephan Bosch [Tue, 8 Oct 2019 22:21:53 +0000 (00:21 +0200)]
lib-smtp: smtp-address - Prevent/handle empty string values in fields of struct smtp_address.
This prevents e.g. writing an invalid address like 'user@'.
Stephan Bosch [Tue, 8 Oct 2019 22:43:52 +0000 (00:43 +0200)]
lib-smtp: Reformat test-smtp-params.c.
Stephan Bosch [Tue, 8 Oct 2019 21:11:34 +0000 (23:11 +0200)]
lib-smtp: Reformat smtp-params.h.
Stephan Bosch [Tue, 8 Oct 2019 21:11:00 +0000 (23:11 +0200)]
lib-smtp: Reformat smtp-params.c.
Stephan Bosch [Thu, 31 Oct 2019 08:07:42 +0000 (09:07 +0100)]
lib-http: http-url - Fix handling of double slash in request target URL.
A origin-form URL starting with double slash caused the initial path segment to
be erroneously recognized as the URL authority, making the path part
unexpectedly empty (NULL). This could cause the HTTP server to crash.
Stephan Bosch [Thu, 31 Oct 2019 08:33:31 +0000 (09:33 +0100)]
lib-http: test-http-request-parser - Test equality of target URL paths in valid tests.
Stephan Bosch [Thu, 31 Oct 2019 08:23:23 +0000 (09:23 +0100)]
lib-http: test-http-request-parser - Split off test_http_request_equal() from test_http_request_parse_valid().
Stephan Bosch [Wed, 30 Oct 2019 21:39:36 +0000 (22:39 +0100)]
lib-http: test-http-url - Split off test_http_url_equal() from test_http_url_valid().
Stephan Bosch [Wed, 30 Oct 2019 08:54:16 +0000 (09:54 +0100)]
lib-http: http-url - Split off http_url_parse_fragment() from http_url_do_parse().
Stephan Bosch [Wed, 30 Oct 2019 08:48:38 +0000 (09:48 +0100)]
lib-http: http-url - Split off http_url_parse_query() from http_url_do_parse().
Stephan Bosch [Wed, 30 Oct 2019 08:38:49 +0000 (09:38 +0100)]
lib-http: http-url - Split off http_url_parse_path() from http_url_do_parse().
Stephan Bosch [Wed, 30 Oct 2019 07:53:32 +0000 (08:53 +0100)]
lib-http: http-url - Split off http_url_parse_scheme() from http_url_do_parse().
Stephan Bosch [Wed, 30 Oct 2019 07:58:00 +0000 (08:58 +0100)]
lib-http: http-url - Split off http_url_parse_unknown_scheme() from http_url_do_parse().
Stephan Bosch [Tue, 29 Oct 2019 23:58:53 +0000 (00:58 +0100)]
lib-http: http-url - Split off http_url_parse_userinfo() from http_url_parse_authority().
Stephan Bosch [Thu, 31 Oct 2019 00:18:27 +0000 (01:18 +0100)]
lib-http: Reformat test-http-request-parser.c.
Stephan Bosch [Wed, 30 Oct 2019 21:34:02 +0000 (22:34 +0100)]
lib-http: Reformat test-http-url.c.
Stephan Bosch [Tue, 29 Oct 2019 23:47:37 +0000 (00:47 +0100)]
lib-http: Reformat http-url.c.
Stephan Bosch [Tue, 29 Oct 2019 23:38:43 +0000 (00:38 +0100)]
lib-http: Reformat http-url.h.
Aki Tuomi [Tue, 29 Oct 2019 11:44:50 +0000 (13:44 +0200)]
lib-mail: message-snippet - Use i_isspace
This way we catch all the whitespace
Aki Tuomi [Tue, 29 Oct 2019 13:11:18 +0000 (15:11 +0200)]
lib-mail: Treat > as quote for HTML mails too
Aki Tuomi [Tue, 29 Oct 2019 10:40:31 +0000 (12:40 +0200)]
lib-mail: Use quoted text as snippet if there is nothing else
Aki Tuomi [Tue, 29 Oct 2019 12:55:10 +0000 (14:55 +0200)]
lib-mail: message-snippet - Add snippet_add_content
Simplifies next commit
Aki Tuomi [Tue, 29 Oct 2019 12:50:05 +0000 (14:50 +0200)]
lib-mail: message-snippet - Use struct for snippet
Simplifies next change