]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Wed, 29 Jun 2016 11:55:12 +0000 (14:55 +0300)]
auth-policy: Do not do policy checks every time
Timo Sirainen [Wed, 29 Jun 2016 11:43:31 +0000 (14:43 +0300)]
auth: Finish policy.[ch] renaming..
Timo Sirainen [Wed, 29 Jun 2016 11:31:28 +0000 (14:31 +0300)]
auth: Avoid nonstandard #pragma once
Timo Sirainen [Wed, 29 Jun 2016 11:30:56 +0000 (14:30 +0300)]
auth: Rename policy.[ch] to auth-policy.[ch]
Martti Rannanjärvi [Tue, 28 Jun 2016 10:24:09 +0000 (13:24 +0300)]
lib-dcrypt: correctly set version 2 on key info
Dovecot format version 2 keys were incorrectly reported as version 1
before.
Timo Sirainen [Wed, 29 Jun 2016 11:16:58 +0000 (14:16 +0300)]
lib-index: Fixed view syncing when changes couldn't be read from transaction logs
Fixes errors like:
Log synchronization error at seq=0,offset=0 for .../dovecot.index: Append with UID 5, but next_uid = 6
.../dovecot.index view syncing failed to apply changes
Aki Tuomi [Wed, 29 Jun 2016 11:12:29 +0000 (14:12 +0300)]
auth-policy: Do not allow/report when master query
This way auth policy isn't consulted when e.g. doveadm is used.
Aki Tuomi [Wed, 29 Jun 2016 10:52:09 +0000 (13:52 +0300)]
auth-policy: Report success earlier
Timo Sirainen [Tue, 28 Jun 2016 21:37:09 +0000 (00:37 +0300)]
configure: Detect SSL_COMP_free_compression_methods() by linking
Fixes using libressl.
Timo Sirainen [Tue, 28 Jun 2016 18:59:26 +0000 (21:59 +0300)]
lib: Added assert to iostream-temp
Input stream isn't expected to shrink here. Potentially this could be
changed to an error instead.
Timo Sirainen [Tue, 28 Jun 2016 16:45:12 +0000 (19:45 +0300)]
lazy-expunge: Fixed crash when copying from internal namespace
Most importantly fixes crash in LDA.
Timo Sirainen [Tue, 28 Jun 2016 16:41:40 +0000 (19:41 +0300)]
lda: Fixed data stack usage in initialization.
For example -p parameter was broken. Broken by
0679f8a70 .
Timo Sirainen [Tue, 28 Jun 2016 07:25:21 +0000 (10:25 +0300)]
dict-ldap: Fixed linking with OSX
Timo Sirainen [Tue, 28 Jun 2016 07:15:02 +0000 (10:15 +0300)]
auth: Compiler warning fixes
Aki Tuomi [Fri, 3 Jun 2016 18:35:48 +0000 (21:35 +0300)]
auth-policy: Hook auth policy to auth code
Aki Tuomi [Fri, 3 Jun 2016 17:21:42 +0000 (20:21 +0300)]
auth-policy: Add policy implementation
Baofeng Wang [Fri, 10 Jun 2016 11:31:00 +0000 (14:31 +0300)]
fts plugin: Added fts_autoindex_exclude settings.
fts_autoindex_exclude setting specifies special-use flag or mailbox name to
be excluded.
- If a name starts with '\', it's treated as a case-insensitive special-use
flag.
- Multiple names can be specified with serial numbers, for example:
plugin {
fts_autoindex_exclude = \Junk
fts_autoindex_exclude2 = \Trash
fts_autoindex_exclude3 = DUMPSTER
fts_autoindex_exclude4 = New folder
}
Timo Sirainen [Mon, 27 Jun 2016 13:37:18 +0000 (16:37 +0300)]
lib-dcrypt: Make static analyzer happier
Aki Tuomi [Mon, 27 Jun 2016 11:43:58 +0000 (14:43 +0300)]
dcrypt: Add tests for v1 and v2 public keys and RSA
Aki Tuomi [Mon, 27 Jun 2016 11:43:27 +0000 (14:43 +0300)]
dcrypt-openssl: Various fixes
Fix v1 and v2 key handling and some allocation issues.
Timo Sirainen [Mon, 27 Jun 2016 11:13:15 +0000 (14:13 +0300)]
lib-dcrypt: Added sample-v1_short.asc to EXTRA_DIST
Aki Tuomi [Mon, 27 Jun 2016 10:21:05 +0000 (13:21 +0300)]
istream-decrypt: Ensure we can open short v1 files
Aki Tuomi [Mon, 27 Jun 2016 10:19:35 +0000 (13:19 +0300)]
istream-decrypt: Correctly check the header length for v1
Timo Sirainen [Fri, 24 Jun 2016 09:14:32 +0000 (12:14 +0300)]
last-login: Ignore the plugin if last_login_dict setting is empty
Timo Sirainen [Thu, 23 Jun 2016 15:04:40 +0000 (18:04 +0300)]
lib-ssl-iostream: Use ENGINE_set_default()
Timo Sirainen [Thu, 23 Jun 2016 14:21:09 +0000 (17:21 +0300)]
lazy_expunge: Optimize checking for last instance when moving a mail.
It's never the last instance, so we don't need to even check it.
Timo Sirainen [Tue, 21 Jun 2016 22:24:42 +0000 (01:24 +0300)]
fts-lucene: Fixed crash on error or auto-rebuild conditions.
Timo Sirainen [Tue, 21 Jun 2016 19:08:25 +0000 (22:08 +0300)]
welcome plugin: -Wstrict-bool warning fix
Timo Sirainen [Tue, 21 Jun 2016 19:06:29 +0000 (22:06 +0300)]
virtual: Compiler warning fix for list_index_has_changed() API change
Timo Sirainen [Tue, 21 Jun 2016 18:26:29 +0000 (21:26 +0300)]
LAYOUT=index: Existence or GUID lookups don't need to refresh mailboxes.
Timo Sirainen [Tue, 21 Jun 2016 18:21:03 +0000 (21:21 +0300)]
lib-storage: Added quick parameter to list_index_has_changed()
Timo Sirainen [Tue, 21 Jun 2016 18:06:22 +0000 (21:06 +0300)]
LAYOUT=index: Avoid unnecessary work for setting \Marked flags in LIST reply.
If MAILBOX_LIST_ITER_RETURN_NO_FLAGS is set, the caller doesn't care about
the flags.
Timo Sirainen [Mon, 20 Jun 2016 08:33:47 +0000 (11:33 +0300)]
lib-dcrypt: dcrypt_keypair_generate() no longer assumes pair_r to be initialized.
It wasn't clear that it should have been zeroed. It also likely isn't very
useful to be able to place the generated key to existing keys.
Timo Sirainen [Sun, 19 Jun 2016 19:27:00 +0000 (22:27 +0300)]
lib-dcrypt: Check for all the return values in unit tests
Timo Sirainen [Sun, 19 Jun 2016 19:21:59 +0000 (22:21 +0300)]
lib-dcrypt: Added missing error handling.
Most of these are probably unnecessary now that malloc() no longer fails.
Also some of the NULL checks may not be needed since OpenSSL functions
(usually?) return failure on NULL parameters, but sometimes they perform
a different operation. So overall, probably safer to include these checks.
Timo Sirainen [Sun, 19 Jun 2016 19:18:04 +0000 (22:18 +0300)]
lib-dcrypt: Don't ignore BIO errors.
Might happen due to out of memory?
Timo Sirainen [Sun, 19 Jun 2016 18:21:56 +0000 (21:21 +0300)]
lib-dcrypt: dcrypt_key_type_public/private() can no longer fail.
Removed unnecessary failure handling.
Timo Sirainen [Sun, 19 Jun 2016 18:20:27 +0000 (21:20 +0300)]
lib-dcrypt: dcrypt_key_convert_private_to_public() can no longer fail.
Removed unnecessary failure handling.
Timo Sirainen [Sun, 19 Jun 2016 17:55:19 +0000 (20:55 +0300)]
lib-dcrypt: Assert-crash if key parameter is NULL.
If it happens, it's a bug.
Timo Sirainen [Sun, 19 Jun 2016 17:48:27 +0000 (20:48 +0300)]
lib-dcrypt: Assert-crash if impossible private/public keys are seen.
Timo Sirainen [Tue, 21 Jun 2016 15:47:42 +0000 (18:47 +0300)]
doveadm fs delete: Allow multiple paths also with -R parameter.
Timo Sirainen [Tue, 21 Jun 2016 15:30:20 +0000 (18:30 +0300)]
doveadm: Fixed --long-parameters handling
Timo Sirainen [Mon, 20 Jun 2016 17:06:38 +0000 (20:06 +0300)]
dbox: Optimize POP3 MAIL_FETCH_UIDL_BACKEND.
We keep track of the highest UID known to have POP3 UIDL in index's header.
If saving adds a newer message, it'll also update the header. When fetching
UIDL_BACKEND, we can need to check only mails with lower UIDs. There are
some race conditions here, but normally UIDLs are set only once during
migration so it shouldn't matter.
Timo Sirainen [Mon, 20 Jun 2016 08:39:55 +0000 (11:39 +0300)]
Added welcome plugin.
Martti Rannanjärvi [Tue, 21 Jun 2016 12:11:04 +0000 (15:11 +0300)]
doc: fix wrong tense in doveadm-expunge man page
Timo Sirainen [Tue, 21 Jun 2016 14:25:15 +0000 (17:25 +0300)]
fs-posix: Use ":" instead of space as the parameter separator.
This makes it consistent with all the other fs drivers.
Timo Sirainen [Tue, 21 Jun 2016 14:24:11 +0000 (17:24 +0300)]
fs-posix: Added "dirs" parameter to enable explicit directory removal.
Timo Sirainen [Tue, 21 Jun 2016 13:49:19 +0000 (16:49 +0300)]
fs-posix: Autodelete directories also when "prefix" parameter is used.
Baofeng Wang [Mon, 20 Jun 2016 12:10:55 +0000 (15:10 +0300)]
lib-storage: Add autoexpunge_max_mails configuration to autoexpunge
Mails are expunged until mail count is at autoexpunge_max_mails or below.
In below example, autoexpunge will expunge 1 mail when message count > 100
and *then* try to expunge mails that are still older than 2 minutes:
namespace {
..
mailbox Trash {
autoexpunge = 2 mins
autoexpunge_max_mails = 100
}
}
Timo Sirainen [Tue, 21 Jun 2016 09:04:24 +0000 (12:04 +0300)]
lib-dict: Explicitly specify used dict_vfuncs methods for drivers.
This allows adding more methods without modifying all the existing drivers.
Baofeng Wang [Tue, 10 May 2016 07:00:57 +0000 (10:00 +0300)]
auth: passdb-ldap Logging message is modified.
Baofeng Wang [Wed, 8 Jun 2016 13:41:04 +0000 (16:41 +0300)]
lib-fts: add unit test to fts_tokenizer_delete_trailing_partial_char()
Baofeng Wang [Tue, 7 Jun 2016 13:37:27 +0000 (16:37 +0300)]
lib-fts: allow hyphen character in domain part
Allow hyphen character and remove possible trailing hyhpen character
when email tokenization is done.
Baofeng Wang [Tue, 7 Jun 2016 12:58:38 +0000 (15:58 +0300)]
lib-fts: remove trailing period character from email-address
any trailing period character '.' should be removed when email
tokenization is done.
Baofeng Wang [Tue, 7 Jun 2016 13:01:03 +0000 (16:01 +0300)]
lib-test: add test_assert_failed_strcmp to expose strings.
the macro is used to facilitate any test to show string comparision
contents when they doesn't match.
Timo Sirainen [Mon, 20 Jun 2016 18:38:56 +0000 (21:38 +0300)]
Makefile: Added run-test-valgrind.supp to EXTRA_DIST
Timo Sirainen [Mon, 20 Jun 2016 17:47:57 +0000 (20:47 +0300)]
lib-http: s/unsigned int:1/bool:1/
Timo Sirainen [Mon, 20 Jun 2016 17:30:47 +0000 (20:30 +0300)]
lib-settings: Minor error message fix.
Timo Sirainen [Mon, 20 Jun 2016 15:46:04 +0000 (18:46 +0300)]
Updated run-test-valgrind.supp
Timo Sirainen [Mon, 20 Jun 2016 14:52:28 +0000 (17:52 +0300)]
lib: file_create_locked() - Unexpectedly deleted temp file is error.
This shouldn't happen and we shouldn't be silently retrying if it does.
Timo Sirainen [Mon, 20 Jun 2016 11:29:57 +0000 (14:29 +0300)]
Added valgrind suppression for OpenSSL <v1.0.2
This one works at least for CentOS 6. Because the OpenSSL library is
loaded as a plugin and unloaded before exit, valgrind sees only "???"
as the addresses. That's why we're using "obj:*". But the number of
obj:* lines is also important, so this may not work everywhere.
Timo Sirainen [Mon, 20 Jun 2016 10:37:13 +0000 (13:37 +0300)]
openssl: Use our own malloc()/realloc() that will die on out-of-memory.
This is likely safer rather than caller thinking for example that some input
is invalid when it's only a temporary memory allocation problem.
Timo Sirainen [Mon, 20 Jun 2016 10:33:34 +0000 (13:33 +0300)]
lib-dcrypt: Allow specifying crypto_device (OpenSSL engine).
Timo Sirainen [Mon, 20 Jun 2016 10:33:05 +0000 (13:33 +0300)]
lib-dcrypt: Added library dependencies to unit tests
Timo Sirainen [Mon, 20 Jun 2016 09:58:08 +0000 (12:58 +0300)]
lib-dcrypt, lib-ssl-iostream: Share OpenSSL init/deinit code.
Timo Sirainen [Mon, 20 Jun 2016 10:05:37 +0000 (13:05 +0300)]
lib-dcrypt: Fix to backend module loading.
Especially don't die if we fail to load the module.
Stephan Bosch [Sun, 19 Jun 2016 19:31:10 +0000 (21:31 +0200)]
lib-http: server: Created test program that tests error conditions.
Currently it is very limited, but it is due to be extended soon towards testing most common error conditions.
Stephan Bosch [Mon, 20 Jun 2016 00:41:37 +0000 (02:41 +0200)]
lib-http: Restructured Makefile.am to have less duplicated lines for the test suite.
Stephan Bosch [Sun, 19 Jun 2016 23:25:02 +0000 (01:25 +0200)]
lib-http: server: Added settings to configure the connection's socket kernel buffer sizes.
This is mainly useful for use in the lib-http test suite.
Stephan Bosch [Sun, 19 Jun 2016 23:20:33 +0000 (01:20 +0200)]
lib-http: server: Make sure provided connection FDs are non-blocking.
Stephan Bosch [Sun, 19 Jun 2016 23:15:18 +0000 (01:15 +0200)]
lib-http: server: Wrap request payload in a timeout input stream.
The server cannot reset the timeout properly while the payload is being read by the application.
The HTTP client solved this same problem by identical means.
Stephan Bosch [Sun, 19 Jun 2016 20:31:18 +0000 (22:31 +0200)]
lib-http: server: Fixed handling of idle timeout when request just starts processing on the server.
Stephan Bosch [Sun, 19 Jun 2016 20:35:43 +0000 (22:35 +0200)]
lib-http: server: Added more detailed debugging about when idle timeouts are started/stopped.
Stephan Bosch [Fri, 17 Jun 2016 14:59:37 +0000 (16:59 +0200)]
lib-http: client: Added tests for manual handling of connection loss retries to test-http-client-errors.
Stephan Bosch [Fri, 17 Jun 2016 14:59:15 +0000 (16:59 +0200)]
lib-http: client: Implemented no_auto_retry setting that disables all automatic request retries.
This currently only applies to requests sent over a connection that is subsequently lost before a response is received.
Before, such requests were always implicitly resumbitted for a new connection, without the application knowing about it.
By enabling the no_auto_retry client setting, the application is always notified of connection loss through the request's response callback.
As a consequence, requests need to be retried explicitly using the http_client_request_try_retry().
Stephan Bosch [Fri, 17 Jun 2016 13:39:36 +0000 (15:39 +0200)]
lib-http: client: Allow retrying requests that failed internally.
Timo Sirainen [Mon, 20 Jun 2016 00:08:30 +0000 (03:08 +0300)]
lib-dict-extra: Compiler warning fix
Timo Sirainen [Mon, 13 Jun 2016 14:10:22 +0000 (17:10 +0300)]
lib-dict: Added dict_switch_ioloop()
Timo Sirainen [Mon, 13 Jun 2016 13:55:33 +0000 (16:55 +0300)]
lib-dict: Added test-dict-client to stress test async dict operations
Timo Sirainen [Wed, 1 Jun 2016 21:57:17 +0000 (00:57 +0300)]
lib-dict: dict-client rewrite to support async operations
Timo Sirainen [Sun, 19 Jun 2016 23:25:47 +0000 (02:25 +0300)]
lib-dcrypt: Use a more supported EC curve in unit test
Fixes running the test on CentOS 6.
Timo Sirainen [Sun, 19 Jun 2016 22:47:59 +0000 (01:47 +0300)]
lib-index: Don't break indexes on syscall failures during index refreshing.
Especially mmap() failures due to out of memory could have triggered this.
We treated the open as successful, which meant that an empty index was
opened.
Timo Sirainen [Sun, 19 Jun 2016 20:18:43 +0000 (23:18 +0300)]
lib-dcrypt: Fixed running unit tests in build directory.
Timo Sirainen [Sun, 19 Jun 2016 17:23:27 +0000 (20:23 +0300)]
mailbox-alias: Fixed renaming mailboxes when the plugin is loaded.
Timo Sirainen [Sun, 19 Jun 2016 15:44:55 +0000 (18:44 +0300)]
lib-dcrypt: Fixed memory leak in test-crypto unit test
Timo Sirainen [Sun, 19 Jun 2016 15:38:39 +0000 (18:38 +0300)]
doveadm dump: Updated obox's oid output.
Stephan Bosch [Thu, 16 Jun 2016 20:02:08 +0000 (22:02 +0200)]
lib-http: client/server: Enable the TCP_NODELAY option for all connections.
This disables the TCP Nagle algorithm. With the Nagle algorithm enabled, TCP waits a little to accumulate more data in a small segment before it is sent. For transfer of large continuous payloads, this is not useful and even harmful.
If the final remaining bit of the payload is small, the TCP layer will wait for a significant amount of time at the end of the payload. For many sequential transfers, this amounts to much waiting time.
This is particularly evident in the test-http-payload test suite tool. Setting TCP_NODELAY decreases its run time from up to 20 minutes to about half a minute my system.
Stephan Bosch [Thu, 16 Jun 2016 20:01:06 +0000 (22:01 +0200)]
lib: Created net_set_tcp_nodelay(), which enables the TCP_NODELAY socket option.
This disables the TCP Nagle algorithm.
Timo Sirainen [Thu, 16 Jun 2016 08:23:16 +0000 (11:23 +0300)]
lib-ssl-iostream: Changed require_valid_cert -> allow_invalid_cert
We should default to being safe.
Stephan Bosch [Tue, 14 Jun 2016 20:47:31 +0000 (22:47 +0200)]
lib-http: client: Added test for http_client_request_delay_msecs() in test_http_client_errors.
Stephan Bosch [Tue, 14 Jun 2016 23:54:25 +0000 (01:54 +0200)]
lib-http: client: Added more debug logging about the submission of delayed requests.
Stephan Bosch [Tue, 14 Jun 2016 23:53:44 +0000 (01:53 +0200)]
time-util: Fixed usec comparison in timeval_cmp_margin().
Teemu Huovila [Tue, 14 Jun 2016 19:42:09 +0000 (22:42 +0300)]
lib-dcrypt: Fix error_r pointer verification.
Timo Sirainen [Tue, 14 Jun 2016 19:32:36 +0000 (22:32 +0300)]
lib-fs: Added write_bytes to statistics
Aki Tuomi [Tue, 14 Jun 2016 09:30:27 +0000 (12:30 +0300)]
dcrypt: Arm deinitialization code
Aki Tuomi [Tue, 14 Jun 2016 09:08:49 +0000 (12:08 +0300)]
dcrypt: Add test for public key loading
Aki Tuomi [Tue, 14 Jun 2016 09:08:34 +0000 (12:08 +0300)]
dcrypt-openssl: Pass pointer safely
Timo Sirainen [Tue, 14 Jun 2016 07:49:24 +0000 (10:49 +0300)]
lib-index: Fixed test-mail-index-sync-ext
Timo Sirainen [Mon, 13 Jun 2016 22:14:13 +0000 (01:14 +0300)]
lib-index: Fixes to handling resized records.
Timo Sirainen [Mon, 13 Jun 2016 17:16:14 +0000 (20:16 +0300)]
dict: Increased max number of pipelined requests from 5 to 1000.
The client is supposed to be the one throttling the requests. We mainly
want to avoid accidental abuses. Using 1000 is hopefully "large enough"
without being "too large".