bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
d808185fd6263862e93637d296f0c4fb0529118e |
|
25-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_set_error_nolog() |
ceac664d4dbada5edccb5def4e49c6ff6da8ceb4 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: mail_index_set_error() - log error using index's event |
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 |
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 |
e704b4ab2c204e538f87b2a90aca68c0deac6296 |
|
13-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: mail_index_use_existing_permissions() - Ignore with INDEX=MEMORY |
96595bf98ed9264b2b35700a640daf53debc3082 |
|
13-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: mail_index_use_existing_permissions() - Log error if stat() unexpectedly fails |
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. |
eba201921d0e5ddc2319e94359576fbcba78eb41 |
|
18-Jul-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-index: Mark index deleted if index log file is missing
This fixes all kinds of errors caused by mailbox being
deleted by another process. |
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) |
5b809b97673fb0a73aa5b9d82122612d699f6c5b |
|
12-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Don't ignore mail_transaction_log_move_to_memory() failure |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
efe78d3ba24fc866af1c79b9223dc0809ba26cad |
|
24-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
global: Replaced all instances of memset(p, 0, sizeof(*p)) with the new i_zero() macro.
Used the following script:
C_FILES=`git ls-files *.c`
H_FILES=`git ls-files *.h`
for F in "$C_FILES $H_FILES"; do
echo "$F"
perl -p -i -e 's/safe_memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero_safe(&$1)/g' $F
perl -p -i -e 's/safe_memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero_safe($1)/g' $F
perl -p -i -e 's/memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero(&$1)/g' $F
perl -p -i -e 's/memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero($1)/g' $F
done |
e7d0bea63a08b08c47c4b5c187d2cb7127859657 |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Make sure *_malloc() calculations won't cause integer overflows. |
b66a207ddcfc72a634186ec7e9a82df28ffc1d4e |
|
24-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_set_log_rotation() |
9e0b187933b52db68c1aefb913970eeba47b986e |
|
21-Nov-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-index: Do not crash if log is missing
Fixes sigfault when index and index.log files are
corrupted. |
95e4021e3e2a733d27f48fe97912fc96df52005f |
|
21-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Revert log flooding prevention / 3c014db6f
This was intended only for mmap() errors. |
6a4bfb2b0bb9f53fb1d4e705bf3948ef4d1ecccb |
|
11-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Improve error messages when transaction log is unexpectedly lost |
3c014db6f22aa3d18676f69f2881ab4336b6ecff |
|
09-Sep-2016 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-index: limit mail_index error prints to one per ioloop_time
This is to prevent log flooding. |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
46b823ac3bce2c0f9f0fc73911e48d3a77b04fbe |
|
08-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
Replaced unlink() calls with i_unlink*() wherever possible. |
ea91861234475257f436dc07925f80cf4ac32b71 |
|
13-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_ext_register_resize_defaults() |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
cfadd9a17fca2f25981664b02e38eafe27b6686f |
|
09-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Removed dovecot.index locking related code, which is no longer used. |
06fc580f6baf83fe5bb94c64be8149d527b01a42 |
|
07-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added path parameter to mail_index_create_tmp_file()
This allows using it for creating any kind of a new index file with proper
file permissions.
Some of the old code should probably be changed to use this. Maybe even move
this function to public mail-index.h |
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. |
0bd15afe9cadd09b01e68b493b30c9d7e92b4095 |
|
03-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed error handling in mail_index_open() |
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509 |
|
03-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Index cache could have kept too many indexes open.
If a lot of indexes were allocated and then later on they were opened and
closed, the alloc-cache simply kept all the indexes open even after they
should have been closed. |
7be1a5530fcb414588fbe90eaed65eff83e84737 |
|
12-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
Removed pointless NULL checks.
Found by Coverity |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
ef4d0eafab4d26bba047551db1e23ceff8aa9404 |
|
15-Jan-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Keep track of views and transactions in linked lists.
This makes debugging easier. |
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). |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
b71e08759c02a49d02cdfb28343351ad28fc10b5 |
|
12-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: dovecot.index file is no longer overwritten, so it doesn't need to be locked. |
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. |
a75d470c9223a75801418fcdda258885c36317e0 |
|
20-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Reverted "support for non-pointers" part of the hash table API changes.
Originally I wrote it using clang, which didn't give as many warnings as gcc
did. I guess this way is safer anyway.. |
678d0463849ba777106eb7875f27db07a5d8e3df |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Hash table API is now (mostly) type safe. |
7536dca18968a279b69c685eedda205bee228fd4 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
hash_table_create(): Removed table_pool parameter.
Every single caller was using default_pool there, so there's no point in
having it. |
31a574fda352ef4f71dbff9c30e15e4744e132c0 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added array_append_zero() to write a zero-filled record to an array.
Replaced (void)array_append_space() calls with it. |
e34d170f8f0e084bd94bfbc1a7085ece67e508df |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Make sure we check all the functions' return values. Minor API changes to simplify this.
Checked using a patched clang that adds attribute(warn_unused_result) to all
functions. This commit fixes several error handling mistakes. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
d5498f4d64a97d04a1b608920f23eb2ad2353d05 |
|
03-May-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Removed unused locking code. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
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). |
f01d1332d49dbd34baef4601ac7b3cc557021084 |
|
03-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed reopening index file that was marked as corrupted. |
1be964ec6d835f95b4fdebf02add9265d58ad290 |
|
04-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: When marking index corrupted, delete also transaction log file. |
82c7443aed8811b38f42dd6ba4c5d0fc63b4a1bc |
|
04-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
mail_index_get_keywords() / status.keywords weren't actually guaranteed to be NULL terminated
This could have caused crashes or garbage keywords be presented to clients
in some situations. |
f5c53272acbe1517440aa9c277133babc887ee84 |
|
04-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
mail_index_get_keywords() / status.keywords weren't actually guaranteed to be NULL terminated
This could have caused crashes or garbage keywords be presented to clients
in some situations. |
85da8c055280cd45553b6b335e9fb226d6e2801e |
|
08-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
Linux NFS: fstat() may return ENOENT instead of ESTALE in some kernel versions. |
2e37d45867d081db150ab78dad303b9077aea24f |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
183bea41fa640dc8117f3eb45ff935cd81377a84 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
1727610dbc69920b7f0d0622b4e5d7127c59093d |
|
24-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Give better assert-crashes if view or log view isn't closed.
Earlier it should have also assert-crashed with "log->files == NULL", which
didn't make it clear enough why the files aren't NULL. |
14b8bbb81e0b546436d4d5d5f38e45027c146b9b |
|
17-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Avoid corrupting dovecot.index file when recreating it even in case of broken file locking. |
07e80e04c8876b6bf3f95266f48b41e1a681e445 |
|
06-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Avoid unnecessary pread()s at end of transaction log file.
If we've already read until EOF while the file has been locked, there's no
need to do it again. Previously this worked while index was being synced,
but not while committing a transaction. |
3c72b9bc9fd67b4492d6e949f54a3964dcb26344 |
|
29-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Avoid refreshing transaction log immediately after it was opened. |
6bb8c6900ad4f1223f388a6814bed0fb80ae27d2 |
|
18-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Give a clearer error message for syscall failing with EFBIG. |
613dee7396edc63ccc64e7cc17df6fcabb1304b9 |
|
18-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Put all syscall error logging through one function. |
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 |
6c2ddb9f586e6392552ddfb82ab55e57fcfc4110 |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_get_modification_time().
--HG--
branch : HEAD |
e8fd7988ec183fb6c104aed19a61f1a096c51d34 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed logging file creation EACCES failures.
--HG--
branch : HEAD |
9f32b9444d2a6db8f556d2c49ffceab1a59791ff |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Don't close index files if they're still being used by another mailbox.
--HG--
branch : HEAD |
8872e5c991430f96138a46e36b7f3c2c40d8e5c2 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added support for undeleting a deleted index.
--HG--
branch : HEAD |
ac26a4607cb12b156f6a42f1ead2881bedd43d94 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Moved mail_index lookup cache from lib-storage to lib-index.
Removed some code duplication as a result.
--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 |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
6bc0f424bcdb9119d8159874cf98adfa53eefd9a |
|
09-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
lib-index: Take MAIL_INDEX_OPEN_FLAG_READONLY more seriously.
Don't do any filesystem changes to the index when it's set, even if
corrupted index files are detected.
--HG--
branch : HEAD |
2bda0d095e029ec72ec683b4186e04f322b4978e |
|
30-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
Avoid assert-crashing when two processes try to create index at the same time.
--HG--
branch : HEAD |
fe5c1094aec29b5d29356ad5f06c970eb4ce7a78 |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
mail_index_chown(): Check for fchown() failing with EPERM, not EACCES.
--HG--
branch : HEAD |
66ecc94150cbce23aad3240135e0782e0a74d479 |
|
30-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index: Removed duplication of mail_index_open_flags from struct mail_index.
--HG--
branch : HEAD |
4a09c57f1c66b4a8880bcc12b567bb42c3549f52 |
|
13-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Previous commit accidentally removed mail_index_keywords_create().
--HG--
branch : HEAD |
3f2ad7b8c3a243dabcba469c8a331423d036f3fc |
|
13-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Moved mail_index_keywords_*() to mail-index.c.
--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 |
1dd875d96ab5640f78250079961c10e99ed4aa79 |
|
28-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Use eacces_get_error() in more places for handling EACCES errors.
--HG--
branch : HEAD |
93688bfedcfb2b9c02750b8d4d409123a386de5c |
|
01-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
More group permission handling fixes.
--HG--
branch : HEAD |
1f80b32fc28f7a723ff07c1694230a090808b506 |
|
01-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
index: Handle better errors where a new file's group can't be changed.
--HG--
branch : HEAD |
d1a0d9aa3b7062a56c2cbde5171352e0283485fc |
|
27-May-2009 |
Timo Sirainen <tss@iki.fi> |
Moved some generic library functions to mail-index-util.c.
--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 |
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 |
589a9c6e8ee22071c14171c04bfc6bfe17121871 |
|
18-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
dbox: Create dovecot.index.backup files.
--HG--
branch : HEAD |
41e6eb07b411ea58352ba9d2cc8cf340325d49f3 |
|
11-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_open_or_create().
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
3ccab0bac68040f179a7de45c516cec258e28fdb |
|
19-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed hash_*() to hash_table_*() to avoid conflicts with OSX's strhash.h
Based on patch by Apple.
--HG--
branch : HEAD |
c59ce1887df061441a31f8243c730d4ec6a62a07 |
|
19-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Try to use (Apple) gcc's __BIG_ENDIAN__ and __LITTLE_ENDIAN__ macros if possible.
Based on a patch by Apple.
--HG--
branch : HEAD |
5aeb15e5817fbd4b1d8de540aa7673e3819a8030 |
|
14-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Replaced literal "keywords" strings with a macro.
--HG--
branch : HEAD |
a914bff43644dd9b3977244203839ca74161e40c |
|
01-Sep-2008 |
Timo Sirainen <tss@iki.fi> |
Rewrote thread indexing code. It's a lot simpler and takes less disk space.
We no longer try to keep a hash table and the entire thread tree stored on
disk. Instead we keep a simple Message-ID string (actually just "uid, ref#"
pointer) -> unique index number mapping on disk, read it to memory and use
it to build the thread tree. After the initial build the thread tree is
still updated incrementally.
--HG--
branch : HEAD |
94aa90d2d17a7aebcda5a4193a62e80ddbb169b7 |
|
30-May-2008 |
Timo Sirainen <tss@iki.fi> |
Fixes to handling races in initial index creation.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--HG--
branch : HEAD |
bb5ef57ee0bebf2c44ee9dee8d94565b850b5e58 |
|
06-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
mail_index_ext_register(): Allow registering an extension without record or
header. It can still be used to register expunge/sync handlers.
--HG--
branch : HEAD |
1e923fcf497665fe071a154c31fb452766b0b2de |
|
06-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
mail_index_ext_register(): Allow registering an extension without record or
header. It can still be used to register expunge/sync handlers.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
d161e3c2cde2bd8d5917840f68823a2259ed426e |
|
28-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_ext_register(): Panic if parameters aren't correct.
--HG--
branch : HEAD |
04b8a90af181cc4c7959266855e8ed50a22ed413 |
|
25-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
NFS cache flushing updates.
--HG--
branch : HEAD |
bc564f1d3d953cf724828322b11ae89e0f59ffc9 |
|
18-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
NFS cache flushing APIs changed and backend implements it a bit differently.
Hopefully this works now more correctly.
--HG--
branch : HEAD |
4ee5b0b6c14f1f839e54e9d2c13a3c151e8caec0 |
|
16-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
nfs_flush_attr_cache() doesn't take flush_dir paramter anymore. Instead the
directory is always flushed now.
--HG--
branch : HEAD |
dec85d9856c33f427a06dda01e0e50de0bc8fa7d |
|
14-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
NFS attribute cache flushing fixes. nfs_flush_attr_cache() takes now
flush_dir parameter and nfs_flush_attr_cache_fd() returns FALSE if file
handle is already stale.
--HG--
branch : HEAD |
e06ebdea90cd59f0a3cfc4162b4fa4a7db1f221e |
|
10-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_refresh(): If index is in memory, we should still refresh the map
in case we ourself had committed transactions. Also don't bother checking if
index is exclusively locked, it never happens anymore.
--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 |
89a126810703c666309310d0f3189e9834d70b5b |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced my Copyright notices. The year range always ends with 2007 now.
My name was replaced with "Dovecot authors". In many cases I didn't really
even own the copyright, so this is more correct.
--HG--
branch : HEAD |
648d24583c1574441c4fa0331a90bd4d6e7996c5 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
pool_unref() now takes ** pointer.
--HG--
branch : HEAD |
ba00293b85c7fb4e7a2d100991c716e17b9daaae |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
hash_destroy() and hash_iterate_deinit() now take ** pointer.
--HG--
branch : HEAD |
c2feb7d13482d0f60691cd71d06d42a80df99397 |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Fix ESTALE handling when reading main index.
--HG--
branch : HEAD |
ffd9a1898a18fadfc5dce399162c25d50548f905 |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Make sure the extension name doesn't contain control characters. It most
likely means the extension header is corrupted.
--HG--
branch : HEAD |
2bd2ca14d18819b77201ab2b46910d9ae6858abe |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Moved mail_index_map_parse_keywords() to mail-index-map.c
--HG--
branch : HEAD |
1fd0d511885c30028aba388588151acf4ee85e75 |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
fsck the index while it's being mapped.
--HG--
branch : HEAD |
e670e1783fe4541dc3fc6109a181d45b0a9c2635 |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Drop also exclusive locks when closing index files (there shouldn't be any
though).
--HG--
branch : HEAD |
eb77c0a041648af50abc027811f6b7951c3a80cd |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
NFS: If index has been deleted, close the index properly before reopening it.
--HG--
branch : HEAD |
af1e2b2ab5d1c5ca5afe482ef8c8161c17acc190 |
|
09-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed opening indexes to memory.
--HG--
branch : HEAD |
c8d093d149253fe8faec267c5057f45fe626f84c |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Added assert against empty keyword.
--HG--
branch : HEAD |
d051664df497582e1eb75a9f238d04b65e858db8 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Cleaned up keyword handling code.
--HG--
branch : HEAD |
7ded22760598b78ee29f9418eacc0abe3fb51055 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Only index extension indexes are now called "ext_id". For map extension
indexes use "map_ext_idx".
--HG--
branch : HEAD |
e41cafa9b624d88eb299a446691efcd7a1f6c77d |
|
01-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
When initial index build wrote dovecot.index file, we assert-crashed.
--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 |
d3526b1c218a60e3c9ae864e20d1b935ccc9b4a1 |
|
27-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Error message change.
--HG--
branch : HEAD |
a044f7a32b159a6f76758848928f1deb7030005f |
|
27-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Parse keywords from header immediately when mapping the index file.
--HG--
branch : HEAD |
0b49cfeae91a4020a404714b11c99e8e955fb631 |
|
27-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Handle opening corrupted index files better.
--HG--
branch : HEAD |
945185080ce32b0c07c1a1d64a91c720faab3d8d |
|
27-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Don't allow empty keywords.
--HG--
branch : HEAD |
3697080532ccd9f51fac108be6079b616c7a2ddf |
|
03-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Created a new struct mail_index_record_map which can be shared by multiple
mail_index_maps. This avoids having to copy records when appending new
messages.
--HG--
branch : HEAD |
31189eeac1ccaaf1201c60427f8c1087b0f5dfce |
|
15-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_move_to_memory(): Don't log an error if index fd is already closed
--HG--
branch : HEAD |
947ad4dfcc7c5c07263a5cf2493fdefc9e12d4c3 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Changed nfs setting conflict error handling
--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 |
bf91bed88d4e294b4577ba2a3b14d87cf35ae135 |
|
02-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
mmaping works again properly. Changed to use private mmaps which are
directly modified. The file is kept locked the whole time while it's being
mmaped, so multi-process updates may be slower than necessary.
--HG--
branch : HEAD |
14c474d9f4591c397ed0b5206af6537c7b52c924 |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Rewrite index lock handling.
--HG--
branch : HEAD |
b0be0bead3d6963149f7f2a9504b8ab5aced9af5 |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_map now contains pointer to index, so all functions taking map
parameter don't need index anymore.
--HG--
branch : HEAD |
90c5979b3c530707744beab6413f9d1e446335d1 |
|
28-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Memory and fd leak fix
--HG--
branch : HEAD |
e3689d0f073341e844638f34e1e4d0b7bb053cc8 |
|
28-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Handle losing index file better. Handle fsck better.
--HG--
branch : HEAD |
2d49f150b4bce6f2f59a84e268e4777901c3e42c |
|
28-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Handle indexid changes better.
--HG--
branch : HEAD |
bc1d1497d715cc5c820ff518f070f78c39ef6cdc |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Handle corruption marking by unlinking dovecot.index file. Removed
mail_index_write_base_header().
--HG--
branch : HEAD |
5c7aa03f959b8b9cab3eba8a585a90f4b50a4cdf |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Keep index->map always usable, never NULL.
--HG--
branch : HEAD |
8d131435ba4648c8821160ec38d508c97177c715 |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed index->hdr. Use index->map->hdr instead.
--HG--
branch : HEAD |
902222fb0928d1701f20a384b73f327b1d9a15dd |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
mail_transaction_log_move_to_memory() can't fail anymore. Moved the code to
-log-file.c.
--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 |
2a34e2be33f8a17d21384a5527ed9f75f4d270e0 |
|
11-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Moved mail index map related code to its own file.
--HG--
branch : HEAD |
2b498cb82aaad8a11adb5a27a29c55b9c334a1ec |
|
28-May-2007 |
Timo Sirainen <tss@iki.fi> |
Better implementation for mail_index_uint32_to_offset() and
mail_index_offset_to_uint32().
--HG--
branch : HEAD |
50ad45a7f45495b2d88d270cf066765b6f5fb77d |
|
16-May-2007 |
Timo Sirainen <tss@iki.fi> |
If index file is shared locked while we're trying to exclusively lock it,
don't wait 2 seconds for the lock. Also don't bother copying the index into
a temp file when it's locked, do that only when it's being unlocked so it
doesn't have to be written twice.
--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 |
2469ed8e17534f6cb5f41493df8c7e6f3b2c9b61 |
|
26-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
If mail_index_move_to_memory() fails, make sure the future calls to it also
will fail.
--HG--
branch : HEAD |
ff864b6e4499ad9b1cf821a0b87dbec800acd67a |
|
15-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Error handling fixes
--HG--
branch : HEAD |
15e32fda2abea00abb8ce6a49be07195e8893848 |
|
14-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Error handling crashfix
--HG--
branch : HEAD |
ccffbed92cb02c24fd717808a84138240bf1885b |
|
11-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
If we run out of disk space, move to in-memory indexes.
--HG--
branch : HEAD |
2bd96c58be42146cb84076331604cadb2994fce5 |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
When moving index file to memory, change the filename to be "(in-memory
index)".
--HG--
branch : HEAD |
f7b941399601775cc7520e92689fa7de18fb2438 |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Rotating in-memory transaction log crashed
--HG--
branch : HEAD |
66ae183b6e895216037bd921367670f4b0665911 |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes crashes with recent changes.
--HG--
branch : HEAD |
754e435f5af539a28a64c730fa2c5c171ab305f4 |
|
08-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
If index file is corrupted, recreate transaction log file instead of trying
to reuse it.
--HG--
branch : HEAD |
27db4ce5fe399c981e09dcf9e885a1546afd34f4 |
|
06-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
comment cleanup
--HG--
branch : HEAD |
a6aaf149fac9b03d4ea7036606dce619d826c73b |
|
06-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Check index file's endianess earlier, otherwise we'll complain about other
problems.
--HG--
branch : HEAD |
e9128d6cb8a6ffef71e8cbb049a97c0e986f4279 |
|
23-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Fix for last check
--HG--
branch : HEAD |
3ec64baf598256c4a2b652899982ea235440a1d4 |
|
22-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
cleanups
--HG--
branch : HEAD |
06b4c47e2839972b29100bbadd48b2289786dcad |
|
23-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes: Verify that header_size and messages_count are low enough
so we don't try to allocate too much memory.
--HG--
branch : HEAD |
8fa41238067c854435884c459963fde6f8c6436b |
|
18-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Memory pool size changes
--HG--
branch : HEAD |
b5a084602a3dc2c118345f6d2990f47c1ff66264 |
|
18-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Use larger default pool sizes
--HG--
branch : HEAD |
190237ce467d2389dfb809874b0fec86d3c7968d |
|
18-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Keywords were sometimes being re-added to the index even while they already
existed, causing the record size to bloat.
--HG--
branch : HEAD |
95a284736b8b11319a3f575ba249ba2eb7dbac1b |
|
17-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Fixes to error handling paths.
--HG--
branch : HEAD |
fdc9e17b6c0377cf071229f194a796ffa6a65940 |
|
16-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Make sure that extensions don't point outside allocated record size.
--HG--
branch : HEAD |
375fac6f5a29f687fe8117f814cd7e594b0a1dd2 |
|
16-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Added some extra checks/asserts
--HG--
branch : HEAD |
ee8668d8a88e8f71d327dd38e13d89b268d8e8a2 |
|
31-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Minor locking fix/cleanups.
--HG--
branch : HEAD |
8887bf3757d51d73887dd20b1db3334d867d3817 |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added dotlock_use_excl setting.
--HG--
branch : HEAD |
f4e0148e539c6dd4e12b8305ab0dd5e63c46ba67 |
|
20-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
If mail_index_move_to_memory() was called before index file was opened, we
didn't properly mark it as "in-memory".
--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 |
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 |
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 |
d24b032280fa6b59d06d391878d659c41085a35e |
|
12-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Removed code which is never called.
--HG--
branch : HEAD |
5e69206e0b13bbe3dbc50c5dc6c58da007402237 |
|
07-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
When verifying the header, check that next_uid is larger than last message's
UID.
--HG--
branch : HEAD |
11fa9bc1e84f7cc88d953c0a0ae4e2cd07881957 |
|
13-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Handle moving to memory failures better so we won't crash in some
situations.
--HG--
branch : HEAD |
7d7b5c98f086ffa8ac9c90f21db17748ca607202 |
|
17-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--HG--
branch : HEAD |
91dca97b367c54a139c268b56a0c67f564bd9197 |
|
10-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Replaced ARRAY_CREATE() macro with [ipt]_array_init() macros. The macro
has no side effects so it might as well be lowercased.
--HG--
branch : HEAD |
26a8b7deb3a5b6f26f9c4d71538e1248f680e4be |
|
10-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Removed type parameter from ARRAY_CREATE since it's not needed anymore.
--HG--
branch : HEAD |
003079baf8056c81c25162a176a89f9169cc374f |
|
23-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
Small memory usage optimization.
--HG--
branch : HEAD |
da985034a708db2f61394b30d117050ae6829ee5 |
|
11-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
Added support for calling expunge handler for an extension even if the
extension isn't used in the opened index file. Added context-parameter to
the callback function. If the function returns -1, the sync is failed.
--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 |
cf48e5c9975b854a23aeca883b7e689eb24430c4 |
|
17-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Handle transaction log deletions silently. Handle whole index directory
deletions silently (the most common cases anyway).
--HG--
branch : HEAD |
c61d52810496376a2ea60b8f4e27bbcaa8754f3f |
|
17-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
mail_index_move_to_memory(): Don't break if the index is already in memory.
Fixes mbox_min_index_size.
--HG--
branch : HEAD |
c234379ba20d2513b1acca97f13c64e2a9e5d622 |
|
08-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Keep track of write_atomic and write_seq_first/last while copying memory
mappings. This is important with mmap_disable=yes because the maps can
later be written to index file, and if this information is wrong the file
is being updated wrong..
--HG--
branch : HEAD |
9315dd69233d554452df0c12bc57002d2042a8f4 |
|
30-May-2006 |
Timo Sirainen <tss@iki.fi> |
We were updating index->map also when syncing views.
--HG--
branch : HEAD |
0c583855501178ec9c62f2a94946192df2a01be4 |
|
30-May-2006 |
Timo Sirainen <tss@iki.fi> |
If syncing from transaction log fails, fallback to re-reading the index file
(and more importantly, try to avoid crashing in assert..)
--HG--
branch : HEAD |
fea541eec46707f9b01bd3cbc981d73c1e808a54 |
|
02-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
mmap_disable: When syncing in-memory index from transaction log, we didn't
skip external transactions which were already been in our in-memory
mapping, causing "Append with UID n, but next_uid = m" errors.
--HG--
branch : HEAD |
6143fece58262865ce89b5012b73ef08f2ad6abc |
|
25-Apr-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Added nfs_safe_stat() to transparently work around ESTALE with stat().
--HG--
branch : HEAD |
b4931fc08faa0079f32f29286f4c3abd0d8788bc |
|
23-Apr-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Added assert
--HG--
branch : HEAD |
c485524d09c650ff6e6c552129d4257ac6145a8b |
|
25-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
If we reach the NFS_ESTALE_RETRY_COUNT, give an ESTALE error message as
well.
--HG--
branch : HEAD |
89b548af722113acb5d63dfffb44423cb60f91e4 |
|
25-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Renamed safe-open.* to nfs-workarounds.*, safe_open() to nfs_safe_open() and
added a new global NFS_ESTALE_RETRY_COUNT which everyone uses instead of
defining their own.
--HG--
branch : HEAD |
99e8698f598d2b83da7c581584a538c0713fd11d |
|
24-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
mail_index_open(): If index is already open, return 1 instead of 0 so the
caller won't think it failed..
--HG--
branch : HEAD |
ae14dfd895881f9d1c6899b0c09f1a8b51447d61 |
|
24-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
If transaction log opening fails, don't crash when trying to move it to
memory.
--HG--
branch : HEAD |
538c58fc95200fcc5e91abdda8b912b574a2f968 |
|
18-Feb-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Added some locking related asserts, comments and when replacing index file, open it
immediately into memory (seemed to work before too, though).
--HG--
branch : HEAD |
1e47cfede3a0b62654105daab00e97b5d660bc6b |
|
16-Feb-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Try to handle ESTALE NFS errors the best way we can.
--HG--
branch : HEAD |
5cc772dc8b507be0bc1996b5717943ba13432e08 |
|
19-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added mbox_min_index_size setting.
--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 |
0d0451206a91e9f96e522075dce28a89adc2325d |
|
07-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Beginnings of fallbacking to in-memory indexes when write fails with "out of
disk space" error.
--HG--
branch : HEAD |
a050ca9def13949dbaa67bd6574a41c4f397ae26 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Handle missing/broken transaction logs better. Handle broken sync position
in index header better.
--HG--
branch : HEAD |
0e17a51126ed6f376f9207217797103b610ff8eb |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Minor cleanups
--HG--
branch : HEAD |
8afec4d1a32b78f540257a27769b372aad753384 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Comment updates, small cleanups and optimizations.
--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 |
6a04c5112961c5f4fb2d2f25192b3dc424d62ad0 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Comment updates and minor cleanups
--HG--
branch : HEAD |
de12ff295bb3d0873b4dced5840612cbacd635ef |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Moved expunge handlers to mail_index_registered_ext.
--HG--
branch : HEAD |
c27f03fa8fd2ef4acd1db814fae7d90e0eb9d3ae |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Cleanup: Created mail_index_registered_ext which is used for
index->extensions array. Put sync_handler to it and removed sync_handlers
array.
--HG--
branch : HEAD |
9fc077d3886b1584019bcc9b92c717cfffce5c67 |
|
18-Sep-2005 |
Timo Sirainen <tss@iki.fi> |
When creating a new index file, mark its log offsets so that the possibly
existing log file is completely synced. This caused marking index to be
corrupted to be quite useless since the same problem was again brought back
from the .log file.
--HG--
branch : HEAD |
67b9db4e0bd93ffe24cc95f609193f6f642f6448 |
|
27-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
Index creation was racy.
--HG--
branch : HEAD |
321241fc56909ccb69d77c6a11686e0c25b4c4d4 |
|
27-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
When refreshing transaction log while trying to find new log file, don't
recreate the log file if it wasn't found or was corrupted. Things have
already broken at that point and recreating it could cause recurseive
mail_index_map() call with mmap_disable=yes.
Also added more assert()s to check that we don't try to recursively call
mail_index_map().
--HG--
branch : HEAD |
325d4ad220bd13f6d176391d962a0e33c856a7f6 |
|
27-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
Removed fcntl() text from some locking error messages, because if
lock_method=flock, it was done using flock().. Also did several s/it's/its/
in comments and one error message.
--HG--
branch : HEAD |
871c7b8969e8627dc4c8b3e56fd126f948e6bce6 |
|
25-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
Error message update
--HG--
branch : HEAD |
64541374b58e4c702b1926e87df421d180ffa006 |
|
21-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Check that record alignmentation is actually used correctly. If not,
recreate the index.
--HG--
branch : HEAD |
16f816d3f3c32ae3351834253f52ddd0212bcbf3 |
|
04-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Moved array declaration to array-decl.h and include it in lib.h. So array.h
needs to be now included to use any array_*() functions.
--HG--
branch : HEAD |
053843989f13d9013b265fb401a4bde7e0e6568e |
|
28-Jun-2005 |
Timo Sirainen <tss@iki.fi> |
Renamed array_modifyable_*() functions. I could never remember how they were
named.
--HG--
branch : HEAD |
a80241dc44ee43bc809ed5ec6dedb74711966daf |
|
10-May-2005 |
Timo Sirainen <tss@iki.fi> |
Fix to mmap_disable=yes syncing
--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 |
75ef04fc62a3955d3a5310410e09735cbd4e972b |
|
17-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes: Transaction log might have been rotated before everything
was committed to index.
--HG--
branch : HEAD |
367c05967091a2cbfce59b7f274f55b1a0f9e8c9 |
|
16-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Raised initial pool sizes.
--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 |
4b231ca0bbe3b536acbd350101e183441ce0247a |
|
29-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
In-memory indexes work again. Just pass dir as NULL to mail_index_alloc().
--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 |
519e0a461271843833a2b42626ad93f6e7ddc497 |
|
24-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Added sync/sync_lost/expunge handler unregistering, and also do that. Fixes
crash with mmap_disable=yes when reopening mailbox.
--HG--
branch : HEAD |
ea9e10039e23a4926984a56860b5cc88f7b1f75e |
|
24-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
mail_index_write_base_header() didn't update the header in memory with
mmap_disable=no. It's used only with error correction, so after failure
trying to reopen index failed every time.
--HG--
branch : HEAD |
287ba82a8da3eaa473b5735d4eeac2fb4c5d8117 |
|
12-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Changed many buffers to arrays. Cleans up the code a lot.
--HG--
branch : HEAD |
ed3ce1282f6bc35d20e82c2c23a2990c8dfe876f |
|
05-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Assert if mail_index_map() is called recursively.
--HG--
branch : HEAD |
2ef8fac74c9d0bfc330bf53bb06df7e9d5f08e7d |
|
05-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Some error handling path crashfixes.
--HG--
branch : HEAD |
f2786c07cbd4a7a0a6a46c3e06dc4545aaf2f278 |
|
05-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
We could have gone past the transaction log view's boundaries if log was
just rotated. Plus other transaction log cleanups, fixes and new asserts.
--HG--
branch : HEAD |
b79ec51bdeef6ef950eb5e890e65cc0491cf5fe9 |
|
08-Feb-2005 |
Timo Sirainen <tss@iki.fi> |
Don't allow duplicate extension names in index header.
--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 |
264bc938e956288ec7a2a43417c01c3a3ce840fd |
|
16-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Added asserts
--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 |
5e2cf2e665bb0c3c68fa34bc6d0e9ce93426fdd0 |
|
07-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added assert
--HG--
branch : HEAD |
6fcaeede31ef2292b3ff59c461eb6ef4ae989dfd |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Changed assert() to friendly human readable message.
--HG--
branch : HEAD |
0b38c17fb10e2ad1d081369d34b93d0448d971a2 |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes: when we're syncing index by reading transaction log,
update map header's log file offsets so our checks that use them actually
work.
--HG--
branch : HEAD |
673ab5815277e6f9ac09227c866c90ab57438912 |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes: if mail_index_map() is called while syncing make sure we
don't read past what is already synced into index.
--HG--
branch : HEAD |
20c26f4fcf9ef87434761829cc209c2f84ff5716 |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added more asserts.
--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 |
b9ce555e8624a5593b3bfd81b572b7d2e1e1fca5 |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Don't try to fsck when we're modifying index. It could have happened with
corrupted transaction logs.
--HG--
branch : HEAD |
f23298fea47eecbeded985ee2537a34c4c4ef56b |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added "sync lost" handlers which are called with mmap_disable=yes when index
file is re-read without going through all of the transaction log.
--HG--
branch : HEAD |
0c27b881989bc2b391281650ee89a8cc4d89f5e7 |
|
03-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Make sure index is reopened if it's marked corrupted.
--HG--
branch : HEAD |
0ce3bbb0f03fb0ee99258b41b5a1d689c1158a75 |
|
30-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
With mmap_disabled=no the index header wasn't always updated causing various
problems.
--HG--
branch : HEAD |
ab286a8b58306eb8d22fc18342b6c199fd428e1e |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Wrong extension sync_handler might have been called if index extensions
didn't match current map's extensions.
--HG--
branch : HEAD |
45edf6cad665a5c270322516c587708a0c630b80 |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes fixes.
--HG--
branch : HEAD |
d7095f3a4466fbb78b2d5eb3d322bc15a5b0ab1f |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_map_to_memory() to mail_index_map_clone(). Even if the
index is already in memory, we wish to copy it instead of just raising
refcount. Fixes some problems with mmap_disable=yes.
--HG--
branch : HEAD |
2bc9f8181d576165cd30ce0522754420097037cd |
|
28-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
mail_index_write_base_header() doesn't crash anymore if index mapping is in
memory. Recent changes broke it.
--HG--
branch : HEAD |
09714f2f8d4c8cc7d89930f7eb836816d8dc9eb8 |
|
25-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
When we actually read index file's header make sure it gets copied to memory
so log file offsets get updated.
--HG--
branch : HEAD |
68917b81c83e8a4d18a81cda188ffa5cb643c46c |
|
24-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Avoid re-reading index file with mmap_disable=yes.
--HG--
branch : HEAD |
e86d0d34fe365da4c7ca4312d575bfcbf3a01c0e |
|
14-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Avoid re-reading index file with mmap_disabled=yes. Instead sync it by
reading transaction log file.
--HG--
branch : HEAD |
1b3bb8d39686ed24730cbc31cc9a33dc62c8c6c3 |
|
14-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Update view's header only after syncing the view. This and other changes fix
several view syncing problems and crashes.
--HG--
branch : HEAD |
d22390f33eedbd2413debabc0662dde5241b1aa6 |
|
11-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
dovecot-shared file was supposed to show permissions/gid for files created
in the maildir, but it didn't work for indexes.
--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 |
5626ae5e3316eced244adb6485c0927f1c7fdc41 |
|
08-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Cache invalidating needed to hook into view syncing as well.
--HG--
branch : HEAD |
aff49f46f847bfa451aa0274b8f8fea0c33b8436 |
|
07-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Removed assert, it's allowed to happen
--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 |
05751847e5e493fecfd0634d35d21722aad44a0b |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
one more major version change fix
--HG--
branch : HEAD |
b47c57ee07ccfe76cc23b23bc720e17fe9a46d5c |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
More rebuilding fixes with mmap_disable=yes
--HG--
branch : HEAD |
3e4bbbceed7882b8dab558aa90913a491eb15cc6 |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Rebuild broken index files with mmap_disabled=yes too..
--HG--
branch : HEAD |
91b5eae18db48ebb70eee5407a7ab52bf798ee12 |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Handle major version changes silently even if the file isn't large enough to
contain full expected header.
--HG--
branch : HEAD |
c70ae78d8cb7f642f5ae84abd73005bc44cb4afa |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Don't crash if mmap_disable=yes and index is broken.
--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 |
5a4ab3d6e108a899c8b51bebd0094a37b738d5a1 |
|
17-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Removed mmap() memory area protections. They weren't always set correctly.
Also grsec crashed with them anyway.
--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 |
de513097e876f811c9b8f7ba3449feb9f8e4d20c |
|
09-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Copying mapping to memory didn't copy some fields which could have caused
problems (especially "lost transaction log file .. seq 1")
--HG--
branch : HEAD |
4b058f90f9e8a2c6b2eed275de4eb8cc5195a71d |
|
08-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Buffer API change: we no longer support limited sized buffers where
writes past limit wouldn't kill the process. They weren't used hardly
anywhere, they could have hidden bugs and the code for handling them was too
complex.
This also changed base64 and hex-binary APIs.
--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 |
7b524faf719c9998dd586708d6ee0faa307a6c02 |
|
23-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
mail_index_map_to_memory() didn't resize record if mapping was already in
memory.
--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 |
ee4acc29027537a551ba60c89fda0c15318eab40 |
|
12-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Fix buffer_set_used_size crashes.
--HG--
branch : HEAD |
5a07b37a9df398b5189c14872a600384208ab74b |
|
05-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Save extra record/header infos into index file permanently.
--HG--
branch : HEAD |
e2ea49bd487d76b425e270321e9cf1e546642de0 |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Avoid re-mmaping if not needed.
--HG--
branch : HEAD |
c48140ca508ebc9642737e7fd6c8d9e52f95df32 |
|
03-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
When updating index mappings, don't let it affect existing views mappings.
Fixes some crashes.
--HG--
branch : HEAD |
c9f1a617593eb569fb02f45041bad3c13e534496 |
|
31-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed fd leaks
--HG--
branch : HEAD |
44ff75ca53188056ff5a3e50428e3f2078800b3c |
|
31-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Transaction log file is now read-lockless.
--HG--
branch : HEAD |
a2645bdd6547b87e2380f33ce78640118b9e9e68 |
|
08-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
crashfix
--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 |
d562b19ab5d69e0352281d84da7d28b563d8bf19 |
|
24-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
removed assert
--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 |
ea546eaab672d441e180b7619d4750be813c08d8 |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Index syncing fixes.
--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 |
3c24d47ad5ff02ea00684233bef314ef2eefda4a |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
assertfix
--HG--
branch : HEAD |
86bc22621dcce6d9f1ca7216c9cc958381a61277 |
|
19-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
minor fix for error handling
--HG--
branch : HEAD |
cd65dfcedc603fabbf644be793efb09096f6c1b5 |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
crashfix on error
--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 |
8830fab191cab8440281eb641dfdd93974b2933b |
|
30-May-2004 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
e687badfdd7f4001e9a89a80a2c4a79ec4bafc8d |
|
28-May-2004 |
Timo Sirainen <tss@iki.fi> |
Don't complain about transaction log indexid changes when rebuilding index.
--HG--
branch : HEAD |
e4b09b008ab544eb8994beecbfffefa21d855e43 |
|
26-May-2004 |
Timo Sirainen <tss@iki.fi> |
mail_index_refresh() - allows forcing a refresh check
--HG--
branch : HEAD |
92888ef30960c30ccc9e030fe7eab5d4d04a7d1c |
|
24-May-2004 |
Timo Sirainen <tss@iki.fi> |
Some more UIDVALIDITY issues fixed.
--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 |
4c1827d5d718d6f610df3209a2eb95a6591698af |
|
23-May-2004 |
Timo Sirainen <tss@iki.fi> |
Don't try to re-map dirty memory mapping.
--HG--
branch : HEAD |
d482b35af87f5fd872bad007da0475813a401a49 |
|
23-May-2004 |
Timo Sirainen <tss@iki.fi> |
Recent flag fixes. Should work perfectly now with maildir.
--HG--
branch : HEAD |
ec1e30ecc38f0deddaf655413cf02d5972ddbc70 |
|
16-May-2004 |
Timo Sirainen <tss@iki.fi> |
Locking fixes
--HG--
branch : HEAD |
d67f54632110cfb6aafe2d7cd1f99b031c0b208a |
|
10-May-2004 |
Timo Sirainen <tss@iki.fi> |
syncing fixes
--HG--
branch : HEAD |
ee246b46953e4b94b2f22e093373674fa9155500 |
|
03-May-2004 |
Timo Sirainen <tss@iki.fi> |
memory leak fixes
--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 |
19593623a2278039be23fc93e3404c012920b664 |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
syncing fix
--HG--
branch : HEAD |
87712707722ef7d73acb065546e61afa4455cd9e |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
cleanup
--HG--
branch : HEAD |
5ec0ca7ff13595daf0d096c17100afb352e6294a |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
missing index file fixes
--HG--
branch : HEAD |
93b29720c5141f787bd1861796867e4595c9d084 |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
handle losing index file
--HG--
branch : HEAD |
28dd1eeb9fdb93051bb5899c80cf300d69ba9f9e |
|
30-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
changes
--HG--
branch : HEAD |
40ef82c46f6652412b068ebcdac7c3e74840a284 |
|
29-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
Don't modify index file when creating new transaction log.
--HG--
branch : HEAD |
b2105c78f0fd58281317e6d777ded860f33153a3 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
fddec1bf093b45eaedcece13c649b811208e0547 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
locking fixes, sync fix
--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 |
c1d45cada20777e1973579d40d0ebe43f89bb053 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
locking fixes, mmap_disable=yes 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 |
e846d1bf2303cef98615113a6ea81775ba256d63 |
|
13-Nov-2003 |
Timo Sirainen <tss@iki.fi> |
update lock counters with in-memory indexes too
--HG--
branch : HEAD |
895c81ddf7ccb789c56f6f3d96906381c1d8ab17 |
|
09-Nov-2003 |
Timo Sirainen <tss@iki.fi> |
type fixes
--HG--
branch : HEAD |
aff73ae6ffe91091a8ebe35016234153373a455f |
|
26-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
minor optimization
--HG--
branch : HEAD |
1d9db95775ffa2dae26cd6914f89333b8c69ef8e |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Sync stamps weren't updated always from header.
--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 |
f16b058c2ea114f8e6887c06f797e7be6d04d3fb |
|
24-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
expunge/append behaviour corrupted indexes
--HG--
branch : HEAD |
38082cb8119f71ede556f374d62ad2ca7f314c5d |
|
11-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Support for upgrading from old index file with smaller header.
--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 |
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 |
39324bbf268b66ad3ac66bcb4ef0576b4b34ca7b |
|
18-May-2003 |
Timo Sirainen <tss@iki.fi> |
Misc. fixes.
--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 |
74fbdec334e6e5a4d0fc9c9d2e11415a15892d4c |
|
23-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
Don't call msync() with with in-memory indexes.
--HG--
branch : HEAD |
64832077f2f3f22d9a705341d1103e8934530447 |
|
16-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
DEBUG: Don't crash with in-memory indexes
--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 |
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 |
c7b3f8406f77d95bcc2480deebbde86e165263ae |
|
09-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Make sure hdr->used_file_size isn't too small.
--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 |
38a5a537d2a082f4492fde4caf7dbc541fb8abd7 |
|
21-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Added some missing format attribute declarations. And fixed one more bug
found found with them.
--HG--
branch : HEAD |
b045ca1be3be3c034584665f64ec3823c28c1229 |
|
18-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Try not to split strings to multiple lines from the middle of human readable
text. Makes it easier to grep for them.
--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 |
44799e72ed29ba4234c3a0e3f31bbbfcc613039f |
|
20-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
debug fix
--HG--
branch : HEAD |
b62397096a70a9103dbcffd75b7be50501dbce04 |
|
13-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
mail_index_lock_full() doesn't need to be global
--HG--
branch : HEAD |
d3a288c47d1e99627ef3c525c654dc5430443b97 |
|
13-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
If mbox opening fails, don't leave the lock files lying around.
--HG--
branch : HEAD |
ad546d0a8cb4b85a99aeb2698ffd8de92adff9c0 |
|
05-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Fixed wrong printf-type.
--HG--
branch : HEAD |
0dc2c6fc020c80d24f54a1a8e534613dba3d06b1 |
|
04-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Fixes for anon-mmaped indexes.
--HG--
branch : HEAD |
d747eb91ce8ee1d4c9fcbb7fc8b3b0ec1233be9c |
|
04-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Setting index file's timestamp was done too early - there was msync()
immediately after it to reset the timestamp again.
--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 |
67950e1843bd879bab73d8752ee54f60bbd21987 |
|
28-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added --enable-debug. Currently it just forces file locks so that index
files can't be written to when not holding exclusive lock. Also main index
file can't be even read if we're unlocked (other files don't get
notification of unlock, so they don't do this at least yet).
--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 |
9e86ad9eb313004cd4c8b5427daeb4c241b57af6 |
|
23-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
file_wait_lock() now takes timeout-parameter so one badly behaving process
won't start creating tons of lock-waiting processes.
--HG--
branch : HEAD |
ecf2b29bde006d48f9674c42e47f2b62eaec4344 |
|
23-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
minor fixes
--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 |
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 |
6403608174a11d00ad94bccb1dfb84e2ce720357 |
|
09-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
whops, update tree and modifylog with correct uid instead of 0. added extra
assertions.
--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 |
052be7ed409590ef5a2baa629220880ed8d6389b |
|
09-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
expunge fixes
--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 |
d1faa68ce3878906b99aa96a06bdb7139e23bac9 |
|
06-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Small optimization for mail_index_lookup() when there's only one hole in
index file.
--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 |
8d67115ff1d54ba967c835c5aa050111fa54602f |
|
20-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Index compression broke it + few other fixes
--HG--
branch : HEAD |
74a02d35d21807b9f9069964514d8c09e3631ea4 |
|
17-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
FSCK flag is removed at set_lock(), so it can't be directly set anywhere..
but using index->set_flags |= FSCK now keeps it. fixes mbox problems after
flag changes.
--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 |
505fdf6ad9c219a3fcba5bd07a2e992b9a1d6564 |
|
16-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
mail_index_lookup() didn't always return correct record..
--HG--
branch : HEAD |
249868958753e48448054210477ef5bbeeb1c3fa |
|
16-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
cleanup/fix
--HG--
branch : HEAD |
2975b9592722e24252587f8584040f1014052d51 |
|
16-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
bugfixes
--HG--
branch : HEAD |
1178c88b06e442d2f5ba82157f8f89bcc018a50a |
|
16-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Fixes for no diskspace handling. seems to work now.
--HG--
branch : HEAD |
18baaafa4757ea6feefbe544474dbf10a68961a6 |
|
16-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Modify log is now able to stay in memory. Some other fixes/cleanups.
--HG--
branch : HEAD |
9a3633bc52d15b54d6bc55648aca6fa2815232cb |
|
15-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
messages flags were added twice to header
--HG--
branch : HEAD |
c08b37a14e22bcba1d13828110c267fb49bef42a |
|
15-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
always verify the seen/deleted message counts in index header
--HG--
branch : HEAD |
6141d8c6260c3dfaeb9dd4ed09197e4122fd017e |
|
15-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
More cleanups. lib-storage should handle "out of disk space" conditions
properly.
--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 |
79d62d195b7eb330c4962ad166f2d066f8837e91 |
|
13-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Added extra functions for easier printing of error messages. Moved
file_set_size() to generic function in lib. If there's no space to build
hash file, it builds itself in anon-mmaped memory and stays there.
--HG--
branch : HEAD |
d55990a3c9c386b5488f551238afb1438ba8f6a9 |
|
10-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
expunge() shouldn't update mmap, since we could be just going through the
index records.
--HG--
branch : HEAD |
696060912e6d2e390be6c2c15338fdc3b49afaed |
|
10-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Actually, don't bother fsyncing after each written mail, it slows down too
much and the corruption can be handled later just fine.
--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 |
5cb180be2aec8458c0a9d6d2acb5d2cd92bbe7bf |
|
09-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
X-IMAPbase is now parsed correctly.
--HG--
branch : HEAD |
8520b355cedfb8098f51ba3dfa29d7daa867a9df |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
more 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 |
9cc8bb98f4b7a6076932a75eb8b79d45d16a9d1e |
|
04-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
make sure the hash gets rebuilt if it wasn't opened yet when message was
being expunged (probably unnecessary)
--HG--
branch : HEAD |
73637408663279c5a3df51efcd573b9760ede15f |
|
04-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
more verbose error messages for hash corruption
--HG--
branch : HEAD |
7a22e0715977b0136653644bda791a7bc4d3153c |
|
04-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
mail_index_mark_flag_changes() didn't update deleted-flag changes if there
were seen-flag changes..
--HG--
branch : HEAD |
4f08c1d64625ab2c0dda7f5793b539852238d19c |
|
03-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
verify that mail_hash_lookup_uid() returns offset to correct record.
--HG--
branch : HEAD |
4def0d9fb522fec59d21bd67e2b09f8d32c204a5 |
|
03-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
previous fix for updating initial message flags wasn't done correctly
--HG--
branch : HEAD |
1969b0cbe66efb9a81ec2404f4903d7844e63729 |
|
03-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Flags for new messages weren't set properly, so the header sum counters were
wrong.
--HG--
branch : HEAD |
9264ced99621426c93b497dc3b62a8ae73f12abc |
|
02-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
index->lookup_uid_range() optimization for first_uid <= first UID in mailbox.
--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 |
473fe584efcfc0471401ec9cb914c5b089a3a7c9 |
|
31-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Fixed some index rebuilding behaviour.
--HG--
branch : HEAD |
82282b4d57f9ff95344d09b3b762608ea067ad94 |
|
31-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
".log.2" is also possible index file.
--HG--
branch : HEAD |
276b3e0947a349da687a9f5c7f3928884e9058f0 |
|
31-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Added overwrite_incompatible_index setting. Also we now try to use only
.imap.index-<hostname> and .imap.index index files instead of scanning the
dir for any compatible index. This also fixes (partly) LIST giving \Marked
flag when there's no new mails.
--HG--
branch : HEAD |
731184cc9dd31dfb3dce92feca66916aef841c21 |
|
29-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
bugfix for sync fix
--HG--
branch : HEAD |
414825aea0f71640824d5d103fd0cf5ca1e502d0 |
|
29-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
reset modifylog sync mark at the end of opening index file
--HG--
branch : HEAD |
52cd00e0a3f792582d3226d092418b96166cb401 |
|
28-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
last_lookup wasn't reset after mmap(). still feels somewhat buggy though..
--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 |
006c7de040ef939a4a6bb6c75913a41a7791001a |
|
27-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
bugfixes for overflow checks :)
--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 |
a0a5877694520d0a0257b4113f2c86eb2a673bbe |
|
26-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
A bit better index file truncating: Truncate it also when first hole reaches
to end of file, even if all messages weren't deleted.
--HG--
branch : HEAD |
b3cc182c0221e5bb7841ef5f46090065d7ba1d91 |
|
26-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
when all mail is deleted, truncate the index files.
--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 |
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 |