2608ab4495148a9362e75ec5c67dcbdec92dbae2 |
|
20-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_cache_open_or_create_path()
This allows moving cache file to another directory. |
93cb78fb1947d34e98efffecc2b73f035e711f18 |
|
21-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_cache_close_mail() to smartly drop cached data with INDEX=MEMORY
Instead of reseting the entire transaction buffer when 256 kB is reached,
just drop mails have have been marked closed with mail_cache_close_mail().
If that's not enough, continue deleting forcibly until the buffer is below
256 kB.
This is especially important when mail_prefetch_count>0 and INDEX=MEMORY.
In that case there can be multiple mails that are being added to cache
and used later on. If they were dropped from cache too early, the work
would have to be done all over again. |
846624bdec0d5deec6cf22071158221391ec5f2d |
|
11-May-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-index: Add mail_cache_set_seq_corrupted_reason
Marks a seq in cache corrupted, and removes
that instead of the whole cache. |
215cdc8dbdeee2e0e91e6f67d9c6a575a90e118a |
|
20-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-index: Add mail_cache_decisions_copy
This allows priming cache decisions for a folder. |
1211f411e0f851fe144e502967d22a8c2f36dee6 |
|
20-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-index: Unconstify mail_cache_register_get_list
This way the result is usable as input for
mail_cache_register_fields. |
99d5f0bf1eea2b78eac309fcd50aa6ba6b3de96b |
|
03-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Added mail_cache_get_missing_reason() |
d6d9ee111d3b31a366c19391eabb377a3d2d66e8 |
|
02-Mar-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Minor code cleanup - removed duplicate function prototype. |
0f833d18af36bf307cd69f235eb3fb779245b478 |
|
07-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Delay unlocking cache compression until changes to transaction log are committed.
This should fix race condition with two processes compressing the file at
the same time with same file_seq and becoming confused. |
e4b242684975b4d3702ca79bfd56452fe139a2bf |
|
07-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed cache file creation race condition.
If two processes are creating the index files at the same time, don't have
one of them delete the dovecot.index.cache that the other one just created.
This means we never should be calling mail_cache_create(), so it was removed
entirely. |
8ae72ad7d0c69e972cfa65d1e2ce4e3e9a8b765c |
|
24-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Replaced all -1U and (unsigned int)-1 with UINT_MAX.
It's somewhat clearer this way. Also clang's -fsanitize=integer gives
runtime errors about -1U (but not about explicit casts, so no need to change
(type)-1 casts). |
cb6b9d1ce0a3514b98feabef5a477afaf66ce549 |
|
09-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: mail_cache_open_and_verify() is now public. |
008a83e9f680f04f69789fb702232416eab2a86c |
|
10-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Allow updating cache's last_used field with mail_cache_register_fields() |
128ea07dab8d67124ea74bcc085a478784b6358a |
|
30-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Changed mail_cache_view_close() API to take pointer-to-pointer. |
f3976df875193529127d584cb713983e8160bdcf |
|
31-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_cache_exists() |
ad6fe4a3c0d589bb2db5238e0a6418f8d863b3c2 |
|
30-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_cache_view_update_cache_decisions() |
8fa86f7ef06aa6cf0239c7ca2eb98889691d40d4 |
|
30-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_cache_view_update_cache_decisions() |
58816241cbaf79e3f8dd7d831b7c6f02c6c38ee6 |
|
05-May-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_cache_field_exists_any() |
e2e105f6182f550efa82f77d2a46b3e8a2d4da10 |
|
20-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_cache_register_get_field(). |
d35fee8d1e5e31614dba5e64d45ed23c7d6bfa53 |
|
12-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_cache_reset(). |
764846c40e7f3ffd503337ccf798d7849cecc1c2 |
|
17-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
mail_cache_register_fields(): Update caching decisions from input fields.
--HG--
branch : HEAD |
61b6d1256936065321153bcd9228b9e45d95c9ab |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
More fixes to cache changes.
--HG--
branch : HEAD |
6f73af3a3a6ee900c7e736874587968d76a20bc0 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
mail_cache_transaction_commit()/rollback() API is now public and takes a **
pointer. Don't break if transaction is committed/rollbacked multiple times
for a cache view.
--HG--
branch : HEAD |
43d32cbe60fdaef2699d99f1ca259053e9350411 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
--HG--
branch : HEAD |
c25356d5978632df6203437e1953bcb29e0c736f |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed .h ifdef/defines to use <NAME>_H format.
--HG--
branch : HEAD |
710deabc6b3c305c3a842e7a2e0d173c526d13a7 |
|
14-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
s/field/field_idx/
--HG--
branch : HEAD |
7ca9da144f79317f9a0d3b0b5cc1fe21e44a5bf4 |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
When compressing cache file, update the cache file offsets using the
existing sync transaction.
--HG--
branch : HEAD |
5c0034beb9933bca2a8b7d83d11dface1ea3b7fa |
|
02-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
If cache file contains broken field type or decision type mark the cache
corrupted instead of assert-crashing later.
--HG--
branch : HEAD |
e0127c3244319fffb07bf65a3ed9e4a5d6e555b7 |
|
08-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Added mail_cache_field_want_add() and mail_cache_field_can_add()
--HG--
branch : HEAD |
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
--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 |
16598a1fb870ae40d6177755a4306216e4d6a4cd |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Added mail_cache_register_get_list() to get a list of all registered fields
in cache file.
--HG--
branch : HEAD |
a835194f9a9dae88528367a791cbc282589f6c01 |
|
23-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
s/PREFIX/SUFFIX/ for .cache and .log filename suffixes..
--HG--
branch : HEAD |
9d3ccd79130199ffdb19a688027d49bf20a4aaaa |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Several size_t -> unsigned int changes. Try to keep "unsigned int" for
counters, size_t for actual memory range sizes.
--HG--
branch : HEAD |
f239eb76f77afcbc0bfc97c9b52b4407d1bc3fe6 |
|
31-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Don't complain about cache indexid changing when recreating index.
--HG--
branch : HEAD |
4bbee99b3aef449a9a2a11a5b5cf1ca486915c49 |
|
20-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache fixes. Decisions are saved again.
--HG--
branch : HEAD |
e015e2f7e7f48874495f9df8b0dd192b7ffcb5cc |
|
18-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Header caching redesigned. New design allows caching decisions per field, so
they can be divided to temporary/permanent. Cached headers are now always
returned in original order, old code didn't guarantee it. Some other caching
changes. (still missing code to store changes in caching decisions)
--HG--
branch : HEAD |
992a13add4eea0810e4db0f042a595dddf85536a |
|
08-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache file fixes, API changes, etc. It's still in somewhat ugly state, but
getting better..
--HG--
branch : HEAD |
1171f0abf442638bac1827bb24a0b6b8eb682a82 |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache API updates. Don't return direct pointers to mmaped cache file anymore.
--HG--
branch : HEAD |
72cbf33ae81fde08384d30c779ff540752d9256c |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache updating is done now by first reserving space where to write, and then
writing to it whenever buffer gets full. There is no persistent cache file
locks anymore because of this, but it also means that the same cached field
may be written multiple times to the file by different processes. Also since
we reserve more space than we actually need at first, it some space can be
wasted if multiple processes are updating the cache.
--HG--
branch : HEAD |
a40d26f83af808a0ea1e212c001d682a96d870b0 |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Caching fixes and optimizations. Removed all network byte ordering code -
it's not worth the trouble and would require massive changes in indexing
code as well to be useful. Changed next_offset to prev_offset which is
updated while syncing index.
--HG--
branch : HEAD |
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8 |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache file compression works now and compressed cache file is reopened.
Several other cleanups related to opening - cache file isn't created
immediately anymore.
--HG--
branch : HEAD |
fc024418a9f522fd8e9fafaa68f525727a439c99 |
|
29-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
fix
--HG--
branch : HEAD |
8aacc9e7c84f8376822823ec98c2f551d4919b2e |
|
28-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added some smartness for deciding what to cache. Cache compression code compiles, but untested.
--HG--
branch : HEAD |
33d63688ed8b26dc333e3c2edbfb2fe6e412604d |
|
23-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added a framework for getting POP3 UIDL strings from mail-storage. The
default still is uidvalidity.uid. Added beginnings of overriding it from
X-UIDL header in mbox.
--HG--
branch : HEAD |
56f45b3f3ae20e5c933701f4657dda5ef1916855 |
|
19-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Several fixes and cleanups to cache file code, still badly broken
--HG--
branch : HEAD |
da5d50534cfca45d0aaaf0bdac17b287b4588809 |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Beginnings of getting cache file working again. Easy to break currently, but
basics seem to work.
--HG--
branch : HEAD |
fd3d711f219fd6813492acbe051e04327f0ca0f0 |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
Added support for setting dirty flags for messages (TODO: undirty..)
s/mail_index_record_flag/mail_cache_record_flag/
--HG--
branch : HEAD |
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
importing new index code. mbox still broken.
--HG--
branch : HEAD |
0d6c06233b2cdc5d854329ea6de3e1a0e244cdb4 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
removed out of the way of new index code
--HG--
branch : HEAD |
4e8b456590e76a3c53c3bf638f87e0fe5c0cec96 |
|
03-Sep-2003 |
Timo Sirainen <tss@iki.fi> |
mbox reading is kind of working again. Just don't try rewriting or expunging
:) Changing headers are also hidden from clients so mbox messages are finally
seen immutable as required by IMAP.
--HG--
branch : HEAD |
bb8937e0c503b49a752858f00445646062b6f06e |
|
24-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
use int32_t instead of int in struct mail_sent_date
--HG--
branch : HEAD |
bfe5d546f5ecc459d46dbc1c569d633de7c0516d |
|
21-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Removed some header/body size fields. We use only message_part now
everywhere since it's small enough. virtual_full_size was left because we
may know that by just reading maildir filename.
--HG--
branch : HEAD |
7d168af4ee6e7a38067b07cfc259d076e55900f9 |
|
18-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Removed NBO32_BIT* stuff
--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 |