]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
11 years agoInstall libdovecot-dsync.so library, which can be used separately.
Timo Sirainen [Mon, 15 Sep 2014 15:04:20 +0000 (18:04 +0300)] 
Install libdovecot-dsync.so library, which can be used separately.

11 years agodsync: Moved all doveadm-specific code to doveadm-dsync.c
Timo Sirainen [Mon, 15 Sep 2014 15:02:02 +0000 (18:02 +0300)] 
dsync: Moved all doveadm-specific code to doveadm-dsync.c

11 years agolib-http: server: Fixed connection reference counting.
Stephan Bosch [Mon, 15 Sep 2014 08:19:50 +0000 (11:19 +0300)] 
lib-http: server: Fixed connection reference counting.
Connection often still got destroyed too early. Particularly submitting
responses would potentially destroy the connection, which is often
unexpected. Sending responses is now postponed until handled by the stream
output handler, which is explicitly triggered when necessary.

11 years agofs-posix: Fixed fs_iter_deinit() when opendir() had failed.
Timo Sirainen [Sun, 14 Sep 2014 08:29:35 +0000 (11:29 +0300)] 
fs-posix: Fixed fs_iter_deinit() when opendir() had failed.

11 years agolib-http server: Keep output stream referenced to avoid accessing it after destroy.
Timo Sirainen [Sat, 13 Sep 2014 20:42:17 +0000 (23:42 +0300)] 
lib-http server: Keep output stream referenced to avoid accessing it after destroy.

11 years agofs-metawrap: Add FS_PROPERTY_COPY_METADATA property for wrapped fs backends.
Timo Sirainen [Sat, 13 Sep 2014 19:15:35 +0000 (22:15 +0300)] 
fs-metawrap: Add FS_PROPERTY_COPY_METADATA property for wrapped fs backends.
This is because if we simply use the parent copy the metadata gets copied
as well.

11 years agofs-posix: Fixed memory leak in fs_iter_deinit()
Timo Sirainen [Sat, 13 Sep 2014 19:14:09 +0000 (22:14 +0300)] 
fs-posix: Fixed memory leak in fs_iter_deinit()

11 years agolib-master: Earlier config file path fix broke reusing existing config socket lookups.
Timo Sirainen [Fri, 12 Sep 2014 09:55:12 +0000 (12:55 +0300)] 
lib-master: Earlier config file path fix broke reusing existing config socket lookups.

11 years agovirtual: Recent optimizations had broken fast mailbox syncing.
Timo Sirainen [Thu, 11 Sep 2014 15:15:04 +0000 (18:15 +0300)] 
virtual: Recent optimizations had broken fast mailbox syncing.
We wrongly assumed that all_mails array could have been accessed using vseqs.
Broken by 8abf7eea2966

11 years agolib-mail: Message decoder now runs normalizer also for unknown charsets.
Timo Sirainen [Thu, 11 Sep 2014 13:40:00 +0000 (16:40 +0300)] 
lib-mail: Message decoder now runs normalizer also for unknown charsets.

11 years agofts-lucene: No .. the rebuilding warning was still in the wrong place.
Timo Sirainen [Thu, 11 Sep 2014 13:14:24 +0000 (16:14 +0300)] 
fts-lucene: No .. the rebuilding warning was still in the wrong place.

11 years agofts-lucene: Include the mailbox name also in the rebuilding warning.
Timo Sirainen [Thu, 11 Sep 2014 13:12:38 +0000 (16:12 +0300)] 
fts-lucene: Include the mailbox name also in the rebuilding warning.

11 years agofts-lucene: Log a warning when rebuilding index because of settings changes
Timo Sirainen [Thu, 11 Sep 2014 13:11:37 +0000 (16:11 +0300)] 
fts-lucene: Log a warning when rebuilding index because of settings changes

11 years agoman: Forgot to remove XXX prefixes from doveadm-director.1.in
Timo Sirainen [Wed, 10 Sep 2014 15:41:39 +0000 (18:41 +0300)] 
man: Forgot to remove XXX prefixes from doveadm-director.1.in

11 years agoreplication plugin: Actually, use empty mail_replica as "replication is disabled".
Timo Sirainen [Wed, 10 Sep 2014 13:05:32 +0000 (16:05 +0300)] 
replication plugin: Actually, use empty mail_replica as "replication is disabled".

11 years agoreplication plugin: Added replication_disabled setting.
Timo Sirainen [Wed, 10 Sep 2014 12:54:58 +0000 (15:54 +0300)] 
replication plugin: Added replication_disabled setting.

11 years agoman: doveadm-director man page updated
Pascal Volk [Wed, 10 Sep 2014 11:48:58 +0000 (14:48 +0300)] 
man: doveadm-director man page updated

11 years agoman: doveadm-auth man page updated
Pascal Volk [Wed, 10 Sep 2014 11:42:34 +0000 (14:42 +0300)] 
man: doveadm-auth man page updated

11 years agoman: doveadm-dump man page updated
Pascal Volk [Wed, 10 Sep 2014 11:37:50 +0000 (14:37 +0300)] 
man: doveadm-dump man page updated

11 years agolib-test: don't use 0 for old size in realloc call
Phil Carmody [Wed, 10 Sep 2014 11:08:58 +0000 (14:08 +0300)] 
lib-test: don't use 0 for old size in realloc call
We have the real size, use it.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agolib-index: test suite memory leak cleanup
Phil Carmody [Wed, 10 Sep 2014 11:08:58 +0000 (14:08 +0300)] 
lib-index: test suite memory leak cleanup
So that memory leak checkers can be active while running the test
suites, ensure that the suite itself doesn't leak.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agolib: test-seq-range-array - clean up array after use
Phil Carmody [Wed, 10 Sep 2014 11:08:58 +0000 (14:08 +0300)] 
lib: test-seq-range-array - clean up array after use
Removes noise when memory-leak debugging during unit tests.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agolib: test-aqueue - clean up the test queue each time round the loop
Phil Carmody [Wed, 10 Sep 2014 11:08:58 +0000 (14:08 +0300)] 
lib: test-aqueue - clean up the test queue each time round the loop
Helps keep noise out of memory leak debugging during unit tests.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agolib: test-istream-concat - clean up our test-istreams
Phil Carmody [Wed, 10 Sep 2014 11:08:58 +0000 (14:08 +0300)] 
lib: test-istream-concat - clean up our test-istreams
This reduces noise when memory leak debugging the unit tests.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agodsync: Reset I/O timeout every time when receiving input.
Timo Sirainen [Wed, 10 Sep 2014 10:59:31 +0000 (13:59 +0300)] 
dsync: Reset I/O timeout every time when receiving input.
This could have caused unwanted I/O timeouts when receiving large mails.

11 years agopop3: Optimize POP3 UIDL processing when duplicate renaming is not active.
Michael M Slusarz [Tue, 9 Sep 2014 23:26:52 +0000 (17:26 -0600)] 
pop3: Optimize POP3 UIDL processing when duplicate renaming is not active.

11 years agolib-http: client: Implemented support for connection failure backoff.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: client: Implemented support for connection failure backoff.

11 years agolib-http: client: Added support for attempting a single IP several times.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: client: Added support for attempting a single IP several times.
Also limits the number of attempts when there are many IPs.

11 years agolib-http: client: Tunnel connection failure would cause segfault.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: client: Tunnel connection failure would cause segfault.
That happened because it tried to retry waiting requests, which makes no sense for a CONNECT tunnel.

11 years agolib-http: server: Added support for authentication.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: server: Added support for authentication.

11 years agolib-http: Implemented HTTP auth (RFC 7235).
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: Implemented HTTP auth (RFC 7235).

11 years agolib-http: server: Added assert to connect callback which makes sure request is either...
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: server: Added assert to connect callback which makes sure request is either responded to or referenced.
Earlier change added this only to callback for normal requests, but CONNECT should be handled the same in this respect.

11 years agolib-http: server: Fixed delayed request destruction.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: server: Fixed delayed request destruction.
Destruction was actually delayed indefinitely, because the delay flag was not reset.
Obviously, this caused a memory leak.

11 years agolib-http: server: Made sure destroy callback is called only once.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: server: Made sure destroy callback is called only once.

11 years agolib-http: server: Fixed segfault occurring in connection input handler.
Stephan Bosch [Wed, 10 Sep 2014 10:39:37 +0000 (13:39 +0300)] 
lib-http: server: Fixed segfault occurring in connection input handler.
Request handlers could close and destroy the connection early.
Fixed by holding a reference in the input handler.

11 years agolib-http: server: Fixed handling of disconnection while request is being handled.
Stephan Bosch [Wed, 10 Sep 2014 10:39:36 +0000 (13:39 +0300)] 
lib-http: server: Fixed handling of disconnection while request is being handled.
This would cause an assert failure.

11 years agolib-master: Fixed -c & -i command line parameters when config socket was readable.
Timo Sirainen [Tue, 9 Sep 2014 14:09:30 +0000 (17:09 +0300)] 
lib-master: Fixed -c & -i command line parameters when config socket was readable.
The config socket was always being read, even if another config file was
attempted to be used.

11 years agopop3c: Added missing support for pop3c_ssl=starttls
Timo Sirainen [Mon, 8 Sep 2014 15:11:31 +0000 (18:11 +0300)] 
pop3c: Added missing support for pop3c_ssl=starttls

11 years agoCOPYING.LGPL: Updated FSF mailing address.
Timo Sirainen [Mon, 8 Sep 2014 10:39:25 +0000 (13:39 +0300)] 
COPYING.LGPL: Updated FSF mailing address.
Also some whitespace and line wrapping changes. Used the same file as
http://www.gnu.org/licenses/lgpl-2.1.txt

11 years agopop3c: If base_dir isn't set, lookup pop3c_host with regular blocking DNS lookup.
Timo Sirainen [Mon, 8 Sep 2014 07:14:42 +0000 (10:14 +0300)] 
pop3c: If base_dir isn't set, lookup pop3c_host with regular blocking DNS lookup.

11 years agolib-storage: Compile fix to previous change
Timo Sirainen [Wed, 3 Sep 2014 14:29:25 +0000 (07:29 -0700)] 
lib-storage: Compile fix to previous change
The original patch was correct, my copy&pasting by hand just sucked. :)

11 years agolib-storage: Fixed off-by-one memory allocation in dynamic settings allocation code.
Timo Sirainen [Wed, 3 Sep 2014 13:29:52 +0000 (06:29 -0700)] 
lib-storage: Fixed off-by-one memory allocation in dynamic settings allocation code.
This didn't actually affect normal Dovecot builds, because there were always
some storages with get_setting_parser_info=NULL that added the necessary
padding.

Patch by Michael M Slusarz

11 years agofs layout: Absolute paths as mailbox names shouldn't return index with INDEX=MEMORY
Timo Sirainen [Fri, 29 Aug 2014 04:22:11 +0000 (13:22 +0900)] 
fs layout: Absolute paths as mailbox names shouldn't return index with INDEX=MEMORY

11 years agolib-index, lib-storage: Fixed race conditions with deleting mailbox.
Timo Sirainen [Thu, 28 Aug 2014 17:14:43 +0000 (02:14 +0900)] 
lib-index, lib-storage: Fixed race conditions with deleting mailbox.
Now only one process can successfully finish mailbox_mark_index_deleted().

11 years agolib-fs: Keep a linked list of all files within fs to help debugging.
Timo Sirainen [Thu, 28 Aug 2014 15:41:07 +0000 (00:41 +0900)] 
lib-fs: Keep a linked list of all files within fs to help debugging.

11 years agoAdded UNLINK_EISDIR() helper macro.
Timo Sirainen [Thu, 28 Aug 2014 14:52:46 +0000 (23:52 +0900)] 
Added UNLINK_EISDIR() helper macro.

11 years agomaildir: Handle unlink()=EPERM failure the same as EISDIR.
Timo Sirainen [Thu, 28 Aug 2014 14:50:25 +0000 (23:50 +0900)] 
maildir: Handle unlink()=EPERM failure the same as EISDIR.
EPERM is POSIX, while EISDIR is Linux-specific.

11 years agolib-fs: Fixed metawrap_fs.copy() to work with FS_PROPERTY_COPY_METADATA backends.
Timo Sirainen [Thu, 28 Aug 2014 13:44:18 +0000 (22:44 +0900)] 
lib-fs: Fixed metawrap_fs.copy() to work with FS_PROPERTY_COPY_METADATA backends.
This is done by simply copying the entire file with the metadata included
instead of rewriting it.

11 years agoReplaced dict_init() with dict_init_full() in various places.
Timo Sirainen [Thu, 28 Aug 2014 13:10:25 +0000 (22:10 +0900)] 
Replaced dict_init() with dict_init_full() in various places.

11 years agolib-dict: file backend now expands ~/ paths if home_dir setting is set.
Timo Sirainen [Thu, 28 Aug 2014 12:57:34 +0000 (21:57 +0900)] 
lib-dict: file backend now expands ~/ paths if home_dir setting is set.

11 years agolib-dict: Changed dict.init() API to take struct dict_settings and added dict_init_fu...
Timo Sirainen [Thu, 28 Aug 2014 12:56:41 +0000 (21:56 +0900)] 
lib-dict: Changed dict.init() API to take struct dict_settings and added dict_init_full().
This allows giving more settings to dict in future as needed. Unfortunately
it also breaks the internal dict API, but there aren't really any plugins
widely using it, so it's not a big problem.

11 years agodict: Renamed struct dict_settings to dict_server_settings.
Timo Sirainen [Thu, 28 Aug 2014 13:06:29 +0000 (22:06 +0900)] 
dict: Renamed struct dict_settings to dict_server_settings.

11 years agoauth ldap: Compile fix to previous change..
Timo Sirainen [Wed, 27 Aug 2014 04:53:39 +0000 (07:53 +0300)] 
auth ldap: Compile fix to previous change..
Looks like on my local build system ldap wasn't enabled..

11 years agoauth ldap: Don't require password field to exist for passdb lookups when auth_bind...
Timo Sirainen [Wed, 27 Aug 2014 04:38:53 +0000 (13:38 +0900)] 
auth ldap: Don't require password field to exist for passdb lookups when auth_bind=yes.
This should fix lmtp/doveadm proxy lookups with auth_bind=yes

11 years agolib-http: Added http_client_request_get_method()
Timo Sirainen [Tue, 26 Aug 2014 07:00:37 +0000 (16:00 +0900)] 
lib-http: Added http_client_request_get_method()

11 years agoauth: Allow passdb credentials lookup also with auth_bind=yes
Timo Sirainen [Tue, 26 Aug 2014 05:50:15 +0000 (14:50 +0900)] 
auth: Allow passdb credentials lookup also with auth_bind=yes
Although we probably can't lookup the password itself, we're also doing
passdb lokups for proxying and other purposes. These lookups will still work
as long as pass_attrs & pass_filter is specified.

11 years agodoveadm exec: Show help if binary name wasn't given.
Timo Sirainen [Thu, 21 Aug 2014 18:56:40 +0000 (20:56 +0200)] 
doveadm exec: Show help if binary name wasn't given.

11 years agodoveadm ring status: Help text was shown for wrong command.
Timo Sirainen [Thu, 21 Aug 2014 18:54:46 +0000 (20:54 +0200)] 
doveadm ring status: Help text was shown for wrong command.

11 years agofts-lucene: Compiling fix for earlier change.
Timo Sirainen [Thu, 21 Aug 2014 12:52:14 +0000 (15:52 +0300)] 
fts-lucene: Compiling fix for earlier change.

11 years agofts-lucene: Don't crash when index building fails but we were still planning to optim...
Timo Sirainen [Thu, 21 Aug 2014 12:51:11 +0000 (14:51 +0200)] 
fts-lucene: Don't crash when index building fails but we were still planning to optimize the index.

11 years agofts-lucene: When deleting corrupted lucene-indexes/ directory, don't rmdir it.
Timo Sirainen [Thu, 21 Aug 2014 12:49:34 +0000 (14:49 +0200)] 
fts-lucene: When deleting corrupted lucene-indexes/ directory, don't rmdir it.
This at least avoids errors with NFS when some of the files are still open
inside it by other processes.

11 years agofts-lucene: Automatically close index after 2 minutes of idling.
Timo Sirainen [Thu, 21 Aug 2014 12:48:41 +0000 (14:48 +0200)] 
fts-lucene: Automatically close index after 2 minutes of idling.

11 years agofts-lucene: Make sure Lucene indexes are always closed at deinit to avoid memory...
Timo Sirainen [Thu, 21 Aug 2014 12:46:47 +0000 (14:46 +0200)] 
fts-lucene: Make sure Lucene indexes are always closed at deinit to avoid memory leaks.
At least optimize leaked memory.

11 years agoredis: Added support for path=/unix/socket/path parameter instead of host/port.
Timo Sirainen [Thu, 21 Aug 2014 09:40:51 +0000 (11:40 +0200)] 
redis: Added support for path=/unix/socket/path parameter instead of host/port.

11 years agopop3: Fixed potential assert-crash on disconnect.
Timo Sirainen [Wed, 20 Aug 2014 13:35:43 +0000 (15:35 +0200)] 
pop3: Fixed potential assert-crash on disconnect.

11 years agolmtp: Put back the deduplication code.
Timo Sirainen [Wed, 20 Aug 2014 13:32:15 +0000 (15:32 +0200)] 
lmtp: Put back the deduplication code.
Too dangerous after all to change it in the middle of v2.2.x. It's also not
causing that much trouble even when it breaks..

11 years agoauth: protocol-specific username settings weren't used for userdb lookups.
Timo Sirainen [Wed, 20 Aug 2014 12:35:27 +0000 (14:35 +0200)] 
auth: protocol-specific username settings weren't used for userdb lookups.
The username was set before the service-specific settings were looked up, so
global settings were always used. This affected auth_default_realm,
auth_username_translation and auth_username_format settings.

11 years agofts-lucene: If whitespace_chars was set, we may have ended up indexing some garbage...
Timo Sirainen [Wed, 20 Aug 2014 11:22:28 +0000 (14:22 +0300)] 
fts-lucene: If whitespace_chars was set, we may have ended up indexing some garbage words.
The final \0 was replaced with space, so everything beyond that was also
being indexed.

11 years agolib-dict: Hide internal ioloop from async commit callbacks. (Redis & memcached fix)
Timo Sirainen [Wed, 20 Aug 2014 10:47:10 +0000 (12:47 +0200)] 
lib-dict: Hide internal ioloop from async commit callbacks. (Redis & memcached fix)

11 years agolast-login plugin: Added ABI version check.
Timo Sirainen [Wed, 20 Aug 2014 10:36:37 +0000 (12:36 +0200)] 
last-login plugin: Added ABI version check.

11 years agolast-login: Fixed timeout leak at user deinit.
Timo Sirainen [Wed, 20 Aug 2014 10:35:27 +0000 (12:35 +0200)] 
last-login: Fixed timeout leak at user deinit.

11 years agolib-storage: Added data stack frame to mail_prefetch().
Timo Sirainen [Wed, 20 Aug 2014 10:07:19 +0000 (12:07 +0200)] 
lib-storage: Added data stack frame to mail_prefetch().

11 years agodoveconf: local and remote net/bits addresses were printed with /bits twice.
Timo Sirainen [Wed, 20 Aug 2014 09:19:15 +0000 (11:19 +0200)] 
doveconf: local and remote net/bits addresses were printed with /bits twice.

11 years agoSeveral services weren't enforcing their process_limit=1 requirement.
Timo Sirainen [Wed, 20 Aug 2014 09:09:27 +0000 (11:09 +0200)] 
Several services weren't enforcing their process_limit=1 requirement.

11 years agolib: Added unit tests for wildcard_match()
Timo Sirainen [Tue, 19 Aug 2014 21:53:18 +0000 (23:53 +0200)] 
lib: Added unit tests for wildcard_match()

11 years agolib: wildcard_match() should have matched "*" wildcard against an empty "" string...
Timo Sirainen [Tue, 19 Aug 2014 21:51:14 +0000 (23:51 +0200)] 
lib: wildcard_match() should have matched "*" wildcard against an empty "" string also.
This fixes global ACL "*" matching the root namespace when creating new
mailboxes.

11 years agodirector: Log a warning when using "director host flush" for all hosts.
Timo Sirainen [Mon, 18 Aug 2014 20:39:56 +0000 (22:39 +0200)] 
director: Log a warning when using "director host flush" for all hosts.

11 years agoistream-chain: Fixed crash caused by earlier io_add_stream() support change.
Timo Sirainen [Mon, 18 Aug 2014 08:43:59 +0000 (10:43 +0200)] 
istream-chain: Fixed crash caused by earlier io_add_stream() support change.

11 years agolib-http server: Use io_add_istream() to wait for the payload istream.
Timo Sirainen [Fri, 15 Aug 2014 13:00:07 +0000 (16:00 +0300)] 
lib-http server: Use io_add_istream() to wait for the payload istream.
This way the stream doesn't necessarily have to have a fd.

11 years agolib-http: Added asserts to make sure CR or LF can't be added accidentally to HTTP...
Timo Sirainen [Fri, 15 Aug 2014 12:59:17 +0000 (15:59 +0300)] 
lib-http: Added asserts to make sure CR or LF can't be added accidentally to HTTP headers.

11 years agoistream-chain: Support using io_add_istream() for the chain stream.
Timo Sirainen [Fri, 15 Aug 2014 12:22:46 +0000 (15:22 +0300)] 
istream-chain: Support using io_add_istream() for the chain stream.
The callback is notified whenever new streams are added to the chain.

It's currently not possible to have nonblocking istreams added to the chain
and the callback being called when they have new data, but it would be
possible to implement as well if needed at some point.

11 years agoio_add_istream(): Allow the istream to be added even if it doesn't have fd.
Timo Sirainen [Fri, 15 Aug 2014 12:19:24 +0000 (15:19 +0300)] 
io_add_istream(): Allow the istream to be added even if it doesn't have fd.

11 years agopop3: satisfy some strict parsing rules in RFC 1939
Phil Carmody [Fri, 15 Aug 2014 12:02:59 +0000 (15:02 +0300)] 
pop3: satisfy some strict parsing rules in RFC 1939
"Commands in the POP3 consist of a case-insensitive keyword, possibly
 followed by one or more arguments.  All commands are terminated by a
 CRLF pair.  Keywords and arguments consist of printable ASCII
 characters.  Keywords and arguments are each separated by a single
 SPACE character."

"A server MUST respond to an unrecognized, unimplemented, or
 syntactically invalid command by responding with a negative status
 indicator."

Therefore the following commands must be rejected:
LIST 2600Hz
LIST 99 red balloons
TOP 1 2 buckle-my-shoe

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agopop3: fix msgnum/size parsers
Phil Carmody [Fri, 15 Aug 2014 12:02:59 +0000 (15:02 +0300)] 
pop3: fix msgnum/size parsers
The outer if()s are completely unnecessary, and permit `num'
to remain uninitialised. Spotted by clang's static analysis.

Bug introduced in changeset: 17563:2ed2ab04b63d

Note that the lack of a parameter from a broken client is no longer
treated as "0". Before the bug was introduced:
  DELE
  -ERR There's no message 0.
After this patch:
  DELE
  -ERR Invalid message number:

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agoCompiling fix for previous change..
Timo Sirainen [Fri, 15 Aug 2014 11:48:08 +0000 (14:48 +0300)] 
Compiling fix for previous change..

11 years agoHandle "out of disk space" and "out of user quota" as separate cases.
Timo Sirainen [Fri, 15 Aug 2014 11:41:03 +0000 (14:41 +0300)] 
Handle "out of disk space" and "out of user quota" as separate cases.
"Out of disk space" is a temporary error that should be logged as error and
the failure should be sent to user as "Internal server error".

Obsolete the use of MAIL_ERROR_NOSPACE and MAIL_ERRSTR_NO_SPACE. Use the
clearer MAIL_ERROR_NOQUOTA and MAIL_ERRSTR_NO_QUOTA instead.

11 years agoldap: Treat "No such object" errors to search the same as if no results were returned.
Timo Sirainen [Fri, 15 Aug 2014 11:05:21 +0000 (14:05 +0300)] 
ldap: Treat "No such object" errors to search the same as if no results were returned.
Trying to look up a nonexistent base returns this error.

11 years agoauth: Internal passdb failures were always failing the request even if another passdb...
Timo Sirainen [Fri, 15 Aug 2014 10:58:47 +0000 (13:58 +0300)] 
auth: Internal passdb failures were always failing the request even if another passdb succeeded later.

11 years agolib-http: server_request/connection - improve encapsulation
Phil Carmody [Wed, 13 Aug 2014 10:34:22 +0000 (13:34 +0300)] 
lib-http: server_request/connection - improve encapsulation
It just feels a bit dirty having the request mess around with the
connection's internals, have the connection manage its linked lists
itself. No functional changes.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
11 years agovirtual plugin: Optimized memory allocation.
Timo Sirainen [Wed, 13 Aug 2014 09:51:41 +0000 (12:51 +0300)] 
virtual plugin: Optimized memory allocation.
Patch by Teemu Huovila.

11 years agoCompiler warning fix
Timo Sirainen [Tue, 12 Aug 2014 16:30:37 +0000 (19:30 +0300)] 
Compiler warning fix

11 years agovirtual plugin: Handle physical mailbox deletion while virtual mailbox is open.
Timo Sirainen [Tue, 12 Aug 2014 16:24:10 +0000 (19:24 +0300)] 
virtual plugin: Handle physical mailbox deletion while virtual mailbox is open.

11 years agomailbox_list_index=yes: Make sure storage error doesn't change when updating STATUS...
Timo Sirainen [Tue, 12 Aug 2014 16:12:04 +0000 (19:12 +0300)] 
mailbox_list_index=yes: Make sure storage error doesn't change when updating STATUS info.

11 years agolib-storage: Added mail_storage_last_error_push/pop()
Timo Sirainen [Tue, 12 Aug 2014 16:05:14 +0000 (19:05 +0300)] 
lib-storage: Added mail_storage_last_error_push/pop()

11 years agovirtual plugin: Optimized syncing a large number of physical mailboxes.
Timo Sirainen [Tue, 12 Aug 2014 15:48:03 +0000 (18:48 +0300)] 
virtual plugin: Optimized syncing a large number of physical mailboxes.
Especially when the number of mails was large the old code took a lot of CPU
time. Based on patch by Teemu Huovila.

11 years agostats: Added num_connected_sessions for domains and IPs.
Timo Sirainen [Tue, 12 Aug 2014 11:44:11 +0000 (14:44 +0300)] 
stats: Added num_connected_sessions for domains and IPs.

11 years agolib-http server: Delay calling the request's destroy callback until handle_request...
Timo Sirainen [Tue, 12 Aug 2014 10:12:01 +0000 (13:12 +0300)] 
lib-http server: Delay calling the request's destroy callback until handle_request() callback is finished.
This simplifies the code in the handle_request() so it doesn't need to keep
track of whether the response is already submitted or not.

11 years agofts-lucene: If lucene-indexes dir is unexpectedly lost, rescan when expunge log updat...
Timo Sirainen [Tue, 12 Aug 2014 09:39:46 +0000 (12:39 +0300)] 
fts-lucene: If lucene-indexes dir is unexpectedly lost, rescan when expunge log update fails.
This mainly fixes a repeating error about failing to open the expunge log.
It should happen only if dovecot.index thinks that the mailbox is indexed
while in reality the entire lucene-indexes directory doesn't exist.

11 years agoostream-buffer: Allow modifying the buffer outside ostream, unless o_stream_seek...
Timo Sirainen [Mon, 11 Aug 2014 16:30:15 +0000 (19:30 +0300)] 
ostream-buffer: Allow modifying the buffer outside ostream, unless o_stream_seek() is used.
Now we'll just append to the end of the buffer instead of forcibly trying to
write at the offset where the last ostream write ended.

11 years agoistream-callback: Added i_stream_callback_get_buffer().
Timo Sirainen [Mon, 11 Aug 2014 16:19:45 +0000 (19:19 +0300)] 
istream-callback: Added i_stream_callback_get_buffer().