]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
3 years agolmtp: Reformat lmtp-proxy.c.
Stephan Bosch [Mon, 27 Dec 2021 10:24:36 +0000 (11:24 +0100)] 
lmtp: Reformat lmtp-proxy.c.

3 years agolib-smtp: Reformat smtp-client-connection.c.
Stephan Bosch [Tue, 7 Dec 2021 00:23:13 +0000 (01:23 +0100)] 
lib-smtp: Reformat smtp-client-connection.c.

3 years agolib-compression: ostream-zlib - Fix signed vs unsigned comparison.
Stephan Bosch [Wed, 5 Jan 2022 01:27:48 +0000 (01:27 +0000)] 
lib-compression: ostream-zlib - Fix signed vs unsigned comparison.

3 years agolib: test-event-flatten - Fix format string specifier for usec time
Stephan Bosch [Wed, 5 Jan 2022 01:25:34 +0000 (01:25 +0000)] 
lib: test-event-flatten - Fix format string specifier for usec time

3 years agolib-storage: Remove most reason_code=mail:*
Timo Sirainen [Tue, 28 Dec 2021 07:37:42 +0000 (09:37 +0200)] 
lib-storage: Remove most reason_code=mail:*

Event reasons create events internally. This is rather expensive if it's
done for operations that access all emails in a large folder, e.g. SORT.
The per-mail reason_codes also didn't seem to be hugely helpful, so best
to just remove them.

Some of the mail:* reasons were left where they are causing mail stream to
be opened anyway. In these cases the extra CPU used by event reasons is
relatively little.

Reverts ce517f8323fa4a60b230f29712b207139badb3f0

3 years agomaildir: maildir_filename_base_hash() - Disable ubsan integer wrapping checks
Timo Sirainen [Mon, 20 Dec 2021 09:05:39 +0000 (11:05 +0200)] 
maildir: maildir_filename_base_hash() - Disable ubsan integer wrapping checks

3 years agolib-fts: Reuse textcat handle between sessions
Timo Sirainen [Thu, 9 Dec 2021 17:06:11 +0000 (18:06 +0100)] 
lib-fts: Reuse textcat handle between sessions

textcat initialization is rather CPU intensive. Its configuration is
normally always the same between sessions, so we can keep the latest textcat
handle cached.

3 years agolib-storage: Remove index_mail_data.seq
Timo Sirainen [Mon, 29 Nov 2021 16:05:18 +0000 (17:05 +0100)] 
lib-storage: Remove index_mail_data.seq

The seq already exists in struct mail, so this unnecessarily duplicated it.

3 years agolib-storage: Minor optimization - Use mail_index_lookup_full() to avoid two index...
Timo Sirainen [Mon, 29 Nov 2021 15:21:29 +0000 (16:21 +0100)] 
lib-storage: Minor optimization - Use mail_index_lookup_full() to avoid two index lookups

mail_index_is_expunged() was already internally doing the full lookup.

3 years agolib-index: mail_index_lookup_full() - Add expunged_r parameter
Timo Sirainen [Mon, 29 Nov 2021 15:16:30 +0000 (16:16 +0100)] 
lib-index: mail_index_lookup_full() - Add expunged_r parameter

3 years agolib-storage: Optimize setting mail event log prefix
Timo Sirainen [Mon, 29 Nov 2021 12:26:25 +0000 (13:26 +0100)] 
lib-storage: Optimize setting mail event log prefix

This was much more important before mail event creation was delayed. In one
installation the t_strdup_printf() call itself took about 4% of the total CPU
usage. Now that mail events are delayed, this is likely much less of an issue.
Still, this is easy enough of an optimization that might as well do it.

3 years agolib-storage: Delay creating mail event until mail_event() is called
Timo Sirainen [Mon, 29 Nov 2021 14:46:04 +0000 (15:46 +0100)] 
lib-storage: Delay creating mail event until mail_event() is called

Mails can be accessed a lot. The event handling code takes up a lot of CPU,
but most of the time the created event wasn't actually used for anything.

3 years agolib-storage: Make sure mail event is created before accessing streams or metadata
Timo Sirainen [Mon, 29 Nov 2021 14:43:29 +0000 (15:43 +0100)] 
lib-storage: Make sure mail event is created before accessing streams or metadata

This is in preparation for the next commit which delays the mail event
creation. The event duration behaves better if the event is created before
any potentially slow access is done.

3 years agolib-storage: Move struct mail.event to mail_private
Timo Sirainen [Mon, 29 Nov 2021 14:36:58 +0000 (15:36 +0100)] 
lib-storage: Move struct mail.event to mail_private

3 years agolib-lda, lib-storage: Use mail_event()
Timo Sirainen [Mon, 29 Nov 2021 14:32:28 +0000 (15:32 +0100)] 
lib-lda, lib-storage: Use mail_event()

3 years agolib-storage: Add mail_event()
Timo Sirainen [Mon, 29 Nov 2021 14:31:17 +0000 (15:31 +0100)] 
lib-storage: Add mail_event()

3 years agolib-storage: Add and use mail_metadata_access_start()
Timo Sirainen [Mon, 29 Nov 2021 17:39:22 +0000 (18:39 +0100)] 
lib-storage: Add and use mail_metadata_access_start()

3 years agolib-storage: Add and use mail_stream_access_start()
Timo Sirainen [Mon, 29 Nov 2021 17:32:09 +0000 (18:32 +0100)] 
lib-storage: Add and use mail_stream_access_start()

This replaces setting mail_stream_accessed directly.

3 years agolib-storage: raw: get_stream() - Add missing lookup_abort and mail_stream_accessed...
Timo Sirainen [Mon, 29 Nov 2021 17:35:31 +0000 (18:35 +0100)] 
lib-storage: raw: get_stream() - Add missing lookup_abort and mail_stream_accessed handling

3 years agopop3c: Add missing lookup_abort and mail_stream_accessed handling
Timo Sirainen [Mon, 29 Nov 2021 17:34:43 +0000 (18:34 +0100)] 
pop3c: Add missing lookup_abort and mail_stream_accessed handling

3 years agomaildir: get_stream() - Add missing lookup_abort and mail_stream_accessed handling
Timo Sirainen [Mon, 29 Nov 2021 19:44:05 +0000 (20:44 +0100)] 
maildir: get_stream() - Add missing lookup_abort and mail_stream_accessed handling

3 years agolib-storage: Rename mail.mail_stream_opened to mail_stream_accessed
Timo Sirainen [Mon, 29 Nov 2021 17:24:30 +0000 (18:24 +0100)] 
lib-storage: Rename mail.mail_stream_opened to mail_stream_accessed

It is set to TRUE even if the mail stream couldn't successfully be opened,
so this describes it better. Also it's now consistent with
mail_metadata_accessed.

3 years agolib-index: Remove mail_cache_lookup_finished event
Timo Sirainen [Fri, 3 Dec 2021 08:44:10 +0000 (10:44 +0200)] 
lib-index: Remove mail_cache_lookup_finished event

This event was using too much CPU with commands that accessed lots of mails
(e.g. IMAP SORT). It also wasn't especially useful.

Reverts 0d252dccb3013fea4d9a28bd5fafb5ea6e847d0e

3 years agolib-index: Use ATTR_COLD for error/corruption handling functions
Timo Sirainen [Thu, 2 Dec 2021 09:35:20 +0000 (11:35 +0200)] 
lib-index: Use ATTR_COLD for error/corruption handling functions

This could reduce CPU usage due to better branch prediction.

3 years agolib: pool_alloconly_destroy() optimization - Don't clear the last block before free
Timo Sirainen [Tue, 23 Nov 2021 14:00:02 +0000 (15:00 +0100)] 
lib: pool_alloconly_destroy() optimization - Don't clear the last block before free

The block is going to be freed, so there's no need to clear it.
(The clearing still happens if clean_frees=TRUE.)

3 years agolib: pool_alloconly_destroy() - Deduplicate code
Timo Sirainen [Tue, 23 Nov 2021 13:59:28 +0000 (14:59 +0100)] 
lib: pool_alloconly_destroy() - Deduplicate code

3 years agolib: Split off pool_alloconly_free_block()
Timo Sirainen [Tue, 23 Nov 2021 13:58:39 +0000 (14:58 +0100)] 
lib: Split off pool_alloconly_free_block()

3 years agolib: Split off pool_alloconly_free_blocks_until_last()
Timo Sirainen [Tue, 23 Nov 2021 13:56:10 +0000 (14:56 +0100)] 
lib: Split off pool_alloconly_free_blocks_until_last()

3 years agolib: Minor optimization - Avoid zeroing a newly created empty event field
Timo Sirainen [Tue, 23 Nov 2021 13:17:49 +0000 (15:17 +0200)] 
lib: Minor optimization - Avoid zeroing a newly created empty event field

3 years agolib: Remove copy of event_passthrough from struct event
Timo Sirainen [Mon, 22 Nov 2021 16:36:21 +0000 (17:36 +0100)] 
lib: Remove copy of event_passthrough from struct event

There was no need for it. This saves some memory and CPU.

This change now prevents modifications to the event_passthrough, but nothing
was doing it before either.

3 years agolib: Grow initial event pool size to 1024 bytes
Timo Sirainen [Mon, 22 Nov 2021 16:23:28 +0000 (17:23 +0100)] 
lib: Grow initial event pool size to 1024 bytes

The old 64 bytes size wasn't enough to allocate even the struct event itself.

3 years agologin-common: Explicitly null client auth fields on proxy pool unref
Karl Fleischmann [Wed, 15 Dec 2021 08:19:40 +0000 (09:19 +0100)] 
login-common: Explicitly null client auth fields on proxy pool unref

Explicitly setting `client_id` and `forward_fields` to null in the
client may reveal use-after-free issues when trying to access these
fields on a client proxy.

3 years agologin-common: Use base index for aliases
Karl Fleischmann [Fri, 10 Dec 2021 10:04:06 +0000 (11:04 +0100)] 
login-common: Use base index for aliases

Define a base index for aliases in the login variable table. Assign
values via offset of that base index. This allows adding more values
later without updating any subsequent index.

3 years agofts: Add headers filters
Marco Bettini [Fri, 10 Dec 2021 10:32:37 +0000 (11:32 +0100)] 
fts: Add headers filters

3 years agofts: fts-build-mail - Remove stray line
Marco Bettini [Fri, 10 Dec 2021 10:30:08 +0000 (11:30 +0100)] 
fts: fts-build-mail - Remove stray line

3 years agoauth: mech-scram - Amend comments.
Stephan Bosch [Mon, 9 Nov 2020 23:11:15 +0000 (00:11 +0100)] 
auth: mech-scram - Amend comments.

3 years agoauth: mech-scram - Fix handling of authzid.
Stephan Bosch [Mon, 9 Nov 2020 23:11:11 +0000 (00:11 +0100)] 
auth: mech-scram - Fix handling of authzid.

The gs2-header field was not recreated correctly for the final verification.
Fixed by storing the complete gs2-header value instead.

3 years agoauth: mech-scram - Properly size temporary string buffers.
Stephan Bosch [Mon, 9 Nov 2020 23:11:07 +0000 (00:11 +0100)] 
auth: mech-scram - Properly size temporary string buffers.

3 years agoauth: mech-scram - Restructure message parsing in parse_scram_client_first().
Stephan Bosch [Mon, 9 Nov 2020 23:11:03 +0000 (00:11 +0100)] 
auth: mech-scram - Restructure message parsing in parse_scram_client_first().

3 years agoauth: Reformat mech-scram.c.
Stephan Bosch [Mon, 9 Nov 2020 23:10:57 +0000 (00:10 +0100)] 
auth: Reformat mech-scram.c.

3 years agolib-storage: Return reason string in mailbox_vfuncs.list_index_has_changed()
Timo Sirainen [Fri, 20 Aug 2021 14:43:09 +0000 (17:43 +0300)] 
lib-storage: Return reason string in mailbox_vfuncs.list_index_has_changed()

The callers can use it to log why the list index had changed.

3 years agolib-storage: Don't call mailbox_vfuncs.list_index_has_changed() in data stack frame
Timo Sirainen [Fri, 20 Aug 2021 16:09:17 +0000 (19:09 +0300)] 
lib-storage: Don't call mailbox_vfuncs.list_index_has_changed() in data stack frame

This will be required by the next change.

3 years agolib-storage: mailbox_list_index_view_open() - Log a debug line why index isn't up...
Timo Sirainen [Fri, 20 Aug 2021 14:26:42 +0000 (17:26 +0300)] 
lib-storage: mailbox_list_index_view_open() - Log a debug line why index isn't up-to-date

3 years agolib-storage: mailbox_list_index_status() - Return failure reason string
Timo Sirainen [Fri, 20 Aug 2021 14:20:01 +0000 (17:20 +0300)] 
lib-storage: mailbox_list_index_status() - Return failure reason string

Log a debug line if mailbox list index couldn't be used to get the wanted
status information.

3 years agoauth: userdb-ldap - Avoid early dereferencing
Marco Bettini [Mon, 6 Dec 2021 10:54:16 +0000 (11:54 +0100)] 
auth: userdb-ldap - Avoid early dereferencing

userdb_ldap_iterate_callback() is still invoked after dereferencing
auth_request in userdb_ldap_iterate_deinit().

Normally this happens only on teardown, but it may happens also
in case of auth disconnecting from auth-worker during iteration.
(which shouldn't happen unless the auth process crashes)

3 years agovar-expand-crypt: Remove dead code
Timo Sirainen [Thu, 9 Dec 2021 16:31:04 +0000 (17:31 +0100)] 
var-expand-crypt: Remove dead code

It's correct that dcrypt library shouldn't be deinitialized at plugin
deinit.

3 years agologin-common: Add more fields to proxy_session_finished
Timo Sirainen [Fri, 3 Dec 2021 15:23:35 +0000 (17:23 +0200)] 
login-common: Add more fields to proxy_session_finished

Added disconnect_side, disconnect_reason, idle_secs, bytes_in, bytes_out.

3 years agologin-common: Split off proxy disconnection prefix to LOGIN_PROXY_KILL_PREFIX
Timo Sirainen [Fri, 3 Dec 2021 15:54:37 +0000 (17:54 +0200)] 
login-common: Split off proxy disconnection prefix to LOGIN_PROXY_KILL_PREFIX

3 years agologin-common: login_proxy_free_*() - Rename reason to log_msg
Timo Sirainen [Fri, 3 Dec 2021 15:47:50 +0000 (17:47 +0200)] 
login-common: login_proxy_free_*() - Rename reason to log_msg

This better describes it, since it's the full log message.

3 years agodsync: Fix -I max-size to actually be the max-size rather than min-size
Timo Sirainen [Wed, 1 Dec 2021 12:46:04 +0000 (14:46 +0200)] 
dsync: Fix -I max-size to actually be the max-size rather than min-size

The -I max-size parameter was supposed to be used to skip mails that are
larger than max-size. Instead, it skipped mails that were smaller.

3 years agoman: Add missing parameters to doveadm-sync
Timo Sirainen [Tue, 9 Nov 2021 12:42:24 +0000 (13:42 +0100)] 
man: Add missing parameters to doveadm-sync

3 years agodsync: Remove -D parameter that disables syncing mailbox renames
Timo Sirainen [Tue, 30 Nov 2021 16:02:14 +0000 (18:02 +0200)] 
dsync: Remove -D parameter that disables syncing mailbox renames

It hasn't been necessary for a long time, and its behavior seems to be
broken.

3 years agodsync: Add back various missing parameters
Timo Sirainen [Tue, 9 Nov 2021 12:41:37 +0000 (13:41 +0100)] 
dsync: Add back various missing parameters

Also add them to the usage string.

Broken by 5676c510bfa9217df05e9b7cb000ae3554d66f22

3 years agofts: Don't overwrite INUSE error if indexing times out
Michael M Slusarz [Wed, 22 Sep 2021 20:50:50 +0000 (14:50 -0600)] 
fts: Don't overwrite INUSE error if indexing times out

3 years agolib-storage/index: If mail stream was already opened, do not count it as slow vsize...
Aki Tuomi [Thu, 11 Nov 2021 10:31:49 +0000 (12:31 +0200)] 
lib-storage/index: If mail stream was already opened, do not count it as slow vsize access

imapc storage driver will open the mail stream in some circumstances during search,
so do not consider this as slow vsize.

3 years agolib-storage: Split off index_mailbox_vsize_finish_bg()
Aki Tuomi [Tue, 16 Nov 2021 13:08:47 +0000 (15:08 +0200)] 
lib-storage: Split off index_mailbox_vsize_finish_bg()

Simplifies next commit

3 years agolib-index: Fix storing cache fields' last_used with 64bit big endian CPUs
Timo Sirainen [Tue, 10 Aug 2021 09:22:08 +0000 (12:22 +0300)] 
lib-index: Fix storing cache fields' last_used with 64bit big endian CPUs

3 years agomaildir: Fix crash at error handling
Timo Sirainen [Thu, 17 Jan 2019 10:13:38 +0000 (12:13 +0200)] 
maildir: Fix crash at error handling

At this point dest_mail is already NULL. Mainly could happen when running
out of disk space.

3 years agologin-proxy: Don't send proxying start event for reconnects
Siavash Tavakoli [Tue, 30 Nov 2021 09:51:25 +0000 (09:51 +0000)] 
login-proxy: Don't send proxying start event for reconnects

Send the event only for the beginning of proxying and add the reconnect counts
as a field for _established and _finished events.

3 years agolib: str_parse_intmax() - Replace signed expression with UNSIGNED_MINUS()
Marco Bettini [Fri, 26 Nov 2021 13:45:47 +0000 (14:45 +0100)] 
lib: str_parse_intmax() - Replace signed expression with UNSIGNED_MINUS()

Found by code analysis tool

3 years agolib: switch i_rand_limit() - Replace signed expression with UNSIGNED_MINUS()
Marco Bettini [Fri, 26 Nov 2021 14:48:04 +0000 (15:48 +0100)] 
lib: switch i_rand_limit() - Replace signed expression with UNSIGNED_MINUS()

Found by code analysis tool

3 years agolib: buffer_truncate_rshift_bits() - Replace signed expression with an unsigned equiv...
Marco Bettini [Fri, 26 Nov 2021 13:15:07 +0000 (14:15 +0100)] 
lib: buffer_truncate_rshift_bits() - Replace signed expression with an unsigned equivalent

Found by code analysis tool

3 years agolib: bits_rotXYY() - Replace signed expression with UNSIGNED_MINUS() macro for unsign...
Marco Bettini [Mon, 29 Nov 2021 14:05:29 +0000 (15:05 +0100)] 
lib: bits_rotXYY() - Replace signed expression with UNSIGNED_MINUS() macro for unsigned 2's complement

Found by code analysis tool

3 years agobits_is_power_of_two() Replace signed expression with __builtin_popcountl()
Marco Bettini [Mon, 29 Nov 2021 14:00:41 +0000 (15:00 +0100)] 
bits_is_power_of_two() Replace signed expression with __builtin_popcountl()

Found by code analysis tool

3 years agolib: test-bits.c - Removing stray spaces at end of lines
Marco Bettini [Mon, 29 Nov 2021 13:58:33 +0000 (14:58 +0100)] 
lib: test-bits.c - Removing stray spaces at end of lines

3 years agoraw-storage: copy the envelope sender instead of referencing it
Fabrice Bellet [Fri, 15 Jan 2021 16:43:19 +0000 (17:43 +0100)] 
raw-storage: copy the envelope sender instead of referencing it

3 years agolib-fs: Add test-fs utility for testing fs drivers
Timo Sirainen [Mon, 14 Oct 2019 13:43:57 +0000 (16:43 +0300)] 
lib-fs: Add test-fs utility for testing fs drivers

It performs random read/write/delete/iter operations.

3 years agoreplicator: doveadm replicator replicate -f didn't always start full sync
Timo Sirainen [Fri, 18 Jun 2021 12:19:48 +0000 (15:19 +0300)] 
replicator: doveadm replicator replicate -f didn't always start full sync

The full sync happened only if the dsync queue was already full. If it
wasn't, dsync was called too early before user->force_full_sync was set.

3 years agoreplicator: Move replicator_brain_timeout(()
Timo Sirainen [Wed, 28 Jul 2021 08:52:01 +0000 (11:52 +0300)] 
replicator: Move replicator_brain_timeout(()

3 years agolib-storage: Optimize behavior when building THREAD tree with empty cache
Timo Sirainen [Mon, 19 Apr 2021 16:48:09 +0000 (18:48 +0200)] 
lib-storage: Optimize behavior when building THREAD tree with empty cache

Although it's possible that Date, Subject or received-date isn't actually
needed for all mails, it's much more efficient behavior to add all of these
to cache at the same time if they're not there already. Otherwise the same
mail could be opened and parsed up to 3 times.

3 years agodsync: Improve checking if source and destination are the same location
Timo Sirainen [Thu, 2 Apr 2020 08:06:36 +0000 (11:06 +0300)] 
dsync: Improve checking if source and destination are the same location

Prefer checking using the first -n parameter's namespace. Next try
prefix="" if it's created and last fallback to inbox=yes namespace.

3 years agodsync: Improve bad namespace configuration related error messages
Timo Sirainen [Mon, 22 Nov 2021 16:17:52 +0000 (18:17 +0200)] 
dsync: Improve bad namespace configuration related error messages

3 years agosubmission: smtp_server_command_execute() Remove check for null pointer confusing...
Marco Bettini [Wed, 24 Nov 2021 15:01:08 +0000 (16:01 +0100)] 
submission: smtp_server_command_execute() Remove check for null pointer confusing coverity

3 years agoimapc: Do not include the root node in list if it's the namespace prefix
Siavash Tavakoli [Mon, 22 Nov 2021 16:04:11 +0000 (16:04 +0000)] 
imapc: Do not include the root node in list if it's the namespace prefix

Otherwise namespace prefix is added to the mailbox tree as a separate
node. Fixes duplicated shared namespace root in mailbox list.

3 years agoacl: acl_mailbox_exists() - Add missing error handling
Marco Bettini [Tue, 23 Nov 2021 14:56:45 +0000 (15:56 +0100)] 
acl: acl_mailbox_exists() - Add missing error handling

Set mailbox storage error to "internal error" when acl_object_get_my_rights() fails (as per contract).

3 years agolib-storage: fail_mailbox_exists() - Return not found as a success instead of an...
Marco Bettini [Tue, 23 Nov 2021 15:03:07 +0000 (16:03 +0100)] 
lib-storage: fail_mailbox_exists() - Return not found as a success instead of an error

GETMETADATA sometimes responds with “NO [SERVERBUG] BUG: Unknown internal error returned”,
instead of “NO Mailbox doesn't exist”, depending on the actual configuration.
This can happen with the shared namespace.

3 years agologin-common: Default director_username_hash to %Lu like everywhere else
Martti Rannanjärvi [Tue, 23 Nov 2021 15:55:43 +0000 (17:55 +0200)] 
login-common: Default director_username_hash to %Lu like everywhere else

This setting has many places where the default is set, and this syncs it
with the others.

3 years agolib-storage: mail-duplicate - Fix segfault occurring when user has no configured...
Stephan Bosch [Fri, 12 Nov 2021 10:16:47 +0000 (11:16 +0100)] 
lib-storage: mail-duplicate - Fix segfault occurring when user has no configured home directory

Occurred only when a duplicate DB transaction was created.

3 years agolib-storage: mail-duplicate - Fix panic occurring when user has no configured home...
Stephan Bosch [Fri, 12 Nov 2021 09:43:16 +0000 (10:43 +0100)] 
lib-storage: mail-duplicate - Fix panic occurring when user has no configured home directory.

Panic was:

Panic: file imem.c: line 65 (i_strconcat): assertion failed: (str1 != NULL)

3 years agostats: Whitespace cleanup.
sergey.kitov [Thu, 11 Nov 2021 07:57:07 +0000 (09:57 +0200)] 
stats: Whitespace cleanup.

3 years agodoveadm: Fix processing of group-by parameter of doveadm stats add.
sergey.kitov [Tue, 9 Nov 2021 12:12:18 +0000 (14:12 +0200)] 
doveadm: Fix processing of group-by parameter of doveadm stats add.

3 years agolib-smtp: smtp-client-transaction - Always drop MAIL/RCPT state data before calling...
Stephan Bosch [Fri, 25 Sep 2020 01:48:09 +0000 (03:48 +0200)] 
lib-smtp: smtp-client-transaction - Always drop MAIL/RCPT state data before calling callbacks.

This prevents problems with callbacks destroying the transaction, the
connection, or commands involved in the transaction. This at least fixes a
segmentation fault occurring in the submission service when STARTTLS fails
during login.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_fail_reply...
Stephan Bosch [Mon, 8 Nov 2021 22:29:35 +0000 (23:29 +0100)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_fail_reply(NULL, reply) a no-op.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_abort(NULL...
Stephan Bosch [Fri, 25 Sep 2020 01:31:07 +0000 (03:31 +0200)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_abort(NULL) a no-op.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_replied(NULL...
Stephan Bosch [Fri, 25 Sep 2020 01:29:53 +0000 (03:29 +0200)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_replied(NULL) a no-op.

3 years agolib-smtp: smtp-client-transaction - Assert that smtp_client_transaction_rcpt_approved...
Stephan Bosch [Fri, 25 Sep 2020 01:27:39 +0000 (03:27 +0200)] 
lib-smtp: smtp-client-transaction - Assert that smtp_client_transaction_rcpt_approved/denied() has non-NULL parameter.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_free(NULL)...
Stephan Bosch [Fri, 25 Sep 2020 01:24:29 +0000 (03:24 +0200)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_free(NULL) a no-op.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_fail_reply...
Stephan Bosch [Fri, 25 Sep 2020 01:22:45 +0000 (03:22 +0200)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_fail_reply(NULL, reply) a no-op.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_abort(NULL...
Stephan Bosch [Fri, 25 Sep 2020 01:21:06 +0000 (03:21 +0200)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_abort(NULL) a no-op.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_replied(NULL...
Stephan Bosch [Fri, 25 Sep 2020 01:18:56 +0000 (03:18 +0200)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_replied(NULL, reply) a no-op.

3 years agolib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_free(NULL)...
Stephan Bosch [Fri, 25 Sep 2020 01:17:57 +0000 (03:17 +0200)] 
lib-smtp: smtp-client-transaction - Make smtp_client_transaction_mail_free(NULL) a no-op.

3 years agolib-smtp: smtp-client-command - Drop callback before call in smtp_client_command_inpu...
Stephan Bosch [Fri, 25 Sep 2020 00:45:27 +0000 (02:45 +0200)] 
lib-smtp: smtp-client-command - Drop callback before call in smtp_client_command_input_reply().

3 years agolib-smtp: smtp-client-command - Make smtp_client_command_fail_reply(NULL, reply)...
Stephan Bosch [Fri, 25 Sep 2020 00:38:54 +0000 (02:38 +0200)] 
lib-smtp: smtp-client-command - Make smtp_client_command_fail_reply(NULL, reply) a no-op.

3 years agolib-smtp: smtp-client-command - Make smtp_client_command_abort(NULL) a no-op.
Stephan Bosch [Fri, 25 Sep 2020 00:33:33 +0000 (02:33 +0200)] 
lib-smtp: smtp-client-command - Make smtp_client_command_abort(NULL) a no-op.

3 years agolib-smtp: Reformat smtp-client-transaction.c.
Stephan Bosch [Fri, 25 Sep 2020 01:00:31 +0000 (03:00 +0200)] 
lib-smtp: Reformat smtp-client-transaction.c.

3 years agolib-smtp: Reformat smtp-client-command.c.
Stephan Bosch [Fri, 25 Sep 2020 01:14:16 +0000 (03:14 +0200)] 
lib-smtp: Reformat smtp-client-command.c.

3 years agolib-fts: Don't index inline base64 encoded content
Marco Bettini [Thu, 28 Oct 2021 07:19:37 +0000 (09:19 +0200)] 
lib-fts: Don't index inline base64 encoded content

3 years agolib-smtp: smtp-server-command - Emit smtp_server_command_started event a little later.
Stephan Bosch [Sun, 14 Nov 2021 22:27:00 +0000 (23:27 +0100)] 
lib-smtp: smtp-server-command - Emit smtp_server_command_started event a little later.

This way cmd_*args fields are available for the event.

3 years agolib-smtp: smtp-server-command - Add cmd_args and cmd_human_args fields.
Stephan Bosch [Tue, 26 Oct 2021 22:48:28 +0000 (00:48 +0200)] 
lib-smtp: smtp-server-command - Add cmd_args and cmd_human_args fields.

This mirrors the identically named fields for the imap service. For SMTP,
though, cmd_human_args == cmd_args.

3 years agolib-http: http-client-connection - Fix crash in http_client_connection_server_close().
Stephan Bosch [Mon, 19 Jul 2021 09:53:41 +0000 (11:53 +0200)] 
lib-http: http-client-connection - Fix crash in http_client_connection_server_close().

The conn->peer member is only not NULL when the connection is associated with a
peer object. If it is not, http_client_connection_server_close() will crash.
Fixed by doing the peer->client operations only when there is an associated peer.