]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Sun, 8 Apr 2018 13:03:00 +0000 (15:03 +0200)]
lib-smtp: test-smtp-server-errors: Add tests for RCPT command workarounds.
Stephan Bosch [Sun, 8 Apr 2018 12:59:17 +0000 (14:59 +0200)]
lib-smtp: test-smtp-server-errors: Add tests for MAIL command workarounds.
Stephan Bosch [Sun, 8 Apr 2018 12:40:12 +0000 (14:40 +0200)]
lib-smtp: test-smtp-server-errors: Add tests for bad RCPT command syntax.
Stephan Bosch [Sun, 8 Apr 2018 12:07:50 +0000 (14:07 +0200)]
lib-smtp: test-smtp-server-errors: Add tests for bad MAIL command syntax.
Stephan Bosch [Sun, 8 Apr 2018 13:31:37 +0000 (15:31 +0200)]
lib-smtp: test-smtp-server-errors: Implicitly stop server when all expected client connections are closed.
Stephan Bosch [Sun, 8 Apr 2018 13:28:59 +0000 (15:28 +0200)]
lib-smtp: test-smtp-server-errors: Add more debug messages for the server.
Stephan Bosch [Sun, 8 Apr 2018 13:20:22 +0000 (15:20 +0200)]
lib-smtp: test-smtp-server-errors: Make detection of early termination of child processes part of each test.
Stephan Bosch [Sun, 8 Apr 2018 13:24:02 +0000 (15:24 +0200)]
lib-smtp: test-smtp-server-errors: Add log prefixes for client and server.
Makes it easier to distinguish which process is sending a log message while
debugging.
Stephan Bosch [Sun, 8 Apr 2018 13:16:05 +0000 (15:16 +0200)]
lib-smtp: test-smtp-server-errors: Add support for client-side connection context data.
Stephan Bosch [Tue, 10 Apr 2018 01:12:41 +0000 (03:12 +0200)]
lib-smtp: test-smtp-server-errors: Use o_stream_nsend*() rather than o_stream_send*().
The result is not checked anyway.
Stephan Bosch [Sun, 8 Apr 2018 10:25:49 +0000 (12:25 +0200)]
lib-smtp: server: Add workarounds for well-known MAIL and RCPT command syntax deviations.
Stephan Bosch [Sun, 8 Apr 2018 10:13:16 +0000 (12:13 +0200)]
lib-smtp: address parser: Do not allow source route for path with omitted brackets.
Parse it strictly as a Mailbox, which makes more sense.
Stephan Bosch [Tue, 6 Mar 2018 22:11:32 +0000 (23:11 +0100)]
lib-storage: mail-storage-settings: Pre-parse postmaster_address as an SMTP address.
The pre-parsed address is not currently used anywhere, but this does check that
the postmaster address can successfully be converted to an SMTP address, which
is important for Pigeonhole.
Stephan Bosch [Tue, 6 Mar 2018 20:43:22 +0000 (21:43 +0100)]
lib-smtp: address: Add source syntax check for conversion from RFC5322 addresses.
The message-address parser (for RFC 5322) allows UTF-8 characters in the
localpart, which is not acceptable for SMTP addresses. This change adds a check
that determines whether the source RFC5222 address can be converted into a
SMTP address.
Aki Tuomi [Wed, 11 Apr 2018 12:27:42 +0000 (15:27 +0300)]
lib-master: Add own boolean for SSL module loading
want_ssl_settings isn't reliable enough.
Aki Tuomi [Tue, 10 Apr 2018 13:00:38 +0000 (16:00 +0300)]
lib-master: Do not attempt to load SSL module if no SSL support is compiled in
Fixes imap-login: Error: imap-login(init): Fatal: Cannot load SSL module: SSL support not compiled in
Broken in
754896551f0422cda5d78500b26700eec5343c5b
Found by bjornar
Aki Tuomi [Wed, 11 Apr 2018 12:11:23 +0000 (15:11 +0300)]
lib-program-client: Wait longer in test-program-client-local
Sometiems it can take longer than 1 second to execute, if the test
environment is loaded.
Timo Sirainen [Wed, 11 Apr 2018 11:19:06 +0000 (14:19 +0300)]
imapc: If SELECT INBOX fails with NO, treat it as temporary failure
If it's treated as "mailbox doesn't exist", the INBOX autocreation code
will attempt to CREATE INBOX. This is very unlikely to work.
Timo Sirainen [Mon, 9 Apr 2018 13:41:19 +0000 (16:41 +0300)]
imapc: Fix crash when handling empty mailboxes.
Broken by
c05b4ac76c4c6012958f1cc37e2fccf7a7d31c33
Stephan Bosch [Tue, 10 Apr 2018 00:41:44 +0000 (02:41 +0200)]
lib-mail: message-address: Fix address parser to properly reject angle-addr without `>'.
Stephan Bosch [Tue, 10 Apr 2018 00:36:44 +0000 (02:36 +0200)]
lib-mail: message-address: Fix assert panic occurring in message_address_parse_path() when no opening `<' is found.
Panic was:
Panic: file message-address.c: line 147 (parse_angle_addr): assertion failed: (*ctx->parser.data == '<')
Timo Sirainen [Thu, 29 Mar 2018 18:24:11 +0000 (14:24 -0400)]
fs-posix: Fix iterating nonexistent symlinks when readdir() returns DT_UNKNOWN
This especially broke "doveadm fs delete -R" when the symlink destination
was deleted before the symlink.
Timo Sirainen [Sun, 25 Mar 2018 21:01:26 +0000 (00:01 +0300)]
imapc: Ignore fetch-msn-workarounds/no-msn-updates during initial FETCH
Otherwise duplicate UIDs aren't detected and it causes an assert-crash:
Panic: file imapc-mailbox.c: line 533 (imapc_untagged_fetch): assertion failed: (lseq == mbox->sync_next_lseq)
Stephan Bosch [Sun, 8 Apr 2018 09:28:19 +0000 (11:28 +0200)]
lda: Allow empty envelope sender.
Fix by Martin Waschbüsch.
Stephan Bosch [Sun, 8 Apr 2018 09:19:18 +0000 (11:19 +0200)]
lda: Reformatted main.c.
Fabian Freyer [Fri, 6 Apr 2018 15:57:30 +0000 (17:57 +0200)]
lib-storage: reintroduce mail_index_set_fsync_mode
This patch fixes a regression introduced in
638600575ee95f2513c683ef09cb188f76eacd22 where mail_fsync=always would
not be honoured, leading to fatal "nfs flush requires mail_fsync=always"
errors.
Sergey Kitov [Fri, 6 Apr 2018 12:48:02 +0000 (15:48 +0300)]
lib-mail: Fix include guards for istream-nonuls.h
manuel [Mon, 26 Mar 2018 08:58:15 +0000 (10:58 +0200)]
dict-fs: iterate: make sure the key is returned as full path
Fixes the following assert on iterating:
> Panic: file userdb-dict.c: line 123 (userdb_dict_get_user):
> assertion failed: (strncmp(key, ctx->key_prefix, ctx->key_prefix_len) == 0)
Configuration:
> uri = fs:posix:prefix=/tmp/dict
> iterate_prefix = userdb/
> key userdb {
> key = userdb/%u
> format = json
> }
Bill Cole [Mon, 26 Mar 2018 04:52:06 +0000 (00:52 -0400)]
Fix arc4random build checks
The configure script checks for arc4random() but the actual code uses
arc4random_buf(). This breaks for FreeBSD <8.0 and MacOS X <10.7, which
have the former but not the latter. This change (and an autoreconf run)
solves the problem at the cost of not using the available ARC4
implementation.
Timo Sirainen [Sun, 25 Mar 2018 20:15:58 +0000 (23:15 +0300)]
imapc: Fix local state if mailbox is empty after reconnection
If local indexes had more than 0 mails, but after reconnection the remote
IMAP server replied with "* 0 EXISTS", the mails in local index weren't
expunged. This could have resulted in:
Panic: file imapc-sync.c: line 328 (imapc_initial_sync_check): assertion failed: (mail_index_is_expunged(view, lseq) || seq_range_exists(&ctx->mbox->delayed_expunged_uids, luid))
Josef 'Jeff' Sipek [Mon, 26 Mar 2018 15:27:45 +0000 (11:27 -0400)]
lib: Simplify murmurhash3 LP64 vs. IPL32 test vectors
Josef 'Jeff' Sipek [Mon, 26 Mar 2018 14:34:25 +0000 (10:34 -0400)]
lib: murmurhash3 produces bytes (not uint32_t's)
Aki Tuomi [Tue, 27 Mar 2018 13:12:46 +0000 (16:12 +0300)]
login-common: Indicate TLS secured transport on proxied TLS too
Aki Tuomi [Mon, 12 Mar 2018 07:11:53 +0000 (09:11 +0200)]
config: Hide more sensitive information
Hide parts of values where we can see a key that has word
key, secret or pass as prefix and is a key-value pair
separated by =.
Aki Tuomi [Mon, 12 Mar 2018 07:11:14 +0000 (09:11 +0200)]
config: Move sensitive value hiding to own function
Simplifies next change
Aki Tuomi [Sat, 10 Mar 2018 16:20:32 +0000 (18:20 +0200)]
lib: Add str_nescape
For partial escaping
Aki Tuomi [Sat, 10 Mar 2018 15:56:33 +0000 (17:56 +0200)]
lib: Add i_strstr_arr for searching string for multiple needles
Aki Tuomi [Fri, 9 Mar 2018 15:09:28 +0000 (17:09 +0200)]
man: doveconf - Document -P flag
Arkadiusz Miśkiewicz [Wed, 21 Mar 2018 09:29:26 +0000 (11:29 +0200)]
lib-master: Fix dns_wildcard_match usage
Broken by
446c0b02a7802b676e893ccc4934fc7318d950ea
Aki Tuomi [Tue, 20 Mar 2018 08:59:34 +0000 (10:59 +0200)]
NEWS: Add v2.3.1
Aki Tuomi [Mon, 19 Mar 2018 09:34:49 +0000 (11:34 +0200)]
NEWS: Update to 2.3.0.1
Stephan Bosch [Sat, 17 Feb 2018 20:51:00 +0000 (21:51 +0100)]
lib-dcrypt: Reformatted test-stream.c.
Stephan Bosch [Sat, 17 Feb 2018 20:43:06 +0000 (21:43 +0100)]
lib-dcrypt: Reformatted test-crypto.c.
Stephan Bosch [Sat, 17 Feb 2018 20:10:17 +0000 (21:10 +0100)]
lib-dcrypt: Reformatted ostream-encrypt.h.
Stephan Bosch [Sat, 17 Feb 2018 20:09:16 +0000 (21:09 +0100)]
lib-dcryp: Reformatted ostream-encrypt.c.
Stephan Bosch [Sat, 17 Feb 2018 19:49:14 +0000 (20:49 +0100)]
lib-dcrypt: Reformatted istream-decrypt.h.
Stephan Bosch [Sat, 17 Feb 2018 19:47:19 +0000 (20:47 +0100)]
lib-dcrypt: Reformatted istream-decrypt.c.
Stephan Bosch [Sat, 17 Feb 2018 19:24:42 +0000 (20:24 +0100)]
lib-dcrypt: Reformatted dcrypt-private.h.
Stephan Bosch [Sat, 17 Feb 2018 19:15:24 +0000 (20:15 +0100)]
lib-dcrypt: Reformatted dcrypt-openssl.c.
Stephan Bosch [Sat, 17 Feb 2018 18:19:22 +0000 (19:19 +0100)]
lib-dcrypt: Reformatted dcrypt-iostream.h.
Stephan Bosch [Sat, 17 Feb 2018 18:18:28 +0000 (19:18 +0100)]
lib-dcrypt: Reformatted dcrypt-gnutls.c.
Stephan Bosch [Sat, 17 Feb 2018 18:01:48 +0000 (19:01 +0100)]
lib-dcrypt: Reformatted dcrypt.h.
Stephan Bosch [Sat, 17 Feb 2018 17:53:19 +0000 (18:53 +0100)]
lib-drypt: Reformatted dcrypt.c.
Stephan Bosch [Mon, 26 Feb 2018 22:12:03 +0000 (23:12 +0100)]
lib-program-client: Add more detailed debug logging.
Stephan Bosch [Mon, 26 Feb 2018 21:27:40 +0000 (22:27 +0100)]
lib-program-client: Use event logging.
This also makes the overall log messages better match similar messages produced
by other parts of Dovecot.
Stephan Bosch [Thu, 15 Mar 2018 23:08:17 +0000 (00:08 +0100)]
lib-program-client: Use i_close_fd() rather than close() when error is not supposed to happen.
Stephan Bosch [Mon, 26 Feb 2018 22:26:50 +0000 (23:26 +0100)]
lib-program-client: Make debug mode for test suite optional.
It is now disabled by default.
Stephan Bosch [Mon, 26 Feb 2018 17:58:37 +0000 (18:58 +0100)]
lib-program-client: local: Cleanup any kill timeout while program client is destroyed.
Stephan Bosch [Mon, 26 Feb 2018 17:32:32 +0000 (18:32 +0100)]
lib-program-client: local: Make sure the child is dead once the program client is destroyed.
Stephan Bosch [Mon, 26 Feb 2018 17:01:23 +0000 (18:01 +0100)]
lib-program-client: Simplify disconnect handling.
Perform all of the cleanups in a separate shared function.
Always close all fds, since there is nothing left to be read or written at
disconnect.
Stephan Bosch [Mon, 26 Feb 2018 17:21:04 +0000 (18:21 +0100)]
lib-program-client: remote: Don't try to read remaining input at disconnect.
This code is no longer relevant. At disconnect, there is nothing left to be read
by definition.
Stephan Bosch [Sun, 25 Feb 2018 23:07:10 +0000 (00:07 +0100)]
lib-program-client: Use iostream-pump for streaming data from program.
Stephan Bosch [Mon, 26 Feb 2018 16:16:41 +0000 (17:16 +0100)]
lib-program-client: Destroy timeout once client is passively disconnected.
Stephan Bosch [Mon, 26 Feb 2018 16:15:13 +0000 (17:15 +0100)]
lib-program-client: remote: Initialize program_client_istream with parent FD.
This way, io_add_istream() works as expected.
Stephan Bosch [Mon, 26 Feb 2018 16:12:29 +0000 (17:12 +0100)]
lib-program-client: local: Stop immediately when child program without I/O ends.
Particularly, don't perform this by calling the input handler.
Stephan Bosch [Mon, 26 Feb 2018 15:52:18 +0000 (16:52 +0100)]
lib-program-client: Change return type of program_client_connected() to void.
Returning an int status code is no longer useful.
Stephan Bosch [Sun, 25 Feb 2018 16:21:47 +0000 (17:21 +0100)]
lib-program-client: Use iostream-pump for streaming data towards program.
Stephan Bosch [Sun, 25 Feb 2018 10:43:04 +0000 (11:43 +0100)]
lib-program-client: Initialize dot streams right after the connection is established.
This avoids creating the dot streams in the input/output handlers, which makes
the code cleaner and easier to port to using iostream-pump.
Stephan Bosch [Sun, 25 Feb 2018 08:55:00 +0000 (09:55 +0100)]
lib-program-client: Use iostream-temp rather than istream-seekable for seekable output.
This considerably simplifies the code.
Stephan Bosch [Sun, 25 Feb 2018 16:31:51 +0000 (17:31 +0100)]
lib-program-client: test-program-client-net: Read the client input stream to EOF after the dot stream is closed.
The low-level file stream is not necessarily read to EOF when the body dot
stream sees EOF.
Stephan Bosch [Sun, 25 Feb 2018 17:38:23 +0000 (18:38 +0100)]
lib-program-client: test-program-client-unix: Properly recognize the noreply script protocol option.
Somehow the equivalent test-program-client-net code does not have this problem.
And somehow this test did not fail before.
Stephan Bosch [Sun, 25 Feb 2018 17:31:14 +0000 (18:31 +0100)]
lib-program-client: test-program-client-net: Destroy test client upon error.
This prevents infinite input event loop when something goes wrong.
Stephan Bosch [Sun, 25 Feb 2018 17:30:12 +0000 (18:30 +0100)]
lib-program-client: test-program-client-unix: Destroy test client upon error.
This prevents infinite input event loop when something goes wrong.
Stephan Bosch [Sun, 25 Feb 2018 17:03:04 +0000 (18:03 +0100)]
lib-program-client: test-program-client-net: Handle test client connections non-blocking.
Stephan Bosch [Sun, 25 Feb 2018 17:03:51 +0000 (18:03 +0100)]
lib-program-client: test-program-client-unix: Handle test client connections non-blocking.
Stephan Bosch [Sun, 25 Feb 2018 16:57:59 +0000 (17:57 +0100)]
lib-program-client: test-program-client-net: Create body streams only once in test_program_input_handle().
Stephan Bosch [Sun, 25 Feb 2018 16:56:15 +0000 (17:56 +0100)]
lib-program-client: test-program-client-unix: Create body stream only once in test_program_input_handle().
Stephan Bosch [Sun, 25 Feb 2018 17:15:59 +0000 (18:15 +0100)]
lib-program-client: test-program-client-net: Match client input handling code with test-program-client-unix.
Stephan Bosch [Sun, 18 Mar 2018 02:32:19 +0000 (03:32 +0100)]
lib-program-client: test-program-client-unix: Further fix error handling in test_program_input().
Stephan Bosch [Sun, 25 Feb 2018 16:46:55 +0000 (17:46 +0100)]
lib-program-client: remote: Always shut down the output when all is written.
Before, this step was omitted when dot streams were used. However, shutting down
the output is necessary no matter what. Otherwise, the receiving end will not
see that no more input will follow, causing deadlock.
Stephan Bosch [Sun, 25 Feb 2018 19:21:11 +0000 (20:21 +0100)]
lib-program-client: Make sure program client callback is called only once.
Stephan Bosch [Mon, 26 Feb 2018 23:13:20 +0000 (00:13 +0100)]
lib-program-client: remote: Use struct program_client_remote as parameter where possible.
Avoids the need to cast it everywhere.
Stephan Bosch [Mon, 26 Feb 2018 22:57:44 +0000 (23:57 +0100)]
lib-program-client: remote: Call program client variable "prclient" consistently.
Stephan Bosch [Mon, 26 Feb 2018 22:53:22 +0000 (23:53 +0100)]
lib-program-client: local: Call program client variable "plclient" consistently.
Stephan Bosch [Sun, 25 Feb 2018 09:39:15 +0000 (10:39 +0100)]
lib-program-client: Reformat test-program-client-unix.c.
Stephan Bosch [Sun, 25 Feb 2018 09:34:16 +0000 (10:34 +0100)]
lib-program-client: Reformat test-program-client-net.c.
Stephan Bosch [Sun, 25 Feb 2018 17:54:46 +0000 (18:54 +0100)]
lib-program-client: Reformat program-client-private.h.
Stephan Bosch [Sun, 25 Feb 2018 09:21:57 +0000 (10:21 +0100)]
lib-program-client: Reformat test-program-client-local.c.
Stephan Bosch [Sun, 25 Feb 2018 09:20:20 +0000 (10:20 +0100)]
lib-program-client: Reformat program-client-remote.c.
Stephan Bosch [Sun, 25 Feb 2018 09:10:17 +0000 (10:10 +0100)]
lib-program-client: Reformat program-client-local.c.
Stephan Bosch [Sun, 25 Feb 2018 09:06:36 +0000 (10:06 +0100)]
lib-program-client: Reformat program-client.h.
Stephan Bosch [Sun, 25 Feb 2018 09:05:33 +0000 (10:05 +0100)]
lib-program-client: Reformat program-client.c.
Stephan Bosch [Sun, 25 Feb 2018 20:45:17 +0000 (21:45 +0100)]
lib: iostream-pump: Properly implement running a pump with one of the streams blocking.
Having both streams blocking is not useful and that is now explicitly forbidden.
Stephan Bosch [Sun, 25 Feb 2018 18:24:58 +0000 (19:24 +0100)]
lib: iostream-pump: Add iostream_pump_destroy().
This functions always stops the pump and dereferences the streams before
dereferencing the pump itself.
Stephan Bosch [Sun, 25 Feb 2018 18:13:18 +0000 (19:13 +0100)]
lib: iostream-pump: Make iostream_pump_unref() implementation match other similar code.
This also means that iostream_pump_unref(NULL) is now a no-op.
Stephan Bosch [Sun, 25 Feb 2018 18:18:47 +0000 (19:18 +0100)]
lib: iostream-pump: Use refcount as name and int as type for reference count field.
This is what the rest of Dovecot uses.
Stephan Bosch [Sun, 25 Feb 2018 20:56:55 +0000 (21:56 +0100)]
lib: Reformat test-iostream-pump.c.
Stephan Bosch [Sun, 25 Feb 2018 18:04:14 +0000 (19:04 +0100)]
lib: Reformat iostream-pump.c.
Stephan Bosch [Sun, 25 Feb 2018 18:03:49 +0000 (19:03 +0100)]
lib: Reformat iostream-pump.h.
Stephan Bosch [Thu, 15 Mar 2018 21:36:45 +0000 (22:36 +0100)]
lib-smtp: test-smtp-server-errors: Add test for DATA command erroneously used with BODY=BINARYMIME.