1db237d245d90dfa71d1968a7eb13e344eacb22e |
|
08-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_search_arg_one_deinit() |
483e8d4974b5f0751866d9dbfc0e1e78f8a40664 |
|
26-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix searching when search query has invalid keywords.
For example "SEARCH KEYWORD ]" was returning all mails instead of nothing. |
74bc7e646663255703e10e0c0b7242ad7ad52f94 |
|
20-Feb-2017 |
Stephan Bosch <stephan@dovecot.fi> |
Partially implemented IMAP SEARCH=X-MIMEPART capability.
This capability is currently Dovecot-specific. |
6264b51bcce8ae98efdcda3e55a765d7a13d15ed |
|
03-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Renamed MAIL_SEARCH_ARG_FLAG_USE_TZ to _FLAG_UTC_TIMES |
8fc48a7d4130c2b7c417800a1eeea00563b950ea |
|
03-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Updated MAIL_SEARCH_ARG_FLAG_USE_TZ comment. |
23bdbb7b1831785c6ba6df190f6369da882d2b9d |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Require comparisons to be strict boolean expressions
* No implicit integer -> boolean or pointer -> boolean conversions
* !expr can be used only if expr is boolean type
These were checked with a patched clang. It found various actual bugs,
which were fixed by the previous commits. |
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> |
78f8407de32c9a51f2db00f4edb466f4279fa456 |
|
06-Dec-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Made mail_search_arg_[one_]equals() public. |
44ca7644e6df9e5ce7e7d0cc3767f63153c10bd7 |
|
15-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
fts: Avoid expanding mail_search_args multiple times (for optimization & crash-avoidance)
Primarily this fixes the crash:
index-search-result.c: line 132 (index_search_result_update_flags):
assertion failed: (result->search_args->args == &search_arg)
It could be triggered by:
a search return (update) body body seen
b store 1 +flags \seen
c store 1 -flags \seen |
9bafaf2bea0bee1945a4ce3bab39ea3558e9f6d6 |
|
03-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_search_args_to_cmdline()
This isn't entirely correct yet, but it's only going to be used for
debugging for now. |
e614fad7013a21d9111f0f185781f929ecb96bbf |
|
18-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_search_init/deinit_arg()
For forcibly initializing/deinitializing search args. |
8d5eb4f8089c319d555edaa42d1c09da951f66ff |
|
18-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Cleanup - separate search arg values that are set by mail_search_init() |
1cc4d4d1a2ca48a82434da470872392c1bdcb651 |
|
09-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_search_arg_dup() is now a public function. |
9b92e796224f39ee4a65f7108376db9bfe0e22dd |
|
23-Apr-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_search_args_to_imap()
Useful for writing IMAP SEARCH parameters from struct mail_search_arg. |
ce763c83d556eea9b74fc63e5d41f3b71a7e72de |
|
14-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added "oldestonly" search arg to stop searching after the first non-match.
This parameter works only for doveadm search queries. It's not fully exact
currently, because if mailbox.search_next_update_seq() skips over
non-matching messages we don't stop if the next message matches. So this
parameter is mainly useful for optimization of commands like:
doveadm expunge -u user@domain mailbox inbox savedsince 30d oldestonly
Where the timestamps should be ascending all the time anyway and there's no
point in continuing to search for more mails after the first timestamp is
too high. |
bacd4f6e62996e95d7aafd94716025b22a39d470 |
|
14-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added X-REAL-UID search parameter. |
27a44fcfd8d19bffe0f267f20a2b5d3fe7600fdd |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Removed CONTEXT_TYPE_SAFETY macro and reimplemented its functionality better.
gcc/clang now gives a compiler error in many places if callback isn't
exactly what was expected. It's also now much easier to add more of these
checks. |
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 |
560e65f6cb5ce6dc3e6f794c53e634337602a6a0 |
|
26-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added FUZZY search key that adds fuzzy=TRUE to its child args. |
013a0e03309a4a77552f6e8dd46d06c3d3f60f53 |
|
02-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Renamed mail_search_arg.not to match_not.
C++ compilers don't like the "not". |
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. |
1af0a59380337d4d9adc634da47888c150869f65 |
|
04-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail prefetching support for searching. |
d798962a54c5cda054d57a0cfc7e5f47dfa20f6e |
|
31-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Changed header/body searching to do search key charset translation earlier.
This cleans up and simplifies error handling. |
d8256deeb5a94a6e27f4762bdb77ce284b7dc517 |
|
30-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixes/optimizations to SEARCH_MAILBOX*.
--HG--
branch : HEAD |
00120655cf38b7981ea65abb73330e338bc78f5b |
|
30-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for searching with mailbox GUID.
--HG--
branch : HEAD |
e2f6850678a97f0048c962d8f1ce0edd809b7ac6 |
|
28-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_search_args_match_mailbox()
--HG--
branch : HEAD |
59e50e3e6c514cd95c85bfa0a07b24e93de1bda6 |
|
28-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAILBOX_GLOB search arg. Query builders now use it instead of MAILBOX.
--HG--
branch : HEAD |
71acee685176766c9fb54937af18d3907dabec05 |
|
13-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for searching save date.
--HG--
branch : HEAD |
e68c528470154af1029233c04dd0d7944805f70f |
|
18-May-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_search_args_dup().
--HG--
branch : HEAD |
38537f71055adbbf214ba2a682f13d5947957298 |
|
16-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
mail_search_args_[de]init() calls stack now. Last unref is still allowed without deiniting.
--HG--
branch : HEAD |
7327394e30c1020b9a2a49c72a7e3d0f7803e680 |
|
20-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
mail-storage API: Added some function description comments.
--HG--
branch : HEAD |
cb8d97555cc3e686aa1f446bc32d0213486d38fb |
|
01-Sep-2008 |
Timo Sirainen <tss@iki.fi> |
Added mail_search_args_equal().
--HG--
branch : HEAD |
b19a1420da0618a10edf67c2cfd13c8c8633057a |
|
07-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Added the concept of Global UIDs that are preserved across copies.
They can be fetched, searched and specified for the save API. dbox format
supports them correctly, but with maildir the base filename is used so
maildir_copy_preserve_filename=yes is required to preserve GUIDs when copying.
--HG--
branch : HEAD |
06ff2a72c39cb34cc6425f17fc82c5e93fef2018 |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
FETCH X-MAILBOX and SEARCH X-MAILBOX can be used with virtual mailboxes to
find out the original mailbox. In non-virtual mailboxes they always just
use the current mailbox name.
--HG--
branch : HEAD |
a9aa2f70dd3f16ca139546a12f04089af937052c |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Added non-optimized support for SEARCH INTHREAD.
--HG--
branch : HEAD |
908bffbaff7230e31a887aab75572cc2549cb6fe |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Search code cleanups and minor optimizations.
--HG--
branch : HEAD |
4139bd30500732466acf4ff1134950788248ec55 |
|
07-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
SEARCH UPDATE: Convert seqsets in saved results to uidsets so that they can
be matched correctly later if messages are expunged.
--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 |
ab62d8b34e731dc23d508e0468405a2a9dece8c7 |
|
16-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Implemented WITHIN extension.
--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 |
ff256261b828f9cfe218d52c109096efc688a07d |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added support for SEARCH_UIDSET.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--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 |
c7a02d733209d79926bb9942a681b44889a88f24 |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added support for SEARCH_UIDSET.
--HG--
branch : HEAD |
1091d5be391af806f7cf553521f6778f830f9500 |
|
21-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
SEARCH SUBJECT now changes LWSP to spaces to match ENVELOPE's subject field.
--HG--
branch : HEAD |
95f3ad1f505146ba2f4d2f4022244250a58b836f |
|
21-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
SEARCH SUBJECT now changes LWSP to spaces to match ENVELOPE's subject field.
--HG--
branch : HEAD |
28603e0134d653e76b7007f94336aeaef3b50b18 |
|
08-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
SEARCH_KEYWORDS now uses struct mail_keywords instead of a string array.
--HG--
branch : HEAD |
41da195263f4c7f0eaf58f3ecee4d9ceb92ae8c1 |
|
08-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced SEARCH_<flag> with a generic SEARCH_FLAGS. Use value.size for
SEARCH_LARGER and SEARCH_SMALLER and give an error if it's not a valid
number.
--HG--
branch : HEAD |
6f338d07c32978a8118bd7e30a07dff067d0f8ee |
|
02-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Simplify search arguments immediately when calling mailbox_search_init().
--HG--
branch : HEAD |
c25356d5978632df6203437e1953bcb29e0c736f |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed .h ifdef/defines to use <NAME>_H format.
--HG--
branch : HEAD |
9b7c27cd95df5ca3cd523381205efe24e88ee817 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Parse search dates already in IMAP code.
--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 |
00efa7d99981e18e286c02b18c1163dde18ee521 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Type safe callbacks weren't as easy as I thought. Only callback(void
*context) can be handled generically. Others can be handled specially, but
only if all the parameters are pointers, otherwise eg. int parameter can be
replaced with long without compiler giving any warnings.
--HG--
branch : HEAD |
59151b71059df1190acd75d8717ed04a7920c862 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added context parameter type safety checks for most callback APIs.
--HG--
branch : HEAD |
6ef7e31619edfaa17ed044b45861d106a86191ef |
|
13-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added "bool" type and changed all ints that were used as booleans to bool.
--HG--
branch : HEAD |
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
importing new index code. mbox still broken.
--HG--
branch : HEAD |
60fd9409f02a54597d178900f2f9971db5c87bca |
|
26-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Some optimizations to messageset handling in search.
--HG--
branch : HEAD |
6789ed17e7ca4021713507baf0dcf6979bb42e0c |
|
06-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Index cache file rewrite. It's not finished yet and mbox support is
completely broken. But it's getting difficult to maintain outside cvs :)
--HG--
branch : HEAD |
980b2bcaed5e6badb500028c2edb64bc4a53b3c4 |
|
01-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Several search fixes, mostly related to matching multiple conditions.
--HG--
branch : HEAD |
5ce2084ada06ade9f44fc2914c34658e9a842dc1 |
|
20-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
mail-storage.h interface changes, affects pretty much everything.
FETCH, SEARCH, SORT and THREAD handling were pretty much moved from
lib-storage/ to imap/ so adding non-index storages would be much easier now.
Also POP3 server can now be easily implemented with lib-storage.
Not too well tested, and at least one major problem: partial fetching is
_slow_.
--HG--
branch : HEAD |
f923659c0e5298263d80622c99f4dc4132b4675b |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming change for function typedefs.
--HG--
branch : HEAD |
c0435c854a0e7246373b9752d163095cc4fbe985 |
|
05-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming style changes, finally got tired of most of the typedefs. Also the
previous enum -> macro change reverted so that we don't use the highest bit
anymore, that's incompatible with old indexes so they will be rebuilt.
--HG--
branch : HEAD |
d8e43743157d05e416eb5d3b45cddb3b3122dc07 |
|
03-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
SEARCH CHARSET support. Currently we do it through iconv() and only ASCII
characters are compared case-insensitively.
--HG--
branch : HEAD |
11a1cf93e400cd7d4de4e67193e8d0f9c4bc249c |
|
17-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
ImapArgList changed from linked list to array. easier to handle that way.
--HG--
branch : HEAD |
458de2c8c9f10038de964d789012e80a970b9c5c |
|
12-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Dropped sent_time and alignment from MailIndexRecord. SEARCH can now use
cached ENVELOPE data to search FROM, TO, CC, BCC, SUBJECT, HEADER MESSAGE-ID
and HEADER IN-REPLY-TO. They're never cached anymore now. Also SEARCH SENT*
had to be changed to use ENVELOPE (or fallback to Date-header parsing)
because sent_time was removed.
--HG--
branch : HEAD |
1215bc4d7e747846f282cf710e61f3768e69238d |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
s/user_data/context/ and some s/Data/Context/
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |