bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
d4002fe1f64d25a792f76fb102ef7dc519cd4e24 |
|
11-Dec-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Use mail_set_critical() and mailbox_set_critical() if possible
Replace calls to mail_storage_set_critical() with mail_set_critical()
or mailbox_set_critical() in places where mailbox or mail are easily
available. |
ad9afb64630511d5e25bc5bc11c5304986156928 |
|
30-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Replace o_stream_nfinish() with o_stream_finish() whenever possible |
87490012895b4f371635ded00add04c9107dcfef |
|
18-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: convert index to use container_of |
b5a123eab92bd1fc959e07e6b180a53d9324b409 |
|
18-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: convert missed maildir casts to container_of |
77f8c49beac69a8f5d5d41239528474ee1b877ea |
|
07-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: convert maildir to use container_of |
f776b9a125c59a96de6807e9558942cf7b7ab079 |
|
28-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Move backend code to a common index_storage_save_abort_last() |
a825281071af96cc148e49c64ac36d8c5cf26f71 |
|
14-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Remove unnecessary mail_save_context.dest_mail==NULL checks
It can never be NULL after the previous change: "lib-storage: Always create
mail_save_context.dest_mail".
The code removal in maildir_transaction_save_commit_pre() seemed
potentially dangerous, but I don't think such code path is possible
anymore. Also even if it is, it's probably fine since the mail_free()
is called even earlier than before (although that itself might have
been a problem).
This also removes last traces of code that made it possible to save mails to
mbox without assigning UID to the mail. The previous commit already caused
this, so this is just removing dead code. |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
e7d0bea63a08b08c47c4b5c187d2cb7127859657 |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Make sure *_malloc() calculations won't cause integer overflows. |
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)" |
436adac819e7cbeef04af08dcc6a4f3ecd4a1d9e |
|
13-Aug-2016 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: remove mailbox-recent-flags.h from index-storage.h |
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] |
f988b93c2ef773987bcdcbfb4cca39b955e3a392 |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib: Removed ostream.last_failed_errno
It's been identical to ostream.stream_errno for a while now. |
0f3d4fbcf88e2ffd674893aed8cc1288fe17d290 |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Use [io]_stream_get_error() insted of %m |
c68f28e2cf5f9621511bece0414335e551dc82c6 |
|
13-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Moved common code to index_storage_save_continue() |
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. |
275cc4c040899c132b2acbe2fcac48ba4c1abbcf |
|
08-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Replaced some unlink()s with i_unlink*()s where we could.
This changes some mail_storage_set_critical() calls to i_error()s, but
because these unlink() failures don't actually fail the operation it doesn't
matter. |
46b823ac3bce2c0f9f0fc73911e48d3a77b04fbe |
|
08-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
Replaced unlink() calls with i_unlink*() wherever possible. |
817d027593510c3ba70ad542ce0011f5f6916d1e |
|
18-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved most of the \Recent flag handling code to mailbox-recent-flags.c
There are also some API changes, because functions were renamed and the
recent_* fields were moved to struct mailbox. I'm not aware of any plugins
using these though, except for index_mailbox_set_recent_seq() which for now
is kept as a backwards compatibility macro.
No changes were made to the actual code logic. |
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> |
2ed2459dbd183bb371da4a0aecb2d2b74ae7c815 |
|
15-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
Handle "out of disk space" and "out of user quota" as separate cases.
"Out of disk space" is a temporary error that should be logged as error and
the failure should be sent to user as "Internal server error".
Obsolete the use of MAIL_ERROR_NOSPACE and MAIL_ERRSTR_NO_SPACE. Use the
clearer MAIL_ERROR_NOQUOTA and MAIL_ERRSTR_NO_QUOTA instead. |
8d35582f2577c64517b2341c5d6477c7010e0a0c |
|
08-May-2014 |
Phil Carmody <phil@dovecot.fi> |
treewide - use of explicit NULL in pointer comparisons rather than 0-alikes
Found by sparse. |
9f09d0832d733e434b17ca71ae1837fa4460c4ad |
|
30-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
maildir: Make sure the filename contains S=size and W=size even if GUID doesn't. |
5192589b0f8942a741c8ea58bb45377b2703d752 |
|
29-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
maildir: Make sure we don't replace correct mail sizes with broken ones when preserving GUID. |
b9de28ca5a473cc872c3608a9e3517f52ba62c52 |
|
09-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
maildir: If GUID can't be preserved in filename due to size change, set it in dovecot-uidlist
This fixes problems with dsync when zlib is used and filenames/GUIDs don't
contain (correct) S=sizes. |
f567e9ad51a3b4f61580299f12b67e070fb16c5c |
|
18-Mar-2014 |
Timo Sirainen <tss@iki.fi> |
maildir: Fixed looking up physical size for a mail while it's being saved.
Based on patch by Teemu Huovila. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
20cf8d14fc3304c274121192c11fa8a36e40d8c8 |
|
17-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
maildir: Don't try to preserve old filename when saving if uidlist couldn't be locked. |
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. |
3281669db44d09a087a203201248abbc81b3cc1a |
|
06-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed buffer_create_*data() to buffer_create_from_*data() for consistency.
Especially i_stream_create_from_data() was a very similar function, which
made it difficult to remember which one should have "from" and which one
shouldn't. |
99695d99930b35c2bac85d52e976b44cf8485d83 |
|
23-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved per-mail data in struct mail_save_context to separate struct.
This fixes previous save leaking metadata to the next save. |
4ee00532a265bdfb38539d811fcd12d51210ac35 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Easy way to update your existing code:
perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch] |
e2a88d59c0d47d63ce1ad5b1fd95e487124a3fd4 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added o_stream_nsend*() and related functions to make delayed error handling safer.
Once o_stream_nsend*() is called, o_stream_nfinish() must be called before
stream is destroyed to finish checking if there were any errors. If
something failed and the stream is just wanted to be closed,
o_stream_ignore_last_errors() can be called.
For streams where errors don't really make any difference (network sockets)
you can call o_stream_set_no_error_handling() immediately after creating the
stream. |
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 |
9617ac7078a17bd346fed69526861c3e7fd9d809 |
|
30-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_save_set_pop3_order() and implemented for Maildir. |
407e4eb601d519deb91945dc9fd47ee0e292e58c |
|
21-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
maildir: Avoid duplicate S=size and W=sizes in maildir filenames.
This happens with maildir_copy_with_hardlinks=no and when copying a mail
with zlib compression enabled. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
4199f701aa708cb5f7e20be6f6bc838f97efbd00 |
|
25-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
maildir: When saving mails compressed, make sure ,S=size gets added to the filename. |
723277fd367f535cf11f1a4bf19a8b61a6f7072f |
|
10-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
maildir: If saving fails, don't bother trying to flush the file's ostream. |
4145cbac82bfc0c8bfeceeca0ef841700117930c |
|
28-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Replaced MAILBOX_FLAG_KEEP_RECENT flag with reverse MAILBOX_FLAG_DROP_RECENT.
Very few places actually want to drop recent flags, so this way is easier. |
7631f16156aca373004953fe6b01a7f343fb47e0 |
|
28-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail->saving was set too late, which could have caused crashes. |
c7a50b2c29780eaa3668bbac738e3fa3e4e171e8 |
|
12-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
maildir, sdbox: If committed transaction has only aborted msg saves, don't assert-crash. |
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. |
ca98892a6b8a30ffc1fe26fcf02c7d59e3204e7e |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Lazily look up mailbox path and permissions. Added functions to get them. |
c04f9a724a7b3cc649485a61b0a540868d25d71b |
|
05-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed struct index_transaction_context.
All of its contents are now in struct mailbox_transaction_context. |
b3b536d4348893476d5906b5a13d220ac1caea8f |
|
25-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Duplicate GUIDs during a single save transaction weren't handled correctly. |
1554bed8d2b4e4286c10f7d6bcf716b246bd5baf |
|
20-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
dbox, maildir: When copying messages, copy the cached fields also.
Copy only fields whose caching decision is not "no" in the destination mailbox. |
70cd7391489ffc5dcc9cd7a0dccbe8e7e3fc6afe |
|
05-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Don't assert-crash when saving a message without locking uidlist. |
fe70da4a4d5c0ed83a16d50b25f91953a34bfab3 |
|
24-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Another assert for saving messages. |
9a56220167d02bbcb66a81b7553f4eb4da939945 |
|
24-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Added extra asserts. |
826bddaaa1f797de6aa370fdf15b8b4d8a159693 |
|
24-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Don't waste time stat()ing if generated filename is in tmp/. |
0873fc3bd9ad3afda3bb345a6dc7dcb72d60a328 |
|
23-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Log a warning if mailbox synchronization takes longer than 1 min. |
53f9b870939a525dc7885603801e2e2d96debe2d |
|
23-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Cleaned up filename/guid preserving code on save/copy. |
ba7881c73ebd367dcca638fbf705920a48a3fe69 |
|
21-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
Maildir: If POP3 UIDL is specified for saved message, add it to uidlist. |
e4e7475f646d66a257d682738fbff1f206ce4924 |
|
16-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: uidlist can now override message's GUID |
6fe91298731abf0b70dfd796ecc30d3be81fa5d1 |
|
06-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: Moved maildir_filename_flags_*() to a separate file. |
a9d2739ae2dc5c9347b0c313b3c8125e7ed2a8cb |
|
04-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
maildir: When copying can't preserve filename, preserve S/W sizes anyway. |
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 |
b780aa272b742a43579cdb523cc79cc8d4521306 |
|
25-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Renamed fsync_disable to mail_fsync=optimized|always|never.
--HG--
branch : HEAD |
fc40a9a002458e372ff4b9f6f4e15239520c0bcd |
|
04-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed accessing uncommitted saved mails with dsync
dsync preserves uids, so uid==0 check won't work for detecting such mails.
--HG--
branch : HEAD |
e2eac5bb5637c2d4aaf453389750740931822b92 |
|
27-May-2010 |
Timo Sirainen <tss@iki.fi> |
dbox, mdbox, maildir: If saving one mail fails in transaction, don't fail subsequent saves.
--HG--
branch : HEAD |
8bb360f9e5de1c25e4f875205bb06e8bf15dae14 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Removed dead code.
--HG--
branch : HEAD |
cd83124e5d070a016c590bb0b1096d7828c7b6ad |
|
19-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved index transaction/view from index_transaction to mailbox_transaction.
--HG--
branch : HEAD |
ea4c984d8097f24aa18ed5bb364ebaf3b01bc2a3 |
|
18-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
maildir_copy_with_hardlinks=yes no longer has a race condition.
--HG--
branch : HEAD |
dbbfcc95e5b9b6634c03c06d0f43323a70bbd2e2 |
|
18-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
maildir save: Detect when trying to use duplicate GUIDs (filenames) and rename them.
--HG--
branch : HEAD |
099a6b509dc3fc68e662b6736f03b73eb575c527 |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed some code duplication.
--HG--
branch : HEAD |
d22301419109ed4a38351715e6760011421dadec |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: *_mailboxes don't descend from index_mailbox anymore, it's now a context.
--HG--
branch : HEAD |
ca98d6a1bbe73499da758a36bfab2963375c8d06 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved struct mail_index_* from index_mailbox to mailbox.
We're relying more and more of all mailboxes being used via lib-index, and
this change makes accessing the indexes easier.
--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 |
b9d91b39ae356f3986236cd63e8f0afd25f5abc6 |
|
15-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Always add S=size to filenames.
It's necessary for using zlib plugin and doesn't hurt much anyway.
--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 |
d350c3c5ea9396ef2cbdf3baf5e61e3fe90387f1 |
|
12-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Recent flags weren't set correctly.
--HG--
branch : HEAD |
68c719f28cb3abdcbf9e38c8b0ed27ee934e933b |
|
10-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Another fix to handling saves/UID changes.
--HG--
branch : HEAD |
ee2b11b42fe529dc6855b9178d78ad79bd6c7401 |
|
10-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Don't assert-crash if we're changing UIDs without saving mails.
--HG--
branch : HEAD |
6e4144d6bbfc21b270d12e066aae0fa1c0dc41a0 |
|
07-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
maildir+deliver: Add all existing messages to uidlist if it doesn't exist yet.
--HG--
branch : HEAD |
66db1770a4316a53ac6881069c739900925b4ee2 |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: mail_update_uid() now updates uidlist also.
--HG--
branch : HEAD |
28ec56f48d67d0a43f77f9b16b5005418a404bbf |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
Maildir: Allow specifying recent flags for saved messages.
--HG--
branch : HEAD |
663fa579686afa80b00041d71ccb644b81c9eb35 |
|
03-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: If saving fails, revert also changes to indexes.
Fixes a crash in that situation.
--HG--
branch : HEAD |
eb0816090cf5a549280ad783b9aa6fec199d36ba |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Simplified the way transactions are are created/finished.
Removed also mail_storage.class_init/deinit since they're no longer used
for anything.
--HG--
branch : HEAD |
88f56040cebb5d272b658b8e00f02434b9dca200 |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Code cleanups.
--HG--
branch : HEAD |
ced118ac5caf6fe83d34339c2c65c63b2aa768ac |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Code cleanup.
--HG--
branch : HEAD |
d59f44917f9862d3f95d7c95885b6f50e802ae38 |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Removed duplicated flags from struct index_transaction_context.
--HG--
branch : HEAD |
ad48319996942463675b53877092ab7e13a7a75a |
|
29-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added ability to specify message's minimum modseq value.
--HG--
branch : HEAD |
b42571dc76f09bbeed13694606acb5cc6fabf00e |
|
28-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
mbox, maildir: Allow setting \Recent flag when also specifying message's UID.
--HG--
branch : HEAD |
3054cbf69a94ca08123ca3a8d6a2c19a1784e11d |
|
28-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Support saving messages with specified UIDs.
--HG--
branch : HEAD |
8cf32443413f811d514123c5c74c95c87594b0e3 |
|
28-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_append_assign_uids() to mail_index_append_finish_uids() with API changes.
It's now possible to call mail_index_append() with UIDs before locking
mailbox and have the _finish_uids() change them if another session had
already used those UIDs.
--HG--
branch : HEAD |
96308127e006bb3b1108093bcf4cc1fd9481cb7a |
|
24-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_transaction_commit_get_uids() changed to _get_changes() with more generic API.
Saved UIDs are no longer necessarily in a simple x:y range.
--HG--
branch : HEAD |
8e361d2906b0e44f7175a20981f8d2280645b58b |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
buffer_create_[const_]data() API change: Take buffer_t as parameter instead of allocating it.
--HG--
branch : HEAD |
61b6d1256936065321153bcd9228b9e45d95c9ab |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
More fixes to cache changes.
--HG--
branch : HEAD |
ea9fd7f876643e985946a2563140359064819b8e |
|
10-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Cleaned up save/copy code.
--HG--
branch : HEAD |
0f8468dc3fec29197166249e918cef9efa142917 |
|
09-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Reverted changes committed accidentally in previous commit.
--HG--
branch : HEAD |
36689df65df7edb8b5d707d7c60abe67662605e7 |
|
09-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
master: A bit more logging improvements for bad UID/GID.
--HG--
branch : HEAD |
303079fb1b356981de656c9b3d419a925c6e70a3 |
|
09-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Small code cleanup.
--HG--
branch : HEAD |
73842fa7e3328a80615980cc01264b713891487c |
|
08-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Error message fix.
--HG--
branch : HEAD |
0cce885512b836ce021260a58e7b4f099b36d0f1 |
|
30-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Mailbox saving: Allow setting IMAP UID, POP3 UIDL and save date.
Most of them aren't yet implemented by backends.
--HG--
branch : HEAD |
fb5634ac27a8df6dde42d48bf06a9897e77d772f |
|
30-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Code cleanups.
--HG--
branch : HEAD |
e156adefc1260d31a145df2f5e9b3c82050d4163 |
|
28-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Whenever file's group changing fails, show the group origin in the error message.
--HG--
branch : HEAD |
fd6af6ee148243a7dd0146511aea323be3552dba |
|
24-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Maildir saving: If GUID is specified, try to preserve it in the filename.
--HG--
branch : HEAD |
1d2b188f0eedc3cab6e27ceac5425a037f38042e |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Mailbox opening and closing APIs changed.
--HG--
branch : HEAD |
aa62d8779ce53900c2f09bf2ff6fa790bc9f6a89 |
|
04-May-2009 |
Timo Sirainen <tss@iki.fi> |
Maildir: More fixes to uidlist handling.
--HG--
branch : HEAD |
3d4cfb31afb0071801c15b155ce01c82a090a49a |
|
13-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
maildir saving: If dovecot-uidlist reading failed, we might have gone forward and crashed.
--HG--
branch : HEAD |
e050e5c9b1688765f1fdfce9b7141f7b614383fd |
|
10-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Maildir and Cydir: When saving mail, expose ostream to mail_save_context.output.
This would allow plugins to hook into it.
--HG--
branch : HEAD |
d50f5a6963f56c587b1d47119c3af4da2fde45ed |
|
03-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes.
--HG--
branch : HEAD |
a64adf62fa33f2463a86f990217b0c9078531a40 |
|
28-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for config rewrite.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
cdb4a82b7f4bc1f45180461f06582a568ee706e8 |
|
06-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Maildir saving: Handle "out of disk space/quota" failures in fsync() and close().
Those failures could happen with NFS (close() only if fsync_disable=yes).
--HG--
branch : HEAD |
0d16525a729011f4fced989a3da74d755ea49e6d |
|
01-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Use mail_storage_set_critical() instead of i_error() directly.
--HG--
branch : HEAD |
25c22e54d1071d120641e9eecd0023e7373e65ff |
|
18-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Fixes to handling "out of disk space/quota" write failures.
--HG--
branch : HEAD |
a6562b39f4121b976ffe242ad538a22527fce586 |
|
18-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
maildir: Crashfix on some save failures (e.g. over quota).
--HG--
branch : HEAD |
62a6a8d68a5b020c64d89fdbd62bcfacb0a999d0 |
|
11-Sep-2008 |
Timo Sirainen <tss@iki.fi> |
Maildir saving: If uidlist locking timed out and we needed it, fail instead of trying to continue (and break).
--HG--
branch : HEAD |
67863d908ba4d0cf643643e0a9547fb8c8b84be7 |
|
31-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Added assert.
--HG--
branch : HEAD |
b19a1420da0618a10edf67c2cfd13c8c8633057a |
|
07-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Added the concept of Global UIDs that are preserved across copies.
They can be fetched, searched and specified for the save API. dbox format
supports them correctly, but with maildir the base filename is used so
maildir_copy_preserve_filename=yes is required to preserve GUIDs when copying.
--HG--
branch : HEAD |
e3aeeb634245e80d4f643f8d2eea11d6b72336d8 |
|
07-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox_save_init() API was split to multiple functions.
This allows adding more parameters easily in future.
--HG--
branch : HEAD |
cf942dce0253075911a96cff323b5f30eb654ae0 |
|
20-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox.save_init() API now takes ** pointer to dest_mail, so multiple
plugins can safely specify it. ctx->dest_mail also gets updated then.
--HG--
branch : HEAD |
93a4b979557ef4acfe0d075bc6062d7520c8f22c |
|
16-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Maildir saving: Fixed a potential crash when saving a mail with keywords.
--HG--
branch : HEAD |
7c65a07e04f28f2a881d83989f85f9ad0e87a7b4 |
|
15-May-2008 |
Timo Sirainen <tss@iki.fi> |
Keep track of dovecot-uidlist mtime+size in index file. If it's up-to-date
(and unless indexes weren't updated at some point, it always is) and we're
saving a new message, don't bother reading the uidlist contents.
--HG--
branch : HEAD |
ceaa0964c4235d153affbc6f65ad61b0f18740c0 |
|
15-May-2008 |
Timo Sirainen <tss@iki.fi> |
More maildir saving code cleanups
--HG--
branch : HEAD |
5ed3f59ed9b1d3b6a2de519c8ee9854eeaaeee48 |
|
15-May-2008 |
Timo Sirainen <tss@iki.fi> |
Fix to previous cleanup.
--HG--
branch : HEAD |
c3fa573a3d0ee5e920dcf870fffdf486e50b0524 |
|
15-May-2008 |
Timo Sirainen <tss@iki.fi> |
Code cleanup
--HG--
branch : HEAD |
23e73fe7447df26dce217455d475b85a826c9d4e |
|
13-May-2008 |
Timo Sirainen <tss@iki.fi> |
W=<vsize> is now always added to maildir filenames (the code was
accidentally commented out).
--HG--
branch : HEAD |
ff3e079cdcd74e64eb35af0bc361e75d2ea03822 |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Moved fdatasync_path() to a global function.
--HG--
branch : HEAD |
bb41db071dcbc51a6f170d7f44afb74adb00f89a |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Moved fdatasync_path() to a global function.
--HG--
branch : HEAD |
a058590b1c1834650b1f7e552322b30566ab31b7 |
|
17-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
fdatasync() the new/ and/or cur/ directory after mails are renamed.
--HG--
branch : HEAD |
0c0879802f9f26b283804e688aae0198f0ef0979 |
|
17-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
fdatasync() the new/ and/or cur/ directory after mails are renamed.
--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 |
3e58f892ab90e49bcbbfd1f0ef8fed0ca9f7fe97 |
|
25-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Don't fsync() saved mail if saving failed and we're going to unlink() it.
--HG--
branch : HEAD |
2d1663351e67fd778ed34df09b8ad5fe29da23d9 |
|
25-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
If mail saving fails, don't try to update cache file (only to have the
changes rollbacked).
--HG--
branch : HEAD |
b42697a5749b85659a24316d97f1c208d469e4e8 |
|
20-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
If mail storage or mailbox can't be accessed because of EACCES, log an error
message that clearly shows where the permission problem is.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
3759cb2dfce3b479a59e2f62ee0cc9ddd4a85924 |
|
29-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed handling \Recent flags.
--HG--
branch : HEAD |
7e82a485a94a42b479228eb23daeb7f7a45a7cae |
|
29-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Free mail before committing index sync to avoid crashes when updating cache
file.
--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 |
73519b170b2d7d134b02d3fe6e142bb878d51af0 |
|
01-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Error handling fixes
--HG--
branch : HEAD |
649823f9c7e42a424a8fadc427e12f3576c4f714 |
|
01-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
maildir_uidlist_sync_init() was called wrong, although it just happened to
work.
--HG--
branch : HEAD |
17d77154db31c5c9020004da172b071c2f11e662 |
|
22-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Free mail structure before transaction is committed, so that it can update
cache file within the transaction.
--HG--
branch : HEAD |
9cda07071d5ef921f84bedd5c31709b5b2ca3f49 |
|
06-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Code cleanup
--HG--
branch : HEAD |
47001341950b8588c5f3a96b75864dab48e279ae |
|
21-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Moved mail_create_mode/gid from struct maildir_mailbox to struct mailbox.
--HG--
branch : HEAD |
5ef7efd45b1adf3a09cf9c229cf0a3d3d54405a2 |
|
06-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Use crlf input streams instead of output streams so message parser doesn't
end up saving broken offsets.
--HG--
branch : HEAD |
eea49f62ae7f2d27d0b07a9145f3169829df2704 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
If we expunged saved mails, rollback also cache transaction.
--HG--
branch : HEAD |
a0ca63873ff09f4a9d069820cf8733b7da824072 |
|
21-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
If we couldn't lock dovecot-uidlist, drop our appends so they don't get
written to transaction log with uid=0.
--HG--
branch : HEAD |
89a126810703c666309310d0f3189e9834d70b5b |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced my Copyright notices. The year range always ends with 2007 now.
My name was replaced with "Dovecot authors". In many cases I didn't really
even own the copyright, so this is more correct.
--HG--
branch : HEAD |
648d24583c1574441c4fa0331a90bd4d6e7996c5 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
pool_unref() now takes ** pointer.
--HG--
branch : HEAD |
43d32cbe60fdaef2699d99f1ca259053e9350411 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
--HG--
branch : HEAD |
9740d55b228a670047c854484d5cc979a056a9af |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed *_deinit() APIs to take ** pointer and set it to NULL.
--HG--
branch : HEAD |
db1e9a8bb52f0a8112958371b0831689f1c77cdd |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Don't access freed memory. Caused crashes sometimes.
--HG--
branch : HEAD |
61993365dd2edd896a7aa728044d9f18a21ddfeb |
|
16-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Call mail_alloc/mail_free, not index_mail_alloc/index_mail/free directly.
--HG--
branch : HEAD |
83bb013a99f0936995f9c7a1077822662d8fefdb |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_*() APIs changed to return int and return the actual data as pointer.
Changed some code to do error handling a bit better.
--HG--
branch : HEAD |
73b50eecfc31750a312e2f940023f522eb07178c |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_lookup*() can't fail anymore. Changed several APIs not to return
failure anymore.
--HG--
branch : HEAD |
ccec5f82349eae44087900c0e64ed1fd5a1a6fca |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mailbox_transaction_commit_get_uids() now returns also UIDVALIDITY. It's the
only usable way to get it returned correctly. Removed maildir-specific
mailbox_get_status() handling, it's supposed to return the current state of
the mailbox, not the latest state. It was useful only for returning non-zero
UIDVALIDITY for newly created mailboxes, and that's no longer needed.
--HG--
branch : HEAD |
7a54d58280aad8a64f266c61273ea1e8dff511a3 |
|
11-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Cache received date, sent date, save date and physical size when saving
mails if they're wanted.
--HG--
branch : HEAD |
93fa87cf1a96c4f279ec4f5c311820313ba12c34 |
|
02-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Split o_stream_create_file() to _create_fd() and _create_fd_file().
--HG--
branch : HEAD |
d97860e16db095a14038d50efda1e4bb64375128 |
|
02-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Delay writing to output file when saving messages until output buffer is full.
--HG--
branch : HEAD |
fe363b433b8038a69b55169da9dca27892ad7d18 |
|
24-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Removed memory pool parameter from iostreams. Default pool was almost always
used, and the stream usually required destroying anyway so it didn't even
make freeing memory easier.
--HG--
branch : HEAD |
e54512a5189192fe72d1e2c53927c98c5ac920b4 |
|
18-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Moved tee stream handling to index-mail code.
--HG--
branch : HEAD |
1d3f7c1278168d5b1cbfa9a2cc9929a0909056b4 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Recent flag handling rewrite. Still not perfect with maildir.
--HG--
branch : HEAD |
1e099c16327982dcf01c8d41185c1e31baae091f |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Always create new mails to index transaction. If uidlist gets locked they're
really committed, if not they'll discarded.
--HG--
branch : HEAD |
5c143f61bba8d4274004f3bd88ec6c27926f76dd |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Add ,W=<virtual size> to saved maildir filenames.
--HG--
branch : HEAD |
f33ebab337236f2f0d12366e23bde97a843ead38 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Cache updater might not have seen all the input data producing broken data.
--HG--
branch : HEAD |
68c85f055af282c77f90b86efe15245d160d805d |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Don't require locking uidlist unless mail has keywords or we want to return
UIDs to caller.
--HG--
branch : HEAD |
9c7e765845357342923e16351181091028e5930f |
|
08-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Moved index syncing code to its own file.
--HG--
branch : HEAD |
fd888be1905a9ab0936880f2e6220ca71e87765b |
|
08-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
When checking if destination temp file exists, if stat() failed with anything
else than ENOENT, we got stuck infinitely.
--HG--
branch : HEAD |
6746e4ce2138872b2a1e05dbfab57a722e9d70b8 |
|
08-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Moved maildir_create_tmp() to maildir-save. It's the only place where it's
used.
--HG--
branch : HEAD |
e8bdf1be00aec45d0c6dd72ad9c8be02a3dfc778 |
|
08-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Moved maildir filename related functions to maildir-filename.c
--HG--
branch : HEAD |
c3efac0a6e203dd2672ddf00eb8eff6468388025 |
|
12-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Don't crash if saving runs out of disk space while in the middle of moving
multiple files to new/ or cur/ directories and the already moved files had
keywords.
--HG--
branch : HEAD |
ff7056842f14fd3b30a2d327dfab165b9d15dd30 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Error handling rewrite.
--HG--
branch : HEAD |
cb5ff22eba16bc08b3fa2fc34bfc0f02d387b436 |
|
17-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed mailbox_transaction_commit_get_uids() to actually work and not just
crash.
--HG--
branch : HEAD |
4d2211dac61c615c5bdfd501ea54d46c89d41b0f |
|
17-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_transaction_commit_get_uids() which returns the UID range for
saved/copied messages.
--HG--
branch : HEAD |
c44e6b4d3522b6accba426e1e3f64c2e2d860d92 |
|
02-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Cleaned up maildir_create_tmp() a bit. It now also returns the filename
instead of the whole path, as was originally intended.
--HG--
branch : HEAD |
ccc895c0358108d2304239063e940b7d75f364ab |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Removed struct index_storage abstraction. It's pointless.
--HG--
branch : HEAD |
5da8fef7986c982a6ee1bc564d574893a1788bb5 |
|
25-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Crashfix
--HG--
branch : HEAD |
e32cf1b4430c4a5f28c9b5bb8b1366e7b06ed68d |
|
23-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
When saving/copying mails, we must not do any sorting based on the filename
to saved mails when they're added to uidlist, otherwise they could be saved
to index with wrong UID.
--HG--
branch : HEAD |
74fd02b028962eb7e4d1faf22ff29a4b390b743d |
|
11-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
If o_stream_send_istream() fails with ENOSPC/EDQUOT, don't log a critical
error but just give user a "not enough disk space" error.
--HG--
branch : HEAD |
9959df0ed1583d58e00b1cbfde4b1803a0acb0cb |
|
22-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
cleanup
--HG--
branch : HEAD |
9aba3468134d4f5130c1d36c53b8664be4ef30d7 |
|
22-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Added asserts
--HG--
branch : HEAD |
a986289abfcbfb46101d0d06c01b7d324d5efb4a |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Use rename() instead of link() + unlink() when moving a mail from tmp/ to new/.
--HG--
branch : HEAD |
369a1084c500a9df7448ffa9409ce32e42060bc2 |
|
17-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added fsync_disable setting. Also added missing fsync()ing to dbox when
saving mails.
--HG--
branch : HEAD |
5fb3bff645380804c9db2510940c41db6b8fdb01 |
|
25-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Mailbox list indexing and related changes. Currently works only with
maildir and mmap_disable=no. This allows doing STATUS to synced mailboxes
without opening their index files at all.
--HG--
branch : HEAD |
0b3662995e9fa0d0d857ec5350ce2b1ee6d3b94f |
|
07-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Saving mails could have skipped over transactions, which caused different
kinds of problems.
--HG--
branch : HEAD |
b974c2c136d1b779a068c5062035b111734d6234 |
|
01-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
Messages' received time wasn't saved properly when saving/copying multiple
messages at a time. Also if using quota plugin the S= size was only set for
the first saved file, and even that was wrong.
--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 |
677e22747b82bf15b339e31d1d0106d62bf806da |
|
15-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Add ",S=size" to maildir filenames when quota plugin is loaded with
Maildir++ backend.
--HG--
branch : HEAD |
2ebeb22b9a8a8bb7fbe2f2e2908478a220792b87 |
|
09-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Changed mailbox_save_*() API a bit: Moved the struct mail *dest_mail to
save_init() instead of being in save_finish(). This way you can request
wanted fields from the mail while it's being saved.
With maildir the message is being parsed at the same time as it's being
saved, and the results are stored into cache file.
--HG--
branch : HEAD |
e05181d973025627ba08b631c12c07c3bbc99528 |
|
02-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Adding mail to index while saving it had a race condition. Fixing it
required a bit larger changes. Switched uidlist/index locking order so that
uidlist is now locked first.
--HG--
branch : HEAD |
ac7a39f37e000a69e1c93238fd8eebc99315f092 |
|
24-Mar-2006 |
Timo Sirainen <tss@iki.fi> |
Saving (or copying) multiple mails at a time caused all but the first mail
to be left to tmp/.
--HG--
branch : HEAD |
b6a7e0a7899e7f5d60c23cdaa50e025e4c67d05f |
|
06-Mar-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Support accessing saved mails that haven't been committed yet (fixes quota for maildir).
--HG--
branch : HEAD |
721b683078dab7a46e2a42cfcb81c7d066b57dea |
|
06-Mar-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Merged save-copying and hardlink-copying code so that hardlink-copying updates indexes immediately.
--HG--
branch : HEAD |
cd56a23e21f1df3f79648cf07e2f4385e2fadebb |
|
25-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Added i_stream_destroy() and o_stream_destroy() and used them instead of
*_stream_unref() where possible. Fixes at least one problem with io_remove()
being called after socket was closed, which caused problems with epoll.
--HG--
branch : HEAD |
4981827cb5e32cf767b7b0e3070137e6b36f42af |
|
22-Feb-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
mailbox_save_init() supports now returning failure. Quota plugin now checks
if mail is too large in mailbox_save_init() hook. APPEND fails before giving
"+ OK" reply if mailbox_save_init() failed.
Also fixed some APPEND failure cases where the next command was eaten away.
--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 |
e1ca7af110ea6eeb6303bdd8f07c172b11dff2fa |
|
30-Dec-2005 |
Timo Sirainen <tss@iki.fi> |
maildir_copy_with_hardlinks works again.
--HG--
branch : HEAD |
70cb1fac16136005441d61e68f0d80661e2a4999 |
|
30-Dec-2005 |
Timo Sirainen <tss@iki.fi> |
Minor optimization.
--HG--
branch : HEAD |
d7ee3e621c96fd375a2d83683d727be0b7913c6e |
|
01-Dec-2005 |
Timo Sirainen <tss@iki.fi> |
Logic/comments cleanups. Keep uidlist locked a bit shorter time.
--HG--
branch : HEAD |
43e116129adf73eeca96d26132d2ecc8081b0bb3 |
|
18-Sep-2005 |
Timo Sirainen <tss@iki.fi> |
typofix in error message
--HG--
branch : HEAD |
f9915a7c8670960339450c404e967d48133f133c |
|
18-Sep-2005 |
Timo Sirainen <tss@iki.fi> |
If o_stream_send_istream() fails, write an error to log.
--HG--
branch : HEAD |
57a91f930a12d2cd1220da4f3f7cb2c47557cd37 |
|
14-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
Recursive maildir uidlist syncs caused assert crashes. Also did some
cleanups.
--HG--
branch : HEAD |
91114295b8eac85ee0cffe0c5e07adb51b9b6a08 |
|
22-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Fix potential deadlocking while saving messages.
--HG--
branch : HEAD |
a3d22d3cb0e5436128ca7287cedc921f1789b2c8 |
|
12-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Store new/ directory's timestamp in sync_size header in index (kludgy..).
Fixed saving message into empty and non-synced mailboxes.
--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 |
5a10675653fa12afaf06e37953a442b2d13bdd5e |
|
02-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Saving messages crashed
--HG--
branch : HEAD |
cce169a321c9c629e4f2db1a69dae3b75bbcb27a |
|
30-Jun-2005 |
Timo Sirainen <tss@iki.fi> |
Keywords are stored in maildir filename and maildir-keywords file
(backwards compatible with 0.99.x's .customflags file)
--HG--
branch : HEAD |
8153fdec343e40e2a78f5c12353e89b994b28f74 |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Created mbox_storage and maildir_storage.
--HG--
branch : HEAD |
b5e6f6f27c1461f0f9f202615eeb738a645188c3 |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Moved mbox/maildir-specific variables from struct index_mailbox to
mbox_mailbox and maildir_mailbox.
--HG--
branch : HEAD |
bf661a542d17273066e720b4f75868a1ff975a4c |
|
03-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Moved several getenv()s from lib-storage to main code. deliver binary was
missing several getenvs..
--HG--
branch : HEAD |
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79 |
|
15-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Major mail-storage API changes. It's now a bit cleaner and much more plugin
friendly. Removed proxy_mailbox* stuff, they were difficult to use and
there's now much easier way to replace them.
--HG--
branch : HEAD |
41e1c7380edda701719d8ce1fb4d465d2ec4c84d |
|
10-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Keyword fixes.
--HG--
branch : HEAD |
16c89b1260c9d07c01c83a9219424d3727069b2e |
|
26-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Initial support for keywords. Syncing to mbox/maildir doesn't work yet.
--HG--
branch : HEAD |
1468155ce60b7747ad875bdca36e893f7feef179 |
|
24-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
APPEND/COPY was broken with maildir.
--HG--
branch : HEAD |
7c95b03620a03a43dd72d39608cea5fc77393ad6 |
|
11-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Allow specifying to transaction if it's external. Make mail saving
transactions external to avoid problems with uids.
--HG--
branch : HEAD |
d4dcb9c30dba354cff7af6d303ecef7698194c55 |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Always protect maildir syncing with uidlist lock. Before we only tried to
do it and if it failed, we went ahead and just didn't sync any new messages.
That however could have caused files to be lost temporarily due to race
conditions between readdir() and rename().
--HG--
branch : HEAD |
39af8a9d9fb851739e56fea622786b78771d3fb1 |
|
17-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Unlock uidlist file only after appends are written to transaction log.
--HG--
branch : HEAD |
e10c0b544b2516e92c5df9ef778e2a826eb02995 |
|
02-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Don't break if saving messages to maildir without index files.
--HG--
branch : HEAD |
04126bd4b437b99b1450bd7e68b3401c03159395 |
|
27-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Don't crash if canceling saving
--HG--
branch : HEAD |
ebaed4975d7ab9f497357697111e26733fdda961 |
|
23-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Save mails through CRLF or LF output streams.
--HG--
branch : HEAD |
a423d985ba7261661475811c22b21b80ec765a71 |
|
21-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Changed mail saving API to be nonblocking.
--HG--
branch : HEAD |
2767104d81e97a109f0aa9758792bfa1da325a97 |
|
15-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
We never do blocking reads/writes to network anymore. Changed imap and pop3
processes to use a single I/O loop.
Not much tested yet, and currently LIST/LSUB may eat too much memory and
APPEND eats all CPU.
--HG--
branch : HEAD |
0d4580a91d0a8fa15a89bda008990f28ac49c4de |
|
09-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
If we're setting flags to saved mail, put it to cur/ directory directly.
Flags aren't allowed in new dir.
--HG--
branch : HEAD |
992a13add4eea0810e4db0f042a595dddf85536a |
|
08-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache file fixes, API changes, etc. It's still in somewhat ugly state, but
getting better..
--HG--
branch : HEAD |
09c3a491f4f6ccebe290c7709bdc0d79a187610b |
|
03-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
UIDs for appended messages can now be assigned all at once. Maildir now
updates indexes immediately while saving messages.
--HG--
branch : HEAD |
345212e8f61ebf14ff4f80df26df9e655eb5121e |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
mailbox_save() and mailbox_copy() functions can now return the saved mail so
it can be immediately queried. Implemented UIDPLUS extension using it.
Maildir implementation missing, so it crashes with it for now.. APPEND with
mbox now doesn't require resyncing the mailbox since it updates indexes
directly.
--HG--
branch : HEAD |
d8b77aef97e89f1ccc5cbdaef77be9052279e35f |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
s/custom flags/keywords/
--HG--
branch : HEAD |
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
importing new index code. mbox still broken.
--HG--
branch : HEAD |
181aa01111e2de2dae413b4c1ccfcfc4e801ac40 |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
fixed dovecot-uidlist permissions for shared mailboxes
--HG--
branch : HEAD |
05d8b39defaa5bcaea31ab9f8ff2bd8e119c7d52 |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
If maildir contains dovecot-shared file Dovecot does two things differently:
it allows some flags to be private and stored only in index file (currently
hardcoded to \Seen flag only) and new mails are created with dovecot-shared
file's mode & 0666. So if you set filesystem permissions correctly, you
should have fully functioning shared mailboxes.
--HG--
branch : HEAD |
cd466fe7b84b0223735a6469c7f7bc225f65996d |
|
21-Sep-2003 |
Timo Sirainen <tss@iki.fi> |
data_stack_pool split into two: unsafe_data_stack_pool which works like
before, and a new one which verifies that stack frame stays the same
whenever the pool is accessed.
--HG--
branch : HEAD |
ff1c87522054d080d68b0123373d989a8991aa2a |
|
26-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API changes: Don't keep variables in mailbox class.
--HG--
branch : HEAD |
007d354a674fb3ddf49db160cf050cf61270a1a0 |
|
23-May-2003 |
Timo Sirainen <tss@iki.fi> |
Removed I/O priorities. They were pretty much useless and were just getting
in way.
--HG--
branch : HEAD |
0376ad840fce4b7cef75a5a73f8fb527258a7ca8 |
|
07-May-2003 |
Timo Sirainen <tss@iki.fi> |
cleanup: message saving code isn't index-specific
--HG--
branch : HEAD |
ad8a4ef24dee1b716179fd92af5a62d30680b0dd |
|
21-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
fsync() saved mails
--HG--
branch : HEAD |
914e66bb9c50ec3e463d1514eaa04e25026457de |
|
09-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
Rewritten maildir syncing. Uses dovecot-uidlist file to store UIDs
permanently.
--HG--
branch : HEAD |
742111fa99a5b852c9645080573d5853be3907a7 |
|
30-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
Handle EDQUOT errno as "not enough disk space" like ENOSPC.
--HG--
branch : HEAD |
087e7957fb95f619d86db2d3d8c0664937cea419 |
|
20-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
mbox: strip some headers when saving message. also always set Content-Length
header so message may safely contain lines beginning with "From ".
--HG--
branch : HEAD |
2de9aa3c03938fc3112fbcb5d4089026549e5c6f |
|
19-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Include microseconds in maildir filename base.
--HG--
branch : HEAD |
47ad281d61a1cbf459221915d5eea09394615692 |
|
17-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Do tmp -> new using link() + unlink(). Use "new" way for unique filename
generation.
--HG--
branch : HEAD |
24b473bedf8362bf6a8d87ab11b137f35fda457a |
|
24-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Memory usage tweaks
--HG--
branch : HEAD |
cbf53a4da174d22420a1bdefe11e0aac30e3011c |
|
23-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
When save is aborted, remove the created temp files.
--HG--
branch : HEAD |
8ec4e32c9c886c777954c7b9d99fc5d9250b3805 |
|
22-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Support for MULTIAPPEND extension. COPY now behaves like spec says - if it
fails, none of the messages are copied. maildir_copy_with_hardlinks didn't
actually work.
--HG--
branch : HEAD |
5ce2084ada06ade9f44fc2914c34658e9a842dc1 |
|
20-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
mail-storage.h interface changes, affects pretty much everything.
FETCH, SEARCH, SORT and THREAD handling were pretty much moved from
lib-storage/ to imap/ so adding non-index storages would be much easier now.
Also POP3 server can now be easily implemented with lib-storage.
Not too well tested, and at least one major problem: partial fetching is
_slow_.
--HG--
branch : HEAD |
c0435c854a0e7246373b9752d163095cc4fbe985 |
|
05-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming style changes, finally got tired of most of the typedefs. Also the
previous enum -> macro change reverted so that we don't use the highest bit
anymore, that's incompatible with old indexes so they will be rebuilt.
--HG--
branch : HEAD |
a8767e3a8dd08bb782f05dacf2c8877f3cba644e |
|
20-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Added :INDEX=<dir> for both Maildir and mbox to specify different location
where to store index files. This would allow keeping mailboxes accessible
through NFS but still keep the indexes in fast local disk.
Did also some other related cleanups and minor fixes.
--HG--
branch : HEAD |
555ebb032f9b8f0cdb66f27ce7374734833e7cac |
|
19-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Buffer related cleanups. Use PATH_MAX instead of hardcoded 1024 for paths.
Added str_path() and str_ppath() functions. i_snprintf() now returns only -1
or 0 depending on if buffer got full. dec2str() returns the string allocated
from data stack. Instead of just casting to (long) or (int), we now use
dec2str() with printf-like functions. Added o_stream_send_str(). Added
strocpy() and replaced all strcpy()s and strncpy()s with it.
Pretty much untested, hope it doesn't break too badly :)
--HG--
branch : HEAD |
ecc81625167ed96c04c02aa190a1ea5baa65b474 |
|
06-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Renamed IBuffer and OBuffer to IStream and OStream which describes their
functionality better. I tried to keep the variable names and comments also
sensible.
--HG--
branch : HEAD |
fddb56b3956545011dafec8d20b1222002a9df00 |
|
13-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Use blocking output buffers when writing to files.
--HG--
branch : HEAD |
201108608e6686d3e9dce9b95678a814122b6471 |
|
24-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Fixes to timezone handling which were handling quite badly. added
ioloop_timezone which gets updated with ioloop_time. Changed some GMT
references to UTC. Timezone offsets are in minutes now everywhere instead of
seconds. Fixes for unsigned time_t.
--HG--
branch : HEAD |
a5a515ed977c15e61ffb293059e63659120af127 |
|
21-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Hardlink COPYing still copied the file name instead of generating a new one,
which really broke things when mail was duplicated in the same mailbox.
--HG--
branch : HEAD |
1138ef5e898296a167d1904e825ee654ee421591 |
|
21-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added setting mail_save_crlf. Few other settings cleanups.
--HG--
branch : HEAD |
b646fdb90f75ab80ea7feca42fa2e1f8e788b004 |
|
14-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Split IOBuffer into mmaped IBuffer, file IBuffer, memory data IBuffer and
file OBuffer.
--HG--
branch : HEAD |
6141d8c6260c3dfaeb9dd4ed09197e4122fd017e |
|
15-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
More cleanups. lib-storage should handle "out of disk space" conditions
properly.
--HG--
branch : HEAD |
6697a923d6768bf8d71f87f80b90747cf6870753 |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
move size_t fixes
--HG--
branch : HEAD |
d60705bcd8e777fa90f6d0daa615c4207592c80b |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Moved custom flags handling into lib-index.
--HG--
branch : HEAD |
ca11b7ae0e79c909d11e17d3618dc93848d6dd1e |
|
02-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
APPEND always saved mails to INBOX with maildir.
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |