109c39ab66c5aa85bf37d5bbf4ce91c6f966268b |
|
24-Jan-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
virtual: Contexts are now required or checked
Satisfies static analyzers |
9599d7ecbc84e9d33295e1e9a9be937faddce68a |
|
17-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
virtual: Make sure sync_mailbox_idx isn't used uninitialized
Changing its indexes to start from 1, we can add an assert to check that
it's never the default 0 when we need to use it. |
bc7d7e41fe00f76c38d1a5194c130c983487911b |
|
21-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
virtual: Make sure index is rewritten when new mailboxes are added
Otherwise multiple bbox->sync_mailbox_idx point to 0 and they keep overwriting
each others in the header. This causes the header to be constantly updated with
wrong contents. |
0d318fe07ea8846330b6fe6b6b281ef0ccfbaacd |
|
18-Jul-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
virtual: Stop notifications only if they were started
Fixes Panic: file mail-storage.c: line 1950: assertion failed: (box->opened) |
43dfd44ec2e993e175c4b50e9804c90a50f56d66 |
|
07-Jul-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
virtual: Use mailbox_notify_list API when mailbox_list_index is enabled |
825b0e819a7c48a366ddca23ec78b87e8c30e9b4 |
|
07-Jul-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
virtual: Generate GUID for virtual folder
GUID is generated when index is first created
or the rules change. |
8eba883232f80178b60fa416f73292bf5f990fec |
|
14-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
virtual: Fix saving to a virtual mailbox to work again
Previous changes broke it. |
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] |
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. |
76fd7aa24526db6fd8c78a2f0b71facf76bf4b5a |
|
16-Mar-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
virtual plugin: If we detect backend box to be deleted, mark it permanently deleted. |
27f174f3b836b18cb81cd1e6534031f1f3355348 |
|
13-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
virtual plugin: Added support for filtering mailboxes by METADATA entries.
Usage:
<mailbox patterns as usual>
[-]/<metadata-entry-name>:<value-wildcard>
There can be multiple metadata entries. All the entries must match.
For example:
*
/private/vendor/vendor.dovecot/virtual:*
-/private/vendor/vendor.dovecot/virtual:ignore
This matches all mailboxes, which contain a virtual METADATA entry that has
any value except "ignore".
Note that the current implementation requires still opening all the mailboxes
before matching the METADATA entries. This could be avoided in v2.3 with some
lib-storage API changes. |
77a2367051db01c6fc8cc575242d8a7f5b2c1d42 |
|
13-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
virtual plugin: Don't treat "+-box" as a negative entry.
This was already documented by wiki to work as a mailbox named "-box",
although it didn't actually work that way. There wasn't any practical
difference between "+-box" and "-box", so this change is unlikely to break
anyone's config. It was mainly done as code cleanup. |
a18335e18aac7fc219b6f18dde083359155cc524 |
|
09-Dec-2015 |
Timo Sirainen <tss@iki.fi> |
virtual: Fixed assert-crash when opening virtual mailbox triggered backend mailbox autocreation.
Fixes assert:
Panic: file virtual-storage.c: line 335 (virtual_mailbox_opened_hook):
assertion failed: (!bbox->open_tracked) |
dd37e2ff291fbebac1b94e8aad50f3bdf7531049 |
|
24-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
virtual plugin: Auto-close mailboxes by hooking into backend's mailbox_open()
This is a more reliable way of doing it. The earlier version had problems
that all the backend mailboxes could be opened when doing a search on the
virtual mailbox (for getting the GUID of the mailboxes). |
9cb0fe28ae6f59b9f075e1edfc30f417e846c4a2 |
|
24-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
virtual plugin: Fixed assert-crash when closing a virtual mailbox consisting of many real mailboxes. |
d85a1a9d9af4a36ded4d30cb277905c807de2ec5 |
|
20-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
virtual plugin: Read virtual index header when opening virtual mailbox.
This allows doing some mailbox accessing without actually syncing the
mailbox. For example MAIL_FETCH_MAILBOX_NAME can be used without crashing. |
212e9e43a7d49242446331fd43ba519eda936d60 |
|
03-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
virtual: Never keep more than specified number of physical mailboxes open.
This should make virtual mailboxes work for users who have a a ton of
mailboxes with a ton of mails. Earlier code would likely have failed either
with "Too many open files" or crashed with "Out of memory".
You can change the max number of open mailboxes with:
plugin {
virtual_max_open_mailboxes = 64
}
The default is 64. |
a385399497bdb50d4dfce729ffc852b75ed46a36 |
|
23-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
virtual: Fixed assert-crash in IDLE caused by earlier changes.
This change negates all the improvements of the earlier changes when IDLE is
used. This could be fixed by using mailbox-list-notify.h API. |
3e1d94509fd76c56f2eb54f98ea02ade9ac2d44a |
|
23-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
virtual: Delay initializing search args until the mailbox is actually opened.
Fixes assert-crash caused by recent changes when virtual mailbox search args
contained e.g. keywords. |
18a41cbd38f83429b790414c1159c097af4a59b8 |
|
15-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
virtual: Delay opening the backend mailboxes until it's really necessary.
This should improve the performance a lot with mailbox_list_index=yes when
opening virtual mailboxes whose backend mailboxes are mostly unchanged. |
9847ec56efa15fa063eea9988eee2d4ed9ec7d58 |
|
19-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_status.have_save_guids. |
8b31f966d9688e07672ef1958dcbdb7686523c04 |
|
10-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_status.have_guids flag |
8c909e451d14075c05d90382cf8eebc4e354f569 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Replaced *_INDEX_PREFIX macros with a common MAIL_INDEX_PREFIX. |
4ee00532a265bdfb38539d811fcd12d51210ac35 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Easy way to update your existing code:
perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch] |
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. |
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 |
2128e2bebe4af374561ea2846b9d3eca3cde233e |
|
16-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
virtual: Support +mailbox entries that clear \Recent flag from messages. |
499fec3443374cc89fb8c83b8027c1614097d7a3 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
Moved fts/virtual plugin communication functions away from lib-storage. |
6d6c1517ef20e340a3aace406724fc8916f2d13f |
|
08-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
virtual: If non-matching messages weren't expunged within same session, they never got expunged.
--HG--
branch : HEAD |
7a7d2aa11e46195e2d92d6c337d7e78052a5ce67 |
|
04-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Avoid including mailbox-list-private.h everywhere.
--HG--
branch : HEAD |
d22301419109ed4a38351715e6760011421dadec |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: *_mailboxes don't descend from index_mailbox anymore, it's now a context.
--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 |
eb0816090cf5a549280ad783b9aa6fec199d36ba |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Simplified the way transactions are are created/finished.
Removed also mail_storage.class_init/deinit since they're no longer used
for anything.
--HG--
branch : HEAD |
4cf5f0934a25f1fd58f2780108f9d6498c455a1f |
|
27-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
virtual: If another session adds a new mailbox to index, handle it without crashing.
For now we'll just disconnect the session.
--HG--
branch : HEAD |
1d2b188f0eedc3cab6e27ceac5425a037f38042e |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Mailbox opening and closing APIs changed.
--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 |
905457e0982fc15930d90e174f271dc69f9afcf9 |
|
26-May-2009 |
Timo Sirainen <tss@iki.fi> |
virtual: Fixed crashes when simultaneous connections accessed the same virtual mailbox.
--HG--
branch : HEAD |
7f3b826a89bcb7a72759912e99f574b28309fe1b |
|
18-May-2009 |
Timo Sirainen <tss@iki.fi> |
virtual: If we can't open a mailbox that was added using a wildcard, just skip it.
--HG--
branch : HEAD |
c115c742f730e312d6b6ab5064595cd0d8b4e26e |
|
27-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
virtual: Added support for saving/copying messages to virtual mailboxes.
--HG--
branch : HEAD |
b8835b8a21c617ceb82ddc5a176243faf36aa8f7 |
|
30-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
fts: Added support for handling multiple namespaces.
--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 |
f5a7396b31762a1f876517e13ce9065820139f7c |
|
23-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Optimized searching with virtual mailboxes.
Instead of going through the messages in the virtual mailbox order, go them
through one mailbox at a time and in ascending message order within that
mailbox.
--HG--
branch : HEAD |
942302b0247403645394d848b3c620ead262a2a5 |
|
25-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Virtual mailboxes: Fixes to handling errors.
--HG--
branch : HEAD |
7e209b78ca757294dbbc15604c88673b3a6b0c39 |
|
12-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Virtual mailboxes: If CRC32 of the search strings changes, rebuild the mailbox.
--HG--
branch : HEAD |
c93ff0433cc3d348116f75a64f9988fedb86fd18 |
|
08-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
virtual mailboxes: Detect loops in virtual mailbox definitions.
--HG--
branch : HEAD |
111a7dda02defa4d612468cfc3c40da5240645af |
|
08-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
virtual mailboxes: Added support for using wildcards in mailbox names.
The wildcards don't span namespaces so that "*" won't also match
mailboxes in virtual namespace.
--HG--
branch : HEAD |
4ece61edd7c266a4b8f3b290a7f0a3cb3d13ca0f |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Virtual mailboxes: Speed up initial search result building using modseqs.
--HG--
branch : HEAD |
dee43975a70bcdb9dc83d34d6a2b177d37bb7194 |
|
09-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
virtual mailboxes: Use saved search results to find out which messages were
added/removed. Also several other fixes and optimizations.
--HG--
branch : HEAD |
24e5e4526d8f5cbc056ab97fd0d154d0936d7a5e |
|
13-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added initial support for virtual mailboxes.
--HG--
branch : HEAD |