f5a00a8bc68cb246bfe9265e7f66856db98f5f7d |
|
06-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
fts: Don't reindex FTS mails if .cache file is deleted
This means that if fts is enabled, "doveadm index" no longer adds mails
to dovecot.index.cache if it's deleted. However, it was rarely used for
that purpose. More likely due to a corrupted cache file all the mails were
unnecessarily being opened and reindexed. |
084431105a179063aeb08f45eb5f506c61ea8602 |
|
18-Jan-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
fts: Contexts are now required or checked
Satisfied static analyzer |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
d4002fe1f64d25a792f76fb102ef7dc519cd4e24 |
|
11-Dec-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Use mail_set_critical() and mailbox_set_critical() if possible
Replace calls to mail_storage_set_critical() with mail_set_critical()
or mailbox_set_critical() in places where mailbox or mail are easily
available. |
c6ce2e251ac75fa650c7fbfa52150eae69386293 |
|
22-Sep-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Add reason to mailbox.transaction_begin() |
77124c580f127107f1ffae2a137dcd4eb498bd7b |
|
18-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
fts: Log when indexing requires adding more mails to index than requested
This should mainly happen when FTS indexing is requested for a virtual
mailbox. |
de5d6bb50931ea243f582ace5a31abb11b619ffe |
|
17-May-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
fts: Do not attempt to deinitialize backend if it's not set
If FTS backend initialization fails or does not happen,
flist->backend might end up being NULL, and attempt to
deinitialize NULL won't end well. |
2bc82f0d7e717f600bcaaa15356cf9bfe26fb633 |
|
11-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
fts: Initialize fts after namespaces have been added
This way paths are correctly set, and fts indexes are
written to correct place. This affects mbox with lucene.
Fixes Panic: file mailbox-list.c: line 1158 (mailbox_list_try_mkdir_root): assertion failed (strncmp(root_dir, path, strlen(root_dir)) == 0) |
c42ec3faf1c0d2bf65b8ef5e524d0c18992e7454 |
|
11-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
fts: Remove indentation from fts_mailbox_list_created
Preparation for next commit |
766ba3eed8b1c011a7a14c11cda6256ca2c25be4 |
|
10-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
fts: Fix crash using fts_autoexpunge_exclude = \Special-use crash
It crashed whenever seeing a mailbox that didn't have any special-use flags. |
79195413c349af7f9ce26871bf79c70af07ea7ce |
|
03-Feb-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
fts: Use mailbox_list_created hook
Otherwise the deinit hook might get lost and fts would not be deinitialized.
Reverts 11f12ca1c97583b551a4286fa6cd1ab33aa67680 which seems to have been unnecessary
Fixes indexer-worker signal 11 crash |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
27fdbf79a2abd6feb7c503e46e63878c8a17127b |
|
05-Oct-2016 |
Phil Carmody <phil@dovecot.fi> |
plugins/fts - make storage errors more informative
There are 3 different ways to fail ending a transaction (one
of which is itself just a record that something now unknown
previously failed). Identify which one in the logs.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
2e6356f8d3aeb71c24662ae8bba7679ae1c79807 |
|
17-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
fts: Fixed fts_autoindex when no fts_autoindex_exclude settings existed. |
fd16501d913e6e61a5cb9ae8f05b1fa7c19a1fae |
|
27-Jun-2016 |
Baofeng Wang <baofeng.wang@dovecot.fi> |
fts plugin: Added fts_autoindex_exclude settings.
fts_autoindex_exclude setting specifies special-use flag or mailbox name to
be excluded.
- If a name starts with '\', it's treated as a case-insensitive special-use
flag.
- Multiple names can be specified with serial numbers, for example:
plugin {
fts_autoindex_exclude = \Junk
fts_autoindex_exclude2 = \Trash
fts_autoindex_exclude3 = DUMPSTER
fts_autoindex_exclude4 = New folder
} |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
cbc8f9d71483a2cf71610f7e7e1f2dc9884bd556 |
|
03-Jun-2016 |
Baofeng Wang <baofeng.wang@dovecot.fi> |
lib-storage: add no_fts in struct mail_search_arg
When flag is set, FTS will not be performed.
fts plugin: handle no_fts flag
No fts will be performed once flag is set.
Original patch from Timo Sirainen <timo.sirainen@dovecot.fi> |
aa41b2e17912d6cad3151babea6a85dd88539d28 |
|
03-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
virtual: Moved virtual_mailbox_vfuncs to lib-storage.
This allows implementing other virtual storage backends. |
71748cca1bacd74451fd228db5536828bdfeb190 |
|
03-May-2016 |
Baofeng Wang <baofeng.wang@dovecot.fi> |
global: Use mail_user_plugin_getenv_bool() wherever possible
New API is used to check boolean setting OR exsitence of an env variable. |
ebf3d1a0874e85dc32dbe5aa09f72377277a6f1b |
|
26-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
fts: Empty "fts" setting should be same as nonexistent. |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
814bf67459ad405a157af0b8940602024d7fadfe |
|
23-Sep-2015 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
Remove now-unnecessary direct stdlib.h #includes. |
a8dcd4e2332c73087e9b148d34259230a77edb28 |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
fts: Send session ID to indexer and indexer-worker for logging purposes. |
fe3f637ef0b9544a567b54f3743cf8e3649d8d0f |
|
04-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
fts: lib-fts search arg expansion wasn't done for non-TEXT/BODY searches when fts_enforced=no |
4462eb835e9681dd1110e10f557d4dea3bf61f78 |
|
03-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
fts: If mail indexing fails, don't log a "BUG: Unknown internal error" |
04f70d9dc154761eb262f485415f27ed0345ece4 |
|
29-May-2015 |
Timo Sirainen <tss@iki.fi> |
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. |
e7f8009c974ed6a6a5a0e88633d98fff2867fa92 |
|
29-May-2015 |
Timo Sirainen <tss@iki.fi> |
fts: If last-uid lookup fails, return "Internal error" instead of "BUG" to client. |
2e5170d1dce33cf055cfc2f6fa4b4a61df35d1c5 |
|
22-May-2015 |
Timo Sirainen <tss@iki.fi> |
fts: Fixed fts_enforced=yes when it has to wait for indexing to finish |
0211537cbf53ad17348408103fdb0c06de56ed5e |
|
22-May-2015 |
Timo Sirainen <tss@iki.fi> |
fts: Added fts_enforced setting to disable fallbacking to slow search on errors. |
4ef1f9f3293965734e6e3c38c191ceb2246a721f |
|
09-May-2015 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
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. |
11f12ca1c97583b551a4286fa6cd1ab33aa67680 |
|
05-May-2015 |
Timo Sirainen <tss@iki.fi> |
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. |
1537d20b852cbbf0d6971790b84e0cce5ca61307 |
|
20-Apr-2015 |
Timo Sirainen <tss@iki.fi> |
fts: Added FTS_BACKEND_FLAG_TOKENIZED_INPUT, which is implemented via lib-fts. |
78199a8ade26f7694010f1096c6fdf055a5553bd |
|
11-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
fts: Added missing error logging/setting. |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
a693adf01b5f9256b273bee0b38efb69bc2b0182 |
|
08-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
fts: fts_no_autofuzzy shouldn't disable fuzzying when FUZZY search parameter is set. |
117fb8c00336dc54bab9cfa547249df7a4970611 |
|
08-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
fts: Added fts_no_autofuzzy setting to require exact matches for found results.
This is done by using the FTS search results as only filters on which the
regular non-FTS search is done. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
3415e311f91f9cee6da644139be11b0848e9c704 |
|
23-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
fts: Renamed fts_autoindex_on_save to fts_autoindex |
735259c24eda6f272c8e21eab0f4d0c6bb022fd6 |
|
23-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
fts: Added plugin { fts_autoindex_on_save } setting.
When enabled and a mail is saved/copied, the indexer process is requested to
index the changed mailbox.
fts_autoindex_max_recent_msgs setting can also be used to skip indexing
mailboxes that have too many \Recent messages (implying that the mailbox is
never actually accessed). This corresponds to doveadm index -n parameter. |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
9fc97c8aa8190df87624d214bcc5d0b5362bec93 |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_get_path() and friends can now return an error.
An upcoming "index" mailbox_list backend uses mailbox GUIDs as the directory
names. Doing a name => GUID lookup may fail, so the path lookup may fail.
This is a somewhat annoying change and perhaps it can be removed in future,
but for now it looks like it can't be avoided. |
b66d803de86bfb411165b3465b0d9ef64ecfe2a1 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes and other ways. |
e34d170f8f0e084bd94bfbc1a7085ece67e508df |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Make sure we check all the functions' return values. Minor API changes to simplify this.
Checked using a patched clang that adds attribute(warn_unused_result) to all
functions. This commit fixes several error handling mistakes. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
009ec18ed6bc25a0331d8645a5d4380cb6f70c7b |
|
13-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
fts: Another crashfix for recent changes. |
6f368f8571092c5ad94357752cfea34f69ef66d7 |
|
12-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
fts: Crashfix when FTS isn't needed for performing search. |
6d41944c73171cdb64b0a00bff368d212452e924 |
|
12-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
fts: Added fts_index_timeout setting to abort search if indexing hasn't finished by then.
This timeout shows up to client as:
tag NO [INUSE] Timeout while waiting for indexing to finish |
e51bfe0db17f1a2e44932d0d6d3958ae409a8bcf |
|
28-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Show SEARCH=FUZZY in IMAP capabilities only when FTS backend actually supports it. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
d50ba81550df09e5a7dc33b0a0afc4c4cdb2bef1 |
|
31-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Removed unused code. |
421d30619384e72a27e2a5d13ff6525aff4d17fe |
|
31-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Redesigned mail precaching APIs.
There's no longer a one monolithic mailbox_sync(MAILBOX_SYNC_FLAG_PRECACHE)
call, but rather one mail_precache() call for each mail to be precached.
This allows the callers to show the progress and in general is cleaner. |
20eafc2a848865ce7bf5e8c609e3b0bbd9077ec2 |
|
16-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAILBOX_SYNC_FLAG_OPTIMIZE flag for triggering fts optimize.
This is a pretty ugly kludge, since it does nothing when FTS isn't enabled.. |
a7061727e8f1378228f110b23d816329d39ce82b |
|
14-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Memory leak fix |
d3380f13cb3e398bb5e7acbd4d04582397f62ec2 |
|
11-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Added "doveadm fts optimize" command. |
a5e89374cb2fb2cad575fee6c3b33a9487ab9b3a |
|
10-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Increased initial memory pool size |
a0475b241a56220714d96a41f11a174c11a48bfa |
|
04-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Tell backends if we're currently in the code because we're syncing.
That basically means it's either indexer process or doveadm index. |
083c67ac280fb4930a280ce1f76fb27a1637e818 |
|
04-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Maildir workaround to avoid assert-crash during indexing.
This should be fixed by simply not having Maildir do a full sync when it's
trying to find some file. |
ceae1acc3e3022c6b5fe52a4a34890dffdbcb77f |
|
04-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
fts: force-resync now calls optimize on the backend.
This mainly works with Lucene backend to recheck what messages actually
exist. |
fd14806f879f6cd4f023750e0c4cac27a7f94fbb |
|
26-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
s/search score/search relevancy/ |
8d587838c414c48a331f0b54cd7ffd97e5024abd |
|
22-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Redesigned/enhanced FTS API and how virtual plugin works with it.
The changes include:
- Only indexer process and "doveadm index" do FTS indexing now. Other
processes connect to the indexer process via UNIX socket and request
indexing a specific mailbox.
- FTS backends can now index/search any search key. Current backends
implement indexing for some specific header fields (Subject, From, To, Cc,
Bcc), but it would also be possible to add indexing for e.g. message size
or date.
- CLucene support is fixed and fully functional.
- Solr is split to "solr" and "solr_old" backends. The new "solr" backend
supports the new header fields. It also uses mailbox GUIDs as mailbox
identifiers, so that renaming a mailbox doesn't require reindexing.
The "solr_old" uses the old Solr schema and doesn't support any new features. |
991c17647fa7dbd38c6c3987a5be4ef080c6d948 |
|
27-Jun-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Removed the separation of "substring" and "fast" fts backends and search keys.
No one wants to use two separate backends and it just makes the code more
difficult. |
64b61cd24d630223478ccbe1934b9f60f0881f59 |
|
14-Jun-2011 |
Timo Sirainen <tss@iki.fi> |
Moved the main functionality from "doveadm index" to MAILBOX_SYNC_FLAG_PRECACHE
This also allows plugins to hook into the sync and implement their own
precaching easily. fts indexing is now done this way rather than kludging. |
ec02103893ae3748e5b593340995bb2489c4b741 |
|
11-May-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Added assert to make sure all header data is valid UTF-8. |
eef4ba0cc3e78f8c26804c1c9251a76580a41f0c |
|
29-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Changed mailbox_search_*() API to return pointer struct mail.
This reduces the flexibility, because now different mailbox_search_next()
calls can't have different mail parameters with possibly different
wanted_fields settings. This flexibility was never used though, and removing
it gives a couple of benefits:
* it's now easier for backends to implement prefetch and parallel search
* usage is easier since mail_alloc()/mail_free() is no longer needed |
e4f7d8e459a030149e09656d27ccf7a55c274dbd |
|
17-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
fts: Don't notify storage about finishing indexing if notify_ok callback is NULL. |
2e37d45867d081db150ab78dad303b9077aea24f |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
183bea41fa640dc8117f3eb45ff935cd81377a84 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
c0a87e5f3316a57e6f915882fa1951d0fbb74a61 |
|
20-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_alloc() now takes a virtual mailbox name and other related API changes.
All storage_name <-> vname conversions now go through the same two
mailbox_list methods. This has many benefits, such as:
* listescape plugin is now much simpler and bugfree
* allows changing lib-storage API to use UTF-8 mailbox names in future
* allows creation of "mailbox aliases" plugin |
51327f2489a4e0e615eb9f7d921473cf8512bb79 |
|
01-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved some items from mailbox_get_status() to a new mailbox_get_metadata().
The idea is now that all status items are tracked all the time after mailbox
is opened and they can always be looked up without failure. The metadata
items are looked up lazily and the lookups may fail at any time.
mailbox_get_status() can be used after mailbox_alloc() to indicate that the
mailbox doesn't necessarily have to be opened, just that the status fields
get returned.
If mailbox is already known to be open, mailbox_get_open_status() can be
used. It never fails. |
499fec3443374cc89fb8c83b8027c1614097d7a3 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
Moved fts/virtual plugin communication functions away from lib-storage. |
c17099a136754ce37e346f6f98dfa1fe709ee772 |
|
02-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
fts: More percentage counter calculation fixes.
Patch by William Blunn |
f1b2c5701c98172790a40ab373be08d02c65c985 |
|
01-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
fts: Removed float calculations from "Indexed n% of the mailbox" message. |
eb64c3586d854cddd693f0b811d897399076a441 |
|
06-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
Fixes to INBOX sharing.
NAMESPACE_FLAG_INBOX was split to two flags: _FLAG_INBOX_USER (this namespace
has the user's own INBOX) and _FLAG_INBOX_ANY (namespace has INBOX, either
user's own or another user's).
--HG--
branch : HEAD |
2116e38edb504e72eadaf5a51c3dd9b1a81039ea |
|
22-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
fts: Give binary MIME part data only to FTS backends that support it.
--HG--
branch : HEAD |
539977f9257bd8985be5a8093658da266ae9cd19 |
|
07-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Plugin API changed to run plugin functions in correct order.
Previously the hooks were run in correct order, but the functions they
overrode were run in reverse order. This caused problems when multiple
plugins were used.
--HG--
branch : HEAD |
12055678401e913f4be130fa41b22fbeb626cc7e |
|
17-May-2010 |
Timo Sirainen <tss@iki.fi> |
fts: Backends can now index non-text body parts if they support it.
--HG--
branch : HEAD |
e03d986a74128f5ba30fcfda9f6e36578f5d8dec |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox.free() method. Use it instead of close() where necessary.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
5666a3d6a7ea89362b8d9e8b39b15424cd9d6388 |
|
04-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Plugin hook API changed to support per-user plugins within a process.
--HG--
branch : HEAD |
f3bb2fbe87425dc89a839908985af496f7f65702 |
|
18-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_search_next*() API changed to return bool.
If search fails, it'll be noticed anyway by mailbox_search_deinit().
--HG--
branch : HEAD |
e5acc283bf030b0b5c79ca4e52d315c516a299fa |
|
16-Oct-2009 |
Pascal Volk <user@localhost.localdomain.org> |
Log debug-level messages with i_debug().
--HG--
branch : HEAD |
ba77fee05de8b4ffdb2b51b7840b21f46e174208 |
|
12-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
Use timeval_diff_*() more.
--HG--
branch : HEAD |
b86dc9680d4a15312c5f0607c80402a19f659eb6 |
|
07-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
fts: Fixed crashing with Squat.
A better solution would be for Squat to use existing mailboxes' Squat
indexes, but for now this isn't done.
--HG--
branch : HEAD |
96308127e006bb3b1108093bcf4cc1fd9481cb7a |
|
24-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_transaction_commit_get_uids() changed to _get_changes() with more generic API.
Saved UIDs are no longer necessarily in a simple x:y range.
--HG--
branch : HEAD |
fde0b1793a2842da00eaa105d5e13fec465f0443 |
|
10-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_bsearch*().
--HG--
branch : HEAD |
c9dea5c23355dea35c6fa423de69f6507852efe4 |
|
17-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_sort() instead of qsort() wherever possible.
--HG--
branch : HEAD |
1d2b188f0eedc3cab6e27ceac5425a037f38042e |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Mailbox opening and closing APIs changed.
--HG--
branch : HEAD |
ee116df08d0fdab703483e18fe8076b2ef9fd9d7 |
|
05-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
struct mail_storage.callbacks is no longer a pointer.
--HG--
branch : HEAD |
2615df45a8027948a474abe5e817b34b0499c171 |
|
03-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for making mail_storage:mailbox_list to be from 1:1 to n:n.
This will allow namespaces to share the same storage and a single namespace
to have multiple storages (multiple mailbox formats). Neither works
currently, and this commit probably breaks some things.
--HG--
branch : HEAD |
5cbefc6537aefbf1491416c433de00fc3e649a13 |
|
18-May-2009 |
Timo Sirainen <tss@iki.fi> |
message-decoder now supports optionally returning non-text bodyparts as-is.
--HG--
branch : HEAD |
ff01c351d308504551048039304725d578978c2e |
|
16-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
fts: Fixes to how virtual mailboxes are searched.
--HG--
branch : HEAD |
0df9428baed48afaff90b4d4f03792d2fd756a43 |
|
02-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Fixed plugins to work with config rewrite.
--HG--
branch : HEAD |
a64adf62fa33f2463a86f990217b0c9078531a40 |
|
28-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for config rewrite.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
5e615a0e4682b75cadb5bea4bff689f3fcf8e9fe |
|
30-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Increased search_nonblock() to go through 50 messages at a time.
--HG--
branch : HEAD |
d54ab8987e482a8df250615b44f41fa040c38741 |
|
30-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
fts: Hide "Searching .." notify while indexing.
--HG--
branch : HEAD |
f4616f1875297fb2f583d913c0f01b075bdecd5b |
|
30-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Give more correct "* OK searched n%" notifications with fts and virtual mailboxes.
--HG--
branch : HEAD |
af3f857bb3166ed99595e11a9d18e5b5cc670e1a |
|
30-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Added alias_for setting for namespaces. Fixes namespace issues with fts.
--HG--
branch : HEAD |
b8835b8a21c617ceb82ddc5a176243faf36aa8f7 |
|
30-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
fts: Added support for handling multiple namespaces.
--HG--
branch : HEAD |
d0ef8bc2b961a68dd0f75662c2160bd296b9476b |
|
29-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
fts: Cache "last indexed uid" lookups as long as new messages aren't added to mailbox.
--HG--
branch : HEAD |
3852872e6954b7132e637294132005e86b8ebd4a |
|
29-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Finished making full text search indexes work fast with virtual mailboxes.
--HG--
branch : HEAD |
ecdce39e5ef4b62eefa9f5818f17d153fd5d710a |
|
23-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Initial support for getting full text search working nicely with virtual mailboxes.
--HG--
branch : HEAD |
bd1b2615928a1e8be190cb0405754f0aec8cac2f |
|
22-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
mail_storage.search_next_update_seq returns now bool. It was never failing.
--HG--
branch : HEAD |
f210ec6b25f80d06419921e9231465bb114ee971 |
|
05-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
fts: If we haven't indexed all messages, search the rest using non-indexed search.
Typically this happens with header searches which don't force an index update.
--HG--
branch : HEAD |
e22b857e838fe118de3f78513aad6a3c6f4306b3 |
|
05-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
fts: Don't force SEARCH_HEADER_COMPRESS_LWSP to update indexes either.
--HG--
branch : HEAD |
14bb36cbb67b42e32105c3d843a8c974dc7ed436 |
|
25-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
FTS: If mail_debug=yes, log messages if fts is disabled.
--HG--
branch : HEAD |
a0c453a8edaec90fb0d945c874de0b1845bc7d7e |
|
13-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Added support for sorting by X-SCORE. Currently it's only set by fts-solr.
--HG--
branch : HEAD |
48566ca412a7cf3b42512fd0ec112744778e5da0 |
|
10-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Initial code to support Apache Solr (Lucene indexing server).
--HG--
branch : HEAD |
5afa8e2edf4f313cd56e5909f92f39c3b5b7b4d3 |
|
07-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed mailbox_get_uids() to mailbox_get_seq_range().
--HG--
branch : HEAD |
c4b376dd6e0c423006d7ac83a39253bcaf8e7c47 |
|
03-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Make mail_search_args an independent structure that can be used for multiple
separate searches.
--HG--
branch : HEAD |
e726bf74fcc8d24f4c9d0d83217b3db4314d9d1f |
|
25-Apr-2008 |
Timo Sirainen <tss@iki.fi> |
next_hook should be called after our hook is finished with its doings, that
way they get executed in the intended order. This should fix some problems
when multiple plugins are used.
--HG--
branch : HEAD |
0934e86643bd122e260e4742b73612d29c1e7487 |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Moved IMAP messageset handling to lib-imap/ and searching to lib-storage/.
Rewrote messageset handling to use struct seq_range instead.
--HG--
branch : HEAD |
1176124297af5c56e932c0863c6637ff21d8a0ef |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Moved IMAP messageset handling to lib-imap/ and searching to lib-storage/.
Rewrote messageset handling to use struct seq_range instead.
--HG--
branch : HEAD |
c63c3c4d548416914b8c6734fe18dd69bb900775 |
|
08-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
If the SEARCH TEXT/BODY command contained more parameters, we could have
returned too many/little replies.
--HG--
branch : HEAD |
992118a50af940482b6cf884a89be56d7015580a |
|
14-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Changed message_parser_deinit() to return -1 if the parser was using
preparsed broken message parts. Callers catch the error and mark the cache
file corrupted.
--HG--
branch : HEAD |
251294c7acff0fc7993300723b7e8794569d37be |
|
14-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Changed message_parser_deinit() to return -1 if the parser was using
preparsed broken message parts. Callers catch the error and mark the cache
file corrupted.
--HG--
branch : HEAD |
19e8adccba16ff419f5675b1575358c2956dce83 |
|
11-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed T_FRAME_BEGIN/END to T_BEGIN/END. Removed T_FRAME() macro and
replaced them with T_BEGIN/END calls. T_FRAME() made it difficult to debug
code with gdb.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
eddd9bf1a1369aea4a2715f6be1137da6d17d293 |
|
05-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced t_push/t_pop calls with T_FRAME*() macros.
--HG--
branch : HEAD |
c37e5edd83ff696d396131f7147ef971cf678911 |
|
03-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Index message's all headers (including MIME headers) after the body.
--HG--
branch : HEAD |
f2f86ec77d1e4986e95990976447c2d1520a8357 |
|
03-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed non-ASCII searches.
--HG--
branch : HEAD |
a1f517528af314cb6f5f39187a71dbed8a6e1152 |
|
03-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fixes to FTS handling.
--HG--
branch : HEAD |
38a4c09de37bc2ebdc38427a2b958c46dfdcffb1 |
|
03-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
We only want to skip non-text message bodies, never any headers and
definitely not entire multiparts.
--HG--
branch : HEAD |
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1 |
|
02-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
FTS API changes and Squat rewrite. Squat is still missing expunge handling.
--HG--
branch : HEAD |
916221f976af0ed8b397f06f4f381c0ac0be3b86 |
|
10-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Handle NOT in search without returning wrong results.
--HG--
branch : HEAD |
63f36c2b47217fc2dc4ed49cfc1907311d5ed366 |
|
30-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
mailbox_transaction_commit*() doesn't sync the mailbox anymore, so it
shouldn't take mailbox_sync_flags parameter either.
--HG--
branch : HEAD |
89a126810703c666309310d0f3189e9834d70b5b |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced my Copyright notices. The year range always ends with 2007 now.
My name was replaced with "Dovecot authors". In many cases I didn't really
even own the copyright, so this is more correct.
--HG--
branch : HEAD |
83bb013a99f0936995f9c7a1077822662d8fefdb |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_*() APIs changed to return int and return the actual data as pointer.
Changed some code to do error handling a bit better.
--HG--
branch : HEAD |
73b50eecfc31750a312e2f940023f522eb07178c |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_lookup*() can't fail anymore. Changed several APIs not to return
failure anymore.
--HG--
branch : HEAD |
88187ee880b4829443e0d55ea7d145d9d5880217 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Removed explicit locking from views and maps. They were already locked all
the time when they were used. Because of this change several functions can
no longer fail, so they were changed to return void, and a lot of pointless
error handling was removed.
--HG--
branch : HEAD |
d5e5981392f1a0be9152a9d5645b4609ccb9f76c |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Reverted last change and now the real compile fix..
--HG--
branch : HEAD |
54089323cb0af843ad66079591397f43b284006d |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Compile fix
--HG--
branch : HEAD |
e1b83f64e62cc3e8967c75fcc3f9b5dbb243d3b3 |
|
20-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Changed message_decoder_init_ucase() to message_decoder_init(bool ucase)
--HG--
branch : HEAD |
4d2211dac61c615c5bdfd501ea54d46c89d41b0f |
|
17-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_transaction_commit_get_uids() which returns the UID range for
saved/copied messages.
--HG--
branch : HEAD |
043c8a96a035379bcba04f487d58457beefdfcaa |
|
03-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Header parser has now flags parameter to tell it how to handle linefeeds.
Changed message parser's boolean parameter to enum as well.
--HG--
branch : HEAD |
0ce8f754204c7eeb33805993807393f74faf2cd3 |
|
03-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed message_decoder_init() to message_decoder_init_ucase() and changed
it to uppercase all the output.
--HG--
branch : HEAD |
8e371a3ce32bd64288786855b8ce0cb63f19f7d1 |
|
29-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Better type safety to module_contexts arrays. Already fixed some bugs.
--HG--
branch : HEAD |
fa75d150b71d9b4e2d233bb90432b9951f7ee289 |
|
25-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
crashfix
--HG--
branch : HEAD |
bc93929cdd9000ca560a5f42a27f50ab307f1efb |
|
25-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Don't crash if another search is started while we're still building the
index for the first search.
--HG--
branch : HEAD |
20b136f04257b0ba338e49f31a999c0d4b243647 |
|
15-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Separate headers and body in building and searching. Added support for
Lucene to index/search them separately.
--HG--
branch : HEAD |
0fd246126fece57712566c725d6353f255f5fcfa |
|
21-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
If indexing takes over 10 seconds, start giving estimates about when it's
finished.
--HG--
branch : HEAD |
f0bf9880c05266114a9b85bf95b72f6cdf83b901 |
|
21-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Don't build indexes just for header lookups.
--HG--
branch : HEAD |
88dc563319efecd6e68bad16b0d92672da05584a |
|
21-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Make indexing non-blocking. Optimize also header searches.
--HG--
branch : HEAD |
eb0ede66120bb63c0212bad69e67efca1eb47324 |
|
20-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added support for X-BODY-FAST and X-TEXT-FAST SEARCH arguments. FTS plugin
now allows loading two backends: exact and fast. Fast backend (Lucene) can
be used to optimize only those searches, while exact backend (Squat) can be
used to optimize normal BODY and TEXT searches as well.
--HG--
branch : HEAD |
7c311effa7150d364232e6f2d0a1fa623dbb8d95 |
|
09-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Don't waste memory in data stack.
--HG--
branch : HEAD |
a1761856683b4bf745eb4e32cefabeb851efb301 |
|
09-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Delay calling fts_backend_init() until first transaction is created. By that
time the mailbox has been synced and things like uidvalidity can be looked
up.
--HG--
branch : HEAD |
3d4450c252790b03bb5ce054987ac91110f1ff62 |
|
06-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added lock/unlock backend operations.
--HG--
branch : HEAD |
85a4ae7e8df7ea45a7665828e5edf48a5fc85730 |
|
01-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added fts_backend_expunge_finish() virtual backend function.
--HG--
branch : HEAD |
fda168427e1950518acd6d600f1a10a29a5baef0 |
|
25-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
ADd support for expunges
--HG--
branch : HEAD |
c06cd6539a3dbd68eb546464076187be6bc4290f |
|
25-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Added fts_backend_get_last_uid() which is first used to check if
build_init() needs to be called.
--HG--
branch : HEAD |
c63544d7d2580c680b07f9569e87e9cebee383d5 |
|
25-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Let FTS backend init function take a struct mailbox instead of path.
--HG--
branch : HEAD |
4bffa20ff6fc61ba7b47375722e38be7f87dfe64 |
|
18-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Fix
--HG--
branch : HEAD |
0f55802e8fdd95ae4290da6da077819209b71f70 |
|
18-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Fixes to indexing
--HG--
branch : HEAD |
94f90df2cfb7587bb5af432b2ba065d1c364e1f7 |
|
18-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
API updates and some fixes
--HG--
branch : HEAD |
3fb1c1f0375ec0a2b00be90b5d61fbc8374e9b90 |
|
17-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Fixed to use new array API.
--HG--
branch : HEAD |
2793e3bd31d212d6506686aa70773e13d9d98195 |
|
17-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Added full text search plugin framework. Still missing support for handling
expunges. Also it could use better logic with more complex SEARCH queries to
figure out when the FTS index should be used.
--HG--
branch : HEAD |