bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
c147bff818798a979d93537f72f5c1f68f5d5ba8 |
|
24-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Use t_buffer_create
sed -i -e 's/buffer_create_dynamic(pool_datastack_create(), */t_buffer_create(/g' |
20a10690f6dd922b36f72f995c95b96face85971 |
|
20-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add missing error logging for mail_index_view_sync_begin() |
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 |
96d1b0c8126121fdceff98144c932433e3fdeb92 |
|
04-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: If view syncing sees index is reset, always mark the view as inconsistent.
Not only when the mailbox has messages, because that could still mess up
assumptions about UIDs. A somewhat better check could have been to do this
only when next_uid>1 (= there have been messages at some point in this
mailbox), but it's safer to just always mark the view as inconsistent. |
83cd96ee87e8fb88b2467a1c51604961a5db3d71 |
|
04-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: When finding a view is reset, don't attempt any further syncing.
This could cause various errors to be logged, such as:
Error: Append with UID 7103, but next_uid = 7242 |
407d64647d77771080eb75f800162014927f10c6 |
|
04-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fixed potential assert-crash when view syncing sees a reset marker.
It should never try to use main index map at that point, because
view_sync_have_expunges() looks changes only before the reset marker.
Fixes:
Error: Index .../dovecot.index lost messages without expunging (36 -> 27) |
41a6be2852b10158e98934aa7e4922baf887a0c3 |
|
29-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fixed view syncing when changes couldn't be read from transaction logs
Fixes errors like:
Log synchronization error at seq=0,offset=0 for .../dovecot.index: Append with UID 5, but next_uid = 6
.../dovecot.index view syncing failed to apply changes |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
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/' |
814bf67459ad405a157af0b8940602024d7fadfe |
|
23-Sep-2015 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
Remove now-unnecessary direct stdlib.h #includes. |
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> |
7604ee75aa54ab2e400de45999e326c358bc2d24 |
|
02-Jun-2014 |
Phil Carmody <phil@dovecot.fi> |
mail-index: use _REC_AT_SEQ not _MAP_IDX in view_sync_get_log_lost_changes
Shifting i and j up by one to use in the new macro means we don't
need the +1's in the calls to view_sync_apply_lost_changes and
mail_index_map_lookup_keywords. Rename them as seq variables too.
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> |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
ee248252648e99f5d701ecd6e33640ea77e11cb7 |
|
06-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Minor fix to regenerating missing transaction log parts. |
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. |
e68fc7dc8c8a75842f1e39deb49d196d1cfdb3b3 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Treat modseq updates explicitly instead of as if they were flag changes. |
ffb79efcac37f807f75ab0a04c7b17a3d4af7167 |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fix for handling view syncing for already deleted transaction logs.
The sync changes' hidden-flag was set randomly, which could have caused
flag changes to get lost. |
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. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
c2378fc4d82577009b0b5125f381387e7d74ce46 |
|
23-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Handle transaction log read errors separately from log corruption. |
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. |
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. |
8bb360f9e5de1c25e4f875205bb06e8bf15dae14 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Removed dead code.
--HG--
branch : HEAD |
f4ca89823693b9faa82a0c39c24510a7b0e606af |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: View syncing error handling fix.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
1da9587dfb6632ac6446ad12b09fdf77c8542e2c |
|
15-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
lib-index: Give nicer error if index's log position suddenly goes backwards.
--HG--
branch : HEAD |
e20e638805c4bd54e039891a3e92760b1dfa189a |
|
08-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_foreach*() in some useful places.
--HG--
branch : HEAD |
220195605754218b4d6e3a51f5a25be9d0e202e0 |
|
06-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed v2.0 forwards compatibility support. Expunges were handled wrong.
--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 |
3f99d19bf3361a4b0952e4e3ad64d4d6988de469 |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Mail index view syncs: Simplify code for getting list of expunges.
--HG--
branch : HEAD |
ebee99dd900dc68fa280b1e93b8a71706013b31b |
|
10-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
indexes: Crashfix to error handling.
--HG--
branch : HEAD |
4e1899e9bdafd0da1692240d21314d9c07d9946e |
|
10-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
indexes: Crashfix to error handling.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
98daad9e5bf9bb1ce8fcddd45b350fce953a0bde |
|
12-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Crashfix to handling missing transaction logs.
--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 |
b6612c334604eeb27e1ca2bd804ac66dcbc2eaad |
|
21-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
View syncing: Keep track of highest modseq in views. If we lose transaction
log, return all messages with higher modseq than the old highest-modseq as
having changed. This works better than the previous code which compared the
old modseq which may have already changed after the previous view sync.
Return changes based on modseq being larger than
--HG--
branch : HEAD |
919875067c26fb261a15b3f7afdb67d7eeddb226 |
|
18-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Mailbox view sync: If modseqs are enabled, use them as well as direct
flag/keyword comparing to find out changes when transaction logs are
missing.
--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 |
1103e7320af882c2c649841612b99b4502cb82a2 |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Mail index view sync: Don't look for expunges if we already did it once.
--HG--
branch : HEAD |
1f43c8ac132c153c224c4fffe34b2c3075d87ef7 |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Changed mail index view syncing API to return only flag changes.
Currently it has only a single caller and it's not interested in anything
else.
--HG--
branch : HEAD |
b43bb773ee6534c1013b01a62fbd5703e3b0d17d |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_begin() code cleanup.
--HG--
branch : HEAD |
9a25d843320a418799494ebaef91112ade0c5fdc |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_begin() _FLAG_FIX_INCONSISTENT code cleanup.
--HG--
branch : HEAD |
5a86309a6c58bdeb9921bf2989aaabaaa04a29ab |
|
17-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_begin() now delays its failures to _commit().
--HG--
branch : HEAD |
17da42c31202b1b3e7e308121ea17d922c24da1b |
|
11-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: If MODSEQs were returned in FETCH replies but there are pending
expunges, send a low enough HIGHESTMODSEQ reply to make sure the client will
later see the expunges.
--HG--
branch : HEAD |
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 |
a641c92cc81453fa9c82e721f9bb8c06a987235b |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Crashfix for previous view sync change
--HG--
branch : HEAD |
b9c44feadade0481b957f2978640afb3317bd1df |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
View sync returns now also hidden records, but they're marked as such.
Mailbox syncing returns hidden records as modseq changes.
--HG--
branch : HEAD |
f1765f773591385d513fb68e1799fd1cb4206852 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Keep view's map always at least up-to-date with syncing. If there have been
no expunges, the map is immediately replaced with the latest map. Before the
map may not have been updated until syncing was finished. This change is
necessary to update modseqs correctly while they're being enabled.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--HG--
branch : HEAD |
db5164c9a1129af0cfb11fc18d88da361a8011fb |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_MAIL_FLAG_BACKEND flag that can be used for
backend-specific uses.
--HG--
branch : HEAD |
ff3e079cdcd74e64eb35af0bc361e75d2ea03822 |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Moved fdatasync_path() to a global function.
--HG--
branch : HEAD |
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 |
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 |
eddd9bf1a1369aea4a2715f6be1137da6d17d293 |
|
05-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced t_push/t_pop calls with T_FRAME*() macros.
--HG--
branch : HEAD |
07afd4db18860589803c46a3ee0559bda1c9e1b4 |
|
06-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
If messages are unexpectedly lost from index file, log an error instead of
assert-crashing.
--HG--
branch : HEAD |
fb36dcb603524f860f1e4edf987fd3b028acac6f |
|
05-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Assert-crashfix
--HG--
branch : HEAD |
1d06a935b555024420d1c22249f0c847e51a9b7a |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Fixes to MAIL_INDEX_VIEW_SYNC_FLAG_FIX_INCONSISTENT handling.
--HG--
branch : HEAD |
3da614c39dd29f536c485089e67839b4cf89fed3 |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_index_lookup_uid_range() to mail_index_lookup_seq_range(), made
it return a bool and added mail_index_lookup_seq(). Cleaned up the code to
use these functions.
--HG--
branch : HEAD |
62f4a199b5c9a0862f486cbf18e195cc621bbe25 |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_INDEX_VIEW_SYNC_FLAG_FIX_INCONSISTENT flag.
--HG--
branch : HEAD |
530c3ece3717ad8193046ea7774227f91971a0dc |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Fixes to handling inconsistent views after index reset.
--HG--
branch : HEAD |
49e9acb52bb5d328f8cf10bce1082c4bc213caea |
|
02-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Don't assert-crash if index was just reset.
--HG--
branch : HEAD |
c680a6b35b459045e92814778908da5a93922107 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Keep transaction logs referenced while we know we need them. This fixes
desync errors with in-memory indexes.
--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 |
3b80595fcf2001cf7b2fcc6290823e38f4a142fc |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
fsck won't fail anymore with "corrupted index", all problems are fixed.
Added mail_index_fsck_locked().
--HG--
branch : HEAD |
c979eeda1f46483d9c963e265786b701d7683d77 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_next() and mailbox_sync_next() returns now bool.
Renamed void mailbox_index_view_sync_end() to int
mailbox_index_view_sync_commit().
--HG--
branch : HEAD |
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 |
a28a6267f48971117dec958b160deefd14ebb7a6 |
|
06-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Prevent copying record data when appending new messages.
--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 |
a0d1b7178be151f49204ca2b33d5fa0ba314571a |
|
15-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added new assert
--HG--
branch : HEAD |
8082f8848607490ba7118a9b11ee3d184632344c |
|
14-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Assert change
--HG--
branch : HEAD |
6f4ddcbd1961beb71a7e2b3e12f5af26942671c0 |
|
14-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Syncing fix
--HG--
branch : HEAD |
687794a61c9e3bf27c712b442b8fc8836c63ae44 |
|
08-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
We sometimes lost expunged messages. Added asserts to make sure it doesn't
happen again.
--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 |
ba94d6d7e2f7b07d51f5c27e7532f6502ac9a298 |
|
02-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
If there are no expunges, sync to head map instead of keeping track of a
cloned map.
--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 |
ae8817f05005f57bba32479a610b52d083e2b6eb |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added support for resetting index.
--HG--
branch : HEAD |
e3689d0f073341e844638f34e1e4d0b7bb053cc8 |
|
28-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Handle losing index file better. Handle fsck better.
--HG--
branch : HEAD |
e26a771fad55dfba4d5021d12ed5685c951d9b7b |
|
20-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
DEBUG: Verify header counters/lowwaters more often.
--HG--
branch : HEAD |
8d131435ba4648c8821160ec38d508c97177c715 |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed index->hdr. Use index->map->hdr instead.
--HG--
branch : HEAD |
24c6aaf3c540d078021bb4a326982ae4e3d7eaf8 |
|
19-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
s/view_sync_area_find/view_sync_is_hidden/
--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 |
8ef80b0b9c73fb0a0188788b14b3e15084b7a452 |
|
18-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed more unneeded code.
--HG--
branch : HEAD |
cc6ed00c61fda24799c905e403b94a2a8c39ae5c |
|
18-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed no-appends specific code that's unneeded now.
--HG--
branch : HEAD |
7761758f43d6150be4b07f4c54457ce662f78c4c |
|
17-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_begin() can now sync only all or all but expunges.
Changed sync_type to be flags.
--HG--
branch : HEAD |
51795bfe9d05d92fe942cb451aec2b9d16d32a11 |
|
15-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
int/ext/mailbox sync offset changes: Combined mailbox and int offsets to
"tail" offset and renamed ext offset to "head". This makes it clearer how
they're supposed to be used.
--HG--
branch : HEAD |
0d70a702dec63d22535684fec6a7247c5f153208 |
|
15-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Removed syncs_done array. Instead track appends and expunges separately.
Also fixed handling no-appends in some situations.
--HG--
branch : HEAD |
bbe90c4805e7032fdcefde3df125df0ca8be1bef |
|
15-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Assert-crashfixes to handling non-external expunges (broken by last changes)
--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 |
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 |
def1cf4b4d2d7bf8dd47258a46b5079682b99251 |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes
--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 |
6bc98d3898c475ba7615ba2b016e5142c8b2c09f |
|
13-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_view_sync_begin() to take enum mail_index_view_sync_type.
This limits how the view can be synced, but we couldn't handle before more
than the 3 useful cases anyway.
--HG--
branch : HEAD |
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 |
87ca2e468841829b44c09d618ac02f61a30b7a49 |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_add_hidden_transaction() takes now a whole area parameter so
it has to be called only once for each transaction, instead of each for each
transaction record.
mail_index_view_add_synced_transaction() is no longer public.
--HG--
branch : HEAD |
0b924289a76fadafc3fdabcbc70e6f5562d230b6 |
|
14-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
View syncing fixes
--HG--
branch : HEAD |
e8f0aa694cd3a08e50deebb9f4af7ef61f939714 |
|
11-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
DEBUG crashfix
--HG--
branch : HEAD |
23230b2a3fe09ed29bd1314c7b8b4a0b17ea0ecf |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
View syncing fixes.
--HG--
branch : HEAD |
5cdd348121e62a6244ba2f93db781731f7129a71 |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
cleanups
--HG--
branch : HEAD |
fd3f33bdb57170d63aea66ecacc8bea0f0145d6a |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
We skipped some external transactions that shouldn't have been skipped.
The logic for figuring out if flags are unreliable was also a bit 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 |
0c09e57c5d5a649c248d0073438d79acbb80c72b |
|
17-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
unreliable_flags wasn't always set correctly, which caused "xxx counter
wrong" errors and such.
--HG--
branch : HEAD |
64fa329ba59f8d476771b6c8adad05378819ec97 |
|
14-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
We could have synced external transactions multiple times, causing
corrupted view errors.
--HG--
branch : HEAD |
d2b0d5daa7350cd0d67f011e8b390a256f5f4218 |
|
14-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
View syncing could have caused some transactions to be synced multiple
times in some situations.
--HG--
branch : HEAD |
af93c63a95bff1efbad7443fee0699fe772ed1b4 |
|
31-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
If we didn't sync everything in the view, we could have synced some
transactions multiple times causing different kinds of problems.
--HG--
branch : HEAD |
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cb |
|
15-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Try to avoid sending duplicate/useless flag updates.
--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 |
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 |
03739a8eaad2d8b34b9d87dbbe5b13c5d5dfa11a |
|
15-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
We used "already synced log positions in view" array to store locations of
committed hidden transactions. They however weren't really synced, which
caused some problems. Added a separate "hidden sync log positions" array
for them which is handled differently.
--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 |
c75721032dbe34369b94ad02444c89111d6686d4 |
|
23-Apr-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
When beginning to sync from old view, don't keep the old header completely, because there may have been some important new changes. Copy only the message counts and such manually now. Fixes an error message when sometimes adding keywords.
--HG--
branch : HEAD |
9873ccef8e39b55637d80fd1a27619ea2c91cfd5 |
|
23-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--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 |
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 |
020a39a395d2adb768e0179631b37bc78ecd9471 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_view_sync_next() to return struct
mail_index_view_sync_rec records which only contain the type and UID range.
Makes it clearer that the caller won't get anything else, and flag updates
now don't need to update add_flags/remove_flags fields.
--HG--
branch : HEAD |
8afec4d1a32b78f540257a27769b372aad753384 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Comment updates, small cleanups and optimizations.
--HG--
branch : HEAD |
4c8b1c4aa0582c6ca43a4d1cbd210741e7fff952 |
|
06-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Converted some buffers to arrays.
--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 |
18634dae6e304bac982bb1e0ff1b6b88fc448dbc |
|
08-May-2005 |
Timo Sirainen <tss@iki.fi> |
Removed SYNC_FAST_FLAG from EXPUNGE command. Changed delay-newmail
workaround to also delay EXPUNGE notifications, otherwise things break.
Changed index to force this with assert.
--HG--
branch : HEAD |
b032dc80e358f09893f09999f172ff12f5dbbb8e |
|
26-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Expunge code cleanups.
--HG--
branch : HEAD |
9d3ccd79130199ffdb19a688027d49bf20a4aaaa |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Several size_t -> unsigned int changes. Try to keep "unsigned int" for
counters, size_t for actual memory range sizes.
--HG--
branch : HEAD |
d39c0e195c67be5f2b0a15f25a8d6039bef02711 |
|
24-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Added assert.
--HG--
branch : HEAD |
26ff8f8a4867bf8e9551a27a2de8c12cd138b065 |
|
14-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
mail_index_sync_next() now returns keyword updates (now only thing left to
do is to fix maildir and mbox syncing to use them).
--HG--
branch : HEAD |
7b3bf1de3fa7eee2185d1e404812b50c295e2b93 |
|
12-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Code cleanups
--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 |
d0143523a87b41eae0b118ff03aad539903b3555 |
|
26-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Flag updates got lost if there were internal flag updates in same
transaction.
--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 |
20c26f4fcf9ef87434761829cc209c2f84ff5716 |
|
05-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added more asserts.
--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 |
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 |
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 |
5626ae5e3316eced244adb6485c0927f1c7fdc41 |
|
08-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Cache invalidating needed to hook into view syncing as well.
--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 |
56561d472db25ebda35ae6afdc7f7deb75c323fc |
|
21-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Crashfix
--HG--
branch : HEAD |
d143077bd518de129b8d446fb58e003903e50867 |
|
17-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
New way of handling extension introductions in transaction log.
--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 |
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 |
5a07b37a9df398b5189c14872a600384208ab74b |
|
05-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Save extra record/header infos into index file permanently.
--HG--
branch : HEAD |
7c5b51bdf43a98e12c654ad437e0b258c5fffbc1 |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Refcounting fixes for index mappings.
--HG--
branch : HEAD |
88553367d677170a4b703b9d52aac9eabf91c656 |
|
26-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed recent flags with mbox.
--HG--
branch : HEAD |
d6f50f100ce17fa4b3a89e9567a5ff993b38b872 |
|
18-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Don't crash if mail_index_view_sync_next() is called again after it's finished.
--HG--
branch : HEAD |
bcf5af3335a814e4923ba1bf2e0d80eb6dabfb22 |
|
12-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
View syncing fixes/cleanups.
--HG--
branch : HEAD |
7394389230750c45b105cdefb5850c81cae8cdc0 |
|
05-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
fixing crashes from last changes
--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 |
8e7da21696c9f8a6d5e601243fb6172ec85d47b2 |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added support for per-index sized mail_index_record.
--HG--
branch : HEAD |
a24f6b02ed8d0dde933a715be1c86f01977bf610 |
|
28-May-2004 |
Timo Sirainen <tss@iki.fi> |
Keep the transaction log view open all the time for index views (not just
while syncing) to avoid losing the log files.
--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 |
5a58037ad75b88356d82240fab2bc604de03107e |
|
23-May-2004 |
Timo Sirainen <tss@iki.fi> |
View's message count shouldn't change until after view is synced.
--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 |
5375aa138868dc2c45eb1a4ff37a0b577c2814f8 |
|
10-May-2004 |
Timo Sirainen <tss@iki.fi> |
syncing fixes
--HG--
branch : HEAD |
d67f54632110cfb6aafe2d7cd1f99b031c0b208a |
|
10-May-2004 |
Timo Sirainen <tss@iki.fi> |
syncing fixes
--HG--
branch : HEAD |
d8b77aef97e89f1ccc5cbdaef77be9052279e35f |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
s/custom flags/keywords/
--HG--
branch : HEAD |
7888a9d2008eab9985096c46e1da9ee985c22a2a |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
automatically fix broken/missing transaction log files on the fly
--HG--
branch : HEAD |
0add8c99ca65e56dbf613595fc37c41aafff3f7f |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
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 |