6a0855a04d75bce3c0a2f68517d02f86ae72087f |
|
13-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_transaction_commit_result.changes_mask
This can be used to determine what type of changes were committed in a
transaction. |
82d158d37db5cfb4e26affe4bc2f2a235901d1b9 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index.event |
72af6886cb51e0ee02c9b3d6a7572eef8a0e236f |
|
20-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_set_cache_dir() to change .cache's directory |
19557f192d37cd54a1a090a8a26d9d47265e4413 |
|
01-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Fix spelling mistakes in comments
Original work by @andreasschulze and @jsoref |
67bbcd664bebce9a507a49c67273be4814d07c97 |
|
12-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_cache_optimization_settings |
3a78329166819e06f2929ce44e360514c6a80a8e |
|
12-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_base_optimization_settings |
7ce557e379d2df8c4c3c5639f251881f0a55f3b5 |
|
12-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Replace mail_index_set_log_rotation() with mail_index_set_optimization_settings()
This allows more easily adding optimization-related settings. |
9c93b5764f84126b3362cd96da4bd9b4de078bc7 |
|
13-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Remove size from struct mail_keywords.idx[]
This was confusing static analyzers, which thought that using [1] meant that
its size really was 1. |
5ea06115cb60413b62ffb58ffdd62786fec6a316 |
|
13-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: If mail_index_view is leaked, include in Panic the file:line where it was opened |
cded712c19ea8fb43c22726331de26b8a8dd234b |
|
24-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_use_existing_permissions()
This has annoyingly lot of copy&pasting from
mailbox_list_get_permissions_stat(), but there didn't seem to be any nice
place where to share the code. |
bb444f746dc6c15a8d0af67ef81bfa48c28471d0 |
|
18-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fix mail_index_get_modification_time() to work when index isn't open.
index->filepath may be NULL after a failed index open, and it's a bit unsafe
to trust that index->log->filepath isn't NULL either. So just build the full
path from elements that are definitely non-NULL.
Also stat() only dovecot.index.log, because it's always supposed to exist.
If it doesn't, something's broken and stat()ing dovecot.index doesn't make
much sense.
This commit removes mail_transaction_log_get_mtime(), which is no longer
needed.
Fixes:
Panic: file mail-index.c: line 931 (mail_index_file_set_syscall_error): assertion failed: (filepath != NULL) |
4394b73cacaf2c31a9b601f66b6e26a1c8f114b4 |
|
12-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Track .log.2 rotation time in index header
This avoids unnecessarily stat()ing the file. Also it's a bit better
since it's tracking the actual rotation time, not the mtime of what the
.log file happened to have at the time of rotation.
The initial rotation timestamp is written only to the dovecot.index header
without going through dovecot.index.log. This works, because the
dovecot.index is written practically always after a log rotation. For the
rare cases when it doesn't happen, the dovecot.index.log.2 just gets
deleted later after the next log rotation. |
2ecee6ed2bfd5c9bc5c6cc8a675b9db4cbbcd81f |
|
03-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index, lib-storage: Add mail_index_header.last_temp_file_scan
Also add index_mailbox_update_last_temp_file_scan() for easily updating it.
This is reusing an old "sync timestamp" field. Because it was a timestamp,
it doesn't matter if the old data still exists in it. This field could have
been added as an extension, but that's more work and this feature is generic
enough that it should be useful for many of the mail storage backends. |
945565e0c9cf979b5feeba6fbd4efce3bf4484ad |
|
13-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add MAIL_INDEX_OPEN_FLAG_NO_DIRTY
This way mailbox format backends that don't need dirty flags can use them
for other purposes. |
d0ed540d897d62713ac74523af11dac204874b5d |
|
14-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_revert_changes()
This can be used to revert changes done in a transaction to the specified
existing mail. |
c5073d5b57145e9d2912ea69e44e25550bf274fe |
|
25-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_unset_fscked()
This can be used to easily remove MAIL_INDEX_HDR_FLAG_FSCKD. It takes a
transaction parameter instead of sync_ctx because some index rebuilds
are done with a separate transaction while the sync_ctx is rolled back. |
02d6628c1fea2990c67c60b111c8e68867160885 |
|
25-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: fsck now adds MAIL_INDEX_HDR_FLAG_FSCKD to header.
It can only be removed by an explicit header update. |
b66a207ddcfc72a634186ec7e9a82df28ffc1d4e |
|
24-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_set_log_rotation() |
9e6d83a3ef6abb393eeebca423cfd0d8cb08d430 |
|
18-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Added mail_index_transaction_get_highest_modseq() |
df1b2c3ff9cea4b57a4b9f1688bef54998fda5a4 |
|
02-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Don't waste 3 bytes of space in struct mail_index_record.
It was always supposed to be used mainly for keywords, but it got broken
many years ago and nobody noticed. |
f883b315ca72073b58020798e6d907340b327228 |
|
03-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: If mail_debug=yes, log cache compressions. |
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] |
5bced341c27719fe5ec48e1cd079843f33c6d4b5 |
|
22-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Added mail_index_sync_set_reason() to improve lock wait log warnings |
5fb7f20862718b2546e9d154d8924510d3f02729 |
|
20-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_sync_have_any_expunges()
This can be used to quickly check before mail_index_sync_begin() if there
are likely to be any expunges that will be synced. |
ea91861234475257f436dc07925f80cf4ac32b71 |
|
13-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_ext_register_resize_defaults() |
b356019bca27927bed2995e55aa6bfea756cc776 |
|
11-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
lib-index: Avoid writing tail offset update to transaction log if it's not necessary.
This should avoid extra writes that do nothing but update the tail offset.
mdbox's map requires this behavior, so disable it for it. For others it
might cause the next sync to read more data unnecessarily, but it should be
worth the extra cost of write most of the times. |
f6ae4001e33637ad80ebb8f5716ca2020e718625 |
|
09-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_sync_no_warning() to prevent "long transaction lock" warnings.
Use it with Maildir to prevent double-warning. |
e307c8202280c6db60a0615381f18cac33e46a53 |
|
09-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Moved MAIL_TRANSACTION_LOG_LOCK_WARN_SECS as part of public API. |
f90cbe597c41d5cc91debd371f8648bd8e6ffbc2 |
|
28-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index, lib-storage: Fixed race conditions with deleting mailbox.
Now only one process can successfully finish mailbox_mark_index_deleted(). |
c7fc0431b23dc8d29e12e09c8120e223fbee116b |
|
27-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_ext_resize_hdr() |
238812433b4f7965fd662dce0f4efccb092630a8 |
|
05-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Add timestamps and value lengths to attribute change records in transaction log.
The timestamps will be useful for dsync, and value lengths will be useful
for metadata quota. |
fee561b9d9162b130e662914fcebc9dd99b5c320 |
|
14-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: mail_index_attribute_[un]set() adds changed attributes' keys to transaction log.
This provides them both a modseq (so their changes become visible) as well
as an efficient way to see what attributes have changed by reading the
transaction log. The values themselves aren't written to the log, because
they could be large. |
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). |
795aeec896095aa8f08cc5d3282c88cc0921bff6 |
|
17-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Make sure unused_old_sync_* fields are cleared in header in old inedx files. |
d48860922190d08427ceaf30475994017ef09e2b |
|
09-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Comment update |
e68fc7dc8c8a75842f1e39deb49d196d1cfdb3b3 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Treat modseq updates explicitly instead of as if they were flag changes. |
18d92dbbb752c79dc461514e52f7ef11847e636b |
|
18-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added MAIL_INDEX_OPEN_FLAG_SAVEONLY to do only minimal reads from cache file. |
7c332266561b8e6562a9151e6af1ed3cd6fb79d6 |
|
15-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Removed MAIL_INDEX_SYNC_TYPE_APPEND. No backend cares about it. |
724b7fcf28c2547eb9c837d0e99241c0501dccf3 |
|
15-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Changed mail_index_set_fsync_mode() to use a separate enum for the mask. |
b66d803de86bfb411165b3465b0d9ef64ecfe2a1 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes and other ways. |
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 |
5da1aa5197a43d83f0fb3eeb83125c7cd73d1b62 |
|
11-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
shared mailboxes: Per-user flags can now be stored in private index files.
This can be enabled by adding e.g.:
mail_location = mdbox:/var/shared/mdbox:INDEXPVT=~/mdbox/shared |
e169102fb38ce788b76c2a344bee7d77079dea05 |
|
03-May-2012 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_TRANSACTION_FLAG_SYNC |
250105a1440167ef000323cdb2721cd2a3688e1e |
|
22-May-2012 |
Timo Sirainen <tss@iki.fi> |
Don't write "keyword reset" records to transaction log anymore.
These are a bit problematic for dsync's keyword merging to handle. |
47e0598840ecffa364ebed523e06939e22738f06 |
|
08-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_set_ext_init_data() for adding data to index on creation.
This can be used to avoid race conditions on mailbox creation for mailbox
formats that require this (sdbox). |
8a3f549a3cb1d6dd980a4fa3db284653e256dae7 |
|
07-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_reset_fscked() |
de62ce819d59a529530da4b57be1b8d6dad13d6b |
|
25-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Moved GUID code to liblib. Use guid_128_t type consistently everywhere. |
cfbacf6ea5fb39ae5304e4d95a78d9d4751bdfe1 |
|
09-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: MAIL_INDEX_SYNC_FLAG_DELETING_INDEX comment updated |
b84451fa6ada675ae504725702e0815967124cbb |
|
08-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: sync_stamp and sync_size fields are unused, mark them as such. |
de9d79337eca11a7f9c1cd476c74dfe4f09a4bd7 |
|
30-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Removed mail_update_uid() / mail_index_update_uid().
It was working properly only with mdbox and there wasn't really a need for it.
--HG--
branch : HEAD |
3955d6726c939b3b30527c22b70c879fbe78692e |
|
28-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_sync_has_expunges()
--HG--
branch : HEAD |
b780aa272b742a43579cdb523cc79cc8d4521306 |
|
25-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Renamed fsync_disable to mail_fsync=optimized|always|never.
--HG--
branch : HEAD |
036626b19f14bef582f96e556913ae91b1d67881 |
|
23-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Added mail_max_lock_timeout setting.
This could be useful inside lda/lmtp protocol sections to avoid them from
spending too much time waiting for locks, since they can easily just
return "try again later".
--HG--
branch : HEAD |
ec77cd41241208345efd51c1fcce9030be30aa9b |
|
13-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_view_get_transaction_count().
--HG--
branch : HEAD |
6c2ddb9f586e6392552ddfb82ab55e57fcfc4110 |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_get_modification_time().
--HG--
branch : HEAD |
3f91e60401495a4046c73992fabaa5e77200a451 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Mailbox deletion: Fixed race condition where a mailbox couldn't get deleted.
--HG--
branch : HEAD |
8872e5c991430f96138a46e36b7f3c2c40d8e5c2 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added support for undeleting a deleted index.
--HG--
branch : HEAD |
651fc0f1e43fef3e02e0e7b5f498973b05f641d7 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Added support for marking mailbox index deleted. Don't allow any changes after that.
This is going to help with race conditions when deleting mailboxes.
--HG--
branch : HEAD |
9f19a50d5966643c4d1c5ca06868ac2ad31bc4d5 |
|
19-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
Transaction commits can now track how many uid/modseq updates were ignored.
--HG--
branch : HEAD |
4b89231f4ec9cc69f4aea715e1d34f405c7e317d |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_update_highest_modseq().
--HG--
branch : HEAD |
ad48319996942463675b53877092ab7e13a7a75a |
|
29-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added ability to specify message's minimum modseq value.
--HG--
branch : HEAD |
8cf32443413f811d514123c5c74c95c87594b0e3 |
|
28-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_append_assign_uids() to mail_index_append_finish_uids() with API changes.
It's now possible to call mail_index_append() with UIDs before locking
mailbox and have the _finish_uids() change them if another session had
already used those UIDs.
--HG--
branch : HEAD |
bddd52cb7f3e5a894c080f60750aa76b5aeaf103 |
|
28-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added ability to change existing messages' UIDs with mail_[index_]update_uid().
--HG--
branch : HEAD |
0c909e3461607eadcd66f4eac69b7f34e37fccf1 |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Keep track of expunged messages' GUIDs and expose them via mailbox_get_expunges().
The message GUIDs are stored in expunge records to transaction log. Before
doing the final expunge, Maildir and dbox verify that the GUID in expunge
request matches the current actual GUID. The GUID is stored in 128 bit
field. If the real GUID isn't 128 bit, the bits are taken from SHA1 of the
GUID.
--HG--
branch : HEAD |
e156adefc1260d31a145df2f5e9b3c82050d4163 |
|
28-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Whenever file's group changing fails, show the group origin in the error message.
--HG--
branch : HEAD |
84ed9f8f3d0e5ed47607ef417618e49e4f865557 |
|
22-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Added reference counting to struct mail_keywords and related APIs.
--HG--
branch : HEAD |
4d4d585520538a752e9f0a4a1c019a2918f52e56 |
|
17-May-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_unlink().
--HG--
branch : HEAD |
22ebf992c5899a7d96ea62b07f091890d84f8982 |
|
14-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Removed duplicate mail_index_is_in_memory().
--HG--
branch : HEAD |
15cc66ca72982a43e3bfa58f307adc57e9caa52d |
|
14-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: When saving messages, in some race conditions we might have written a duplicate UID.
--HG--
branch : HEAD |
dd9712b013e5a14939deed84b2e391d89897d2cf |
|
31-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_lookup_view_flags()
--HG--
branch : HEAD |
97735b96d442568f65efa20f8c292a496498c17b |
|
25-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Comment update.
--HG--
branch : HEAD |
b7a5580abb62dd82e82e58ed81dcb307ed338144 |
|
25-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
mail_index_atomic_inc_ext() now returns the current diff sum.
--HG--
branch : HEAD |
ef5fb27361cc5e15766e85e28355750ff04b13c9 |
|
23-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
dbox: Make sure indexes are never moved to memory (in case of out-of-disk space).
--HG--
branch : HEAD |
807b48fe1f6a57b01ed2cc20247d5b5e3facc562 |
|
20-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Added FSYNC flag for transactions.
--HG--
branch : HEAD |
079f54c97145a0a5daa36c37eead3eae91b67a1e |
|
20-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_sync_get_offsets().
--HG--
branch : HEAD |
589a9c6e8ee22071c14171c04bfc6bfe17121871 |
|
18-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
dbox: Create dovecot.index.backup files.
--HG--
branch : HEAD |
9404a7b90dcb80d31bd37ee2493f03751acdb1bd |
|
11-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Removed rarely used parameters from mail_index_transaction_commit().
mail_index_transaction_commit_get_pos() can be used where they're required.
--HG--
branch : HEAD |
41e6eb07b411ea58352ba9d2cc8cf340325d49f3 |
|
11-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_open_or_create().
--HG--
branch : HEAD |
c5794838af9995f50bfecb06a3cd4f9a0ac77858 |
|
04-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_atomic_inc_ext() for atomically incrementing numbers in extensions.
--HG--
branch : HEAD |
48270badadd82279bfe50ae3d187aea8b0b2b30e |
|
21-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
CONDSTORE: STORE UNCHANGEDSINCE conflicts are now checked atomically.
--HG--
branch : HEAD |
c4db5f0fb7cea8160dc10b5f0ab57ab7c02bf8a5 |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_map_lookup_keywords().
--HG--
branch : HEAD |
1f43c8ac132c153c224c4fffe34b2c3075d87ef7 |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Changed mail index view syncing API to return only flag changes.
Currently it has only a single caller and it's not interested in anything
else.
--HG--
branch : HEAD |
5a86309a6c58bdeb9921bf2989aaabaaa04a29ab |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_begin() now delays its failures to _commit().
--HG--
branch : HEAD |
17da42c31202b1b3e7e308121ea17d922c24da1b |
|
11-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: If MODSEQs were returned in FETCH replies but there are pending
expunges, send a low enough HIGHESTMODSEQ reply to make sure the client will
later see the expunges.
--HG--
branch : HEAD |
6e07b4251bf6a3cf34019c351a32a65c08392e58 |
|
29-May-2008 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_ext_reset_inc() to atomically increase extension's
reset_id. Added clear_data parameter to mail_index_ext_reset*().
--HG--
branch : HEAD |
50031a6b36a6051512bd18f39e4bbabe54acf565 |
|
25-May-2008 |
Timo Sirainen <tss@iki.fi> |
Make sure MAIL_RECENT flag is cleared from index file's flags so it can be
used in future for other purposes. Increased minor version number because of
this.
--HG--
branch : HEAD |
b9c44feadade0481b957f2978640afb3317bd1df |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
View sync returns now also hidden records, but they're marked as such.
Mailbox syncing returns hidden records as modseq changes.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--HG--
branch : HEAD |
db5164c9a1129af0cfb11fc18d88da361a8011fb |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_MAIL_FLAG_BACKEND flag that can be used for
backend-specific uses.
--HG--
branch : HEAD |
ff3e079cdcd74e64eb35af0bc361e75d2ea03822 |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Moved fdatasync_path() to a global function.
--HG--
branch : HEAD |
6b0309ad4ea5fb8b2a558b912b1669ac2ca228df |
|
09-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Moved keyword_indexes array type to lib-mail.
--HG--
branch : HEAD |
d6a1fa1d65c6d1996937802c2482c0f14dd821a7 |
|
15-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_SYNC_FLAG_REQUIRE_CHANGES flag and changed
mail_index_sync_begin() to return 1 at success and 0 if there's nothing to do.
--HG--
branch : HEAD |
80fc743146da5130de34174cdaad2576f103723f |
|
08-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
fsync transaction commits only if the transaction contains change types
specified by mail_index_set_fsync_types().
--HG--
branch : HEAD |
c53e8ee216904ffe6de4f6518d9f9f5107b7610e |
|
04-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_OPEN_FLAG_READONLY.
--HG--
branch : HEAD |
c5454841b5067a22827556ca9bc7935d190f57ba |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_ext_lookup()
--HG--
branch : HEAD |
3da614c39dd29f536c485089e67839b4cf89fed3 |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_index_lookup_uid_range() to mail_index_lookup_seq_range(), made
it return a bool and added mail_index_lookup_seq(). Cleaned up the code to
use these functions.
--HG--
branch : HEAD |
62f4a199b5c9a0862f486cbf18e195cc621bbe25 |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_VIEW_SYNC_FLAG_FIX_INCONSISTENT flag.
--HG--
branch : HEAD |
80c1d98d3638b71e57a39cafa88b9122bf8169c6 |
|
25-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Don't forward declare enums. It doesn't seem to work with all compilers.
--HG--
branch : HEAD |
768b7f5783c8de119d7386321e5d0c72d5c2d9f6 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_sync_have_any().
--HG--
branch : HEAD |
c25356d5978632df6203437e1953bcb29e0c736f |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed .h ifdef/defines to use <NAME>_H format.
--HG--
branch : HEAD |
6ec7cf71ccd0eed1f9cc1b0bda8960796b04160b |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Removed MAIL_INDEX_HDR_FLAG_FSCK. It's not used anymore.
--HG--
branch : HEAD |
3b80595fcf2001cf7b2fcc6290823e38f4a142fc |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
fsck won't fail anymore with "corrupted index", all problems are fixed.
Added mail_index_fsck_locked().
--HG--
branch : HEAD |
61f5256ef248d35459b53534ae428bf6d016e1c5 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed mail_keywords creation APIs to take mailbox/index instead of
transaction.
--HG--
branch : HEAD |
6825360d446542046757b06064282301c4c6b27c |
|
31-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Removed autocreate parameter from mail_index_keyword_lookup(). Added a new
mail_index_keyword_lookup_or_create().
--HG--
branch : HEAD |
8f8315e4b4e27ead12dd1c3da65bf4dee3762f18 |
|
29-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_index_sync_begin() to mail_index_sync_begin_to() and added a
new mail_index_sync_begin() without seq/offset parameters.
--HG--
branch : HEAD |
c979eeda1f46483d9c963e265786b701d7683d77 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_next() and mailbox_sync_next() returns now bool.
Renamed void mailbox_index_view_sync_end() to int
mailbox_index_view_sync_commit().
--HG--
branch : HEAD |
b08b33d1f5ce3721dc2d83586c9cb0ca141331fd |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_sync_next() can't fail anymore.
--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 |
d152ccd0d29fae1bc6092bf198ee7eb843202f96 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Updated mail_index_sync_begin() comments.
--HG--
branch : HEAD |
44c5e644cb413a6559bf2d4179cbe48f9a82f366 |
|
10-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_ext_get_reset_id() takes now map parameters. Fixed it to work
properly with transaction views.
--HG--
branch : HEAD |
5278c93bd7105c32ac7ec37f36015d5950f6cbca |
|
06-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_ext_get_reset_id() which returns the latest reset_id when
using transaction views.
--HG--
branch : HEAD |
c8adec8db635f5efb13b9879a5f3fb523abdc969 |
|
19-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_TRANSACTION_FLAG_AVOID_FLAG_UPDATES and
MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES flags to make
mail_index_update_flags() not do anything if the flags in view already are
those.
--HG--
branch : HEAD |
db87d16551d1081ada01f787ea21aa3ed1402c31 |
|
19-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Changed mail_transaction_begin() API to take flags parameter instead of two
booleans.
--HG--
branch : HEAD |
1d3f7c1278168d5b1cbfa9a2cc9929a0909056b4 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Recent flag handling rewrite. Still not perfect with maildir.
--HG--
branch : HEAD |
51b979b6414b940f04677a7e2d064be119345954 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Flush NFS caches when needed if MAIL_INDEX_OPEN_FLAG_NFS_FLUSH is enabled.
--HG--
branch : HEAD |
893e5bbd5184ec5c21f47c67c8ea6efbea41f7d0 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_ext_set_reset_id().
--HG--
branch : HEAD |
ae8817f05005f57bba32479a610b52d083e2b6eb |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added support for resetting index.
--HG--
branch : HEAD |
2d39dc1a453546892109b35c0d9770369011a13d |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_sync_begin() takes now flags parameter instead of two booleans.
Cleanups to recent handling.
--HG--
branch : HEAD |
0cbbf6a61cc30312a76fa0c06cec01bae99d66b5 |
|
18-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Give MAIL_INDEX_VIEW_SYNC_FLAG_NOEXPUNGES a non-zero value so it actually
works
--HG--
branch : HEAD |
7761758f43d6150be4b07f4c54457ce662f78c4c |
|
17-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_begin() can now sync only all or all but expunges.
Changed sync_type to be flags.
--HG--
branch : HEAD |
51795bfe9d05d92fe942cb451aec2b9d16d32a11 |
|
15-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
int/ext/mailbox sync offset changes: Combined mailbox and int offsets to
"tail" offset and renamed ext offset to "head". This makes it clearer how
they're supposed to be used.
--HG--
branch : HEAD |
6bc98d3898c475ba7615ba2b016e5142c8b2c09f |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_view_sync_begin() to take enum mail_index_view_sync_type.
This limits how the view can be synced, but we couldn't handle before more
than the 3 useful cases anyway.
--HG--
branch : HEAD |
d2475500ee2a5f3c07eb22886797cef0e11ce7c4 |
|
12-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Added padding to struct mail_index_header so it's 64bit aligned with 32bit
systems also.
--HG--
branch : HEAD |
2a6af811ea3de3cf9e2f15e446674dd21b0705f3 |
|
11-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Initial commit for major index file code cleanup.
- dovecot.index file isn't anymore required to be updated when syncing.
- Getting the latest index file mapping is now done always by reading
dovecot.index and then reading the latest changes from dovecot.index.log.
- mmap()ing dovecot.index file is slower than reading it, so it's not
currently done unless the file is at 256kB. This may change though.
- Some things are still broken.
--HG--
branch : HEAD |
e376693bfa3985232c41df99c7010fca22612c89 |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_transaction_is_expunged()
--HG--
branch : HEAD |
2674b4f0cf8f3c203d8e56b29735f5e267038daf |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
Typofix: transction -> transaction
--HG--
branch : HEAD |
48136ae5a0eb49daa44e343553f3688a500307e2 |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_transaction_get_view()
--HG--
branch : HEAD |
aa0647f2debf0d48d504a321186f66c85596aaf4 |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_sync_begin() returns now transaction directly so the syncing code
doesn't need to create it. It's also automatically committed/rollbacked.
--HG--
branch : HEAD |
eac3948d67eff8623d51aeaea9eca582f3aec677 |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_transction_reset().
--HG--
branch : HEAD |
ce19e80b5a907d51a7cdf081e09699af8367dbfa |
|
16-May-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mmap_no_write setting. The only OS requiring it is OpenBSD, so we're
now forcing mmap_disable=yes with it instead. dovecot.index.cache file is
the most important file to mmap(), but since this didn't work with
mmap_no_write, there's not much point in keeping special code paths for
minimal gains.
--HG--
branch : HEAD |
71138b94b29aa4e39cad2cba4844f9a182d89221 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mail_index_get_last_error() and MAIL_INDEX_ERROR_*. All the index
errors are internal errors.
--HG--
branch : HEAD |
46c31f64b9f0949f00b7819f45b22f2d64b2ea27 |
|
29-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Better type safety to module_contexts arrays. Already fixed some bugs.
--HG--
branch : HEAD |
8887bf3757d51d73887dd20b1db3334d867d3817 |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added dotlock_use_excl setting.
--HG--
branch : HEAD |
369a1084c500a9df7448ffa9409ce32e42060bc2 |
|
17-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added fsync_disable setting. Also added missing fsync()ing to dbox when
saving mails.
--HG--
branch : HEAD |
d9fdacd5fb3e07997e5c389739d2054f0c8441d8 |
|
06-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Lock handling changes. Everything goes through file-lock API now and there's
only a single enum listing the different lock methods. This change exposed
some unneeded (or possibly even wrong?) unlock calls in index file handling
which were fixed.
--HG--
branch : HEAD |
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cb |
|
15-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Try to avoid sending duplicate/useless flag updates.
--HG--
branch : HEAD |
5de429d5b0fce31f7b7b2ef61da97f00143e3924 |
|
13-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Removed MAIL_INDEX_OPEN_FLAG_FAST. It wasn't being used, and we probably
want to have that as a default anyway.
--HG--
branch : HEAD |
d6badc27cd6e8d3398877b6766cb0aaeef3a7800 |
|
28-Jun-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Beginnings of joining mail-storage API more closely to mail-index, so that
mail-index could be directly used if needed. Currently only transactions
are joined.
--HG--
branch : HEAD |
8d80659e504ffb34bb0c6a633184fece35751b18 |
|
28-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Array API redesigned to work using unions. It now provides type safety
without having to enable DEBUG, as long as the compiler supports typeof().
Its API changed a bit. It now allows directly accessing the array contents,
although that's not necessarily recommended. Changed existing array usage to
be type safe in a bit more places. Removed array_t completely. Also did
s/modifyable/modifiable/.
--HG--
branch : HEAD |
a045c3aba2610c6ed0bf1c346df1c6d8f7b9fbfd |
|
19-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Fixed mail_index_move_to_memory() to work better and made it public
--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 |
bb2b91b4c5363348b737237893d414639510a561 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
mail_index_ext_get_size() hadn't been implemented even though it was in
mail-index.h. Implemented it and changed mail_index_lookup_keywords() to use
it.
--HG--
branch : HEAD |
020a39a395d2adb768e0179631b37bc78ecd9471 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_view_sync_next() to return struct
mail_index_view_sync_rec records which only contain the type and UID range.
Makes it clearer that the caller won't get anything else, and flag updates
now don't need to update add_flags/remove_flags fields.
--HG--
branch : HEAD |
8afec4d1a32b78f540257a27769b372aad753384 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Comment updates, small cleanups and optimizations.
--HG--
branch : HEAD |
bb26f09873c18f342cd1ab2d0ee0b9018e6546d9 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
We assumed that keyword index arrays were always sorted. This isn't always
the case. Caused unneeded keyword updates.
--HG--
branch : HEAD |
811f2e26d9782d9cb99fdf82e18ffa0a77564fe2 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Moved uoff_t and time_t compatibility checks to cache file, since they're
not needed for index/log. Only index file incompatibility check is now
endianess flag.
--HG--
branch : HEAD |
e12648867876aaec17e06ee4caef0bb60363449d |
|
29-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Check broken flag counter values every time when updating them. Added
fsck-flag to index header, if it's set do fsck when opening index and when
syncing.
--HG--
branch : HEAD |
aa38d1a0945f0bc13a225d043f53fad2eec666b1 |
|
23-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
If UIDVALIDITY changes, don't invalidate the whole index. Just expunge all
existing messages and update uidvalidity/nextuid fields. Now we don't have
to re-login when this happens.
--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 |
89caf81340a4da959ef18c5f9b9c99824a53066b |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_sync_reset() to restart syncing from beginning.
--HG--
branch : HEAD |
bb10ebcf076c959c752f583746d83805d7686df8 |
|
02-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Keywords are now stored in X-Keywords headers in mbox. Did several related
API changes to get better performance.
--HG--
branch : HEAD |
d7737c090219b03e98a04bb30f84ef55e397319b |
|
27-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Changed keywords_buf to array. Added mail_index_sync_get_keywords().
--HG--
branch : HEAD |
26ff8f8a4867bf8e9551a27a2de8c12cd138b065 |
|
14-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
mail_index_sync_next() now returns keyword updates (now only thing left to
do is to fix maildir and mbox syncing to use them).
--HG--
branch : HEAD |
faed8babca9914257f34fb2e603d74016d563b2d |
|
05-Feb-2005 |
Timo Sirainen <tss@iki.fi> |
Internal changes in how keywords are handled. struct mail_keywords isn't
automatically freed anymore, added *_keywords_free() for that.
--HG--
branch : HEAD |
c251a38df327599a62d341bf5c2282f31352faa5 |
|
22-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_update_flags_range() and optimized the non-range version as
well.
--HG--
branch : HEAD |
41e1c7380edda701719d8ce1fb4d465d2ec4c84d |
|
10-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Keyword fixes.
--HG--
branch : HEAD |
16c89b1260c9d07c01c83a9219424d3727069b2e |
|
26-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Initial support for keywords. Syncing to mbox/maildir doesn't work yet.
--HG--
branch : HEAD |
d30da25fb6be1f1c667d93767c9194000194b618 |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_index_refresh() to mail_index_reopen_if_needed(). Added public
mail_index_refresh() which makes sure index is fully refreshed at the time.
Added mbox code to call it after mbox is locked to avoid using old mbox offsets.
--HG--
branch : HEAD |
df4018ae2f0a95be602f724ca70df7e0e3bd6a7d |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Removed view->messages_count, view->hdr.messages_count is enough. Also fixes
assert crash in mail_index_bsearch_uid().
Renamed .._get_message_count() to get_messages_count() to be more
consistent.
--HG--
branch : HEAD |
abbe0657a4d6271740d41cf1de55e8686f5769fc |
|
24-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
mail_index_refresh() isn't public anymore, mail_index_view_open_locked()
works better for the purpose.
--HG--
branch : HEAD |
b20fb5b1df9d604a7541f5118fc5b4b466d211ef |
|
24-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_get_header() to return the header as return value because
it can't fail anymore.
--HG--
branch : HEAD |
7c95b03620a03a43dd72d39608cea5fc77393ad6 |
|
11-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Allow specifying to transaction if it's external. Make mail saving
transactions external to avoid problems with uids.
--HG--
branch : HEAD |
6a19e109ee8c5a6f688da83a86a7f6abeb71abdd |
|
06-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Removed cache_offset from mail_index_record and changed it to use extension
instead. Added possibility to register sync and expunge handlers for
extensions. Changed the way extension resets work: all extension updates
which were committed without having seen the reset are ignored.
--HG--
branch : HEAD |
2a734f36105e33ab452d057df6bc7a2b7d9f96f0 |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Use separate sync offsets for internal/external transactions. Pending external
transactions are committed into index at the beginning of syncing, internal
ones aren't.
--HG--
branch : HEAD |
a53cb86b4d733d9c48ee4d285bed477c80825804 |
|
10-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Replaced fcntl_locks_disable with lock_method, so it's now possible to use
flock() to lock indexes.
--HG--
branch : HEAD |
757726d9acbd04cf0d0d4be8ce14e11525476a0b |
|
04-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
When we had dirty messages, we kept resyncing the whole mailbox constantly.
--HG--
branch : HEAD |
bbf796c17f02538058d7559bfe96d677e5b55015 |
|
03-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Index extensions can now specify record alignment, and it's possible to
resize header and records. Fixes mbox crashes with some 64bit systems.
--HG--
branch : HEAD |
7797aa2479e99aeb71057b7a2584b2cb72e4d3f8 |
|
26-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Renamed "extra record info" and variations of it to "extension" or "ext" in
short.
--HG--
branch : HEAD |
20a802016205bbcafc90f164f769ea801f88d014 |
|
21-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Get index file mode and GID from dovecot-shared file.
--HG--
branch : HEAD |
5a07b37a9df398b5189c14872a600384208ab74b |
|
05-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Save extra record/header infos into index file permanently.
--HG--
branch : HEAD |
d9de52132072d80b8c268094b879c0ef5a108db3 |
|
30-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_index_sync_end() to _commit() and added _rollback(). Fixed mbox
deadlocking issue.
--HG--
branch : HEAD |
88553367d677170a4b703b9d52aac9eabf91c656 |
|
26-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed recent flags with mbox.
--HG--
branch : HEAD |
469a4e62e94cbea0ee7864c3fde7a42ebbe591d9 |
|
03-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Removed mail_index_is_in_memory(). It wasn't implemented and it's useless
anyway. User doesn't need to see "couldn't use index files" error message.
--HG--
branch : HEAD |
b92813e2f96d4b28f989528ed5dd6115da7d9bdb |
|
03-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
mail_index_sync_sort_flags() now merges flag changes so mail storage
backends don't need to do it (and maildir didn't before). Dirty flags will
be synced now too.
--HG--
branch : HEAD |
09c3a491f4f6ccebe290c7709bdc0d79a187610b |
|
03-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
UIDs for appended messages can now be assigned all at once. Maildir now
updates indexes immediately while saving messages.
--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 |
7e94cf9d70ce9fdeccb7a85ff400b899e6386f36 |
|
24-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Record size is allowed to change between index files. This will allow adding
extensions dynamically for existing indexes.
--HG--
branch : HEAD |
24fc71a693331ffe77e2b6d81c70aca6fa055e47 |
|
22-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_transaction_get_updated_view() which can be used to access
uncommitted messages.
--HG--
branch : HEAD |
b44a50ea4123f21dfc8e1b6c602f690fd9721b67 |
|
21-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Cache doesn't crash anymore if we're asking it about messages that exist
only in uncommitted transactions.
--HG--
branch : HEAD |
b5ea11802f2bafbec06282a7b3b6704dc5fae584 |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
mail_index_lookup() and mail_index_lookup_extra() now returns 0 if message
has been expunged, 1 if not.
--HG--
branch : HEAD |
345212e8f61ebf14ff4f80df26df9e655eb5121e |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
mailbox_save() and mailbox_copy() functions can now return the saved mail so
it can be immediately queried. Implemented UIDPLUS extension using it.
Maildir implementation missing, so it crashes with it for now.. APPEND with
mbox now doesn't require resyncing the mailbox since it updates indexes
directly.
--HG--
branch : HEAD |
024815ea2ffdda9ea79919f18e865663977f73ea |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Fixes for extra_records
--HG--
branch : HEAD |
1175f27441385a7011629f295f42708f9a3a4ffc |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Modifying extra_records should work now.
--HG--
branch : HEAD |
8e7da21696c9f8a6d5e601243fb6172ec85d47b2 |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added support for per-index sized mail_index_record.
--HG--
branch : HEAD |
e4b09b008ab544eb8994beecbfffefa21d855e43 |
|
26-May-2004 |
Timo Sirainen <tss@iki.fi> |
mail_index_refresh() - allows forcing a refresh check
--HG--
branch : HEAD |
e06c0b65c16ccce69bbee009ead14d7d3d17a256 |
|
24-May-2004 |
Timo Sirainen <tss@iki.fi> |
Index header changes now go through transaction log. Removed the kludgy
parameters for mail_index_sync_end(). Removed code duplication of syncing
index root mapping and view mapping. Some fixes to handling uidvalidity and
nextuid in syncing.
--HG--
branch : HEAD |
d482b35af87f5fd872bad007da0475813a401a49 |
|
23-May-2004 |
Timo Sirainen <tss@iki.fi> |
Recent flag fixes. Should work perfectly now with maildir.
--HG--
branch : HEAD |
b35f7104715edee0cfac6d46ab0b342033867eb7 |
|
22-May-2004 |
Timo Sirainen <tss@iki.fi> |
Set dirty flags through transaction log, not directly. Some other flag
fixes etc.
--HG--
branch : HEAD |
659fe5d24825b160cae512538088020d97a60239 |
|
22-May-2004 |
Timo Sirainen <tss@iki.fi> |
Transaction log contains only UIDs now, no more sequences which just mess up
everything.
--HG--
branch : HEAD |
b656140aa7746dddab0945cd86f20c578f02e410 |
|
03-May-2004 |
Timo Sirainen <tss@iki.fi> |
comment update
--HG--
branch : HEAD |
e4fb5bfcdff32d337d054cce36e00e1cdfaae9f8 |
|
03-May-2004 |
Timo Sirainen <tss@iki.fi> |
INDEX_KEYWORDS_BYTE_COUNT was counted wrong so index files were larger than
they needed to be. Added sizeof(keywords_mask_t) to compat_data. Added limit
to growing index file exponentially.
--HG--
branch : HEAD |
d8b77aef97e89f1ccc5cbdaef77be9052279e35f |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
s/custom flags/keywords/
--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 |
b7b81543899e306c71e6152516d8698416162bcb |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
Syncing optimizations.
--HG--
branch : HEAD |
87712707722ef7d73acb065546e61afa4455cd9e |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
cleanup
--HG--
branch : HEAD |
685393de106e55b61f754d420e378d05bd462ebb |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
remove mail_index_reset() completely
--HG--
branch : HEAD |
18398a5d21c88cbb34c601c6b6c1f9dea502e1ca |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
Added fcntl_lock_disable setting to allow indexes to work with NFS. Some
other locking fixes.
--HG--
branch : HEAD |
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
Forced locking to be right with mprotect()ing index file. Support for
disabling mmap for indexes, and disabling just mmap+write().
--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 |
ec71c9b797276b247761ae84f04014ac95f76f05 |
|
04-Nov-2003 |
Timo Sirainen <tss@iki.fi> |
we didn't sync mbox again after rewriting which left us broken mail offsets.
--HG--
branch : HEAD |
181aa01111e2de2dae413b4c1ccfcfc4e801ac40 |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
fixed dovecot-uidlist permissions for shared mailboxes
--HG--
branch : HEAD |
05d8b39defaa5bcaea31ab9f8ff2bd8e119c7d52 |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
If maildir contains dovecot-shared file Dovecot does two things differently:
it allows some flags to be private and stored only in index file (currently
hardcoded to \Seen flag only) and new mails are created with dovecot-shared
file's mode & 0666. So if you set filesystem permissions correctly, you
should have fully functioning shared mailboxes.
--HG--
branch : HEAD |
951f521e9275489a1a4f9272e84b6b8f3fb66d89 |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
We didn't notice cache compression immediately in other processes. Also some
other bugfixes.
--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 |
21334f6ca1d3f4e7ef0c9920e81c15b4c5485c45 |
|
24-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Added back compat_data[]. It wasn't so simple to access data portably in
index files after all..
--HG--
branch : HEAD |
a96bf79d1dc336643fb1345e9ae8e7f1e7b87cdf |
|
24-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Removed index_align stuff. It's not needed anymore.
--HG--
branch : HEAD |
7d168af4ee6e7a38067b07cfc259d076e55900f9 |
|
18-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Removed NBO32_BIT* stuff
--HG--
branch : HEAD |
e6d35af29202a78abd9c6a8412f340693b36a948 |
|
11-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Save sync stamp in index header rather than in file's mtime.
--HG--
branch : HEAD |
cec8e298523c65f9ed832a2d1fc65068708d9f7d |
|
11-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Fixes for opening broken cache file.
--HG--
branch : HEAD |
b37634f5bf23ff8c72b88ef6966fd5c730017419 |
|
11-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Maildir syncing works now without requiring base filenames to be in index
cache file. Also message flag updates with +FLAGS and -FLAGS works correctly
now if another client had just changed it's flags.
--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 |
dbb1fb1c51727e2050792f8c333b212e22a36d69 |
|
26-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API change for expunging messages. Not exactly what I wanted, but good
enough.
--HG--
branch : HEAD |
e2503d9e0306e3d256b314b5410460a18c8b99e4 |
|
21-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
Removed .imap.index.tree file. For now we'll just rewrite .imap.index file
whenever there's expunges. "Expunge binary tree" might be added later, but
it's not really useful until you have thousands of messages in mailbox and
you're deleting old messages from it.
--HG--
branch : HEAD |
290d0477ac0fed6e0c5faa17d55364a971696923 |
|
15-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
index_mmap_invalidate = yes now invalidate memory maps before accessing
them. Setting this on should fix some problems with OpenBSD. It should also
make it possible to use index files over NFS as long as lock daemon is used.
It might be such a good idea however.
--HG--
branch : HEAD |
868772ffa3756090710d239f5a75cf20d3399760 |
|
15-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
Only NOOP and CHECK will now always do a real mailbox sync. Other commands
will also do it but no often than once in 5 seconds. Also with maildir we
don't anymore try to sync it before running commands since syncing is now
done automatically whenever we try to access a file that doesn't exist.
--HG--
branch : HEAD |
406a92a344f789e6ec763104b03de3f0b8fcfdb7 |
|
15-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
Dirty maildir flags support works now.
--HG--
branch : HEAD |
6e0054c2e5efc526df6287da368335680a856714 |
|
04-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
IMAP protocol doesn't allow server to send NULs to client. Send ascii #128
instead.
--HG--
branch : HEAD |
c29c4813481f479b5544489b5451c8761e21ef13 |
|
30-May-2003 |
Timo Sirainen <tss@iki.fi> |
Fixes for syncing mails that are kept in new/ dir.
--HG--
branch : HEAD |
e2c7dd250c3e4ccc8231b1c8bad5385dbc4d2315 |
|
29-May-2003 |
Timo Sirainen <tss@iki.fi> |
uidlist file is read/updated much less often now. did some other
improvements for syncing as well.
--HG--
branch : HEAD |
db1ee4a91a6572602302115e02146b29adea3a54 |
|
18-May-2003 |
Timo Sirainen <tss@iki.fi> |
Maildir syncing updates: it's now faster, it handles read-only folders, it
handles many out of disk space conditions (uidlist doesn't) and all commands
finally handle the condition when maildir filename was renamed after
our syncing but before we had the chance to open it.
--HG--
branch : HEAD |
934d42dec29def3fc2b070932f2a7247ec2eea8a |
|
17-May-2003 |
Timo Sirainen <tss@iki.fi> |
Maildir: CONTROL=<dir> in MAIL environment now specifies where to save
.customflags and dovecot-uidlist files. This can be useful if the main
mail directory is under hard quota.
--HG--
branch : HEAD |
54d1312e1be5a84a9f9585f9f5e1f884f1d37d0e |
|
27-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
Use separate index alignment from memory alignment. We don't use pointers in
index file so required alignmentation comes pretty much from sizeof(off_t).
--HG--
branch : HEAD |
814565216099ac2b40c2862013d092d2f575802a |
|
21-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
Use mtime to check changes in dovecot-uidlist file rather than inode changes
which aren't reliable.
--HG--
branch : HEAD |
4a9777dc12b61d0d800e3e9b914a1f685bb3f5eb |
|
09-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
We don't need these fields
--HG--
branch : HEAD |
914e66bb9c50ec3e463d1514eaa04e25026457de |
|
09-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
Rewritten maildir syncing. Uses dovecot-uidlist file to store UIDs
permanently.
--HG--
branch : HEAD |
99b621cc5076398c5d780d2ea33dd7391341d630 |
|
06-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
UIDs are now saved into mbox file. added a few rewriting optimizations so
that we don't always have to rewrite the whole file when updating messages
at the beginning of file.
--HG--
branch : HEAD |
a4663ce76645f28d521c7461abecb44537207cb2 |
|
05-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
Added index->append_abort() to abort append cleanly.
--HG--
branch : HEAD |
0f203eb6e0524641e415ce6b555212b5395a54ce |
|
23-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Index opening rewrites. We don't try to support .imap.index-<hostname> style
indexes anymore. They just made things more difficult, and it's really not a
good idea to use index files via NFS anyway.
Added support for :INDEX=MEMORY in MAIL env to disable using index files.
Also if we can't open or create index file for any reason, we now fallback
to in-memory indexes. Before we fallbacked only with out of disk space
errors.
If .customflags can't be created, we still work now by not allowing to
create new custom flags.
--HG--
branch : HEAD |
48f78a48f2e1cf299026544444666471ae16ad97 |
|
12-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Locking code cleanups and small fixes
--HG--
branch : HEAD |
7c424aa51c956c628e3512055841aa2f9eef4833 |
|
27-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Function typedefs now define them as functions, not function pointers.
--HG--
branch : HEAD |
c5d2bb4d0904c08e025a6756554ced79d702a041 |
|
22-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Modify log used to test if there were other users for every changed flag or
expunged message, causing two fcntl() syscalls every time -> SLOW. Now we
check it only once after exclusively locking the index.
--HG--
branch : HEAD |
f923659c0e5298263d80622c99f4dc4132b4675b |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming change for function typedefs.
--HG--
branch : HEAD |
5e51088ebbd4434f16d64d8b8d6a498b4a662733 |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
We don't actually need to reserve the highest UID anymore, don't do it :)
--HG--
branch : HEAD |
9b5280edd5e1c192db96255fc725a7386c6e22f8 |
|
08-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Reserve UID 2^31-1
--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 |
12e1f3cc0cf713ed131df801c36cdf8fe33d174f |
|
04-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Replaced MailDataField from being enum to being unsigned int with values
defined with macros. Not that pretty, but enums are signed integers and we
want to use the highest bit without ugly kludges.
--HG--
branch : HEAD |
73db234f79f77142305b2238d283d97bfc6b8906 |
|
02-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Make sure UIDs won't wrap around unexpectedly.
--HG--
branch : HEAD |
a8767e3a8dd08bb782f05dacf2c8877f3cba644e |
|
20-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Added :INDEX=<dir> for both Maildir and mbox to specify different location
where to store index files. This would allow keeping mailboxes accessible
through NFS but still keep the indexes in fast local disk.
Did also some other related cleanups and minor fixes.
--HG--
branch : HEAD |
ecc81625167ed96c04c02aa190a1ea5baa65b474 |
|
06-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Renamed IBuffer and OBuffer to IStream and OStream which describes their
functionality better. I tried to keep the variable names and comments also
sensible.
--HG--
branch : HEAD |
9b8f902f6718ce16f40a850e5def64f3564f997f |
|
26-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
We compile now if dev_t is a structure (eg. glibc+tcc).
--HG--
branch : HEAD |
c2bb1764c359ce85a7f7f789ead11dd613ff9769 |
|
25-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Locking changes triggered a bit larger cleanup :) If we have to wait for a
lock longer, the client is now notified about it every 30 seconds. Also if
mailbox opening fails because of lock timeout, we won't overwrite the index
anymore. Finally user gets a clear error message about lock timeout instead
of "internal error".
--HG--
branch : HEAD |
d94e3e29a230ca163a10f7cd5a0f9ccc62e55e1a |
|
21-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
MAIL_READ_MMAPED setting was set too late, plus a few cleanups.
--HG--
branch : HEAD |
0c0ed9c17252e16569e2c3d872e7296ba37067c2 |
|
21-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
mail_read_mmaped: Use mmap() instead of read() to read mail files. read()
seems to be a bit faster with my Linux/x86 and it's better with NFS, so
that's the default.
--HG--
branch : HEAD |
8de7a7c427f5b98e67e65655692328512498a441 |
|
21-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Added mbox lock settings to config file. Support timeouting fcntl() and
flock() locks. Plus before the fcntl/flocks weren't even set.
--HG--
branch : HEAD |
3791e695c58a1cad42fcaa76a2a73a1556b09716 |
|
04-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
mbox_unlock() actually set exclusive lock
--HG--
branch : HEAD |
100e980900f652c9114997d7153e010e0639effe |
|
04-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
And more locking/syncing fixes. Now it's finally beginning to look sane
again.
--HG--
branch : HEAD |
85eee5da111b2d6260f446bce3fba529e4294c3c |
|
02-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Mostly mbox locking/syncing fixes. Still some problems though.
--HG--
branch : HEAD |
a0a763f0361201d1ef354f7a2bfa2fa0e53af402 |
|
29-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
mbox locking wasn't working.
--HG--
branch : HEAD |
c04cafc1cdd093afcb32e313bcefbc9bb8972d9e |
|
27-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Moved several fields from .imap.index file to .imap.index.data file. Fixed
code so that most of the fields do not need to be set when building index,
allowing the index building to be fast (just readdir()s with maildir). This
still needs some configuration and ability to update the fields whenever it
can grab exclusive lock.
Also fixed SEARCH LARGER, SMALLER and KEYWORD.
--HG--
branch : HEAD |
29c8f5c5f7d659cc96f3c45aaf80b113f4ac2315 |
|
26-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
mbox locking fixes / changes. we now read-lock the mbox file before syncing
so we can be sure no-one corrupts our reads by expunging mailbox. mbox file
is kept open all the time, but re-opened when device/inode for file has
changed (ie. someone overwrote it). File is also kept mmap()ed until lock is
dropped.
we currently create .lock file even when reading the file (ie. being
effectively write-lock), but that'll be made configurable later.
--HG--
branch : HEAD |
025961fd171e7be79d7be7dee3d619de317f0b1e |
|
23-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Use fdatasync() instead of fsync() where possible. msync() all files first,
then fsync them instead of msync+fsync+msync+fsync+.. data file now keeps
track of when it's been changed, tree file didn't do mmap updates, plus
other related cleanups.
--HG--
branch : HEAD |
f0557d5fb030645d49866485b0a188e3d71a7b68 |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added mail_cache_fields and mail_never_cache_fields settings, plus settings
cleanup.
--HG--
branch : HEAD |
810c9bb5f61307df1a79cd011ee29c0e58e0e262 |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
cache_fields_later() doesn't need MailIndexRecord parameter.
--HG--
branch : HEAD |
e1525829f427579a68152229ceb63e8bd461ce6a |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added cache_fields_later() to MailIndex interface. That can be used to
specify when some field is wanted to be cached, instead of doing it at every
lookup_field*() call.
--HG--
branch : HEAD |
0cc775b41a0dd59d5fb6a55a6fa27f0317b58eec |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
If maildir files are unexpectedly deleted, don't treat it as error, and
don't return partially fetched data. Instead try to handle it just as if
sync() had noticed it earlier.
--HG--
branch : HEAD |
1d0bb7bd8d4bcb68ace58e2a0f9c17744c3e56ac |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Modify log now stores the changes in ranges, so store 1:100 doesn't
generate 100 entries but just one. For single message changes this takes 8
bytes unneededly though, that could be fixed but for extra complexity so
I don't think it's worth it.
Also a change in sync-interface, expunge event no longer gets UID. It's not
currently needed and I don't see any rfcs/drafts wanting it either. It's
removed mostly because the log ranges makes it impossible to get it.
--HG--
branch : HEAD |
10ffe25023df7de97803cd94cc3ad97ff1c986a7 |
|
19-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
MailStorage interface change. We now let storage call several sync-functions
whenever it wants instead of forcing it through sync() function.
This now allows us to send client FLAGS and PERMANENTFLAGS messages whenever
new custom flags are added. Also EXPUNGE command now goes nicely through
expunge() function (which CLOSE used) instead of through flag in sync().
"Out of disk space" alert is also sent now whenever it happens, before it
was sent only when opening mailbox.
Message set parser now complains when referencing mail sequences outside the
possible range. Modify log before sent flags/expunges changes to client even
if it didn't know about those messages yet. Also some other smaller
cleanups.
Beginnings of fixing APPEND and COPY when trying to store mails into
selected mailbox. Before this didn't work too well or simply broke things.
Still broken, needs a bit more changes..
--HG--
branch : HEAD |
448492d8317140da884089c1e1f54a004db80f77 |
|
17-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
If BODYSTRUCTURE is cached, we can use it to generate BODY reply. It takes
some CPU, but probably still faster than needing to open the file.
Also removed requirement of FIELD_TYPE_LOCATION to exist in .data file. This
will be useful when we don't need the location (eg. filename == uid).
--HG--
branch : HEAD |
1cfc39f5c151f51b554811336baede97c5a82c02 |
|
16-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Delete unused temp files.
--HG--
branch : HEAD |
b646fdb90f75ab80ea7feca42fa2e1f8e788b004 |
|
14-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Split IOBuffer into mmaped IBuffer, file IBuffer, memory data IBuffer and
file OBuffer.
--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 |
f6d121ba17e01dbf43a3d9c98a024ed8f1eb9043 |
|
09-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Fixes for first_hole_* updating. Removed last_lookup, it doesn't speed up
much anymore and it's just annoyance to keep valid.
--HG--
branch : HEAD |
647afe054117804e3e156b46ada4c5bec0ac4c38 |
|
09-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
ioloop_create() takes now pool-parameter. io_buffer_create_mmaped() takes
start_offset parameter instead of getting it with lseek(). Instead of using
offsets to index file, we now use record indexes (first_hole_index, tree
file).
--HG--
branch : HEAD |
e31e2338e91553cda96cc445bf24a78f208ed0f8 |
|
06-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Compress index when 50% of it is deleted.
--HG--
branch : HEAD |
1621507c82cff7f328e1fa3a248ad0127b9a0242 |
|
06-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
more locking fixes.
--HG--
branch : HEAD |
41d1dec1f5b357a02a053ebb83fc34d623efab4a |
|
06-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added io_buffer_set_start_offset() and io_buffer_ref() and replaced
io_buffer_destroy() with io_buffer_unref().
mbox file is now kept open all the time.
--HG--
branch : HEAD |
d8bbb406a4a394b0109d4d5318cf0b02a57e7407 |
|
06-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
First version of binary tree file, still some locking issues while opening
the file.
--HG--
branch : HEAD |
d14de73e30d5d0e06a5b28508b6a44e888edd2d1 |
|
30-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Cached MessagePart reading wasn't working because alignment broke the strict
size checking.
--HG--
branch : HEAD |
4d83cb6463f617c2b931109b04102cf4791e48a3 |
|
24-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Rewrite only needed parts of mbox. We don't rename() anymore, which means we
play nicely now with symlinks and avoid possible data loss when new mail was
being sent while we were rewriting.
--HG--
branch : HEAD |
7913b62dac8e4928226bc5eba59b01675cdb0018 |
|
23-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Added fast-flag for mailbox opening, which doesn't do any index compressing
or cache updating. This flag is set when mailbox is opened by APPEND, COPY
or STATUS (ie. not SELECT/EXAMINE).
--HG--
branch : HEAD |
88e275325fdb8b81581298a706c102edd140f428 |
|
16-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
if hash was rebuilt, it wasn't always mmap()ed. recent-status wasn't updated
properly when opening mails. maildir sync() didn't always expunge messages
with correct sequence number. added some checks for messages_count in
header.
--HG--
branch : HEAD |
02b32cf39a098edf60981fc228e4b034f11f3b90 |
|
14-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
lots of cleanups. also index/datafile is now capable of staying in memory,
as long as it's noticed while opening the index.
--HG--
branch : HEAD |
044303b00a73365701b2e8a7b82a47d6e6656dd6 |
|
10-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Don't rewrite mbox if no flags were changed.
--HG--
branch : HEAD |
cec40012f7a3088c266823b54a017537453034fe |
|
10-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Broke saving new mail
--HG--
branch : HEAD |
78d703849ec3c66909d2c461683405378b940189 |
|
10-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
cleanups / reliability fixes
--HG--
branch : HEAD |
8520b355cedfb8098f51ba3dfa29d7daa867a9df |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
more size_t fixes.
--HG--
branch : HEAD |
6697a923d6768bf8d71f87f80b90747cf6870753 |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
move size_t fixes
--HG--
branch : HEAD |
d60705bcd8e777fa90f6d0daa615c4207592c80b |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Moved custom flags handling into lib-index.
--HG--
branch : HEAD |
7f0113f4efa1e4e020d64f714d1d765963005fd5 |
|
06-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Bigger changes.. full_virtual_size was removed from index record and
MessagePart caching is now forced. Also added per-message flags, including
binary flags which can be used to check if CRs need to be inserted into
message data.
Added mbox-rewrite support which can be used to write out mbox file with
updated flags. This still has the problem of being able to read changed
custom flags, that'll require another bigger change.
There's also several other mostly mbox related fixes.
--HG--
branch : HEAD |
e89b9e95f9f6fef47e48d03007591ca832d00f91 |
|
04-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
s/updateid/sync_id/ like it was with modify log.
--HG--
branch : HEAD |
4ba39998a133ca8051110ca94ee0f166ce484232 |
|
04-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
index wasn't re-mmap()ed when it's size was changed. this is now done by
updating "updateid" field in header and checking if it has changed. also the
previous hash-rebuild-check was broken.
--HG--
branch : HEAD |
461ef61ded72473abdac97af90926c2bfc1e99e2 |
|
03-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
update
--HG--
branch : HEAD |
30e8beb5b2322d92093cbfbc8f47d227a185fcd5 |
|
02-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Added support for caching of MessagePart data. This is useful for fetching
body[part]s. Also BODY and BODYSTRUCTURE can be generated fast using it.
Also fixed index corruption in some situations when more cached data was
added to index.
--HG--
branch : HEAD |
dec504e26667fb97d47f6145e5f65c0bc1c615ea |
|
31-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
added index->lookup_field_raw() and update_field_raw(), changed mbox to save
the offsets in raw uoff_t instead of hex encoded.
--HG--
branch : HEAD |
6680ef2694a8198ecae01e64363f35793fbcfd61 |
|
28-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
MailHashHeader is now 8-byte aligned. Fixed other header alignments too and
stored MEM_ALIGN_SIZE into compat_data[].
--HG--
branch : HEAD |
2cd58e32ea436cb50588857cb959515d3e070056 |
|
28-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Use 8 byte memory alignment by default. Also fixed index headers a bit to be
8 byte aligned.
--HG--
branch : HEAD |
3c7a9aa32ddc1a930a75681a6c3cafb8d10fe810 |
|
27-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
More overflow fixes.
--HG--
branch : HEAD |
ec9d382ea6adbf2c8a0e5dd304acb629ebed3203 |
|
27-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Introduced uoff_t which is the unsigned-equilevant of off_t. This was needed
to be able to handle off_t overflows properly. Also changed a few unsigned
int fields into uoff_t so we should now support >2G mails if uoff_t is
64bit. Also fixed several potential integer overflows.
--HG--
branch : HEAD |
d5aa01c4d7cc8b099f47cf011cba850b1759eb2d |
|
27-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
More cleanups / potential overflow fixes
--HG--
branch : HEAD |
c27c55fe2c083c7573cde51e366ef689c1a69708 |
|
26-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Added write_full() which is a simple wrapper around write() meant for
writing into files.
When there's too much deleted data in index files, they're now compressed
when the index is being opened.
--HG--
branch : HEAD |
ee0e168613bd79e77ab14c6b927fb68116772621 |
|
25-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
after a few times of trying to access uncached fields, they're cached the
next time mailbox is opened. also some mbox fixes.
--HG--
branch : HEAD |
468bb8fbe53f28a18a47b8dc6761171d5d8ce706 |
|
24-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
mbox fixes, not fully working yet but almost :)
--HG--
branch : HEAD |
1215bc4d7e747846f282cf710e61f3768e69238d |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
s/user_data/context/ and some s/Data/Context/
--HG--
branch : HEAD |
e403d34ae6904cd8d9f72345a2f2dc017d3b46aa |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Message data is parsed in blocks (no longer entirely mmap()ed). Several
IOBuffer changes. All mixed signed/unsigned comparisions were fixed so code
can now be compiled with gcc's -W flag. mbox support is broken currently,
and there's most likely several other problems too.
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |