]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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
Timo Sirainen [Mon, 22 Jul 2019 13:16:51 +0000 (16:16 +0300)]
submission: Fix submission_max_mail_size setting type
Timo Sirainen [Mon, 2 Dec 2019 17:06:40 +0000 (19:06 +0200)]
lib-fs: Add fs event category to fs events
Timo Sirainen [Fri, 29 Nov 2019 15:49:23 +0000 (17:49 +0200)]
lib-fs: Log any pending errors in fs_file_deinit()
If error was set to the file but it wasn't accessed with
fs_file_last_error(), it means the error message would become lost.
Usually this is probably not intended.
Timo Sirainen [Fri, 29 Nov 2019 15:11:15 +0000 (17:11 +0200)]
lib-fs: Log previous fs_file error if it's being overridden
This makes sure that errors aren't lost. If fs_file_last_error() has been
used it means that the error has been looked at and there's no need to log
it.
Some of the "expected" errors won't be logged though. This check is done
based on errno. This is also why this commit reorders
fs_file_set_error_async() to set errno=EAGAIN earlier.
Timo Sirainen [Sun, 1 Dec 2019 21:07:14 +0000 (23:07 +0200)]
test-fs-posix: Check for failed fs_read() error string
Timo Sirainen [Fri, 29 Nov 2019 15:01:26 +0000 (17:01 +0200)]
lib-fs: Replace fs error with file/iter-specific error
Removed fs_last_error(), since it can't be used anymore.
Timo Sirainen [Fri, 29 Nov 2019 14:55:42 +0000 (16:55 +0200)]
lib-fs: Move file deinit code from fs_file_deinit() to fs_file_free()
Timo Sirainen [Fri, 29 Nov 2019 14:53:47 +0000 (16:53 +0200)]
lib-fs: Add fs_file_free() to run common deinit code
Timo Sirainen [Fri, 29 Nov 2019 14:25:49 +0000 (16:25 +0200)]
lib-fs: Change fs_set_error() to take event instead of fs
Also log the error as debug message. This allows capturing the events for
statistics or event exporting.
Timo Sirainen [Fri, 29 Nov 2019 13:30:46 +0000 (15:30 +0200)]
lib-fs: Set internal fs/file/iter pointers to events
This will be used by the following commit
Timo Sirainen [Fri, 29 Nov 2019 14:08:37 +0000 (16:08 +0200)]
lib-fs: Rename fs_set_error_async() to fs_file_set_error_async()
Also changed to take fs_file instead of fs parameter.
Timo Sirainen [Fri, 29 Nov 2019 14:01:40 +0000 (16:01 +0200)]
fs-posix: Change fs_posix_rmdir_parents() to take fs_file instead of fs
Timo Sirainen [Fri, 29 Nov 2019 13:58:59 +0000 (15:58 +0200)]
fs-sis: Don't overwrite error already set by fs_sis_path_parse()
Timo Sirainen [Fri, 29 Nov 2019 13:56:22 +0000 (15:56 +0200)]
fs-sis: Change some internal functions to take fs_file instead of fs
Timo Sirainen [Fri, 29 Nov 2019 13:54:13 +0000 (15:54 +0200)]
fs-posix: Change fs_posix_get_mode() to take file parameter, not fs
Timo Sirainen [Mon, 25 Nov 2019 11:20:53 +0000 (13:20 +0200)]
lib-fs: Remove fs_set_critical()
The original idea was similar to mail_storage_set_error/critical()
separation. But in storage they are used to clearly separate between
errors caused by untrusted users vs internal errors. In lib-fs case
all the errors are internal errors. Also all the lib-fs callers are
supposed to log the errors unless they decide to handle them specially,
so there's really no need a fs_set_critical() that just causes them to
be logged twice.
Timo Sirainen [Mon, 25 Nov 2019 11:19:55 +0000 (13:19 +0200)]
fs-posix: Replace fs_set_critical() with e_error()
fs_set_error() can't be used in fs_file_close() and fs_file_deinit(),
because they don't return an error.
Timo Sirainen [Mon, 25 Nov 2019 11:19:00 +0000 (13:19 +0200)]
fs-posix: Log lseek() error with fs_set_error()
Makes it consistent with logging the read() error.
Timo Sirainen [Mon, 25 Nov 2019 09:43:50 +0000 (11:43 +0200)]
lib-fs: Add error_r parameter to the internal fs.init() method
This will help removing fs_set_error() calls.
Timo Sirainen [Mon, 25 Nov 2019 09:25:37 +0000 (11:25 +0200)]
global: Replace fs_last_error() with fs_file_last_error() wherever possible
Timo Sirainen [Thu, 5 Dec 2019 11:41:26 +0000 (13:41 +0200)]
lib-fs: Free fs_iter in fs_iter_deinit(), not in individual drivers
Timo Sirainen [Mon, 25 Nov 2019 09:13:08 +0000 (11:13 +0200)]
lib-fs: Change fs_iter_deinit() API to return error_r string
Timo Sirainen [Mon, 25 Nov 2019 09:06:07 +0000 (11:06 +0200)]
lib-fs: Change last_error from string_t to char *
The string isn't modified in a way that string_t is useful. This change
also allows fs_set_error() parameters to point to previous error string
without breaking.
Timo Sirainen [Fri, 29 Nov 2019 13:25:21 +0000 (15:25 +0200)]
lib: Allow events to store internal pointers
These pointers are independent of event fields, so they're ignored by event
matching, exporting and importing. Their main purpose is to allow storing
internal state to an event and allow it to be accessed by any code that can
access the event.
Timo Sirainen [Wed, 4 Dec 2019 17:39:10 +0000 (19:39 +0200)]
fs-posix: Use container_of()
Josef 'Jeff' Sipek [Wed, 4 Dec 2019 17:30:26 +0000 (12:30 -0500)]
lib: Don't use EAI_{ADDRFAMILY,NODATA} when they don't exist
Broken by
c85f1bc3ce612c736c9d2c468cc08306db1b5851
Stephan Bosch [Wed, 4 Dec 2019 19:52:26 +0000 (20:52 +0100)]
plugins: quota: quota-status - Check that the MTA is in the RCPT state.
The quota-status service can currently only be used for Postfix
smtpd_recipient_restrictions.
Stephan Bosch [Wed, 4 Dec 2019 19:38:14 +0000 (20:38 +0100)]
plugins: quota: quota-status - Delay parsing recipient address until after message is fully read.
Stephan Bosch [Wed, 4 Dec 2019 20:16:17 +0000 (21:16 +0100)]
plugins: quota: quota-status - Remove duplicate "quota-status" prefix from error message.
Stephan Bosch [Sun, 4 Nov 2018 18:04:34 +0000 (19:04 +0100)]
plugins: quota: quota-status - Accept addresses with badly broken localparts from Postfix.
Stephan Bosch [Sun, 4 Nov 2018 16:45:29 +0000 (17:45 +0100)]
plugins: quota: quota-status - Fix protocol hang occurring when recipient address is invalid.
The line handler returned 0 in the event of an invalid recipient address, which
halts input handling.
Stephan Bosch [Sun, 4 Nov 2018 16:37:04 +0000 (17:37 +0100)]
plugins: quota: quota-status - Add event support for debug logging.
Stephan Bosch [Wed, 31 Oct 2018 22:09:48 +0000 (23:09 +0100)]
plugins: quota: quota-status - Improve error message for invalid recipient address.
Stephan Bosch [Mon, 7 Jan 2019 19:03:16 +0000 (20:03 +0100)]
auth: mech-scram: Add support for SCRAM-SHA-256.
Stephan Bosch [Mon, 7 Jan 2019 19:09:07 +0000 (20:09 +0100)]
auth: password-scheme: scram: Add support for SCRAM-SHA-256.
Stephan Bosch [Sun, 6 Jan 2019 22:08:38 +0000 (23:08 +0100)]
auth: mech-scram: Make implementation generic to support other hash algorithms.
Stephan Bosch [Sun, 6 Jan 2019 22:04:37 +0000 (23:04 +0100)]
auth: password-scheme: scram: Make implementation generic to support other hash algorithms.
Stephan Bosch [Sun, 6 Jan 2019 22:24:44 +0000 (23:24 +0100)]
auth: Reduce code line length in password-scheme-scram.c.
Stephan Bosch [Sun, 6 Jan 2019 22:19:14 +0000 (23:19 +0100)]
auth: Reduce code line length in password-scheme.h.
Stephan Bosch [Sun, 6 Jan 2019 19:22:28 +0000 (20:22 +0100)]
auth: Rename mech-scram-sha1.c to mech-scram.c.
Stephan Bosch [Sun, 6 Jan 2019 22:03:13 +0000 (23:03 +0100)]
lib: hash-method: Add hash_method_get_digest().
Stephan Bosch [Sun, 6 Jan 2019 22:27:36 +0000 (23:27 +0100)]
lib: hash-method: Adjust comment regarding helpers.
Markus Valentin [Tue, 26 Nov 2019 14:30:47 +0000 (15:30 +0100)]
doveadm: mail: Add trans-flags parameter to doveadm mail commands
Add a trans-flags parameter to doveadm-mail calls. This allows to
run mail commands with specific mailbox transaction flags.
mail-storage.h enum mailbox_transaction_flags
All doveadm calls take the defined flag additionally to their orignal
flags. The flags can be set as decimal integer on the doveadm call.
Stephan Bosch [Fri, 29 Nov 2019 12:50:31 +0000 (13:50 +0100)]
README.md: Add RFC8457.
Stephan Bosch [Sat, 8 Sep 2018 19:41:52 +0000 (21:41 +0200)]
doc: example-config: Add documentation and example for \Important special-use mailbox attribute.
Stephan Bosch [Sat, 8 Sep 2018 19:26:17 +0000 (21:26 +0200)]
lib-storage: Add support for the "\Important" special-use mailbox attribute.
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
Timo Sirainen [Thu, 31 Oct 2019 08:49:52 +0000 (10:49 +0200)]
lib-http: Add comments to http_client_request.*_time
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.
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.
Timo Sirainen [Thu, 14 Nov 2019 09:33:43 +0000 (11:33 +0200)]
imap-hibernate: Fix logging unhibernation error if imap-master gets disconnected
Timo Sirainen [Mon, 11 Nov 2019 12:27:55 +0000 (14:27 +0200)]
imap-hibernate: Fix crash when imap-master communication fails
Fixes a segfault if the communication times out or gets disconnected too
early. This happens because read_callback() already frees the
imap_master_connection.
Aki Tuomi [Sun, 10 Nov 2019 21:08:15 +0000 (23:08 +0200)]
lib-ssl-iostream: Fix error message about ssl_dh
The setting name is ssl_dh, not ssh_dh
Sina Tavakoli [Mon, 18 Nov 2019 13:37:04 +0000 (15:37 +0200)]
gitignore: Add file and directories generated by clion and kde.
Timo Sirainen [Thu, 24 Oct 2019 11:08:01 +0000 (14:08 +0300)]
lib-index: Fix potential assert-crash when cache compression merges bitmasks
Fixes:
Panic: file array.c: line 10 (array_idx_modifiable_i): assertion failed: (idx < array->buffer->used / array->element_size)
(although this panic could happen in other ways as well)
Stephan Bosch [Sat, 20 Jul 2019 11:05:08 +0000 (13:05 +0200)]
lib-smtp: smtp-client-connection - Make sure connect timeout is always reset upon TLS handshake success.
Stephan Bosch [Sat, 20 Jul 2019 11:03:44 +0000 (13:03 +0200)]
lib-smtp: smtp-client-connection - Fix assert failure occurring when STARTTLS handshake succeeds quickly.
Panic was:
Panic: file smtp-client-connection.c: line 1212 (smtp_client_connection_established): assertion failed: (!conn->connect_succeeded)
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.