]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
10 years agolib-storage: Fixed LAYOUT=imapdir to work again
Timo Sirainen [Thu, 7 May 2015 15:21:35 +0000 (18:21 +0300)] 
lib-storage: Fixed LAYOUT=imapdir to work again
Patch by Jason Gunthorpe

10 years agodirector: Fixed "doveadm director status <user>" lookup to return "Current" correctly.
Timo Sirainen [Thu, 7 May 2015 15:04:33 +0000 (18:04 +0300)] 
director: Fixed "doveadm director status <user>" lookup to return "Current" correctly.

10 years agoexample-config: s/Recipient:/Received:/
Timo Sirainen [Thu, 7 May 2015 14:29:55 +0000 (17:29 +0300)] 
example-config: s/Recipient:/Received:/

10 years agoexmaple-config: Added lmtp_hdr_delivery_address setting.
Timo Sirainen [Thu, 7 May 2015 14:29:00 +0000 (17:29 +0300)] 
exmaple-config: Added lmtp_hdr_delivery_address setting.

10 years agoauth: Added assert to make sure previous change is correct.
Timo Sirainen [Thu, 7 May 2015 14:18:44 +0000 (17:18 +0300)] 
auth: Added assert to make sure previous change is correct.

10 years agoauth: Fixed credentials lookups via auth-workers when no actual password was returned.
Timo Sirainen [Thu, 7 May 2015 08:27:55 +0000 (11:27 +0300)] 
auth: Fixed credentials lookups via auth-workers when no actual password was returned.
For example LDAP lookup with auth_bind=yes should still return any extra
fields.

10 years agoldap auth: If password is already verified (e.g. master user login), skip LDAP auth...
Timo Sirainen [Thu, 7 May 2015 08:21:33 +0000 (11:21 +0300)] 
ldap auth: If password is already verified (e.g. master user login), skip LDAP auth binding.
This happens only if auth_bind_userdn isn't set, i.e. it only makes sense if
the LDAP DN lookup also returns some extra fields.

10 years agombox: Added an extra assert
Timo Sirainen [Wed, 6 May 2015 21:01:16 +0000 (00:01 +0300)] 
mbox: Added an extra assert

10 years agombox: Fixed crash/corruption in some situations when the first mail was expunged.
Timo Sirainen [Wed, 6 May 2015 21:01:08 +0000 (00:01 +0300)] 
mbox: Fixed crash/corruption in some situations when the first mail was expunged.
This could be reproduced with default mbox settings, IMAP session that does
 - STORE 1 +FLAGS \DELETED
 - EXPUNGE

With mbox containing:

===
From root@example.com  Tue Jan 13 10:18:16 2015

a

From root@example.com  Tue Jan 13 10:18:20 2015

a

===

10 years agoimap: Don't advertise SPECIAL-USE if there are no such mailboxes configured.
Timo Sirainen [Wed, 6 May 2015 16:50:23 +0000 (19:50 +0300)] 
imap: Don't advertise SPECIAL-USE if there are no such mailboxes configured.

10 years agodsync: Don't try to rename namespace roots.
Timo Sirainen [Wed, 6 May 2015 13:16:11 +0000 (16:16 +0300)] 
dsync: Don't try to rename namespace roots.
It'll just cause an assert-crash.

10 years agodoveadm: Changed -U to -F
Timo Sirainen [Wed, 6 May 2015 13:01:45 +0000 (16:01 +0300)] 
doveadm: Changed -U to -F
Otherwise -U collides with doveadm sync -U parameter. -F isn't currently
used by anything.

10 years agodoveadm: Added -U <file> parameter for executing the command for all the users in...
Timo Sirainen [Wed, 6 May 2015 12:45:43 +0000 (15:45 +0300)] 
doveadm: Added -U <file> parameter for executing the command for all the users in the file.
This is similar to -A parameter, but instead of getting the list of users
from userdb they are read from the file. The file contains one username per
line.

10 years agodoveadm-server: Invalid parameters for some commands caused crash at deinit handlers.
Timo Sirainen [Wed, 6 May 2015 12:42:31 +0000 (15:42 +0300)] 
doveadm-server: Invalid parameters for some commands caused crash at deinit handlers.
deinit() can be called even if init() was never called.

10 years agoscript: Another comment update about protocol - the previous one was wrong.
Timo Sirainen [Wed, 6 May 2015 11:14:09 +0000 (14:14 +0300)] 
script: Another comment update about protocol - the previous one was wrong.

10 years agoscript: Updated comment to describe the current script protocol.
Timo Sirainen [Wed, 6 May 2015 08:10:09 +0000 (11:10 +0300)] 
script: Updated comment to describe the current script protocol.

10 years agodoveadm fs delete: Fixed function return type
Timo Sirainen [Tue, 5 May 2015 20:07:03 +0000 (23:07 +0300)] 
doveadm fs delete: Fixed function return type

10 years agolib-storage: After mailbox_list_init_fs() is finished, notify fs about it.
Timo Sirainen [Tue, 5 May 2015 13:24:07 +0000 (16:24 +0300)] 
lib-storage: After mailbox_list_init_fs() is finished, notify fs about it.
Creating a separate fs_init_finish() would perhaps have been clearner, but
it's a lot more work and usually isn't even necessary for most backends.
So I simply chose to use fs_get_properties() which is a fast call in all fs
backends and the few ones that actually care about the initialization finish
can then do their work in there.

10 years agofts-lucene: Removed lazy initialization code.
Timo Sirainen [Tue, 5 May 2015 13:18:21 +0000 (16:18 +0300)] 
fts-lucene: Removed lazy initialization code.
This is no longer needed after the previous fts commit.

10 years agofts: Initialize fts backend in mail_namespaces_added(), not in mailbox_list_created()
Timo Sirainen [Tue, 5 May 2015 13:17:14 +0000 (16:17 +0300)] 
fts: Initialize fts backend in mail_namespaces_added(), not in mailbox_list_created()
This way the storage has already been created by the time fts initialization
starts, which simplifies things.

10 years agolib-storage: mailbox_list_fs_get_list() shouldn't crash if fs wasn't created by mailb...
Timo Sirainen [Tue, 5 May 2015 13:14:07 +0000 (16:14 +0300)] 
lib-storage: mailbox_list_fs_get_list() shouldn't crash if fs wasn't created by mailbox_list_init_fs()

10 years agoauth: If passdb has non-matching allow_nets, don't fail the other passdb lookups...
Timo Sirainen [Tue, 5 May 2015 11:16:31 +0000 (14:16 +0300)] 
auth: If passdb has non-matching allow_nets, don't fail the other passdb lookups also.
We might want to use e.g.:

passdb {
  driver = static
  args = password=secretmasterpass allow_nets=10.1.2.3
}
passdb {
  ...
}

If allow_nets didn't match in the first passdb, we should just ignore it and
continue to the next passdb.

10 years agodoveadm fs delete: Another attempt at fixing recursive deletion.
Timo Sirainen [Tue, 5 May 2015 10:35:52 +0000 (13:35 +0300)] 
doveadm fs delete: Another attempt at fixing recursive deletion.
I'm not entirely sure anymore what the original infinite looping was, but
this fixes all the potential problems that I see.

10 years agodoveadm fs delete: Reverted last two patches - they were all completely wrong..
Timo Sirainen [Tue, 5 May 2015 10:30:38 +0000 (13:30 +0300)] 
doveadm fs delete: Reverted last two patches - they were all completely wrong..

10 years agodoveadm fs delete: Recent changes broke it completely.
Timo Sirainen [Tue, 5 May 2015 10:13:42 +0000 (13:13 +0300)] 
doveadm fs delete: Recent changes broke it completely.

10 years agolib-storage: Fixed setting/getting server metadata.
Timo Sirainen [Mon, 4 May 2015 20:27:42 +0000 (23:27 +0300)] 
lib-storage: Fixed setting/getting server metadata.
Also added a MAILBOX_ATTRIBUTE_KEY_IS_USER_ACCESSIBLE() macro to make it a
bit easier to check if a key should be accessible to a user or not.

10 years agomail-storage: Moved mailbox attributes API to separate module.
Stephan Bosch [Mon, 4 May 2015 16:53:53 +0000 (19:53 +0300)] 
mail-storage: Moved mailbox attributes API to separate module.

10 years agolib-fs: Forgot to initialize refcount in previous commit
Timo Sirainen [Mon, 4 May 2015 16:15:10 +0000 (19:15 +0300)] 
lib-fs: Forgot to initialize refcount in previous commit

10 years agolib-fs: Added fs_ref() and fs_unref() for reference counting.
Timo Sirainen [Mon, 4 May 2015 16:06:11 +0000 (19:06 +0300)] 
lib-fs: Added fs_ref() and fs_unref() for reference counting.

10 years agoimap: FETCH BODY.PEEK[HEADER.FIELDS (..)] didn't set wanted_headers optimization.
Timo Sirainen [Mon, 4 May 2015 15:44:29 +0000 (18:44 +0300)] 
imap: FETCH BODY.PEEK[HEADER.FIELDS (..)] didn't set wanted_headers optimization.
Primarily this fixes imapc's prefetching.

10 years agoimapc: Various optimization fixes to fetching messages' virtual size.
Timo Sirainen [Mon, 4 May 2015 15:31:27 +0000 (18:31 +0300)] 
imapc: Various optimization fixes to fetching messages' virtual size.

10 years agoimapc: imapc-features=rfc822.size didn't work for fetching mail's virtual size.
Timo Sirainen [Mon, 4 May 2015 15:15:00 +0000 (18:15 +0300)] 
imapc: imapc-features=rfc822.size didn't work for fetching mail's virtual size.
Physical and virtual sizes are the same for imapc.

10 years agoconfigure: When compiling with sqlite3, don't forcibly link with zlib.
Timo Sirainen [Mon, 4 May 2015 09:07:16 +0000 (12:07 +0300)] 
configure: When compiling with sqlite3, don't forcibly link with zlib.
Looks like -lz was originally added when it was copy&pasted from some other
code. Hopefully this isn't actually needed by any (current) system.

10 years agoman: Fixed -Dv parameter position in doveadm-sync.1
Timo Sirainen [Mon, 4 May 2015 08:55:11 +0000 (11:55 +0300)] 
man: Fixed -Dv parameter position in doveadm-sync.1

10 years agoacl: Log more debug info with mail_debug=yes
Timo Sirainen [Sun, 3 May 2015 14:07:02 +0000 (17:07 +0300)] 
acl: Log more debug info with mail_debug=yes

10 years agolib-mail: Removed quoted_printable_decode*()
Timo Sirainen [Sun, 3 May 2015 13:26:46 +0000 (16:26 +0300)] 
lib-mail: Removed quoted_printable_decode*()
quoted_printable_q_decode() was still left in quoted-printable.h, but maybe
it should be moved to qp-decoder.c as well.

10 years agolib-mail: Switched message-decoder to use qp-decoder.
Timo Sirainen [Sun, 3 May 2015 13:23:41 +0000 (16:23 +0300)] 
lib-mail: Switched message-decoder to use qp-decoder.
This probably doesn't fix any actual bugs, but allows getting rid of the
quoted_printable_decode*()

10 years agolib-mail: Fixed various istream-qp-decoder bugs by switching to qp-decoder API
Timo Sirainen [Sun, 3 May 2015 13:22:55 +0000 (16:22 +0300)] 
lib-mail: Fixed various istream-qp-decoder bugs by switching to qp-decoder API

10 years agolib-mail: Added qp-decoder, which is a rewritten quoted_printable_decode()
Timo Sirainen [Sun, 3 May 2015 11:50:01 +0000 (14:50 +0300)] 
lib-mail: Added qp-decoder, which is a rewritten quoted_printable_decode()
The main benefit is that qp-decoder allows feeding data to it in smaller
pieces. It can also give better error reporting.

10 years agodirector: Log error if auth sends invalid lip/lport/port parameter.
Timo Sirainen [Wed, 29 Apr 2015 15:45:30 +0000 (17:45 +0200)] 
director: Log error if auth sends invalid lip/lport/port parameter.
This also fixes compiler warnings.

10 years agolib: Added unit test for net_ip2addr() and fixed net_is_in_network() test.
Timo Sirainen [Wed, 29 Apr 2015 15:43:13 +0000 (17:43 +0200)] 
lib: Added unit test for net_ip2addr() and fixed net_is_in_network() test.

10 years agolib: Renamed test-network to test-net
Timo Sirainen [Wed, 29 Apr 2015 15:36:44 +0000 (17:36 +0200)] 
lib: Renamed test-network to test-net
Since network.c had been renamed to net.c some time ago.

10 years agolib: net_addr2ip() sets the family now only after address is successfully converted.
Timo Sirainen [Wed, 29 Apr 2015 15:35:18 +0000 (17:35 +0200)] 
lib: net_addr2ip() sets the family now only after address is successfully converted.

10 years agolib-imap: imap_utf7_to_utf8() returns failure now for encoded NULs.
Timo Sirainen [Wed, 29 Apr 2015 15:19:34 +0000 (17:19 +0200)] 
lib-imap: imap_utf7_to_utf8() returns failure now for encoded NULs.
All the callers change the string to NUL-terminated string, so the earlier
behavior was just truncating the string at the encoded NUL. It's a bit safer
to just return failure so in future if the callers didn't convert the string
to NUL-terminated string it wouldn't be handled inconsistently in different
places.

10 years agodirector: Implemented director_proxy_maybe passdb extra field.
Timo Sirainen [Wed, 29 Apr 2015 09:33:21 +0000 (11:33 +0200)] 
director: Implemented director_proxy_maybe passdb extra field.
This allows running director and backend in the same Dovecot instance. It
was implemented into director instead of login-common to allow doveadm and
lmtp proxying to work as well (although currently lmtp can't handle mixed
proxying and non-proxying destinations, which makes this a bit less useful).

10 years agouri-util: Added the possibility of only checking the URI without parsing any of the...
Stephan Bosch [Sat, 25 Apr 2015 09:42:06 +0000 (11:42 +0200)] 
uri-util: Added the possibility of only checking the URI without parsing any of the data.

10 years agouri-util: Improve errors about invalid characters in URI by reporting the component...
Stephan Bosch [Sat, 25 Apr 2015 09:42:06 +0000 (11:42 +0200)] 
uri-util: Improve errors about invalid characters in URI by reporting the component where the offending character is located.

10 years agouri-util: Allow empty host name in the generic URI syntax as specified in RFC 3986.
Stephan Bosch [Sat, 25 Apr 2015 09:42:06 +0000 (11:42 +0200)] 
uri-util: Allow empty host name in the generic URI syntax as specified in RFC 3986.

10 years agolib-http: client: Fixed memory leak in CONNECT tunnel support.
Stephan Bosch [Sat, 25 Apr 2015 09:42:06 +0000 (11:42 +0200)] 
lib-http: client: Fixed memory leak in CONNECT tunnel support.
Forgot to dereference streams once tunnel was completed and passed to the new connection object.

10 years agolib: connection: Connect to unix socket asynchronously if connected callback is set.
Stephan Bosch [Sat, 25 Apr 2015 09:42:06 +0000 (11:42 +0200)] 
lib: connection: Connect to unix socket asynchronously if connected callback is set.
Prevents problems in lib-http unix socket support.

10 years agofts: Do not deinit uncreated fts context
Timo Sirainen [Wed, 29 Apr 2015 08:34:33 +0000 (10:34 +0200)] 
fts: Do not deinit uncreated fts context
Fixes crash with fts-lucene and fts-solr when lib-fts wasn't used.
Patch by Teemu Huovila

10 years agotrash plugin: Count more correctly the number of bytes/messages needed to get under...
Timo Sirainen [Wed, 29 Apr 2015 08:27:50 +0000 (10:27 +0200)] 
trash plugin: Count more correctly the number of bytes/messages needed to get under quota.
If there already were some messages saved, those weren't counted when
figuring out how many/much mails are still needed to be expunged.

Patch by Alexei Gradinari

10 years agotrash plugin: Fixed handling unlimited quota limits.
Timo Sirainen [Wed, 29 Apr 2015 08:22:26 +0000 (10:22 +0200)] 
trash plugin: Fixed handling unlimited quota limits.
Patch by Alexei Gradinari

10 years agoquota: Don't assume mail is too large if a quota root has mail count limit but not...
Timo Sirainen [Wed, 29 Apr 2015 08:13:19 +0000 (10:13 +0200)] 
quota: Don't assume mail is too large if a quota root has mail count limit but not size limit.
Based on patch by Alexei Gradinari

10 years agolib-mail: Fixed modifying headers with i_stream_header_filter_add()
Timo Sirainen [Tue, 28 Apr 2015 12:20:39 +0000 (14:20 +0200)] 
lib-mail: Fixed modifying headers with i_stream_header_filter_add()
If the stream was read twice, the second time the callback wasn't called and
the header wasn't modified.

10 years ago*-login: Don't try to flush SSL output if SSL handshake fails.
Timo Sirainen [Tue, 28 Apr 2015 09:27:04 +0000 (11:27 +0200)] 
*-login: Don't try to flush SSL output if SSL handshake fails.
This fixes a crash on failed handshakes on some OpenSSL builds.

10 years agoForgot to include year 2015 in earlier new files' Copyright lines.
Timo Sirainen [Sat, 25 Apr 2015 09:16:07 +0000 (12:16 +0300)] 
Forgot to include year 2015 in earlier new files' Copyright lines.

10 years agolog: Don't confuse process sending a partial log line to process sending logs too...
Timo Sirainen [Sat, 25 Apr 2015 09:07:44 +0000 (12:07 +0300)] 
log: Don't confuse process sending a partial log line to process sending logs too fast.
If it's a partial line we don't want to show the "service too fast" error in
ps title.

10 years agolib: Fixed crash in connection API if input streams aren't used (only input fd).
Timo Sirainen [Sat, 25 Apr 2015 08:52:02 +0000 (11:52 +0300)] 
lib: Fixed crash in connection API if input streams aren't used (only input fd).

10 years agolib: Fixed test-istream-unix to not send uninitialized bytes.
Timo Sirainen [Sat, 25 Apr 2015 08:40:23 +0000 (11:40 +0300)] 
lib: Fixed test-istream-unix to not send uninitialized bytes.
Fixes Valgrind errors in make check.

10 years agoimap: Code cleanup: Moved IDLE keepalive timer calculation to lib-imap.
Timo Sirainen [Sat, 25 Apr 2015 08:27:17 +0000 (11:27 +0300)] 
imap: Code cleanup: Moved IDLE keepalive timer calculation to lib-imap.

10 years agolib: Added istream-unix for reading fd sockets via istream.
Timo Sirainen [Sat, 25 Apr 2015 08:23:00 +0000 (11:23 +0300)] 
lib: Added istream-unix for reading fd sockets via istream.

10 years agolib: Added numpack_decode32()
Timo Sirainen [Sat, 25 Apr 2015 08:22:39 +0000 (11:22 +0300)] 
lib: Added numpack_decode32()

10 years agofts: Fixed infinite looping at deinit.
Timo Sirainen [Fri, 24 Apr 2015 13:03:51 +0000 (16:03 +0300)] 
fts: Fixed infinite looping at deinit.
fts_mail_user_deinit() was calling itself. Now the fts backend is
responsible for calling it at deinit.

10 years agodoveadm fs delete -R: Fixed infinite looping when deleting a lot of files with some...
Timo Sirainen [Fri, 24 Apr 2015 12:45:42 +0000 (15:45 +0300)] 
doveadm fs delete -R: Fixed infinite looping when deleting a lot of files with some backends.
After file was deleted, we closed it. Then later on we tried to delete it
all over again.

10 years agodoveadm fs delete -R: When deleting directories, include "/" suffix in the name.
Timo Sirainen [Fri, 24 Apr 2015 12:41:55 +0000 (15:41 +0300)] 
doveadm fs delete -R: When deleting directories, include "/" suffix in the name.

10 years agolmtp: Added lmtp_hdr_delivery_address=final|original|none setting.
Timo Sirainen [Fri, 24 Apr 2015 12:13:59 +0000 (15:13 +0300)] 
lmtp: Added lmtp_hdr_delivery_address=final|original|none setting.
This controls what username is used for logging Delivered-To: header and the
"for user@domain" in Received: header. The default "final" is the regular
username as earlier, "original" logs the RFC822 address received via ORCPT
parameter or fallbacks to username, "none" logs nothing.

10 years agodoveadm-server: Fixed returning command input stream when its data was already in...
Timo Sirainen [Fri, 24 Apr 2015 11:47:43 +0000 (14:47 +0300)] 
doveadm-server: Fixed returning command input stream when its data was already in the input stream.

10 years agofts-solr: fts_solr=use_libfts send data to Solr via space-separated tokens.
Timo Sirainen [Fri, 24 Apr 2015 11:25:06 +0000 (14:25 +0300)] 
fts-solr: fts_solr=use_libfts send data to Solr via space-separated tokens.
In this case Solr should be configured to not do any kind of filtering and
use only WhitespaceTokenizerFactory.

10 years agofts: Minor error messagage prefix change.
Timo Sirainen [Fri, 24 Apr 2015 11:08:51 +0000 (14:08 +0300)] 
fts: Minor error messagage prefix change.

10 years agofts: Don't always try to initialize lib-fts. Require backend to explictly do it now.
Timo Sirainen [Fri, 24 Apr 2015 11:08:39 +0000 (14:08 +0300)] 
fts: Don't always try to initialize lib-fts. Require backend to explictly do it now.

10 years agofts: Install fts-user.h header
Timo Sirainen [Fri, 24 Apr 2015 11:03:01 +0000 (14:03 +0300)] 
fts: Install fts-user.h header

10 years agofts: Replace '-' with '_' in filter-specific fts_filters_* settings.
Timo Sirainen [Fri, 24 Apr 2015 10:10:17 +0000 (13:10 +0300)] 
fts: Replace '-' with '_' in filter-specific fts_filters_* settings.
So for example using fts_filters_normalizer_icu instead of
fts_filters_normalizer-icu.

10 years agolib-fs: Use the new t_str_replace() instead of doing it ourself.
Timo Sirainen [Fri, 24 Apr 2015 10:08:16 +0000 (13:08 +0300)] 
lib-fs: Use the new t_str_replace() instead of doing it ourself.

10 years agolib: Added t_str_replace() to replace one character with another one
Timo Sirainen [Fri, 24 Apr 2015 10:07:39 +0000 (13:07 +0300)] 
lib: Added t_str_replace() to replace one character with another one

10 years agodict: Fixed unescaping strings from lib-dict.
Timo Sirainen [Thu, 23 Apr 2015 18:32:43 +0000 (21:32 +0300)] 
dict: Fixed unescaping strings from lib-dict.
This may potentially break backwards compatibility with someone, but it's
probably pretty rare that anybody is yet using dict proxy with multi-line
fields. Also even though the current behavior happens to work, it's very
much non-ideal and can be potentially dangerous.

10 years agoauth: Don't assert-crash if master user login attempts to use empty login username.
Timo Sirainen [Thu, 23 Apr 2015 18:26:50 +0000 (21:26 +0300)] 
auth: Don't assert-crash if master user login attempts to use empty login username.

10 years agolib-storage: mail_search_args_simplify() handles now SEARCH_HEADER*/TEXT/BODY
Timo Sirainen [Thu, 23 Apr 2015 18:19:54 +0000 (21:19 +0300)] 
lib-storage: mail_search_args_simplify() handles now SEARCH_HEADER*/TEXT/BODY
These are especially useful with lib-fts, where stemming and other filtering
can produce duplicates. There's some internal deduplication, but it doesn't
catch all of these.

10 years agolib-storage: mail_search_args_simplify() handles now SEARCH_SMALLER/LARGER
Timo Sirainen [Thu, 23 Apr 2015 18:00:43 +0000 (21:00 +0300)] 
lib-storage: mail_search_args_simplify() handles now SEARCH_SMALLER/LARGER

10 years agolib-storage: mail_search_args_simplify() handles now SEARCH_BEFORE/ON/SINCE
Timo Sirainen [Thu, 23 Apr 2015 17:50:23 +0000 (20:50 +0300)] 
lib-storage: mail_search_args_simplify() handles now SEARCH_BEFORE/ON/SINCE

10 years agolib-storage: mail_search_args_simplify() merges now seqsets and uidsets.
Timo Sirainen [Thu, 23 Apr 2015 17:16:54 +0000 (20:16 +0300)] 
lib-storage: mail_search_args_simplify() merges now seqsets and uidsets.

10 years agolib-storage: If mail_search_args_simplify() merges flags, check again if any SUBs...
Timo Sirainen [Thu, 23 Apr 2015 16:49:49 +0000 (19:49 +0300)] 
lib-storage: If mail_search_args_simplify() merges flags, check again if any SUBs can be removed.
The subquery may have been replaced with a single SEARCH_FLAGS parameter.

10 years agolib-storage: Makefile fixes for previous test programs
Timo Sirainen [Thu, 23 Apr 2015 16:42:13 +0000 (19:42 +0300)] 
lib-storage: Makefile fixes for previous test programs

10 years agoimapc: Don't write SEARCH YOUNGER/OLDER queries if server doesn't support WITHIN...
Timo Sirainen [Thu, 23 Apr 2015 16:37:25 +0000 (19:37 +0300)] 
imapc: Don't write SEARCH YOUNGER/OLDER queries if server doesn't support WITHIN extension

10 years agolib-storage: Moved mail_search_args_simplify() to its own file and added unit tests.
Timo Sirainen [Thu, 23 Apr 2015 16:29:43 +0000 (19:29 +0300)] 
lib-storage: Moved mail_search_args_simplify() to its own file and added unit tests.
No functional changes.

10 years agoimapc: Use mail_search_arg_to_imap() to write IMAP SEARCH parameters.
Timo Sirainen [Thu, 23 Apr 2015 16:28:04 +0000 (19:28 +0300)] 
imapc: Use mail_search_arg_to_imap() to write IMAP SEARCH parameters.
This also fixes a few bugs, since some of the search parameters weren't
written entirely correctly.

10 years agolib-storage: Added mail_search_args_to_imap()
Timo Sirainen [Thu, 23 Apr 2015 16:24:50 +0000 (19:24 +0300)] 
lib-storage: Added mail_search_args_to_imap()
Useful for writing IMAP SEARCH parameters from struct mail_search_arg.

10 years agolib-storage: Added mail_thread_type_to_str()
Timo Sirainen [Thu, 23 Apr 2015 16:20:00 +0000 (19:20 +0300)] 
lib-storage: Added mail_thread_type_to_str()

10 years agolib-imap: Added imap_to_date()
Timo Sirainen [Thu, 23 Apr 2015 16:19:10 +0000 (19:19 +0300)] 
lib-imap: Added imap_to_date()

10 years agolib-storage: Fixed assert-crash with mailbox_list_index=yes if root mailbox name...
Timo Sirainen [Thu, 23 Apr 2015 13:33:19 +0000 (16:33 +0300)] 
lib-storage: Fixed assert-crash with mailbox_list_index=yes if root mailbox name was empty.
This happened if the index was used for a non-listable namespace whose
prefix started with the namespace separator (e.g. prefix="/expunged/")

10 years agoimapc: After auth failed, return failure immediately when opening a mailbox.
Timo Sirainen [Thu, 23 Apr 2015 10:37:22 +0000 (13:37 +0300)] 
imapc: After auth failed, return failure immediately when opening a mailbox.
Instead of trying to re-authenticate which again will most likely fail.
Based on patch by Michael M Slusarz

10 years agolib-storage: Small code cleanup for index_mail_get_binary_stream()
Timo Sirainen [Thu, 23 Apr 2015 10:27:17 +0000 (13:27 +0300)] 
lib-storage: Small code cleanup for index_mail_get_binary_stream()
stream_r is always non-NULL here. Also move unreferencing cache istream to
be last in case it might fix data.stream=NULL being here in some situations.

10 years agolib: Fixed reference counting in iostream-rawlog if either i/ostream wasn't used.
Timo Sirainen [Thu, 23 Apr 2015 10:01:50 +0000 (13:01 +0300)] 
lib: Fixed reference counting in iostream-rawlog if either i/ostream wasn't used.

10 years agolib: iostream_rawlog_create_from_stream() now allows input or output to be NULL.
Timo Sirainen [Thu, 23 Apr 2015 08:40:03 +0000 (11:40 +0300)] 
lib: iostream_rawlog_create_from_stream() now allows input or output to be NULL.

10 years agolib-storage: Fixed subscription file reading when file was (nearly) empty.
Timo Sirainen [Thu, 23 Apr 2015 08:20:53 +0000 (11:20 +0300)] 
lib-storage: Fixed subscription file reading when file was (nearly) empty.
Broken by the earlier changes.

10 years agolib-storage: Added support for subscriptions file version 2 format.
Timo Sirainen [Wed, 22 Apr 2015 15:17:10 +0000 (18:17 +0300)] 
lib-storage: Added support for subscriptions file version 2 format.
The v2 format's main benefit is that it doesn't write the hierarchy
separator to the subscriptions file, which allows the separator to be
changed without breaking subscriptions. This mainly affects LAYOUT=INDEX,
which doesn't have a native hardcoded separator.

The plan is to start writing v2 subscription files in Dovecot v2.3. So for
now we simply read such files and if we find v2 file we also modify it in v2
format, but we never create new v2 format files or convert v0 to v2.

10 years agofts-lucene: Fix to earlier commit: Header names must be indexed without libfts, not...
Timo Sirainen [Tue, 21 Apr 2015 20:00:08 +0000 (23:00 +0300)] 
fts-lucene: Fix to earlier commit: Header names must be indexed without libfts, not with.

10 years agofts-lucene: Optionally use lib-fts instead of CLucene's own analyzers.
Timo Sirainen [Tue, 21 Apr 2015 18:29:42 +0000 (21:29 +0300)] 
fts-lucene: Optionally use lib-fts instead of CLucene's own analyzers.
fts_lucene = use_libfts enables this.

10 years agofts: If backend has FTS_BACKEND_FLAG_TOKENIZED_INPUT set, index also the header name.
Timo Sirainen [Tue, 21 Apr 2015 18:28:41 +0000 (21:28 +0300)] 
fts: If backend has FTS_BACKEND_FLAG_TOKENIZED_INPUT set, index also the header name.
We were sending the hdr_name to the backend without tokenizing it or
filtering it, so the backend couldn't have done anything useful about it.

10 years agolib-fs: Fixed fs-posix to work with fs_iter_init(path="") when fs prefix wasn't set.
Timo Sirainen [Tue, 21 Apr 2015 17:59:48 +0000 (20:59 +0300)] 
lib-fs: Fixed fs-posix to work with fs_iter_init(path="") when fs prefix wasn't set.