bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
322400fb897c4437bc94fec7f2219272eb180ba3 |
|
01-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fix -Wstrict-bool warnings with --enable-devel-checks |
3a78329166819e06f2929ce44e360514c6a80a8e |
|
12-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_base_optimization_settings |
6307d76096764e66bddc63d4a3e5a1aa19cc528f |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on buffer_free(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- buffer_free(&E);
- }
+ buffer_free(&E); |
2b170a01b7e966c584fc7573034180d75b321d0d |
|
11-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Remove tracking of mail_index_modseq_sync.highest_modseq
It's no longer necessary after the previous changes. |
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. |
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 |
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. |
34742a4b92c16c300e3d75731685b678712340b2 |
|
15-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
Fix -Wstrict-bool compiler warnings. |
6a4bfb2b0bb9f53fb1d4e705bf3948ef4d1ecccb |
|
11-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Improve error messages when transaction log is unexpectedly lost |
d697aa99bbcd1b0356afbc2b0ab87c88fc7d725c |
|
20-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Don't break indexes on syscall failures during index refreshing.
Especially mmap() failures due to out of memory could have triggered this.
We treated the open as successful, which meant that an empty index was
opened. |
3403e054eacf125e757bf6c66abf0ea9f086a4b6 |
|
14-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fixes to handling resized records. |
1af0c5d8814c2304d09d8ca844a84f0b9b0c1f61 |
|
03-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Added header-size asserts |
f6d5c9fbdac9af5c4d3f467f828dc6f056309d5e |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
Removed buffer_reset().
It was just a wrapper to buffer_set_used_size() and its comment was a bit
confusing (or obsolete), since it wasn't actually immediately zeroing out
the buffer. |
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/' |
45b0d8d0b97be14d10e3a3c12c169e4b352b2aac |
|
09-May-2015 |
Timo Sirainen <tss@iki.fi> |
lib-index: If header is corrupted after syncing, log the reason why. |
1f4f81ba81bb9fa8abe2d94f344373c230066d67 |
|
05-Apr-2015 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added reason_r parameter to mail_transaction_log_view_set()
This is used to improve some of the error messages about index corruption. |
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> |
f45aa66343b9431d2f6fa29799e8a9d8187edb40 |
|
27-Oct-2014 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
lib-index: Remove assert that can never happen. |
458b283a2f3db6e5aff20b4df1bbd18ada3900dd |
|
25-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Don't assert-crash if expunge event handling finds that everything is already expunged. |
be8c8479f918875eda871c5685ab2b4067228e26 |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: use _REC_AT_SEQ not _MAP_IDX in loops from [seq1..seq2]
[seq1-1..seq2) becomes [seq1..seq2]
Don't decrement before starting, and include the upper bound.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
2f16d2e0b4408370cd44db359759b23a8c0656d3 |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: use _REC_AT_SEQ not _MAP_IDX in loops over every record
Just change the loop bounds from [0..count) to [1..count], and make the
loop variale explicitly a seq.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
1df526903ed039e8ff966a223c43b8d04eddf3c7 |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: trivial robomatic migration from _MAP_IDX to new helper
All users which have a '-1' in their MAIL_INDEX_MAP_IDX have been changed
to the new mail_index_rec_at_seq() helper using this sed script:
$ sed -ie 's/MAIL_INDEX_MAP_IDX(\([^,]*[^)]*[^ ]\) \?- \?1)/MAIL_INDEX_REC_AT_SEQ(\1)/' src/lib-index/*.[ch]
No other users have been changed.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
53e0e6889bf659b86e4c7d2e83e27d69fd9d6bcb |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: optimise memmoves in expunge, only move each region once
Rather than shifting things back and back and back with potentially O(N^2)
(more precisely O(count*rec_count')) work factor, move each slice of memory
only once, directly where we want it to end up (O(rec_count') work factor).
Based on draft patch by Timo Sirainen.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
4e6629cb5d5e7f67d5023eda540105d32df5f2ba |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: trivial paranoia check in expunge loop
We will later be moving the zone between the current seqs and the
(end of the) previous seqs - this check ensures that the range is
indeed monotonic, and thus that zone is positive in size. It can
be zero right at the start, if the first seqs is (1,...)
Based on draft patch by Timo Sirainen.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
aba9cc9bf97576c0ca653d4e218567e617061029 |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: Preparatory HACK - reverse the loop order in the expunge
This is the final step before the actual optimisation of the memmoves.
HACK, as it it de-optimises the moves so as much as possible gets moved
as many times as possible. It clears the path for a later patch which
optimises them far better.
Based on draft patch by Timo Sirainen.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
070df93a3014ad4b2eb8754af65128c9f9a72e4e |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: hoist initialisation of mail index map out of expunge loop
Based on draft patch by Timo Sirainen.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
89b7d6ce9266288c156e3513f5798680f1e33572 |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: explicitly inline contents of sync_expunge()
To later optimise the memmoves, we will need to be aware of previous seqs.
It's easier to just have the guts inlined, so too much state doesn't need
to be passed around.
For review, this change is best viewed with a whitespace-insensitive diff,
to verify that the new contents of the loop are identical to the contents of
the now-absorbed function.
Based on draft patch by Timo Sirainen.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
74896b89e1d82819d710f9322cf7c9e72d5841ad |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: call all expunge handlers first
Firstly, the init checking only needs to be done once. More importantly,
moving this preparatory stage into its own per-seqs loop means there's
less to juggle when we optimise the memmoving loop in subequent patches.
Based on draft patch by Timo Sirainen.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
b32de04eb77234b25e2e411884a2503a1bf3c255 |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: move expunge handler init into helper function
Preparatory for later optimisation patches where the call to this will
be lifted out of the expunge(seq1,seq2) inner function and done once
for the whole range of seqs in one go.
Based on draft patch by Timo Sirainen.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
dfdd228ab20092705da0e8812b3cd0a039319375 |
|
28-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Optimize removing large number of expunges. |
b9ec0443d7d8afebfe61c17a9d692d6fad30c276 |
|
29-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Small code cleanup |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
76959d3d6fed45d5f5e1397fcdcf09a5adb87f24 |
|
04-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed modseq updates when modseq was over 32bits long |
23079bf0a6e7489c5f542b0b897a71bdfd884a51 |
|
05-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Replaced assert-crash with "index corrupted" error. |
5efcaaace97d50e58e57424ee5bc51c7a0e942b4 |
|
05-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Silently ignore next_uid shrinking without treating them as errors. |
0b2d4626c6fb4e40bc81c56d8227191f3c7e1ea3 |
|
17-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Don't bother tracking if header/records were changed.
They aren't really needed. When mail_index_write() is called, we already
know we want to update the index. |
94100e1f65f5114153f1f5a58a0089a7e9c9521c |
|
02-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Backported MAIL_TRANSACTION_ATTRIBUTE_UPDATE from v2.2 |
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. |
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. |
8f41f9935b056a26375755a8011340893e7e0802 |
|
12-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Removed duplicate ext-intro checking code. |
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. |
86bde2c1838d1ce967fa2b394bb952004a4adcb7 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
seq_range_array_add() API changed. Added other functions to provide the less common use cases. |
a1a0b9ba36800f8acc744486450f2b51fcfe0446 |
|
22-May-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Don't log an error if UIDVALIDITY changes.
Normally this should be done by backend only by resetting the index, but
it can be done also by dsync. |
d7c8280f58292cc292eba9209dcc9024fe96cf06 |
|
03-May-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Updated dovecot.index file only by recreating it, never write to it directly.
This is safer, and nowadays there shouldn't be much of a performance loss
with it either, since dovecot.index isn't updated very often.
This also allows removing all locking from dovecot.index file, although for
now we'll keep it in case old Dovecot versions are simultaneously writing to
the index. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
882fd2a050eff86d740f5e5b9fc2fc4f21ed3734 |
|
01-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Make sure mail_index_sync_record() doesn't waste data stack. |
6d25194a4230037c0999aa6a01ae6814e03ec06c |
|
01-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Make sure mail_index_sync_record() doesn't waste data stack. |
05c56ea2ac0d6da372249f6683ecffab967d6860 |
|
16-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Optimized handling MAIL_TRANSACTION_EXPUNGE_GUID records in large index. |
73e9db676e5cdc969635ca81172698c54d3bc839 |
|
16-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Optimized handling MAIL_TRANSACTION_EXPUNGE_GUID records in large index. |
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. |
e188bab0b830136d04a1dd8b55e9afefae20d930 |
|
03-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added "transaction boundary" record for future compatibility. |
e49769b64208ee00de00a0061cb29a1b555144b0 |
|
02-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added a missing sanity check for expunge-guid record's uid.
This fixes a non-self healing assert-crash. |
b99f3f908d51f4d1f7628bdf2cc6100cd8587656 |
|
16-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Work around clang static analyzer's false positive "dead code" issue. |
1e2887ae909d9817cc43a7e40ecb50508419f7ed |
|
06-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Minor code cleanup / commenting.
--HG--
branch : HEAD |
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 |
db95d1a82dc3ddd93a09ef4720f5855c5a1f34c9 |
|
29-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added a missing error logging.
--HG--
branch : HEAD |
f7caa64a7bb2360893fa2b703311acd8a529569a |
|
25-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: On errors, close sync view before fsck to avoid assert-crash.
--HG--
branch : HEAD |
8bb360f9e5de1c25e4f875205bb06e8bf15dae14 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Removed dead code.
--HG--
branch : HEAD |
8872e5c991430f96138a46e36b7f3c2c40d8e5c2 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added support for undeleting a deleted index.
--HG--
branch : HEAD |
d041ddb437ee7000174161405581ab85c0ba314a |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Index deletion is now a request that gets finalized by index sync.
--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 |
e76f5e07be5bec4e5ca99c3e093ff7f11edbe1b7 |
|
20-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
mail_index_update_header_ext(): Couldn't handle >=64k headers.
--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 |
e20e638805c4bd54e039891a3e92760b1dfa189a |
|
08-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_foreach*() in some useful places.
--HG--
branch : HEAD |
4b89231f4ec9cc69f4aea715e1d34f405c7e317d |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_index_update_highest_modseq().
--HG--
branch : HEAD |
d1baa8c6f97cdb1b3c2c44a73cc21f9dfc7a963f |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixes to handling UID changes.
--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 |
ad48319996942463675b53877092ab7e13a7a75a |
|
29-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added ability to specify message's minimum modseq value.
--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 |
0bea219e4f944cd17a9ccd1131b7fe081d1bb0a7 |
|
30-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Write to main index file less often.
--HG--
branch : HEAD |
686c00553a7cea22272548d9fb8c888170965ec9 |
|
30-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Write to main index file less often.
--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 |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
c21c33a8c98972c45349066fc76ac9e2c05013c1 |
|
18-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
index files: Another try at fixing handling log files with different header sizes.
--HG--
branch : HEAD |
7de1c472fd23ddac6b4dc5cbeee6fa6a8418b071 |
|
31-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Fixed crashes related to struct mail_index_map_modseq handling.
--HG--
branch : HEAD |
ec922832ddc917e48d98fdb409051b9c162b90a3 |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Index files: Fixed reading uninitialized memory when handling extension
resets generated by older Dovecot versions.
--HG--
branch : HEAD |
20c892309312df8f4f73cfcaf8acd2ededda8b05 |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Mailbox view sync: Figure out the changes by comparing old and new maps if
any of the required transaction logs are missing.
--HG--
branch : HEAD |
1032e5427bf10566098f3b3bb9110e2bc1227e85 |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Added assert.
--HG--
branch : HEAD |
95a1a5195d56f3cf5d1e529aad668f87ad3b979b |
|
11-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Modseqs are no longer calculated from transaction log sequence + offset.
Now they begin from 1 and each "visible" transaction increases it by one.
--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 |
68f4cc25b3a5627b9de42bb0f12b570ee0e56e9c |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
DEBUG: Verify that UIDs are ascending after sync.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--HG--
branch : HEAD |
68b3667c9ee95951d7c3e03b19b2d37abbaa5736 |
|
06-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Expunge handler calling fixes.
--HG--
branch : HEAD |
dbccc82512389d0f1fda99245095ba4adbad1090 |
|
06-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Expunge handler calling fixes.
--HG--
branch : HEAD |
7481d0f9919968a62e9f43b33475d5e3f2655762 |
|
13-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Code cleanup for last commit
--HG--
branch : HEAD |
fd2118e34f4d1d65cffdccc40d74dda931fae81e |
|
13-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Code cleanup for last commit
--HG--
branch : HEAD |
7246ed4b54ba7a3c5eb0f161c405ac69182d74cb |
|
13-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Log an error if uid_validity field is updated unexpectedly. If next_uid
field decreases log an error and ignore the update.
--HG--
branch : HEAD |
d647e72663b52cb2301df5eaf93e67ee873a41f8 |
|
13-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Log an error if uid_validity field is updated unexpectedly. If next_uid
field decreases log an error and ignore the update.
--HG--
branch : HEAD |
19e8adccba16ff419f5675b1575358c2956dce83 |
|
11-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed T_FRAME_BEGIN/END to T_BEGIN/END. Removed T_FRAME() macro and
replaced them with T_BEGIN/END calls. T_FRAME() made it difficult to debug
code with gdb.
--HG--
branch : HEAD |
cff21b6a2e9e54086544dfdc0e33fe8321e6bf02 |
|
11-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Fixed index reopen check to work more correctly when syncing view/head.
--HG--
branch : HEAD |
32339680e0197f50f1f5b40a28099a9e0f19ab23 |
|
11-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
If mmap_disable=yes, don't reopen index file unless we really have to,
because it causes cache sync to get lost.
--HG--
branch : HEAD |
20b9283d4af31e45e588014da427fb2dbcd3227a |
|
07-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Reverted fix for dropping expunged messages from flag updates. It's more
common that the UID range was actually meant to include the expunged
message.
--HG--
branch : HEAD |
200c36b2e0816ac102f7f9a55e6b1b7d75848256 |
|
06-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
If a message was expunged but is still visible in a view, its flags/keywords
might have been updated if an uid range included the expunged message.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
31050c3df6cbe403e8ced8ef11b5c4e12124d354 |
|
29-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed crashes at error conditions.
--HG--
branch : HEAD |
eddd9bf1a1369aea4a2715f6be1137da6d17d293 |
|
05-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced t_push/t_pop calls with T_FRAME*() macros.
--HG--
branch : HEAD |
7bd3f5614e0dd2324dd1015f084de72c0b069a1a |
|
04-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Previous tail_offset change broke when rotating transaction logs.
--HG--
branch : HEAD |
88b6f36ef1b453c08e8d9cadb229b39fc9bb4a1c |
|
03-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
If we didn't read tail offset update from transaction log, we set it to 0 in
index header, causing a lot of unnecessary work.
--HG--
branch : HEAD |
f31720ad5ece28ca3fa793920f1501165ad9603f |
|
16-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
If errors were found while syncing, fsck the index at the end to make sure
everything looks correct.
--HG--
branch : HEAD |
20261d71760e4199cb8d906ab9704a4561d954d7 |
|
10-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
If transaction log contains records with unknown types, log an error instead
of assert-crashing.
--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 |
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 |
0f66f12eb4cdbf47670975044c88d8f388bf92df |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed buffer_free() and buffer_free_without_data() APIs to take ** pointer
which is set to NULL instead of hiding it with a macro.
--HG--
branch : HEAD |
2ebfb5c0608e2323b73271208f4036a7ea7d7f3a |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
write_seq_first/last wasn't updated correctly when appending messages,
causing "messages_count too large" errors.
--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 |
91d4c7b37580b031ed7b0154ae10c643521803f3 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Complain about unknown extension introduction IDs in log only once per sync.
--HG--
branch : HEAD |
f7656d7bc15510a4259ed74ddda3c560de8a51c1 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Check that header is still valid after syncing. If not, fsck.
--HG--
branch : HEAD |
9ae24544b49e9cbf12bfa888279988a97235e10d |
|
27-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Don't assert-crash if uidvalidity wasn't set in first sync.
--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 |
3342badd8c69adff34db589fb0a221ace5996212 |
|
10-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Don't break flag counters when appending to shared record maps.
--HG--
branch : HEAD |
a28a6267f48971117dec958b160deefd14ebb7a6 |
|
06-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Prevent copying record data when appending new messages.
--HG--
branch : HEAD |
d12f05c7c391786d0d9795ec3aa4377280bbfaea |
|
03-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
DEBUG: compile fix
--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 |
1d3f7c1278168d5b1cbfa9a2cc9929a0909056b4 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Recent flag handling rewrite. Still not perfect with maildir.
--HG--
branch : HEAD |
075f90abe6b6b12dc72bca21bfce8086b4b190ec |
|
02-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Don't clone a map when expunging if all messages were already expunged.
--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 |
3776ed607821b502468bdfd5a4533af3002125d1 |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Removed view->hdr. Use view->map->hdr directly.
--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 |
d41573018e85896ec836d897fd554e87126147f5 |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
If we can do initial sync from .log file by reading less than 2k, do it
instead of opening main index file.
--HG--
branch : HEAD |
ae8817f05005f57bba32479a610b52d083e2b6eb |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added support for resetting index.
--HG--
branch : HEAD |
c3248869ddd406a7a46b8c05633f0cccc72fcb77 |
|
30-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed unneeded code.
--HG--
branch : HEAD |
1b317fe22572738681d34d80da8012638e1e1281 |
|
28-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Don't access freed memory
--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 |
e26a771fad55dfba4d5021d12ed5685c951d9b7b |
|
20-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
DEBUG: Verify header counters/lowwaters more often.
--HG--
branch : HEAD |
4307af26b5fa9bc4b2f7f4bffe95980d419ebfe5 |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
When updating dovecot.index file, write the header always.
map->write_base_header now tells only if the file needs to be updated at all
if nothing else has changed.
--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 |
b61a8c8f555a3ef1dd8edd63be04146c76eb66a7 |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed broken asserts
--HG--
branch : HEAD |
f81a4d2002da0db33d11ca694d3a91b3ee2a0fdb |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Update log_file_head_offset when replacing current syncing map.
--HG--
branch : HEAD |
1dec807061d7d428dba5c5a92cd2a5ff843a2039 |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
If a forced syncing fails, it could be because of broken log file position.
If it happens, fsck the index.
--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 |
9bc6e10d9c6d6ffb4a2ed49a3b3d2a180f2a87a3 |
|
18-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
View's counters can no longer be unreliable or broken.
--HG--
branch : HEAD |
5a7b52012bf77132bb8f466d07e0e88c63fdba42 |
|
16-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Don't update log_file_tail_offset in header until syncing is finished.
--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 |
edb8fb9a0de6a8df52049e9a5cc4f2933a7f25c6 |
|
15-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed unused/unneeded code.
--HG--
branch : HEAD |
e063aca6bc2f08bec516d4b631052ea9191f011d |
|
15-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Treat non-external expunges as requests for expunging messages. If it's
actually possible, mailbox syncing will then commit external expunges.
--HG--
branch : HEAD |
35316602eabbae7dcb86dd74c71e04cce45ba7c7 |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Update day headers while committing appends.
--HG--
branch : HEAD |
5f78b33aa505b17e23cdf27b071a24e127b3db54 |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed sync_mask parameter from mail_transaction_log_view_set(). The user
will now have to check the types itself.
--HG--
branch : HEAD |
4163ec6941bd55fe2c963a6c4605e7fa38f05ea2 |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mail-transaction-util.[ch]. They're no longer needed.
--HG--
branch : HEAD |
8bae533c96e129dca8ee7b494d7de5aeb4a043a2 |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Don't assume that transaction record type is a bitmask in the transaction
log file, even though it's internally used as such.
--HG--
branch : HEAD |
a5b331e18b220fac557480b569b85215a1b3bd8e |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Added more corruption detection code.
--HG--
branch : HEAD |
c91de2744f8c1e61e91082ff5e214450f28a0e7c |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Moved duplicated log record validation code to a single place.
--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 |
ccffbed92cb02c24fd717808a84138240bf1885b |
|
11-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
If we run out of disk space, move to in-memory indexes.
--HG--
branch : HEAD |
23230b2a3fe09ed29bd1314c7b8b4a0b17ea0ecf |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
View syncing fixes.
--HG--
branch : HEAD |
06cdcb105b51291994d5122ca44f09fcbd8a9929 |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
View log file offset fix
--HG--
branch : HEAD |
2c677e9d339bc91d5b54376ba2986f71476c06ab |
|
09-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Don't set log sync position right after extension introduction, unless it's
at the end of the file. This should fix some "Extension reset without intro
prefix" errors.
--HG--
branch : HEAD |
c8eba01215f9f692ab3a06a839aaa2bc8eb2d798 |
|
06-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
When we were syncing in-memory maps, we still should have updated the
log file offsets because other views could have used them.
--HG--
branch : HEAD |
399844b937671d8836057e57b42898445302c46d |
|
06-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
We could have skipped transactions completely (broken a few revisions ago).
--HG--
branch : HEAD |
21ec6628c567eeff025af35d8027be01044b0b1a |
|
01-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
Setting flags other than seen/deleted was broken.
--HG--
branch : HEAD |
945631faab2bf1aed8d95a1fd0c317a9ce153725 |
|
23-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Some mmap_disable=no fixes. Some debug additions. Some generic index fixes.
--HG--
branch : HEAD |
51920d00fa50edf7b2e9b1019288d64b7abee7f3 |
|
23-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
cleanups
--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 |
86d52f310fe939090c66b780a3b6ffe5d10dc8fa |
|
16-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
cleanup
--HG--
branch : HEAD |
c3b36993785d9567a63bdad1933031060c9460cf |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
If there are transactions left while unlocking, don't unlock. Also added some
next_uid debugging.
--HG--
branch : HEAD |
2d79e603e20a32bdae4c2b516ead5c5c9169545a |
|
25-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Don't break if extension record size isn't divisible with 32bit.
--HG--
branch : HEAD |
8f7b00599e73fe71b1d2c6c65f8ae98aac1b23fb |
|
23-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
In some conditions a keyword could have been added to the index twice. Also
a few cleanups.
--HG--
branch : HEAD |
1cad0dd34667548ba39f794ddeb9fc486cf4c666 |
|
23-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
If header counters got broken when updating internal views, say it clearly
in error messages instead of saying they're broken in the files themselves.
--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 |
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 |
153de7823e64c67678b3fc95719c41a8ec5b864d |
|
30-May-2006 |
Timo Sirainen <tss@iki.fi> |
Memory leak fix for last update and some other cleanups
--HG--
branch : HEAD |
9315dd69233d554452df0c12bc57002d2042a8f4 |
|
30-May-2006 |
Timo Sirainen <tss@iki.fi> |
We were updating index->map also when syncing views.
--HG--
branch : HEAD |
9887c39c5ba429169389153ca99de49e084a73f0 |
|
30-May-2006 |
Timo Sirainen <tss@iki.fi> |
If we're synchronizing a view (and not index itself) from transaction log,
give a different error message and don't mark the file corrupted.
--HG--
branch : HEAD |
abfcd9f73b9ad1eeef4fe6e9940383defabf68c3 |
|
03-May-2006 |
Timo Sirainen <tss@iki.fi> |
When removing recent-flags with mmap_disable, the flags weren't actually
removed which caused broken recent counter errors. Also added more checks
not to update counters if they're already known to be broken.
--HG--
branch : HEAD |
fa5957ffc9b676bfd649fa9953e63e72ee4ebeb4 |
|
03-May-2006 |
Timo Sirainen <tss@iki.fi> |
Index header's seen/recent/deleted counters weren't always correct after
syncing a view. This caused some problems with recent SEARCH optimizations,
eg. EXPUNGE not always working.
--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 |
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 |
8d6cb44a0161d88743756733f83c4fb278485987 |
|
14-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
While casting const pointers to something else, the const was often
unneededly dropped out in the middle of casts.
--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 |
22c44d9134725e208906d3ccf8dfdc2fe1baa5d9 |
|
02-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
typofix
--HG--
branch : HEAD |
41bb0aa8e357876bc9a1916a37c9e3e78e5f8185 |
|
02-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Don't rewrite index file every time with mmap_disable=yes.
--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 |
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 |
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 |
4cf90a2ba0a57a115d1e2c416df5c0d47bdcf8c3 |
|
23-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
When removing recent flags, we didn't update the recent flag count in
header.
--HG--
branch : HEAD |
463e82bdf0e990f4f2252d2b53ea23a5abe5883c |
|
16-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
If we're updating only log_file_ext_offset but log file sequence has
changed, update log_file_int_offset also to beginning of next file. Fixes
assert in mail_transaction_log_view_set().
--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 |
f6d427e1fc450607854d93d27c45b2d31209ff7a |
|
05-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
We might have skipped transaction log records when syncing if log file was
just rotated.
--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 |
6aa38bc4f4d4626a4a79abb59a9d415e4bd9b6b5 |
|
31-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Recent flags weren't being removed from index causing needless syncing.
--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 |
3393dabdd2123699241b26b3f07345b6842d9d75 |
|
20-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
comment update
--HG--
branch : HEAD |
553dd384ceb91847ea10de023f026ebfdc2d782d |
|
20-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
still not right :)
--HG--
branch : HEAD |
7889c9f65e23c83fc31cecf304cab4ab070d6aa1 |
|
20-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Again, don't crash if there are no expunge handlers..
--HG--
branch : HEAD |
a0d34d3982507f513a9d800082481e9faeb9a943 |
|
07-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Moved extension syncing code to separate file.
--HG--
branch : HEAD |
cd5ee8630497fdbd853ef588a858b4ef619a5e03 |
|
07-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Sync contexts are always of type struct mail_index_sync_map_ctx.
--HG--
branch : HEAD |
20c26f4fcf9ef87434761829cc209c2f84ff5716 |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added more asserts.
--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 |
cf83d475b1b4cc252d48858130f4c9e5a1ddbd99 |
|
04-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Expunge sync handlers were using wrong extension contexts. This may have
caused cache->locked asserts.
--HG--
branch : HEAD |
2382b8f17365dbdb758630f0d7a488af5336d7b5 |
|
30-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
broken fix for sync handler deinitializing..
--HG--
branch : HEAD |
dc2d666a911bfab4c7fa85d5f9cd6df78aafdb1f |
|
30-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Sync handlers weren't always deinitialized with correct parameters.
--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 |
8d5ca66bfeb69b48eb99350949674cf859776c42 |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Added assert
--HG--
branch : HEAD |
fbd3abcd7b5cf11362440fcb1c73d77960227ba4 |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
We were accessing map which was potentially already freed.
--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 |
e6d7d19c328e7043ad35d5a52c1617bde915a16f |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Don't mark map to be written into disk if we're syncing a view and not
index.
--HG--
branch : HEAD |
3cdea46b2af97ab30861ee235678822278217514 |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Still need to update view->hdr..
--HG--
branch : HEAD |
eb4e310cbf876dea5c1a5e5e0da1ba52b0c42208 |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
sync_ext_reorder() sometimes added too much data to buffer.
--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 |
340f0ab8115657d291201f538492f5d4dcd1f174 |
|
29-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
added assert
--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 |
e82bfcae96f16dbb9af21b477d5afeab3a859481 |
|
11-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
crashfix
--HG--
branch : HEAD |
413fbe597e7ae0fa9dd6c8c66de6637658eea5e5 |
|
08-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
crashfix
--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 |
03dbd273251103f745c08966f1809c02870390ff |
|
07-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Added extra checks to avoid crashes with corrupted transaction log.
--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 |
d143077bd518de129b8d446fb58e003903e50867 |
|
17-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
New way of handling extension introductions in transaction log.
--HG--
branch : HEAD |
f172291ed740e6af3ce3e7c9c2ef0fe1d3ad7963 |
|
17-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Write transactions into index at the beginning of syncing if there's appends
or external changes.
--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 |
dd8de60250511cc729b67249e61dfc6b4debff11 |
|
24-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
hdr_flag_have_dirty wasn't set if dirty flags were set in appends.
--HG--
branch : HEAD |
ee4acc29027537a551ba60c89fda0c15318eab40 |
|
12-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Fix buffer_set_used_size crashes.
--HG--
branch : HEAD |
2112c190034c937b4b1613c3689d8239adb6c310 |
|
11-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
a few more cache fixes
--HG--
branch : HEAD |
a13dd0ece98f62f61c64bff9c9c29ed3f3d82d54 |
|
11-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Use global null4[] now.
--HG--
branch : HEAD |
f79a807865222dc8d5afd21667d2ace67f6c831b |
|
11-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
More fixes to make sure we don't write buffered data to cache file after
it's been reopened.
--HG--
branch : HEAD |
5a07b37a9df398b5189c14872a600384208ab74b |
|
05-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Save extra record/header infos into index file permanently.
--HG--
branch : HEAD |
90a6478adca64af3b909498711bb034a5ddb79a9 |
|
03-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
fix
--HG--
branch : HEAD |
f3a258b0930595dedaa4057d4104d99d4409a10e |
|
03-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Don't fail if we can't lock cache file.
--HG--
branch : HEAD |
c165abbc0344ff8a4c0553dbdeb0df2259013138 |
|
03-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
fix
--HG--
branch : HEAD |
a928e7efabb1672b1476e597106d4b4b81ac6f3c |
|
31-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Small cleanups.
--HG--
branch : HEAD |
567e57b09a49bbb2a146b13f8617698eb56237fe |
|
31-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Changed some asserts to failure return calls since they actually can happen
--HG--
branch : HEAD |
7394389230750c45b105cdefb5850c81cae8cdc0 |
|
05-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
fixing crashes from last changes
--HG--
branch : HEAD |
7939d8f4b6e6e847004c537c10e96af1b115ca5c |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
header and extra_rec syncing crashed because of recent changes.
--HG--
branch : HEAD |
72cbf33ae81fde08384d30c779ff540752d9256c |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache updating is done now by first reserving space where to write, and then
writing to it whenever buffer gets full. There is no persistent cache file
locks anymore because of this, but it also means that the same cached field
may be written multiple times to the file by different processes. Also since
we reserve more space than we actually need at first, it some space can be
wasted if multiple processes are updating the cache.
--HG--
branch : HEAD |
a40d26f83af808a0ea1e212c001d682a96d870b0 |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Caching fixes and optimizations. Removed all network byte ordering code -
it's not worth the trouble and would require massive changes in indexing
code as well to be useful. Changed next_offset to prev_offset which is
updated while syncing index.
--HG--
branch : HEAD |
d9e49848cb4a08f140892d76c2b54afabb9e675a |
|
02-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
assert crashfix
--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 |
fec0e90484c5f2c9da9cdc62c0897408023d4c6e |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
assert crashfixes
--HG--
branch : HEAD |
ea546eaab672d441e180b7619d4750be813c08d8 |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Index syncing fixes.
--HG--
branch : HEAD |
56f45b3f3ae20e5c933701f4657dda5ef1916855 |
|
19-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Several fixes and cleanups to cache file code, still badly broken
--HG--
branch : HEAD |
46ba60afe16f39d49100ee79f45cd8b70e0e857c |
|
16-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
fix
--HG--
branch : HEAD |
53238473bf77147660aa6db9daa68a8a685e9381 |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
bugfixes
--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 |
8603622835ec0566e49056ee839ef5992b48c46d |
|
30-May-2004 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
6a675eda973195f8c00c101519521b788781ba37 |
|
26-May-2004 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes crashfix
--HG--
branch : HEAD |
ace3c14e47a5a865df8aeea2fabc993b609dd163 |
|
26-May-2004 |
Timo Sirainen <tss@iki.fi> |
fix
--HG--
branch : HEAD |
3b94ff5951db4d4eddb7a80ed4e3f61207202635 |
|
25-May-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed var_expand() to take a table of variables rather than a few predefined
ones. Added support for modifiers.
--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 |
215daa7d5bf9a849849586490fd6fdd28a724dd8 |
|
03-May-2004 |
Timo Sirainen <tss@iki.fi> |
fixes for fcntl_locks_disable = yes
--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 |
62e8c0bf11307adfa9e8bbe368f6771d3810e7cc |
|
29-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
Ignore new mail appends if they're already in transaction log.
--HG--
branch : HEAD |
b2105c78f0fd58281317e6d777ded860f33153a3 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
690af4a90eaf8611c2573d34126bb7a852c50a44 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
when growing index file, do it exponentially for this session (files being
added one at a time).
--HG--
branch : HEAD |
d1727ed9c2ed8c520afa35cf0302fd94f7dfd723 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
some more locking fixes
--HG--
branch : HEAD |
5c1a8aee989af87bddefd71e2aa83aa2bd695155 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
Locking changes. bugfixes.
--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 |