bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
82d158d37db5cfb4e26affe4bc2f2a235901d1b9 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index.event |
18122b1fb9aa58945ed12d7020e91fbf4f04a0cc |
|
25-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
mdbox: Use mail_storage_set_index_error() instead of poorly duplicating it |
c8be39472a93a5de2cc1051bdbd4468bea0ca7ba |
|
07-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
mdbox: "Inconsistency in map index" wasn't fixing itself automatically
Broken by b9da8540e665138b3cad0b637c08c0ab7d7a7eeb |
2898ad0028a9b0c30df96dd6b68930fd4dc57527 |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add MAIL_ERROR_LIMIT |
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 |
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74c |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Change string position/length from unsigned int to size_t
Mainly to avoid truncating >4GB strings, which might potentially cause
some security holes. Normally there are other limits, which prevent such
excessive strings from being created in the first place.
I'm sure this didn't find everything. Maybe everything could be found with
compiler warnings. -Wconversion kind of does it, but it gives way too many
unnecessary warnings.
These were mainly found with:
grep " = strlen"
egrep "unsigned int.*(size|len)" |
96088ba9ef3b6c113a0a41f3778cd38f437ddc3d |
|
25-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
mdbox: Rebuild index after it's been fsck'd |
59a82d4b3adeef388aa66435e3fe9d9a37290c1b |
|
31-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
mdbox: Fix assert-crash caused by race condition with multiple doveadm purges.
This fixes a problem where an email that was just written to a new m.* file gets
expunged and purged by another process.
Fixes:
Panic: file mdbox-map.c: line 1359: unreached |
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] |
e1230c9891913e22f2a8a89dcfcf0005377ac2b5 |
|
05-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
mdbox: Fix want_altpath flags/boolean mixup
There was only a single flag, so this wasn't actually currently broken. |
62958c5eefcd7dd84717b487ca36ec3a86949eb9 |
|
21-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
mdbox: Use mail_index_sync_set_reason() to give better reason messages for lock wait warnings. |
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. |
b356019bca27927bed2995e55aa6bfea756cc776 |
|
11-Jun-2015 |
Timo Sirainen <tss@iki.fi> |
lib-index: Avoid writing tail offset update to transaction log if it's not necessary.
This should avoid extra writes that do nothing but update the tail offset.
mdbox's map requires this behavior, so disable it for it. For others it
might cause the next sync to read more data unnecessarily, but it should be
worth the extra cost of write most of the times. |
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> |
fae30913b5b59c51225eb9fdecb1a30d02dc24b8 |
|
27-Mar-2014 |
Timo Sirainen <tss@iki.fi> |
mdbox: Don't hoard file descriptors when saving mails that are larger than mdbox_rotate_size. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
9ac3627c628013c2a20aaacb4c37e22c9eca989c |
|
01-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
mdbox: When mail's refcount is too high, don't prevent shrinking the refcount. |
b90c23a9862b91594959b918b035d73f7bc0b265 |
|
29-Oct-2013 |
Timo Sirainen <tss@iki.fi> |
mdbox: Added "mdbox_deleted" storage, which can be used to access messages with refcount=0
For example:
doveadm import mdbox_deleted:~/mdbox "" mailbox inbox subject oops |
8ae72ad7d0c69e972cfa65d1e2ce4e3e9a8b765c |
|
24-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Replaced all -1U and (unsigned int)-1 with UINT_MAX.
It's somewhat clearer this way. Also clang's -fsanitize=integer gives
runtime errors about -1U (but not about explicit casts, so no need to change
(type)-1 casts). |
03010dbaa74ec70f062994dfe3cd39bedc99a28b |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
mdbox, mbox, virtual: Avoid getting expunged-status in index lookups when not necessary.
This especially improves dsync performance with mdbox. |
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. |
c50bf33ef19cb4a0ab462915d9ad7d731d11c46e |
|
27-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
mdbox: When rebuilding storage, fsck the map index first to make sure it's valid.
This fixes assert-crash when the map index contained records with UIDs in
wrong order. |
c6848351141b07926c51e0cf3319d3285b438efb |
|
21-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
mdbox: Delay getting permissions for map/message files.
This avoids a stat() if no mailbox is opened. |
9fc97c8aa8190df87624d214bcc5d0b5362bec93 |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_get_path() and friends can now return an error.
An upcoming "index" mailbox_list backend uses mailbox GUIDs as the directory
names. Doing a name => GUID lookup may fail, so the path lookup may fail.
This is a somewhat annoying change and perhaps it can be removed in future,
but for now it looks like it can't be avoided. |
94f84d1c3f786d1b92dd2a1507f83a2dad887c56 |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Cleanups to mailbox mkdir() related functions. |
76b91bac787101e6b0075122ab6478dd98c8a884 |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_list_get_root_permissions() now returns struct mailbox_permissions. |
f561fba30221abcc40288cace406289a8e44da89 |
|
16-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes for 32bit systems. |
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. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
ddedc8b77c5bccc8d224ab5f8716d9874f5d8512 |
|
04-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
mdbox: Flush/fsync newly saved mail data before locking map.
This reduced the amount of time the map needs to be locked. |
b5e998ae76d7f71d9d34e3b4d2f686be2c23878a |
|
04-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
mdbox: Make sure map transaction won't succeed after mdbox_map_atomic_set_failed() |
68b5e132f1f8bb2528482310daffcc06c2f019d3 |
|
23-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
Added mail_temp_scan_interval setting and changed its default from 8h -> 1w. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
20d255b566be852826adf63a0e1916d201b7a619 |
|
09-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
mdbox: Fixed finding appendable m.* files in alt storage. |
8cb627463a044e61b315321157e2384b93c7d2e3 |
|
08-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
mdbox: Fixed initial mailbox creation to work again without errors. |
f71c2d4e6b802bf8e622bcd5df29286262d05d5a |
|
28-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
mdbox: Check that m.X file doesn't have garbage at end of file when saving new data to it. |
2b6bc2e46d5e7aec8d44089682c4867815063c91 |
|
09-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
mdbox: Make sure m.* files aren't overwritten when storage index isn't found.
This mainly helps to avoid situations where m.1 is replaced by mail delivery
when index directory has been (wrongly) changed. |
d0b2bd9e2246eb68ed952c7f2e13d1969d657c8f |
|
07-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
dbox: If index was fscked, rebuild indexes to make sure no mails got lost. |
ec089b730ea3c7b15cbaa83f2e9738922def1b35 |
|
27-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
mdbox: Crashfix |
47448611bcaebe1ba2f24850cb7d2545c2e7a72c |
|
06-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
mdbox: Avoid leaking fds when saving many messages larger than mdbox_rotate_size. |
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. |
e5aa8d4c9bdda79c2db03391ec45b37bf774df14 |
|
01-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Merged returning dir mode into mailbox_list_get_[root_]permissions(). |
a62470cd293855dff816317d35356a989bda8f20 |
|
05-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
mdbox: Don't leave partially written messages to mdbox files. |
17cf149e5f47183bfcc1503649dfb92a14f9dcd9 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_list_get_root_[dir_]permissions()
They should be used instead of mailbox_list_get_[dir_]permissions() with
name=NULL parameter. |
02d72ab3d606033e9a720274ddc3dd83a0ad070d |
|
20-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: If :INDEX=path is specified, keep storage indexes there also. |
2584a4cfb8d952362808af4298d5f5a0969377f8 |
|
06-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Make sure we don't try to append to a file we already closed. |
d2d733e1e445b7b4f4e0219a02e2b603084432a0 |
|
19-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Handle better trying to copy an already purged message.
It shouldn't log "refcount update lost map_uid" error. |
4fded1eec06aba9ce37887ac30619768760cd0d0 |
|
07-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Storage rebuild changes weren't actually being committed to disk.
--HG--
branch : HEAD |
836e57b1e7817d008f8ae05cd4b506f420fed80d |
|
01-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: If one save fails, but others succeed, don't assert-crash at commit.
--HG--
branch : HEAD |
452b838c1b483c7663fd9ef2e4578ff76758a426 |
|
01-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Error handling fixes.
--HG--
branch : HEAD |
08a8b3de61139ba02371afc8240ac85be0e8b17c |
|
28-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Modified map locking behavior to avoid deadlocks when rebuilding storage.
If both mailbox and map index need to be locked, the map index must now be
locked first. Mailbox syncing optimistically tries to first sync without
map locking, but if it sees expunges, it restarts with the map lock.
The map lock is held now slightly longer during sync than before, but it
shouldn't be noticeable.
--HG--
branch : HEAD |
b780aa272b742a43579cdb523cc79cc8d4521306 |
|
25-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Renamed fsync_disable to mail_fsync=optimized|always|never.
--HG--
branch : HEAD |
036626b19f14bef582f96e556913ae91b1d67881 |
|
23-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Added mail_max_lock_timeout setting.
This could be useful inside lda/lmtp protocol sections to avoid them from
spending too much time waiting for locks, since they can easily just
return "try again later".
--HG--
branch : HEAD |
2604352d6bb58bd820d08bba2bd6625fb2cb113d |
|
13-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Fixed crashing when marking mdbox corrupted and mdbox map had open transactions.
--HG--
branch : HEAD |
a43a6ba2308fdb013c73ae00d959d2846aa1ce5e |
|
08-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: stat() storage directory first before trying to mkdir it.
--HG--
branch : HEAD |
327b056a14d76fa21f1b089628d7b7c965a393b7 |
|
05-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Removed unnecessary code line.
--HG--
branch : HEAD |
dd4f30895ebbddd77e000472fbadcb3128ae2883 |
|
04-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
dbox, mdbox: Fixed race conditions when creating mailboxes.
--HG--
branch : HEAD |
0b4e1043e596bfb36d999dacbf1d4d63ee96d75f |
|
04-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
When creating shared directories, preserve parent dir's permissions if it has setgid bit enabled.
This works only if location path uses %variables. The directories up to
last variable are created by preserving parent directory's modes, while
the rest of the directories are created with 0700. For example
with "/var/mail/%d/%2n/%n/Maildir", "/var/mail/domain/nn" preserves /var/mail's
permissions, while the "username/Maildir" directories have 0700 mode.
--HG--
branch : HEAD |
c18ff860dc22960fd37c272d929f889c7939a2c8 |
|
29-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Renamed dbox_map* to mdbox_map*.
--HG--
branch : HEAD |
ddb018bc886680f462463b2c87f983fdedbf6cf0 |
|
29-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Changed error messages to contain "mdbox" prefix instead of "dbox".
--HG--
branch : HEAD |
5b62dea2f88165f3f4d87bba9011343f3ff415ff |
|
29-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Avoid rebuilding storage if another process already did it.
--HG--
branch : HEAD |
b004d46b9bfe4144761fa5c3f3a4cd4a4b8c957f |
|
26-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Automatically delete old temp.* files from storage/ directory.
--HG--
branch : HEAD |
e8accdd4d95418ed05407187ecfdcfc21f53d489 |
|
23-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: "Message has been copied too many times" error contains now refcounts.
--HG--
branch : HEAD |
5fb3f13537dffd15a31e997da133a721c0728af8 |
|
20-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Moving messages to alt storage is done done with doveadm altmove command.
The command can take an arbitrary search query listing what messages should
exist in alt storage. If the message has been copied to multiple mailboxes,
the search query must match all the instances of the message.
Since the search query can now be specified in command line, mdbox_altmove
setting was also removed.
--HG--
branch : HEAD |
73a87c2ff65c6116cde6fb158dfddb8ef7346901 |
|
19-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Optimization: Don't update map UIDs' refcounts via array when it's not necessary.
--HG--
branch : HEAD |
bc3edce7712c3a912811bb1189b67765a9080373 |
|
10-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Purging shouldn't give "unknown error" if mdbox storage doesn't exist.
--HG--
branch : HEAD |
9261dbf0675204898c6557591c7aa376e23a52b2 |
|
07-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Started using str_to_*() functions instead of libc's ones.
--HG--
branch : HEAD |
b5d17f9b1224f496f18b45579a4253df3ae0dbba |
|
02-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Don't assert-cras if refcount in map file is too low.
--HG--
branch : HEAD |
b1bc9453d37fc9cd683242e209562e4623b48975 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Saving now closes newly created files if they become full.
Newly created files also aren't locked anymore, they're not visible to
others anyway until map index is updated.
--HG--
branch : HEAD |
9f32b9444d2a6db8f556d2c49ffceab1a59791ff |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Don't close index files if they're still being used by another mailbox.
--HG--
branch : HEAD |
61b0637759146621cbb7edcbd0b03a71cfd66dfe |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox deletion API changed.
Mailbox deletion should now be free of race conditions. The actual file
deletion code is now responsibility of mailbox_list backend.
--HG--
branch : HEAD |
9955f6cba7652469b1d600a3674e8d27dd4e61bd |
|
02-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Purging now also moves mails to alt storage (if it's used).
mdbox_altmove setting specifies how old files should be moved.
--HG--
branch : HEAD |
f93bfb6e6825ad31b9189a6664f12ccecb66a241 |
|
02-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Removed quite pointless mdbox_purge_min_percentage setting.
--HG--
branch : HEAD |
20e18d5a18fa7c4bc58de5c9e2301107d23d4faf |
|
02-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Removed forced automatic purging for now. It was too ineffecient.
--HG--
branch : HEAD |
9ff39148453aa6db8887ec1cde46bd7489109c09 |
|
02-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox_rotate_days changed to mdbox_rotate_interval, supporting one second resolution.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
1ac7c8e9040e0d0b7e9f849e45b94bfe919595a9 |
|
07-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Split dbox (single-dbox) and mdbox (multi-dbox) into separate storage backends.
This cleans up the code, makes it faster and also fixes some bugs.
Super-fast maildir migration code was also dropped, at least for now.
--HG--
branch : HEAD |