]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
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.

10 years agolib-fts: Added normalizer-simple for doing normalization without libicu.
Timo Sirainen [Tue, 21 Apr 2015 17:16:36 +0000 (20:16 +0300)] 
lib-fts: Added normalizer-simple for doing normalization without libicu.

10 years agolib-fts: Fixed test-fts-filter to work again after previous normalizer changes.
Timo Sirainen [Tue, 21 Apr 2015 16:40:42 +0000 (19:40 +0300)] 
lib-fts: Fixed test-fts-filter to work again after previous normalizer changes.

10 years agolib-fts: Renamed normalizer to icu-normalizer, including the source code.
Timo Sirainen [Tue, 21 Apr 2015 16:36:27 +0000 (19:36 +0300)] 
lib-fts: Renamed normalizer to icu-normalizer, including the source code.

10 years agoconfigure: s/normalizer/libicu/ since we it could be used for something else as well.
Timo Sirainen [Tue, 21 Apr 2015 16:31:14 +0000 (19:31 +0300)] 
configure: s/normalizer/libicu/ since we it could be used for something else as well.

10 years agolmtp proxy: Include in log messages how long it took to deliver the mail.
Timo Sirainen [Tue, 21 Apr 2015 14:01:39 +0000 (17:01 +0300)] 
lmtp proxy: Include in log messages how long it took to deliver the mail.
In multi-RCPT TO sessions it's a bit unreliable to split the single DATA
reply's times to multiple lines, so instead each line just says
"(2/3 at 123 ms)" meaning that the second mail was delivered at the time
when 123 milliseconds had elapsed since the delivery was started.

10 years agolib-lda: Assume that the caller sets delivery_time_started
Timo Sirainen [Tue, 21 Apr 2015 13:54:51 +0000 (16:54 +0300)] 
lib-lda: Assume that the caller sets delivery_time_started
This is required because parts of the delivery time may be done at the time
the user is being initialized, so it needs to be set before the user init is
done.

10 years agolib-lda: mail_deliver_log() now updates the %{delivery_time} instead of using the...
Timo Sirainen [Tue, 21 Apr 2015 13:52:59 +0000 (16:52 +0300)] 
lib-lda: mail_deliver_log() now updates the %{delivery_time} instead of using the first cached value.
The first time the cached values are set the transaction isn't committed and
the mailbox isn't synced.

10 years agolib-lda: Added lmtp-client to track timestamps when various events happen.
Timo Sirainen [Tue, 21 Apr 2015 13:50:43 +0000 (16:50 +0300)] 
lib-lda: Added lmtp-client to track timestamps when various events happen.

10 years agoimap: Finishing previous commit by removing now-unnecessary code.
Timo Sirainen [Tue, 21 Apr 2015 11:08:12 +0000 (14:08 +0300)] 
imap: Finishing previous commit by removing now-unnecessary code.

10 years agoimap: Removed separate time counting from SELECT and SEARCH commands.
Timo Sirainen [Tue, 21 Apr 2015 11:06:41 +0000 (14:06 +0300)] 
imap: Removed separate time counting from SELECT and SEARCH commands.

10 years agoimap: Include in tagged reply how much running time each IMAP command takes.
Timo Sirainen [Tue, 21 Apr 2015 11:06:22 +0000 (14:06 +0300)] 
imap: Include in tagged reply how much running time each IMAP command takes.
The running time doesn't include time spent waiting for the client on
ioloop.

10 years agoimap: Small code cleanup.
Timo Sirainen [Tue, 21 Apr 2015 11:03:52 +0000 (14:03 +0300)] 
imap: Small code cleanup.
Removed all the checks of CLIENT_COMMAND_STATE_DONE to command_exec()
itself.

10 years agolda, lmtp: Added delivery_time and session_time variables to deliver_log_format
Timo Sirainen [Tue, 21 Apr 2015 10:19:24 +0000 (13:19 +0300)] 
lda, lmtp: Added delivery_time and session_time variables to deliver_log_format
session_time is meaningful only with LMTP. The delivery_time is separate for
each mail delivery. The results are in milliseconds now. If needed we could
add a new %modifier that converts it into secs.millisecs.

10 years agostats: num_cmds was always 0 in global stats
Timo Sirainen [Tue, 21 Apr 2015 08:13:51 +0000 (11:13 +0300)] 
stats: num_cmds was always 0 in global stats

10 years agolib-fts: Added udhr_fra.txt to EXTRA_DIST
Timo Sirainen [Tue, 21 Apr 2015 06:59:32 +0000 (09:59 +0300)] 
lib-fts: Added udhr_fra.txt to EXTRA_DIST

10 years agolib-fts: Added PropList.txt to EXTRA_DIST
Timo Sirainen [Mon, 20 Apr 2015 16:57:37 +0000 (19:57 +0300)] 
lib-fts: Added PropList.txt to EXTRA_DIST

10 years agolib-fts requires libexttextcat actually - don't even try to use textcat for it.
Timo Sirainen [Mon, 20 Apr 2015 15:08:56 +0000 (18:08 +0300)] 
lib-fts requires libexttextcat actually - don't even try to use textcat for it.
I'm also not sure yet if some libexttextcats are too old for it.

10 years agolib-fts: Updated Finnish/French stopword lists from Lucene code.
Timo Sirainen [Mon, 20 Apr 2015 15:02:31 +0000 (18:02 +0300)] 
lib-fts: Updated Finnish/French stopword lists from Lucene code.
Most importantly they added the licensing info to the files.

10 years agolib-fts: Fixed using FTS_NORMALIZER_CFLAGS/LIBS.
Timo Sirainen [Mon, 20 Apr 2015 14:45:32 +0000 (17:45 +0300)] 
lib-fts: Fixed using FTS_NORMALIZER_CFLAGS/LIBS.

10 years agolib-fts: Don't crash in test-fts-filter if libstemmer support isn't built in
Timo Sirainen [Mon, 20 Apr 2015 14:44:21 +0000 (17:44 +0300)] 
lib-fts: Don't crash in test-fts-filter if libstemmer support isn't built in

10 years agolib-fts: Fixed some wrong macro name checks.
Timo Sirainen [Mon, 20 Apr 2015 14:43:32 +0000 (17:43 +0300)] 
lib-fts: Fixed some wrong macro name checks.
Forgot to change these ones while renaming them..

10 years agolib-fts: Added missing stopwords_fi.txt
Timo Sirainen [Mon, 20 Apr 2015 14:40:12 +0000 (17:40 +0300)] 
lib-fts: Added missing stopwords_fi.txt

10 years agolib-fts: Fixed test-fts-language to use TEXTCAT_DATADIR
Timo Sirainen [Mon, 20 Apr 2015 14:33:09 +0000 (17:33 +0300)] 
lib-fts: Fixed test-fts-language to use TEXTCAT_DATADIR
This may still make too many assumptions about what data exists where.. So
we may need to remove this test from "make check". But for now leave it
there.

10 years agoconfigure: Fixed building without textcat.
Timo Sirainen [Mon, 20 Apr 2015 14:24:37 +0000 (17:24 +0300)] 
configure: Fixed building without textcat.

10 years agoconfigure: Added Debian Wheezy workaround for finding textcat.h
Timo Sirainen [Mon, 20 Apr 2015 14:08:42 +0000 (17:08 +0300)] 
configure: Added Debian Wheezy workaround for finding textcat.h

10 years agolib-fts: Fixed default textcat datadir paths.
Timo Sirainen [Mon, 20 Apr 2015 14:01:12 +0000 (17:01 +0300)] 
lib-fts: Fixed default textcat datadir paths.

10 years agoconfigure: Fixed linking with libexttextcat when it was found via pkg-config
Timo Sirainen [Mon, 20 Apr 2015 13:34:31 +0000 (16:34 +0300)] 
configure: Fixed linking with libexttextcat when it was found via pkg-config

10 years agofts: Added FTS_BACKEND_FLAG_TOKENIZED_INPUT, which is implemented via lib-fts.
Timo Sirainen [Mon, 20 Apr 2015 13:22:36 +0000 (16:22 +0300)] 
fts: Added FTS_BACKEND_FLAG_TOKENIZED_INPUT, which is implemented via lib-fts.

10 years agoInitial import for lib-fts.
Timo Sirainen [Mon, 20 Apr 2015 13:19:07 +0000 (16:19 +0300)] 
Initial import for lib-fts.
Parts of what this code does was already implemented internally by
fts-lucene. lib-fts is intended to be usable for all the FTS backends. The
APIs are still going to change a bit, but hopefully not after v2.2.17
release.

Mostly written by Teemu Huovila.

10 years agoconfigure: Fixed/improved finding and using libexttextcat.
Timo Sirainen [Mon, 20 Apr 2015 12:27:02 +0000 (15:27 +0300)] 
configure: Fixed/improved finding and using libexttextcat.
libexttextcat wasn't actually being used at all by fts-lucene. Now we'll
first prefer finding it via pkg-config, next finding exttextcat and only
last look up textcat.

10 years agoconfigure: Stemmer and textcat checks are now done even if CLucene isn't used.
Timo Sirainen [Mon, 20 Apr 2015 12:12:14 +0000 (15:12 +0300)] 
configure: Stemmer and textcat checks are now done even if CLucene isn't used.
They'll be useful for other FTS backends as well. This patch doesn't change
any actual functionality.

10 years agofts: Code cleanup to do all index updates via fts_build_data()
Timo Sirainen [Mon, 20 Apr 2015 12:02:04 +0000 (15:02 +0300)] 
fts: Code cleanup to do all index updates via fts_build_data()
This doesn't actually change the behavior.

10 years agodoveadm fs delete -R: Don't add extra '/' chars in the middle of paths
Timo Sirainen [Fri, 17 Apr 2015 08:52:24 +0000 (11:52 +0300)] 
doveadm fs delete -R: Don't add extra '/' chars in the middle of paths

10 years agodovecot-config: Added lib-stats to LIBDOVECOT_INCLUDE
Timo Sirainen [Fri, 17 Apr 2015 08:20:23 +0000 (11:20 +0300)] 
dovecot-config: Added lib-stats to LIBDOVECOT_INCLUDE

10 years agolib-fs: fs_class_register() can now be called externally.
Timo Sirainen [Thu, 16 Apr 2015 15:20:15 +0000 (18:20 +0300)] 
lib-fs: fs_class_register() can now be called externally.

10 years agodoveadm mailbox metadata: The keys must always be lowercased.
Timo Sirainen [Thu, 16 Apr 2015 11:19:51 +0000 (14:19 +0300)] 
doveadm mailbox metadata: The keys must always be lowercased.
The keys need to be case-insensitive in IMAP, so the IMAP code always also
lowercases them.

10 years agostats: Fixed compiling with some OSes.
Timo Sirainen [Thu, 16 Apr 2015 09:59:05 +0000 (12:59 +0300)] 
stats: Fixed compiling with some OSes.
struct timeval wasn't necessarily already defined by existing includes.

10 years agolib: test-array build warnings on Solaris 10
Phil Carmody [Thu, 16 Apr 2015 08:46:22 +0000 (11:46 +0300)] 
lib: test-array build warnings on Solaris 10
Solaris cc doesn't think I've read N1570 6.7.9p11, 6.5.16.1p2, and 6.3.1.3p2,
and wants to save me from myself.

Reported-by: Juergen Obermann <http://www.dovecot.org/list/dovecot/2015-April/100427.html>
Signed-off-by: Phil Carmody <phil@dovecot.fi>
10 years agoimapc: Added imapc_features=zimbra-workarounds
Timo Sirainen [Wed, 15 Apr 2015 18:01:11 +0000 (21:01 +0300)] 
imapc: Added imapc_features=zimbra-workarounds
Zimbra (at least v5.0.18_GA_3011.RHEL4_64) can return different headers
depending on whether the whole message body was fetched or only (partial)
headers. This probably happens only for invalid characters that are
translated into '?'. With this workaround enabled we don't use FETCH
BODY.PEEK[], but we do FETCH (BODY.PEEK[HEADER] BODY.PEEK[TEXT]) and merge
the results together. This way the results are always consistent and headers
don't suddenly change.

10 years agodict-file: Use tabescaping for keys and values to allow LFs in them.
Timo Sirainen [Tue, 14 Apr 2015 06:58:01 +0000 (09:58 +0300)] 
dict-file: Use tabescaping for keys and values to allow LFs in them.
Although this makes the format slightly incompatible, it's doubtful anybody
is using dict values containing \001 characters.

10 years agoauth: If passdb/userdb changes the username, add the changed username also to the...
Timo Sirainen [Mon, 13 Apr 2015 17:38:10 +0000 (20:38 +0300)] 
auth: If passdb/userdb changes the username, add the changed username also to the cache.

10 years agoauth: Setting userdb fields from cache didn't set handle any special fields.
Timo Sirainen [Mon, 13 Apr 2015 17:37:48 +0000 (20:37 +0300)] 
auth: Setting userdb fields from cache didn't set handle any special fields.
The special fields were relatively rarely used though.

10 years agoreplication plugin: Don't crash for users who don't have replication enabled.
Timo Sirainen [Mon, 13 Apr 2015 07:04:47 +0000 (10:04 +0300)] 
replication plugin: Don't crash for users who don't have replication enabled.

10 years agolib: Added json-tree API for parsing JSON input into a tree structure.
Timo Sirainen [Wed, 8 Apr 2015 04:55:35 +0000 (13:55 +0900)] 
lib: Added json-tree API for parsing JSON input into a tree structure.
This makes it easier to access complicated JSON structs that can fit into
memory.

10 years agolib-index: Added reason_r parameter to mail_transaction_log_view_set()
Timo Sirainen [Mon, 6 Apr 2015 03:07:32 +0000 (12:07 +0900)] 
lib-index: Added reason_r parameter to mail_transaction_log_view_set()
This is used to improve some of the error messages about index corruption.