]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
10 years agolib-fts: Added "english-possessive" filter.
Timo Sirainen [Tue, 2 Jun 2015 22:04:49 +0000 (01:04 +0300)] 
lib-fts: Added "english-possessive" filter.

10 years agolib-fts: Use UTF8_IS_START_SEQ()
Timo Sirainen [Tue, 2 Jun 2015 22:04:07 +0000 (01:04 +0300)] 
lib-fts: Use UTF8_IS_START_SEQ()

10 years agolib: Added UTF8_IS_START_SEQ() helper macro
Timo Sirainen [Tue, 2 Jun 2015 22:03:52 +0000 (01:03 +0300)] 
lib: Added UTF8_IS_START_SEQ() helper macro

10 years agolib-fts: fts-filter API changed to have a non-pointer vfuncs variable.
Timo Sirainen [Tue, 2 Jun 2015 21:46:23 +0000 (00:46 +0300)] 
lib-fts: fts-filter API changed to have a non-pointer vfuncs variable.
The main benefit being that the fts-filter implementations can save a few
lines of code.

10 years agolib-fts: fts-lowercase can now use the default destroy function.
Timo Sirainen [Tue, 2 Jun 2015 21:43:51 +0000 (00:43 +0300)] 
lib-fts: fts-lowercase can now use the default destroy function.

10 years agolib-fts: Implemented default create/destory functions for fts-filters.
Timo Sirainen [Tue, 2 Jun 2015 21:43:28 +0000 (00:43 +0300)] 
lib-fts: Implemented default create/destory functions for fts-filters.

10 years agolib-fts: Moved IS_APOSTROPHE() to fts-common.h
Timo Sirainen [Tue, 2 Jun 2015 21:39:11 +0000 (00:39 +0300)] 
lib-fts: Moved IS_APOSTROPHE() to fts-common.h

10 years agoexample-config: Updated deliver_log_format comments
Timo Sirainen [Tue, 2 Jun 2015 20:46:28 +0000 (23:46 +0300)] 
example-config: Updated deliver_log_format comments

10 years agolib-lda: Added %{to_envelope} to deliver_log_format
Timo Sirainen [Tue, 2 Jun 2015 20:43:05 +0000 (23:43 +0300)] 
lib-lda: Added %{to_envelope} to deliver_log_format

10 years agolib-fts: Compiling fix without libicu
Timo Sirainen [Tue, 2 Jun 2015 20:35:23 +0000 (23:35 +0300)] 
lib-fts: Compiling fix without libicu

10 years agolib-fts: Avoid compiler warning when building without libicu
Timo Sirainen [Tue, 2 Jun 2015 20:28:35 +0000 (23:28 +0300)] 
lib-fts: Avoid compiler warning when building without libicu

10 years agoimapc: If auth fails due to connection failure, don't treat it the same as failed...
Timo Sirainen [Tue, 2 Jun 2015 19:47:21 +0000 (22:47 +0300)] 
imapc: If auth fails due to connection failure, don't treat it the same as failed login.

10 years agolib-fts: Fixed compiling without libicu
Timo Sirainen [Tue, 2 Jun 2015 19:20:03 +0000 (22:20 +0300)] 
lib-fts: Fixed compiling without libicu

10 years agolib-fts: Added more supported languages.
Timo Sirainen [Tue, 2 Jun 2015 19:16:46 +0000 (22:16 +0300)] 
lib-fts: Added more supported languages.
This includes now all the ones that are currently supported by both snowball
and exttextcat.

10 years agolib-fts: Optimized truncation of partial trailing UTF-8 characters in tokenizers.
Timo Sirainen [Tue, 2 Jun 2015 19:01:07 +0000 (22:01 +0300)] 
lib-fts: Optimized truncation of partial trailing UTF-8 characters in tokenizers.

10 years agolib-fts: Use fts_icu_lcase() for fts-filter-lowercase if possible.
Timo Sirainen [Tue, 2 Jun 2015 18:56:29 +0000 (21:56 +0300)] 
lib-fts: Use fts_icu_lcase() for fts-filter-lowercase if possible.

10 years agolib-fts: Added string_t *token to struct fts_filter
Timo Sirainen [Tue, 2 Jun 2015 18:56:03 +0000 (21:56 +0300)] 
lib-fts: Added string_t *token to struct fts_filter
This makes the work a bit easier for simple filters that don't need any
state but want to use a string_t.

10 years agolib-fts: Added fts_icu_lcase()
Timo Sirainen [Tue, 2 Jun 2015 18:54:52 +0000 (21:54 +0300)] 
lib-fts: Added fts_icu_lcase()

10 years agolib-fts: Do all the ICU cleanup in fts_icu_deinit().
Timo Sirainen [Tue, 2 Jun 2015 18:49:46 +0000 (21:49 +0300)] 
lib-fts: Do all the ICU cleanup in fts_icu_deinit().

10 years agolib-fts: Include fts-filter.h in fts-filter-private.h
Timo Sirainen [Tue, 2 Jun 2015 18:45:46 +0000 (21:45 +0300)] 
lib-fts: Include fts-filter.h in fts-filter-private.h
This avoids having to always include them both.

10 years agolib-fts: Renamed variable.
Timo Sirainen [Tue, 2 Jun 2015 18:43:27 +0000 (21:43 +0300)] 
lib-fts: Renamed variable.
This is a lowercase-filter, not a normalizer.

10 years agolib-fts: Removed unnecessary array.h include from fts-filter.h
Timo Sirainen [Tue, 2 Jun 2015 18:41:46 +0000 (21:41 +0300)] 
lib-fts: Removed unnecessary array.h include from fts-filter.h

10 years agolib-fts: Fixed tr29 tokenizer to delete last character correctly when it's preceded...
Timo Sirainen [Tue, 2 Jun 2015 17:50:23 +0000 (20:50 +0300)] 
lib-fts: Fixed tr29 tokenizer to delete last character correctly when it's preceded by non-ASCII

10 years agopop3-login: Added support for Zimbra proxy's XOIP command.
Timo Sirainen [Tue, 2 Jun 2015 16:59:45 +0000 (19:59 +0300)] 
pop3-login: Added support for Zimbra proxy's XOIP command.

10 years agofts: If we fail while indexing headers, return failure immediately.
Timo Sirainen [Tue, 2 Jun 2015 16:52:37 +0000 (19:52 +0300)] 
fts: If we fail while indexing headers, return failure immediately.

10 years agofts: Error logging fix.
Timo Sirainen [Tue, 2 Jun 2015 16:52:15 +0000 (19:52 +0300)] 
fts: Error logging fix.
1) We were logging the error after it was already freed from data stack.
2) We were logging uninitialized error string when fts indexing was the one
that failed.

10 years agofts: Fixed memory leak at deinit when using multiple fts plugins at the same time...
Timo Sirainen [Mon, 1 Jun 2015 23:39:20 +0000 (02:39 +0300)] 
fts: Fixed memory leak at deinit when using multiple fts plugins at the same time using libfts.

10 years agolib-fts: Correct comment in filter internal API.
Teemu Huovila [Mon, 1 Jun 2015 23:26:44 +0000 (02:26 +0300)] 
lib-fts: Correct comment in filter internal API.

10 years agolib-fts: Call libicu u_cleanup.
Teemu Huovila [Mon, 1 Jun 2015 23:26:44 +0000 (02:26 +0300)] 
lib-fts: Call libicu u_cleanup.

10 years agovarious: use new uni_utf8_get_char*() interface
Phil Carmody [Mon, 1 Jun 2015 19:16:19 +0000 (22:16 +0300)] 
various: use new uni_utf8_get_char*() interface
No need for additional uni_utf8_char_bytes() calls if you can parse and
know the size with one call.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
10 years agolib-fts: Use new uni_utf8_get_char*() interface
Timo Sirainen [Mon, 1 Jun 2015 19:14:19 +0000 (22:14 +0300)] 
lib-fts: Use new uni_utf8_get_char*() interface

10 years agolib: Improved unit test for uni_utf8_get_char() return value check.
Timo Sirainen [Mon, 1 Jun 2015 19:11:55 +0000 (22:11 +0300)] 
lib: Improved unit test for uni_utf8_get_char() return value check.

10 years agolib: API change - have uni_utf8_get_char*() return _char_bytes
Phil Carmody [Mon, 1 Jun 2015 19:08:43 +0000 (22:08 +0300)] 
lib: API change - have uni_utf8_get_char*() return _char_bytes
Often the two functions are called in close proximity (both ways round). As
_get_char*() calls _char_bytes() early on the success path, we may as well
return that value to the caller for immediate use.

The callers which call _char_bytes() first are simply rejecting the truncated
case quickly - all other invalid cases still call both functions, and all
other valid cases (which should be the fast path) likewise call both.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
10 years agofts-solr: laxer check of uni_utf8_get_char_n() return value
Phil Carmody [Mon, 1 Jun 2015 19:08:27 +0000 (22:08 +0300)] 
fts-solr: laxer check of uni_utf8_get_char_n() return value
If uni_utf8_get_char*() were changed to return the number of bytes in the
character on success, then all we care about is it being > 0 (i.e. not
error, not truncated).

Signed-off-by: Phil Carmody <phil@dovecot.fi>
10 years agolib: test-unichar - test invalid utf8 encodings
Phil Carmody [Mon, 1 Jun 2015 19:07:44 +0000 (22:07 +0300)] 
lib: test-unichar - test invalid utf8 encodings
Chop trailing characters off valid encodings, and watch them fail.
(There's no need to do this on most of the test characters, as they're
truncated to the same byte sequence - only do 1 in 64.)

Signed-off-by: Phil Carmody <phil@dovecot.fi>
10 years agolib: test-unichar - streamline the unichars test
Phil Carmody [Mon, 1 Jun 2015 19:06:44 +0000 (22:06 +0300)] 
lib: test-unichar - streamline the unichars test
It's doing 2 kinds of tests, split them into separate test cases.

And the first part has started to get expensive, so just make sure
all code paths are tested by skipping most values. Only 3 from each
set of 64 (lowest 6 bits) are tested.

Signed-off-by: Phil Carmody <phil@dovecot.fi>
10 years agolib-fts: Added unit testing for unicode apostrophe handling.
Timo Sirainen [Mon, 1 Jun 2015 18:59:02 +0000 (21:59 +0300)] 
lib-fts: Added unit testing for unicode apostrophe handling.

10 years agolib-fts: tokenizers - Fixed removal of trailing character in truncated tokens.
Timo Sirainen [Mon, 1 Jun 2015 18:58:30 +0000 (21:58 +0300)] 
lib-fts: tokenizers - Fixed removal of trailing character in truncated tokens.
If the token is truncated, we don't want to remove the trailing character
since it's not actually there.

Also we don't want to remove trailing apostrophes from a truncated word,
because they're not actually at the end of the (untruncated) token there.
This doesn't make a big difference, but it's slightly more correct.

10 years agolib-fts: Optimize tokenizers - Rewrite of apostrophe handling.
Timo Sirainen [Mon, 1 Jun 2015 18:51:33 +0000 (21:51 +0300)] 
lib-fts: Optimize tokenizers - Rewrite of apostrophe handling.
We parse through the UTF8 characters only once now, not twice.

10 years agolib-fts: tr29 tokenizer - rename variable in preparation for the next patch
Timo Sirainen [Mon, 1 Jun 2015 18:49:18 +0000 (21:49 +0300)] 
lib-fts: tr29 tokenizer - rename variable in preparation for the next patch

10 years agolib-fts: tokenizers - don't include removed apostrophes as part of the token size
Timo Sirainen [Mon, 1 Jun 2015 18:48:59 +0000 (21:48 +0300)] 
lib-fts: tokenizers - don't include removed apostrophes as part of the token size

10 years agolib-fts: simple tokenizer minor cleanup - removed unnecessary token length > 0 check
Timo Sirainen [Mon, 1 Jun 2015 18:35:39 +0000 (21:35 +0300)] 
lib-fts: simple tokenizer minor cleanup - removed unnecessary token length > 0 check
fts_tokenizer_generic_simple_current_token() will check it in any case.

10 years agolib-fts: tr29 tokenizer cleanup - Avoid unnecessary goto.
Timo Sirainen [Mon, 1 Jun 2015 18:33:11 +0000 (21:33 +0300)] 
lib-fts: tr29 tokenizer cleanup - Avoid unnecessary goto.

10 years agolib-fts: simple tokenizer optimization - don't check unicode word breaks for ASCII...
Timo Sirainen [Mon, 1 Jun 2015 18:28:42 +0000 (21:28 +0300)] 
lib-fts: simple tokenizer optimization - don't check unicode word breaks for ASCII chars.

10 years agolib-fts: simple tokenizer cleanup - make prev_letter updating more explicit.
Timo Sirainen [Mon, 1 Jun 2015 18:27:09 +0000 (21:27 +0300)] 
lib-fts: simple tokenizer cleanup - make prev_letter updating more explicit.
It was now hidden inside one of the functions, which didn't make the
prev_letter very consistent when a word break was found. It didn't actually
matter what the prev_letter was at that point, but now the behavior is more
consistent.

10 years agolib-fts: simple tokenizer cleanup - removed unnecessary variables
Timo Sirainen [Mon, 1 Jun 2015 18:19:47 +0000 (21:19 +0300)] 
lib-fts: simple tokenizer cleanup - removed unnecessary variables

10 years agolib-fts: tr29 cleanup - consistently call valid chars "token" and "non-token" chars.
Timo Sirainen [Mon, 1 Jun 2015 18:16:35 +0000 (21:16 +0300)] 
lib-fts: tr29 cleanup - consistently call valid chars "token" and "non-token" chars.
Instead of word/token/text.

10 years agolib-fts: tr29 cleanup - Avoid i++ in the for loop to avoid extra calculations
Timo Sirainen [Mon, 1 Jun 2015 18:11:55 +0000 (21:11 +0300)] 
lib-fts: tr29 cleanup - Avoid i++ in the for loop to avoid extra calculations

10 years agolib-fts: tr29 cleanup - token can never be empty by the time it's being returned.
Timo Sirainen [Mon, 1 Jun 2015 18:10:11 +0000 (21:10 +0300)] 
lib-fts: tr29 cleanup - token can never be empty by the time it's being returned.

10 years agolib-fts: Optimization for tr29 - we don't need to track last_size explicitly
Timo Sirainen [Mon, 1 Jun 2015 18:08:27 +0000 (21:08 +0300)] 
lib-fts: Optimization for tr29 - we don't need to track last_size explicitly

10 years agolib-fts: Correct internal helper function for tr29.
Teemu Huovila [Mon, 1 Jun 2015 15:35:58 +0000 (18:35 +0300)] 
lib-fts: Correct internal helper function for tr29.

10 years agolib-fts: Fix unit tests for TR29 full stop change.
Teemu Huovila [Mon, 1 Jun 2015 15:35:58 +0000 (18:35 +0300)] 
lib-fts: Fix unit tests for TR29 full stop change.

10 years agolib-fts: Change TR29 tokenizer to break at full stop (and others).
Teemu Huovila [Mon, 1 Jun 2015 15:35:58 +0000 (18:35 +0300)] 
lib-fts: Change TR29 tokenizer to break at full stop (and others).
Diverge from the TR29 rules and always break at MidNumLet letters.
This fixes tokenizing first.last@domain.tld email addresses.

10 years agoauth: Added %{passdb:field} and %{userdb:field} variables
Timo Sirainen [Fri, 29 May 2015 18:39:33 +0000 (21:39 +0300)] 
auth: Added %{passdb:field} and %{userdb:field} variables
The field expands to either the passdb or userdb extra field.

You can also use %{passdb:field:defaultvalue} where if field doesn't exist,
it's expanded to defaultvalue. Note that an empty value means that the field
still exists and it's not expanded to defaultvalue.

10 years agoauth: Added unit test for auth %variable expansion.
Timo Sirainen [Fri, 29 May 2015 17:56:13 +0000 (20:56 +0300)] 
auth: Added unit test for auth %variable expansion.

10 years agoauth: Make sure %{mech} and %{session} is escaped in %var expansion.
Timo Sirainen [Fri, 29 May 2015 17:55:58 +0000 (20:55 +0300)] 
auth: Make sure %{mech} and %{session} is escaped in %var expansion.
%{mech} is already very trusted and %{session} should be only from trusted
sources as well, so this doesn't fix any actual security holes. They are
also unlikely to have ever even been used in anything that requires
escaping.

10 years agoauth: Moved var_expand() related code to its own file.
Timo Sirainen [Fri, 29 May 2015 16:55:47 +0000 (19:55 +0300)] 
auth: Moved var_expand() related code to its own file.

10 years agocassandra: Added log_level parameter to connect_string.
Timo Sirainen [Fri, 29 May 2015 16:11:50 +0000 (19:11 +0300)] 
cassandra: Added log_level parameter to connect_string.
Available values are critical, error, warn (default), info, debug and trace.

10 years agolib-fs: Updated fs_write_stream_*() comments related to ostream corking and nfinish.
Timo Sirainen [Fri, 29 May 2015 15:22:17 +0000 (18:22 +0300)] 
lib-fs: Updated fs_write_stream_*() comments related to ostream corking and nfinish.

10 years agolib-fs: fs_write_stream_abort() now ignores missing o_stream_nfinish() call
Timo Sirainen [Fri, 29 May 2015 14:51:21 +0000 (17:51 +0300)] 
lib-fs: fs_write_stream_abort() now ignores missing o_stream_nfinish() call

10 years agofts: If precaching fails, stop precaching the rest of the mails.
Timo Sirainen [Fri, 29 May 2015 08:50:18 +0000 (11:50 +0300)] 
fts: If precaching fails, stop precaching the rest of the mails.
If there are a lot of mails to be precached, this could mean that the
precaching is attempted for a long time and every one of them fails the same
way.

10 years agodovecot.m4: If run-test.sh fails, print the failing command to stderr.
Timo Sirainen [Fri, 29 May 2015 08:08:29 +0000 (11:08 +0300)] 
dovecot.m4: If run-test.sh fails, print the failing command to stderr.
Currently otherwise the way Dovecot tests are run it's not clearly visible.

10 years agodovecot.m4: If NOVALGRIND environment is set, don't run tests via valgrind in "make...
Timo Sirainen [Fri, 29 May 2015 07:43:38 +0000 (10:43 +0300)] 
dovecot.m4: If NOVALGRIND environment is set, don't run tests via valgrind in "make check"

10 years agolib-fs: fs_write_stream() now automatically corks the ostream and uncorks at _finish().
Timo Sirainen [Fri, 29 May 2015 04:03:15 +0000 (07:03 +0300)] 
lib-fs: fs_write_stream() now automatically corks the ostream and uncorks at _finish().

10 years agofts: If last-uid lookup fails, return "Internal error" instead of "BUG" to client.
Timo Sirainen [Fri, 29 May 2015 02:43:25 +0000 (05:43 +0300)] 
fts: If last-uid lookup fails, return "Internal error" instead of "BUG" to client.

10 years agolib: Avoid race conditions in mkdir*() if directory is being deleted at the same...
Timo Sirainen [Mon, 25 May 2015 15:50:48 +0000 (11:50 -0400)] 
lib: Avoid race conditions in mkdir*() if directory is being deleted at the same time.
Mainly this allows the call to return failure silently without logging
unnecessary errors.

10 years agolog: read() errors weren't logged.
Timo Sirainen [Mon, 25 May 2015 15:35:53 +0000 (11:35 -0400)] 
log: read() errors weren't logged.

10 years agosystemd service: Fixed typos in the comment section.
Pascal Volk [Mon, 25 May 2015 14:27:22 +0000 (14:27 +0000)] 
systemd service: Fixed typos in the comment section.
The settings for the file descriptor limit is LimitNOFILE.
Removed quotes around the value infinity. Otherwise systemd will
fail to parse that resource value.

10 years agosystemd: Small improvements to the unit configuration file:
Pascal Volk [Sun, 17 May 2015 11:54:42 +0000 (11:54 +0000)] 
systemd: Small improvements to the unit configuration file:

   * Added Documentation URIs
   * Added ExecReload, to reload the config instead of restarting
   * Added a comment for modifying/extending the unit file.

10 years agodoveadm user: Don't change privileges when looking up users.
Timo Sirainen [Sun, 24 May 2015 21:55:33 +0000 (17:55 -0400)] 
doveadm user: Don't change privileges when looking up users.
We don't need to and it might fail.

10 years agolib-storage: If no namespaces were defined, the autocreated namespace settings were...
Timo Sirainen [Sun, 24 May 2015 21:50:26 +0000 (17:50 -0400)] 
lib-storage: If no namespaces were defined, the autocreated namespace settings were a bit wrong.

10 years agolib-storage: If session_id isn't given, generate a new one.
Timo Sirainen [Sun, 24 May 2015 21:40:53 +0000 (17:40 -0400)] 
lib-storage: If session_id isn't given, generate a new one.
This is useful for tracking logs written by services that aren't directly
related to any specific user session.

10 years agolib-index: Unit test fix.
Timo Sirainen [Sun, 24 May 2015 20:13:57 +0000 (16:13 -0400)] 
lib-index: Unit test fix.

10 years agolib: file_lock_try_update() comment updated.
Timo Sirainen [Sun, 24 May 2015 17:40:46 +0000 (13:40 -0400)] 
lib: file_lock_try_update() comment updated.
It should possibly be removed entirely from the API.

10 years agolib: file_create_locked() lock method is now configurable
Timo Sirainen [Sun, 24 May 2015 17:24:19 +0000 (13:24 -0400)] 
lib: file_create_locked() lock method is now configurable

10 years agolib: file_create_locked() was leaking fds and locks.
Timo Sirainen [Sun, 24 May 2015 17:22:56 +0000 (13:22 -0400)] 
lib: file_create_locked() was leaking fds and locks.

10 years agolib: file_create_locked() no longer logs an error if temp file is deleted under it.
Timo Sirainen [Sat, 23 May 2015 23:21:10 +0000 (19:21 -0400)] 
lib: file_create_locked() no longer logs an error if temp file is deleted under it.

10 years agolib: file_create_locked() wasn't deleting the temp file after successful link()
Timo Sirainen [Sat, 23 May 2015 20:51:52 +0000 (16:51 -0400)] 
lib: file_create_locked() wasn't deleting the temp file after successful link()

10 years agolib: Added file_create_locked()
Timo Sirainen [Sat, 23 May 2015 20:41:34 +0000 (16:41 -0400)] 
lib: Added file_create_locked()

10 years agoauth: Don't crash if trying to add password with TAB or LF to auth cache.
Timo Sirainen [Fri, 22 May 2015 23:07:56 +0000 (19:07 -0400)] 
auth: Don't crash if trying to add password with TAB or LF to auth cache.
This would happen only if the passwords were stored as plaintext in passdb
and the valid password actually contained TAB or LF.

10 years agolib-index: Added asserts to make sure invalid extension records aren't written to...
Timo Sirainen [Fri, 22 May 2015 20:37:07 +0000 (16:37 -0400)] 
lib-index: Added asserts to make sure invalid extension records aren't written to log.

10 years agofts: Fixed fts_enforced=yes when it has to wait for indexing to finish
Timo Sirainen [Fri, 22 May 2015 02:41:43 +0000 (22:41 -0400)] 
fts: Fixed fts_enforced=yes when it has to wait for indexing to finish

10 years agofts: Added fts_enforced setting to disable fallbacking to slow search on errors.
Timo Sirainen [Fri, 22 May 2015 02:20:10 +0000 (22:20 -0400)] 
fts: Added fts_enforced setting to disable fallbacking to slow search on errors.

10 years agolib-fts: ICU normalization changes some characters to spaces - remove them.
Timo Sirainen [Fri, 22 May 2015 02:03:10 +0000 (22:03 -0400)] 
lib-fts: ICU normalization changes some characters to spaces - remove them.
We don't really want to add spaces to our index. It would be nice if the
words between spaces were actually split to different tokens, but that's
more of the fts-tokenizer's job and at filter stage that's probably not
wanted anymore.

10 years agolib: Cork connection output while handling input
Timo Sirainen [Thu, 21 May 2015 12:38:56 +0000 (08:38 -0400)] 
lib: Cork connection output while handling input

10 years agolib-fts: Fixed handling tokens that contain only apostrophes
Timo Sirainen [Thu, 21 May 2015 10:35:59 +0000 (06:35 -0400)] 
lib-fts: Fixed handling tokens that contain only apostrophes

10 years agolib-fts: Fix simple tokenizer apostrophe handling.
Teemu Huovila [Thu, 21 May 2015 10:29:15 +0000 (06:29 -0400)] 
lib-fts: Fix simple tokenizer apostrophe handling.
Apostrophes and quotation marks are now treated as word breaks,
except U+0027 between non-wordbrek characters. The characters
U+2019 and U+FF07 are transformed to U+0027 before processing.

10 years agolib-fts: Fix tr29 tokenizer apostrophe handling.
Teemu Huovila [Thu, 21 May 2015 10:17:32 +0000 (06:17 -0400)] 
lib-fts: Fix tr29 tokenizer apostrophe handling.
U+0027, which is called Single Quote in tr29, was not properly
handled as a word boundary.

10 years agolib-fts: Partially reverted d097a9779c37 - don't use lib_atexit()
Timo Sirainen [Mon, 18 May 2015 11:53:52 +0000 (14:53 +0300)] 
lib-fts: Partially reverted d097a9779c37 - don't use lib_atexit()
Because fts is loaded as plugin lib_atexit() is called after the plugin is
already unloaded, so it crashes.

10 years agodirector: Added "up" vs "down" states and doveadm director up/down commands.
Timo Sirainen [Mon, 18 May 2015 11:49:15 +0000 (07:49 -0400)] 
director: Added "up" vs "down" states and doveadm director up/down commands.
These commands are intended to be used by automated watchdogs that detect if
backends are up or down. This way the vhost count doesn't get forgotten
after server goes down. It also means that admin can manually take down a
server by setting its vhost count to 0 without the watchdog automatically
bringing it back up.

10 years agolib-charset: test-charset unit test - Don't use invalid UTF-8 text in source code
Timo Sirainen [Mon, 18 May 2015 10:56:07 +0000 (13:56 +0300)] 
lib-charset: test-charset unit test - Don't use invalid UTF-8 text in source code

10 years agolib-fts: Fixed memory leaks in test-fts-filter unit test
Timo Sirainen [Mon, 18 May 2015 10:53:20 +0000 (06:53 -0400)] 
lib-fts: Fixed memory leaks in test-fts-filter unit test

10 years agolib-fts: Call u_clean() at deinit to free up all of libicu's memory.
Timo Sirainen [Mon, 18 May 2015 10:51:24 +0000 (06:51 -0400)] 
lib-fts: Call u_clean() at deinit to free up all of libicu's memory.

10 years agolib-fts: test-fts-icu memory leak fix
Timo Sirainen [Mon, 18 May 2015 10:46:32 +0000 (06:46 -0400)] 
lib-fts: test-fts-icu memory leak fix

10 years agofts + lib-fts: Fixed crash with some search queries that contained uninitialized...
Timo Sirainen [Mon, 18 May 2015 10:37:28 +0000 (06:37 -0400)] 
fts + lib-fts: Fixed crash with some search queries that contained uninitialized search args.

10 years agolib-storage: Added mail_search_init/deinit_arg()
Timo Sirainen [Mon, 18 May 2015 10:36:56 +0000 (06:36 -0400)] 
lib-storage: Added mail_search_init/deinit_arg()
For forcibly initializing/deinitializing search args.

10 years agolib-storage: Cleanup - separate search arg values that are set by mail_search_init()
Timo Sirainen [Mon, 18 May 2015 10:21:50 +0000 (06:21 -0400)] 
lib-storage: Cleanup - separate search arg values that are set by mail_search_init()

10 years agolib-mail: Make sure iconv state is reset between MIME parts.
Timo Sirainen [Sat, 16 May 2015 21:51:50 +0000 (00:51 +0300)] 
lib-mail: Make sure iconv state is reset between MIME parts.

10 years agolib-fts: Rewrite ICU handling functions.
Timo Sirainen [Sat, 16 May 2015 15:47:20 +0000 (18:47 +0300)] 
lib-fts: Rewrite ICU handling functions.
Some of the changes:
 - Use buffers instead of allocating everything from data stack.
 - Optimistically attempt to write the data directly to the buffers without
first calculating their size. Grow the buffer if it doesn't fit first.
 - Use u_strFromUTF8Lenient() instead of u_strFromUTF8(). Our input is
already supposed to be valid UTF-8, although we don't check if all code
points are valid, while u_strFromUTF8() does check them and return failures.
We don't really care about if code points are valid or not and
u_strFromUTF8Lenient() passes through everything.

Added unit tests to make sure all the functions work as intended and all the
UTF-8 input passes through them successfully.

10 years agolib: Added buffer_get_writable_size()
Timo Sirainen [Sat, 16 May 2015 15:41:44 +0000 (18:41 +0300)] 
lib: Added buffer_get_writable_size()