]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
5 years agoplugins: quota: quota-status - Fix protocol hang occurring when recipient address...
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.

5 years agoplugins: quota: quota-status - Add event support for debug logging.
Stephan Bosch [Sun, 4 Nov 2018 16:37:04 +0000 (17:37 +0100)] 
plugins: quota: quota-status - Add event support for debug logging.

5 years agoplugins: quota: quota-status - Improve error message for invalid recipient address.
Stephan Bosch [Wed, 31 Oct 2018 22:09:48 +0000 (23:09 +0100)] 
plugins: quota: quota-status - Improve error message for invalid recipient address.

5 years agoauth: mech-scram: Add support for SCRAM-SHA-256.
Stephan Bosch [Mon, 7 Jan 2019 19:03:16 +0000 (20:03 +0100)] 
auth: mech-scram: Add support for SCRAM-SHA-256.

5 years agoauth: password-scheme: 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.

5 years agoauth: mech-scram: Make implementation generic to support other hash algorithms.
Stephan Bosch [Sun, 6 Jan 2019 22:08:38 +0000 (23:08 +0100)] 
auth: mech-scram: Make implementation generic to support other hash algorithms.

5 years agoauth: password-scheme: scram: Make implementation generic to support other hash algor...
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.

5 years agoauth: Reduce code line length in password-scheme-scram.c.
Stephan Bosch [Sun, 6 Jan 2019 22:24:44 +0000 (23:24 +0100)] 
auth: Reduce code line length in password-scheme-scram.c.

5 years agoauth: Reduce code line length in password-scheme.h.
Stephan Bosch [Sun, 6 Jan 2019 22:19:14 +0000 (23:19 +0100)] 
auth: Reduce code line length in password-scheme.h.

5 years agoauth: Rename mech-scram-sha1.c to mech-scram.c.
Stephan Bosch [Sun, 6 Jan 2019 19:22:28 +0000 (20:22 +0100)] 
auth: Rename mech-scram-sha1.c to mech-scram.c.

5 years agolib: hash-method: Add hash_method_get_digest().
Stephan Bosch [Sun, 6 Jan 2019 22:03:13 +0000 (23:03 +0100)] 
lib: hash-method: Add hash_method_get_digest().

5 years agolib: hash-method: Adjust comment regarding helpers.
Stephan Bosch [Sun, 6 Jan 2019 22:27:36 +0000 (23:27 +0100)] 
lib: hash-method: Adjust comment regarding helpers.

5 years agodoveadm: mail: Add trans-flags parameter to doveadm mail commands
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.

5 years agoREADME.md: Add RFC8457.
Stephan Bosch [Fri, 29 Nov 2019 12:50:31 +0000 (13:50 +0100)] 
README.md: Add RFC8457.

5 years agodoc: example-config: Add documentation and example for \Important special-use mailbox...
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.

5 years agolib-storage: Add support for the "\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.

5 years agoNEWS: Add news for 2.3.9
Aki Tuomi [Fri, 29 Nov 2019 10:31:00 +0000 (12:31 +0200)] 
NEWS: Add news for 2.3.9

5 years agoNEWS: Sync missing news v2.3.7-v2.3.8
Aki Tuomi [Fri, 29 Nov 2019 10:06:37 +0000 (12:06 +0200)] 
NEWS: Sync missing news v2.3.7-v2.3.8

5 years agolib-http: Add comments to http_client_request.*_time
Timo Sirainen [Thu, 31 Oct 2019 08:49:52 +0000 (10:49 +0200)] 
lib-http: Add comments to http_client_request.*_time

5 years agolib: Free internal event categories on lib deinit
Josef 'Jeff' Sipek [Mon, 2 Dec 2019 13:51:34 +0000 (08:51 -0500)] 
lib: Free internal event categories on lib deinit

5 years agolib: Add ->clear_field() passthrough event op
Josef 'Jeff' Sipek [Wed, 27 Nov 2019 20:49:52 +0000 (15:49 -0500)] 
lib: Add ->clear_field() passthrough event op

5 years agolib-http: client request events: Add "dest_ip" field
Timo Sirainen [Fri, 22 Nov 2019 15:33:06 +0000 (17:33 +0200)] 
lib-http: client request events: Add "dest_ip" field

5 years agolib-http: client request events: Add "dest_" prefix to "host" and "port"
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.

5 years agolib: connection: Remove assert for remote_port != 0
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.

5 years agolib: connection: Rename unix_peer_known to unix_peer_checked
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.

5 years agolib: connection: Cleanup connection_update_properties()
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.

5 years agolib: connection: Fix remote_pid and remote_uid in UNIX client connection log prefixes
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.

5 years agolib: connection: Don't set remote_pid or remote_uid to TCP connection event
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.

5 years agolib: connection: Add "dest_host" event field if given
Timo Sirainen [Fri, 22 Nov 2019 14:12:36 +0000 (16:12 +0200)] 
lib: connection: Add "dest_host" event field if given

5 years agolib: connection: Remove clearing of event fields
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.

5 years agolib: connection: Fix naming of remote/local_ip/port
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_*.

5 years agoimap: rename: Add "old_mailbox" and "new_mailbox" fields to command event
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

5 years agoimap: Add "mailbox" field to imap command events that use mailboxes
Timo Sirainen [Thu, 21 Nov 2019 13:38:25 +0000 (15:38 +0200)] 
imap: Add "mailbox" field to imap command events that use mailboxes

5 years agoimap: Fix setting imap client event's "session" field for CLI sessions
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

5 years agoimap: Remove imap_client.session_id
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.

5 years agolib-storage: Remove mail_user and mail_storage_service_user events' "service" field
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.

5 years agolib-storage: Remove local/remote_ip/port from mail_storage_service_user event
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.

5 years agoimap: Add local/remote_ip/port to imap client event fields
Timo Sirainen [Thu, 21 Nov 2019 13:12:12 +0000 (15:12 +0200)] 
imap: Add local/remote_ip/port to imap client event fields

5 years agolib-storage: Rename mailbox event field "name" to "mailbox"
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.

5 years agolib-smtp: Rename event field "name" to "cmd_name"
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.

5 years agolmtp: Add client workarounds.
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.

5 years agosubmission: Rename workaround enum values.
Stephan Bosch [Mon, 20 Aug 2018 20:00:04 +0000 (22:00 +0200)] 
submission: Rename workaround enum values.

Avoid conflicts with other protocols.

5 years agolmtp: lmtp-commands - Fix application of the lmtp_hdr_delivery_address setting.
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.

5 years agolmtp: lmtp-commands - Simplify lmtp_local_add_headers().
Stephan Bosch [Wed, 13 Nov 2019 21:58:13 +0000 (22:58 +0100)] 
lmtp: lmtp-commands - Simplify lmtp_local_add_headers().

5 years agolmtp: lmtp-settings - Fix reading lmtp_hdr_delivery_address setting.
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.

5 years agolib-smtp: smtp-server-transaction - Make the recipient address used in trace headers...
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.

5 years agolib-smtp: smtp-server-recipient - Add smtp_server_recipient_get_original().
Stephan Bosch [Wed, 13 Nov 2019 22:41:51 +0000 (23:41 +0100)] 
lib-smtp: smtp-server-recipient - Add smtp_server_recipient_get_original().

5 years agolib-imap: Fix adding IMAP_ARG_EOL parameter to all unfinished lists
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.

5 years agopush-notification: lua: Expose UTF8 from/to/subject
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.

5 years agopush-notification: Support UTF8-decoded from/to/subject
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.

5 years agopush-notification: Simplify code with p_strarray_dup()
Timo Sirainen [Thu, 7 Nov 2019 16:51:37 +0000 (18:51 +0200)] 
push-notification: Simplify code with p_strarray_dup()

5 years agopush-notification: Deduplicate MessageNew and MessageAppend events' data gathering...
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.

5 years agolib-smtp: smtp-server-cmd-mail - Don't implicitly accept missing '<' and '>' when...
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.

5 years agolib-smtp: smtp-address - Don't allow missing '<' and '>' with only SMTP_ADDRESS_PARSE...
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.

5 years agolib-smtp: test-smtp-server-errors - Fix "MAIL broken path" test.
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.

5 years agoimap-hibernate: Fix logging unhibernation error if imap-master gets disconnected
Timo Sirainen [Thu, 14 Nov 2019 09:33:43 +0000 (11:33 +0200)] 
imap-hibernate: Fix logging unhibernation error if imap-master gets disconnected

5 years agoimap-hibernate: Fix crash when imap-master communication fails
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.

5 years agolib-ssl-iostream: Fix error message about ssl_dh
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

5 years agogitignore: Add file and directories generated by clion and kde.
Sina Tavakoli [Mon, 18 Nov 2019 13:37:04 +0000 (15:37 +0200)] 
gitignore: Add file and directories generated by clion and kde.

5 years agolib-index: Fix potential assert-crash when cache compression merges bitmasks
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)

5 years agolib-smtp: smtp-client-connection - Make sure connect timeout is always reset upon...
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.

5 years agolib-smtp: smtp-client-connection - Fix assert failure occurring when STARTTLS handsha...
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)

5 years agolib: Test category re-registration thoroughly
Josef 'Jeff' Sipek [Mon, 4 Nov 2019 20:37:17 +0000 (15:37 -0500)] 
lib: Test category re-registration thoroughly

5 years agolib: Use event category representatives instead of user supplied pointers
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.

5 years agolib: Maintain a representative event category inside internal state
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.

5 years agolib: Keep an internal event category structure
Josef 'Jeff' Sipek [Tue, 22 Oct 2019 18:40:02 +0000 (14:40 -0400)] 
lib: Keep an internal event category structure

5 years agolib: events: Replace ->registered with ->internal
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.

5 years agolib: Remove support for unregistering categories
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.

5 years agolib: Correct struct event_category's registered member's comment
Josef 'Jeff' Sipek [Tue, 22 Oct 2019 18:14:13 +0000 (14:14 -0400)] 
lib: Correct struct event_category's registered member's comment

5 years agodoveadm: Fix doveadm_proxy_port alias
Martti Rannanjärvi [Fri, 15 Nov 2019 10:20:38 +0000 (12:20 +0200)] 
doveadm: Fix doveadm_proxy_port alias

5 years agolib: json-parser: Escape characters U+2028 and U+2029 to avoid CR-LF conflict with...
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.

5 years agolib: json-parser: Fix eager escaping UTF-8 characters
Sina Tavakoli [Mon, 11 Nov 2019 13:24:07 +0000 (15:24 +0200)] 
lib: json-parser: Fix eager escaping UTF-8 characters

5 years agoimap-hibernate: Increase unhibernation retry timeout to 100 ms
Timo Sirainen [Mon, 9 Sep 2019 13:32:14 +0000 (16:32 +0300)] 
imap-hibernate: Increase unhibernation retry timeout to 100 ms

If there are problems, 10 ms can cause excessive number of errors to be
logged.

5 years agoimap-hibernate: Fix retrying unhibernation
Timo Sirainen [Wed, 4 Sep 2019 08:55:16 +0000 (11:55 +0300)] 
imap-hibernate: Fix retrying unhibernation

The code that was supposed to do the retrying was never actually called.
This is because move_back_start was always 0, so it always went to the
"we've waited long enough" code path.

5 years agoimap-hibernate: Stop listening for IOs while waiting for unhibernate retrying
Timo Sirainen [Mon, 9 Sep 2019 13:30:51 +0000 (16:30 +0300)] 
imap-hibernate: Stop listening for IOs while waiting for unhibernate retrying

This avoids excessive CPU usage, because the IOs keep rapidly triggering and
trying to get the client unhibernated.

5 years agoimap-hibernate: Fix crashes caused by unhibernation queue handling
Timo Sirainen [Wed, 4 Sep 2019 10:22:16 +0000 (13:22 +0300)] 
imap-hibernate: Fix crashes caused by unhibernation queue handling

These only started happening after the following commit that fixes
unhibernation to actually start happening.

5 years agolib: net_set_tcp_quickack() - Fix compiler warnings with non-Linux OSes
Timo Sirainen [Tue, 12 Nov 2019 11:38:46 +0000 (13:38 +0200)] 
lib: net_set_tcp_quickack() - Fix compiler warnings with non-Linux OSes

5 years agorun-test-valgrind.supp: Fix libunwind supression
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

5 years agolib: ostream-file - Set TCP_QUICKACK whenever uncorking
Timo Sirainen [Wed, 6 Nov 2019 12:39:25 +0000 (14:39 +0200)] 
lib: ostream-file - Set TCP_QUICKACK whenever uncorking

This reduces latency in some situations.

5 years agolib: Add net_set_tcp_quickack()
Timo Sirainen [Wed, 6 Nov 2019 12:36:58 +0000 (14:36 +0200)] 
lib: Add net_set_tcp_quickack()

5 years agolib-smtp: Uncork connection after QUIT, not before
Timo Sirainen [Wed, 6 Nov 2019 12:32:57 +0000 (14:32 +0200)] 
lib-smtp: Uncork connection after QUIT, not before

This makes it more likely to work and without an extra TCP packet.

5 years agolib-imap: imap_write_arg() - Write IMAP_ARG_LITERAL_SIZE* the same as imap_write_args...
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.

5 years agoimap: APPEND - Fix parameters for cmd_args and cmd_human_args
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.

5 years agoimap: client_args_finished() - support appending more args
Timo Sirainen [Thu, 7 Nov 2019 12:28:56 +0000 (14:28 +0200)] 
imap: client_args_finished() - support appending more args

5 years agoimap: Split off client_args_finished()
Timo Sirainen [Thu, 7 Nov 2019 12:26:40 +0000 (14:26 +0200)] 
imap: Split off client_args_finished()

5 years agoimap: Add "cmd_" prefix to most imap_command_finished event parameters
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.

5 years agoimap: Fix args and human_args parameters to imap_command_finished event
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.

5 years agolib-imap: Add IMAP_ARG_EOL parameter also for unfinished lists
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.

5 years agolib: Add io_loop_stop_delayed()
Timo Sirainen [Tue, 29 Oct 2019 16:47:51 +0000 (18:47 +0200)] 
lib: Add io_loop_stop_delayed()

5 years agolmtp: lmtp-proxy - Add ORCPT parameter to RCPT command when recipient path changes.
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.

5 years agolib-smtp: smtp-params - Add support for parsing RCPT ORCPT parameter without domain.
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.

5 years agolib-smtp: smtp-params - Add smtp_params_rcpt_has_orcpt().
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.

5 years agolib-smtp: smtp-params - Add smtp_params_rcpt_set_orcpt().
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.

5 years agolib-smtp: smtp-address - Prevent/handle empty string values in fields of struct smtp_...
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@'.

5 years agolib-smtp: Reformat test-smtp-params.c.
Stephan Bosch [Tue, 8 Oct 2019 22:43:52 +0000 (00:43 +0200)] 
lib-smtp: Reformat test-smtp-params.c.

5 years agolib-smtp: Reformat smtp-params.h.
Stephan Bosch [Tue, 8 Oct 2019 21:11:34 +0000 (23:11 +0200)] 
lib-smtp: Reformat smtp-params.h.

5 years agolib-smtp: Reformat smtp-params.c.
Stephan Bosch [Tue, 8 Oct 2019 21:11:00 +0000 (23:11 +0200)] 
lib-smtp: Reformat smtp-params.c.

5 years agolib-http: http-url - Fix handling of double slash in request target URL.
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.

5 years agolib-http: test-http-request-parser - Test equality of target URL paths in valid tests.
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.

5 years agolib-http: test-http-request-parser - Split off test_http_request_equal() from test_ht...
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().