]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
10 years agolib-fts: Removed make_uchar() return value.
Teemu Huovila [Sat, 9 May 2015 08:10:31 +0000 (11:10 +0300)] 
lib-fts: Removed make_uchar() return value.
It was already de facto meaningless, so best we remove it.

10 years agolib-fts: normalizer-icu now delays initialization of libicu.
Teemu Huovila [Sat, 9 May 2015 08:09:37 +0000 (11:09 +0300)] 
lib-fts: normalizer-icu now delays initialization of libicu.
This way the normalizer can be quickly created even if it's never even used.

10 years agofts: Change filter API to be able to return errors
Teemu Huovila [Sat, 9 May 2015 08:06:45 +0000 (11:06 +0300)] 
fts: Change filter API to be able to return errors

Modify fts_filter_filter() to return integer status codes. It returns
1 if a token was returned, 0 if it was filtered away and -1 on error.

10 years agofts: Change tokenizer API to be able to return errors
Teemu Huovila [Sat, 9 May 2015 08:05:04 +0000 (11:05 +0300)] 
fts: Change tokenizer API to be able to return errors

Modify fts_tokenizer_next() to return integer status codes. It returns
1 if a token was returned in *token_r, 0 if more input is needed and -1
on error.

10 years agofts: Replace '-' with '_' in tokenizer-specific fts_tokenizers_* settings
Teemu Huovila [Sat, 9 May 2015 08:03:21 +0000 (11:03 +0300)] 
fts: Replace '-' with '_' in tokenizer-specific fts_tokenizers_* settings

10 years agofts: Create tokenizers differently
Teemu Huovila [Sat, 9 May 2015 08:02:22 +0000 (11:02 +0300)] 
fts: Create tokenizers differently

Create tokenizers earlier. Create separate tokenizers for search
and indexing. Enable configuration of tokenizers. Add some helpers
in fts-tokenizer.h api. Change tokenizer unit tests to match
those changes.

lib-fts: Refactor lib-fts settings a bit

Turned address tokenizer settings into "boolean" values. Changed
have_parent to "no_parent" and added "search" setting. Added
documentation in fts-tokenizer.h. Change unit tests accordingly.

10 years agofts: Create filters earlier
Teemu Huovila [Sat, 9 May 2015 07:53:25 +0000 (10:53 +0300)] 
fts: Create filters earlier

This builds on the assumption that early initialization will be made
less costly, in a coming change.

10 years agofts: Fixed handling NOT when using lib-fts
Timo Sirainen [Fri, 8 May 2015 13:00:16 +0000 (16:00 +0300)] 
fts: Fixed handling NOT when using lib-fts

10 years agodsync: Stop running if SIGINT/SIGTERM is received.
Timo Sirainen [Fri, 8 May 2015 11:47:26 +0000 (14:47 +0300)] 
dsync: Stop running if SIGINT/SIGTERM is received.

10 years agoMoved fs-compress from lib-fs to lib-compression.
Timo Sirainen [Fri, 8 May 2015 07:44:18 +0000 (10:44 +0300)] 
Moved fs-compress from lib-fs to lib-compression.
This solves build ordering issues.

10 years agolib-fs: Fixed fs-compress code to actually build and run.
Timo Sirainen [Thu, 7 May 2015 17:35:23 +0000 (20:35 +0300)] 
lib-fs: Fixed fs-compress code to actually build and run.
It's a plugin (because it depends on extra compression libraries). We want
to register it only when it's explicitly attempted to be used, not before.

10 years agolib-fs: Added fs-compress wrapper.
Timo Sirainen [Thu, 7 May 2015 17:25:44 +0000 (20:25 +0300)] 
lib-fs: Added fs-compress wrapper.
Future TODO could include automatically detecting the format of the input
file, but this should be optional.

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()