]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Mon, 27 Nov 2017 16:26:00 +0000 (18:26 +0200)]
doveadm-server: Switch to TCP connection's ioloop while sending logs to remote
Fixes:
Warning: I/O leak: 0x558d7c074ed0 (ostream-file.c:349, fd 16)
Panic: file ioloop.c: line 127 (io_remove_full): assertion failed: (io->callback != NULL)
Aki Tuomi [Wed, 29 Nov 2017 14:29:17 +0000 (16:29 +0200)]
lib: randgen - Fallback to /dev/urandom in case getrandom does not work
In some operating systems getrandom is defined, but not implemented,
if this happens, fallback into using /dev/urandom.
Aki Tuomi [Mon, 27 Nov 2017 11:46:40 +0000 (13:46 +0200)]
lib: Add bloom filter support
Aki Tuomi [Mon, 27 Nov 2017 11:46:17 +0000 (13:46 +0200)]
lib: Add murmurhash3 support
Needed for bloom filters
Aki Tuomi [Mon, 27 Nov 2017 11:45:56 +0000 (13:45 +0200)]
lib: bits - add circular rotation functions
Sergey Kitov [Tue, 21 Nov 2017 11:27:18 +0000 (13:27 +0200)]
lib: Call prctl(PR_SET_DUMPABLE) only when PR_SET_DUMPABLE env variable is set
Sergey Kitov [Wed, 22 Nov 2017 09:34:47 +0000 (11:34 +0200)]
lib: Add logging of prctl(PR_SET_DUMPABLE) failure.
Aki Tuomi [Wed, 29 Nov 2017 07:00:08 +0000 (09:00 +0200)]
auth: test-lua - fix memory leaks
Stephan Bosch [Tue, 28 Nov 2017 00:04:53 +0000 (01:04 +0100)]
lib-smtp: client: Fixed sending payload with unknown size using the CHUNKING capability.
Stephan Bosch [Tue, 28 Nov 2017 00:03:48 +0000 (01:03 +0100)]
lib-smtp: client: command: Implemented callback that is called when command is fully sent.
Stephan Bosch [Mon, 27 Nov 2017 20:03:52 +0000 (21:03 +0100)]
lib-smtp: client: transaction: Fix adding a recipient while the transaction is already failed.
This did not always trigger an immediate callback.
Aki Tuomi [Tue, 28 Nov 2017 19:15:17 +0000 (21:15 +0200)]
auth: test-lua - zero out auth settings in test
Otherwise valgrind complains
Timo Sirainen [Tue, 28 Nov 2017 17:01:19 +0000 (19:01 +0200)]
director: Fix logging disconnection error reasons
The previous commit set errno=0, which weren't logged. If error string is
provided, it doesn't matter what the errno is set (as long as it's not 0),
so we'll just use EINVAL.
Timo Sirainen [Tue, 28 Nov 2017 11:45:42 +0000 (13:45 +0200)]
lib: mempool-alloconly - Make sure calloc() size isn't above SSIZE_T_MAX
This avoids valgrind warnings when running unit tests:
Argument 'nmemb' of function calloc has a fishy (possibly negative) value: -
9223372036854775808
Aki Tuomi [Tue, 28 Nov 2017 14:51:46 +0000 (16:51 +0200)]
auth: userdb-lua - Fix typo in logging
Aki Tuomi [Tue, 28 Nov 2017 14:51:06 +0000 (16:51 +0200)]
auth: userdb-lua - Log error if lookup fails
Previously the error would just be discarded.
Aki Tuomi [Tue, 28 Nov 2017 14:50:13 +0000 (16:50 +0200)]
auth: db-lua - Fix password scheme handling
It was left as NULL and had misleading name in some
of the handler functions causing assert-crash.
Aki Tuomi [Tue, 28 Nov 2017 14:48:19 +0000 (16:48 +0200)]
auth: db-lua - fix auth request registration
It was registered in wrong manner so one could not
easily extend it with passdb and userdb subtables.
The change itself was to change the object to a
table, and register the actual pointer as light userdata
under index 'item', and the passdb and userdb tables
similarly with 'item' in each holding the pointer
to request.
Aki Tuomi [Tue, 28 Nov 2017 11:44:06 +0000 (13:44 +0200)]
auth: db-lua - Do not assume params is always present for passdb/userdb field lookup
Timo Sirainen [Tue, 28 Nov 2017 14:07:12 +0000 (16:07 +0200)]
lib: Fix mempool unit tests to pass with 32bit OSes
malloc(SSIZE_T_MAX) actually succeeds there, so we can't test it.
Josef 'Jeff' Sipek [Fri, 17 Nov 2017 16:37:45 +0000 (11:37 -0500)]
lib: rename bswap_*() to i_bswap()
Timo Sirainen [Tue, 28 Nov 2017 13:06:27 +0000 (15:06 +0200)]
director: Log connection stats for all types of disconnections
Timo Sirainen [Tue, 28 Nov 2017 12:57:27 +0000 (14:57 +0200)]
director: Log whether connection is synced when it's being disconnected.
Timo Sirainen [Tue, 28 Nov 2017 11:10:35 +0000 (13:10 +0200)]
director: Fix crash when handling expired USER timestamps.
The fix in
154f91726624265fce15097eb4bbbf6e55f8c477 wasn't complete.
Aki Tuomi [Fri, 24 Nov 2017 11:22:19 +0000 (13:22 +0200)]
password-scheme-sodium: ARGON2I - print errno on failure
Aki Tuomi [Fri, 24 Nov 2017 11:18:16 +0000 (13:18 +0200)]
password-scheme-sodium: Support ARGON2ID when available
Aki Tuomi [Fri, 24 Nov 2017 10:50:00 +0000 (12:50 +0200)]
password-scheme-sodium: rename ARGON2 to ARGON2I
Aki Tuomi [Fri, 24 Nov 2017 10:47:58 +0000 (12:47 +0200)]
password-scheme-sodium: Call sodium_init to improve performance
Frank Denis [Sat, 28 Oct 2017 18:58:58 +0000 (20:58 +0200)]
configure: --with-sodium doesn't add support for scrypt (for now, at least)
Timo Sirainen [Mon, 27 Nov 2017 16:34:49 +0000 (18:34 +0200)]
doveadm-server: Fix potential dsync-server panic at deinit
If the ostream is still used (e.g. for logging) after dsync is finished, it
crashed with:
Panic: file ostream.c: line 276 (o_stream_sendv_int): assertion failed: (!_stream->finished)
Stephan Bosch [Sat, 25 Nov 2017 14:57:16 +0000 (15:57 +0100)]
pop3-login: Properly recognize an empty SASL initial response.
Pass only the empty string to the auth service and not "=".
Stephan Bosch [Sat, 25 Nov 2017 14:55:41 +0000 (15:55 +0100)]
imap-login: Properly recognize an empty SASL initial response.
Pass only the empty string to the auth service and not "=".
Stephan Bosch [Sat, 25 Nov 2017 14:28:32 +0000 (15:28 +0100)]
auth: Properly recognize an empty initial SASL response.
It was erroneously handled as an absent initial response.
Restructured the code for clarity and changed the comments: '=' should not be passed to SASL layer at all.
Stephan Bosch [Sat, 25 Nov 2017 17:13:04 +0000 (18:13 +0100)]
lib: strfuncs: Fixed value of uchar_empty_ptr not to be NULL.
Stephan Bosch [Mon, 27 Nov 2017 20:11:30 +0000 (21:11 +0100)]
lmtp: proxy: Fix connection settings comparison in lmtp_proxy_get_connection() when hostip field is set.
The IP in the hostip field overrides the host setting, which broke the comparison.
Timo Sirainen [Mon, 27 Nov 2017 13:17:52 +0000 (15:17 +0200)]
lib: mempool-alloconly - Cleanly fail allocations just below SSIZE_T_MAX
Previously it would have assert-crashed in nearest_power().
Timo Sirainen [Mon, 27 Nov 2017 13:14:36 +0000 (15:14 +0200)]
lib: Use test_expect_fatal_string() for all fatal unit tests
Timo Sirainen [Mon, 27 Nov 2017 13:12:45 +0000 (15:12 +0200)]
lib: Fix mempool-alloconly & mempool-allocfree unit tests
The "physically impossible size" test was supposed to test calloc()==NULL
failure, but in reality it was triggering asserts before that.
Timo Sirainen [Mon, 27 Nov 2017 13:11:40 +0000 (15:11 +0200)]
lib: mempool-allocfree - If calloc() fails, include "Out of memory" in the log line
Timo Sirainen [Mon, 27 Nov 2017 12:48:25 +0000 (14:48 +0200)]
lib: Fix logging panic message if data stack canary corruption is detected
The previous code just recursed into the same canary corruption check and
didn't end up logging anything.
Timo Sirainen [Mon, 27 Nov 2017 12:42:36 +0000 (14:42 +0200)]
lib: Make sure panics/fatals don't recurse into loops
Timo Sirainen [Mon, 27 Nov 2017 12:24:41 +0000 (14:24 +0200)]
lib-test: Add test_expect_fatal_string()
Timo Sirainen [Mon, 27 Nov 2017 12:23:39 +0000 (14:23 +0200)]
lib-test: Cleanup - Move expected_error_str check to its own function
Aki Tuomi [Tue, 21 Nov 2017 20:13:17 +0000 (22:13 +0200)]
lib-dcrypt: test-crypto and test-stream need lib-ssl-iostream.a fully
Otherwise the .so file cannot be loaded due to missing symbols
Aki Tuomi [Tue, 21 Nov 2017 20:12:56 +0000 (22:12 +0200)]
login-common: Do not link lib-ssl-iostream.la twice
It's already in libdovecot.la
Aki Tuomi [Fri, 24 Nov 2017 06:51:14 +0000 (08:51 +0200)]
configure: Detect --whole-archive in linker
Aki Tuomi [Fri, 24 Nov 2017 07:00:24 +0000 (09:00 +0200)]
m4: Use CC, not CXX in ld_relro
Timo Sirainen [Mon, 27 Nov 2017 15:42:14 +0000 (17:42 +0200)]
replicator: Keep user referenced while dsync is running
Fixes a crash when user is removed with "doveadm replicator remove"
while dsync is still running.
Timo Sirainen [Mon, 27 Nov 2017 15:42:06 +0000 (17:42 +0200)]
replicator: Add refcounting to user
Stephan Bosch [Mon, 27 Nov 2017 00:38:09 +0000 (01:38 +0100)]
lmtp: proxy: Fixed use of hostip field after changing the implementation to use lib-smtp/client broke it.
Proxy was erroneously doing DNS queries while hostip field was returned from passdb.
Stephan Bosch [Mon, 27 Nov 2017 10:45:05 +0000 (11:45 +0100)]
lmtp: proxy: Fixed proxying reply from backend server.
It contained an additional CRLF, which caused problems.
Stephan Bosch [Mon, 27 Nov 2017 10:44:23 +0000 (11:44 +0100)]
lib-smtp: Implemented function to write an SMTP reply as a single line.
Needed for proxying in current LMTP code.
Aki Tuomi [Mon, 27 Nov 2017 12:57:09 +0000 (14:57 +0200)]
configure: Fix Lua conditionals
Aki Tuomi [Mon, 27 Nov 2017 12:56:07 +0000 (14:56 +0200)]
configure: Drop LuaJIT support
Does not work with our custom allocator
Aki Tuomi [Mon, 27 Nov 2017 10:32:54 +0000 (12:32 +0200)]
lib: mempool-allocfree - include overhead in size check
Found by valgrind
Timo Sirainen [Mon, 27 Nov 2017 09:58:39 +0000 (11:58 +0200)]
director: Fix logging of uninitialized PONG buffer size
PONG always has 0 or 2 parameters. The easiest fix here is to just not even
try to support 1 parameter.
Stephan Bosch [Sun, 26 Nov 2017 23:54:56 +0000 (00:54 +0100)]
lib-smtp: client: Fixed cleanup of untriggered transaction timeout.
Timo Sirainen [Sun, 26 Nov 2017 21:00:30 +0000 (23:00 +0200)]
director: Fix delayed request count in ps title after request timeouts
The timeouts weren't shrinking the delayed request count. This didn't cause
any other problems.
Timo Sirainen [Fri, 24 Nov 2017 23:59:47 +0000 (01:59 +0200)]
lib-program-client: Ignore ostream error handling
Stephan Bosch [Sun, 29 Oct 2017 17:36:25 +0000 (18:36 +0100)]
lib-smtp: Implemented test suite for client errors.
Stephan Bosch [Sun, 5 Nov 2017 20:51:02 +0000 (21:51 +0100)]
lib-test: Reset expected errors state at each test.
Stephan Bosch [Wed, 8 Nov 2017 00:51:19 +0000 (01:51 +0100)]
lib-lda: Added support for message submission with SSL.
Stephan Bosch [Sun, 7 May 2017 12:58:05 +0000 (14:58 +0200)]
lib-smtp: smtp-submit: Added SSL support.
Stephan Bosch [Sat, 16 Sep 2017 18:10:39 +0000 (20:10 +0200)]
lib-smtp: smtp-submit: Use mail_debug setting to enable debug logging.
When sendmail is used, this logs program_client debug messages.
When SMTP is used (submission_host), this logs smtp_client debug messages.
Stephan Bosch [Sat, 16 Sep 2017 18:09:22 +0000 (20:09 +0200)]
lib-smtp: Dropped old lmtp-client.
It is now unused.
Stephan Bosch [Sun, 22 Jan 2017 14:27:29 +0000 (15:27 +0100)]
lmtp: proxy: Changed implemention to use lib-smtp/smtp-client.
Stephan Bosch [Sun, 22 Jan 2017 14:26:32 +0000 (15:26 +0100)]
lib-smtp: smtp-submit: Changed submission_host implementation to use lib-smtp/smtp-client.
Stephan Bosch [Mon, 20 Nov 2017 22:30:37 +0000 (23:30 +0100)]
lib-smtp: smtp-submit: Small whitespace fix.
Stephan Bosch [Sat, 4 Nov 2017 13:38:39 +0000 (14:38 +0100)]
lib-smtp: smtp-submit: Remove erroneously copy-pasted FIXMEs.
Stephan Bosch [Sun, 6 Nov 2016 21:15:45 +0000 (22:15 +0100)]
lib-smtp: Implemented SMTP client.
Stephan Bosch [Sun, 6 Nov 2016 21:00:08 +0000 (22:00 +0100)]
lib-smtp: Implemented SMTP command reply parser.
Stephan Bosch [Tue, 17 Oct 2017 23:03:03 +0000 (01:03 +0200)]
lmtp: commands: Grouped deliver context field assignments by topic in client_deliver().
Stephan Bosch [Sun, 6 Nov 2016 18:09:30 +0000 (19:09 +0100)]
lib-lda: Added SMTP parameter fields to struct mail_deliver_context.
This moves the original recipient field inside the SMTP parameters.
This also affects both lda and lmtp. Changes are applied there accordingly.
Stephan Bosch [Sun, 6 Nov 2016 20:39:07 +0000 (21:39 +0100)]
lib-smtp: Implemented parsing, manipulation, and encoding for SMTP command parameters.
Stephan Bosch [Sun, 6 Nov 2016 20:29:59 +0000 (21:29 +0100)]
lib-smtp: Implemented parsing and encoding for common SMTP syntax elements.
Stephan Bosch [Sun, 6 Nov 2016 12:45:57 +0000 (13:45 +0100)]
lib-lda: mail-send: Changed recipient argument type of mail_send_rejection() to struct smtp_address.
Stephan Bosch [Sun, 29 Oct 2017 22:39:55 +0000 (23:39 +0100)]
lib-mail: message-address: Dropped message_detail_address_parse(), since it is no longer used.
Stephan Bosch [Sun, 29 Oct 2017 22:41:44 +0000 (23:41 +0100)]
plugins/quota: quota-status service: Changed recipient address parsing to use lib-smtp.
Stephan Bosch [Sat, 5 Nov 2016 13:47:53 +0000 (14:47 +0100)]
lib-lda: Changed struct mail_deliver_context address fields to use the new struct smtp_address type.
Stephan Bosch [Fri, 4 Nov 2016 17:35:59 +0000 (18:35 +0100)]
lda: Renamed variables and parameters for consistency with lib-smtp.
Stephan Bosch [Wed, 2 Nov 2016 23:20:55 +0000 (00:20 +0100)]
lib-lda: Renamed struct mail_deliver_context fields for consistency with lib-smtp.
New fields are added in subsequent commits.
Stephan Bosch [Fri, 4 Nov 2016 17:16:52 +0000 (18:16 +0100)]
lmtp: Removed lmtp_address_translate setting.
It is assumed not to be used.
Stephan Bosch [Sun, 5 Nov 2017 01:00:43 +0000 (02:00 +0100)]
lib-mail: message-address: Added convenience functions that convert (single) addresses to string.
Stephan Bosch [Thu, 19 Oct 2017 13:20:04 +0000 (15:20 +0200)]
lib-mail: message-address: Added functions to initialize a struct message_address.
Stephan Bosch [Sun, 29 Oct 2017 22:37:47 +0000 (23:37 +0100)]
lib-smtp: address: Created SMTP address detail parsing function from message_detail_address_parse().
Stephan Bosch [Sun, 6 Nov 2016 20:15:41 +0000 (21:15 +0100)]
lib-smtp: Implemented parsing, manipulation and encoding of SMTP addresses.
Stephan Bosch [Sun, 6 Nov 2016 20:08:11 +0000 (21:08 +0100)]
lib-smtp: Implemented generic parser for basic SMTP data items.
Stephan Bosch [Fri, 27 Oct 2017 17:43:43 +0000 (19:43 +0200)]
lib: connection: Added means to initialize connection to just be added to the connection list.
Stephan Bosch [Thu, 19 Oct 2017 12:04:20 +0000 (14:04 +0200)]
lib-storage: Make parsed postmaster_address available in mail_storage_settings->parsed_postmaster_address.
Stephan Bosch [Sat, 21 Oct 2017 11:13:00 +0000 (13:13 +0200)]
lib-settings: Added support for running checks after variable expansion.
Stephan Bosch [Wed, 22 Nov 2017 20:02:07 +0000 (21:02 +0100)]
lmtp: Accept XCLIENT ADDR field IPv6 address both with and without "IPV6:" prefix.
This is the format that Postfix actually prescribes.
The new lib-smtp will add the prefix by default.
Stephan Bosch [Mon, 20 Nov 2017 00:26:21 +0000 (01:26 +0100)]
lib: llist: Fixed setting (after)->next->prev in DLLIST2_INSERT_AFTER_FULL.
This function was not yet used, so the problem did not affect existing code.
Josh Soref [Sun, 26 Feb 2017 03:19:51 +0000 (03:19 +0000)]
lib-settings: Fix spelling of 'expanded'
Timo Sirainen [Sun, 26 Nov 2017 00:11:57 +0000 (02:11 +0200)]
imap: Make sure command handlers are called with ostream corked
This wasn't done when client input was continued. If COPY/MOVE was called
there, it crashed with:
Panic: file cmd-copy.c: line 50 (fetch_and_copy): assertion failed: (o_stream_is_corked(client->output))
Timo Sirainen [Sun, 26 Nov 2017 10:33:33 +0000 (12:33 +0200)]
director: DIRECTOR-LIST - Return results sorted by host
Timo Sirainen [Sun, 26 Nov 2017 10:26:27 +0000 (12:26 +0200)]
director: DIRECTOR-LIST - Move connection/host output to their own functions
Timo Sirainen [Sun, 26 Nov 2017 10:36:54 +0000 (12:36 +0200)]
director: Make director_host_cmp_p() public
Timo Sirainen [Fri, 24 Nov 2017 16:46:19 +0000 (18:46 +0200)]
director: Improve PING/PONG timeout errors and add new warnings
Log a warning if PING-PONG takes over 5 secs in total, or also if the
recipient notices that the PING took >= 5 seconds to receive.
Timo Sirainen [Fri, 24 Nov 2017 16:22:04 +0000 (18:22 +0200)]
director: Add director_ping_idle/max_timeout setting.
director_ping_idle_timeout is used when there's otherwise no input coming
from the connection. Changed its default from 10 secs to 30 secs.
director_ping_max_timeout is used when the other director keeps sending
input, but among it is no PONG reply.
Timo Sirainen [Fri, 24 Nov 2017 16:18:45 +0000 (18:18 +0200)]
director: Log exactly how long PING was waited on before it timed out.