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 |
b644a77b00ce21c67a7becda974a12dfe3a946e4 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mailbox.event |
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. |
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' |
638600575ee95f2513c683ef09cb188f76eacd22 |
|
20-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add INDEXCACHE=<path> to mail_location
This allows configuring a different directory for dovecot.index.cache files
than the rest of the index files. |
35e47c2865302eefcc201e75fb2d922cae67347d |
|
06-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: When copying mails, copy also empty cache fields
This mainly means that it copies cache fields for nonexistent message
headers. Those are still important, because otherwise Dovecot doesn't know
whether they exist or not. |
19557f192d37cd54a1a090a8a26d9d47265e4413 |
|
01-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Fix spelling mistakes in comments
Original work by @andreasschulze and @jsoref |
2ae85e9ccfdb416201d5a2043a64d198f8983874 |
|
12-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add settings to configure lib-index optimization parameters
The defaults are expected to be pretty good, but these settings make it
easier to test whether other values might be more optimal. |
0dab9cb35a976c49b28a11e28d5570f5191f1a7a |
|
22-Sep-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Add reason to mailbox_transaction_begin()
Remove mailbox_transaction_set_reason(). |
204ee6ed414f5e4eeb6f6c10763b55daf56f11ac |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on [io]_stream_unref(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- i_stream_unref(&E);
- }
+ i_stream_unref(&E);
@@
expression E;
@@
- if (E != NULL) {
- o_stream_unref(&E);
- }
+ o_stream_unref(&E); |
87490012895b4f371635ded00add04c9107dcfef |
|
18-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: convert index to use container_of |
eaa2d473ed2ecdb9856cd98a33f4d3063cfaf2a1 |
|
25-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add setting to disable \NoSelect mailboxes
Enabled using mail_location = ...:NO-NOSELECT
Trying to create \NoSelect "dir/" will result just creating "dir", similar
to how Maildir++ layout already did it.
Deleting a mailbox will delete all of its \NoSelect parents. |
f368169caf5cf14c74e6a4cdd3ee0364659b8ecc |
|
12-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
sdbox: Create missing mail directory on resync if index directory exists
This problem should be visible only with ITERINDEX enabled. |
2ecee6ed2bfd5c9bc5c6cc8a675b9db4cbbcd81f |
|
03-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index, lib-storage: Add mail_index_header.last_temp_file_scan
Also add index_mailbox_update_last_temp_file_scan() for easily updating it.
This is reusing an old "sync timestamp" field. Because it was a timestamp,
it doesn't matter if the old data still exists in it. This field could have
been added as an extension, but that's more work and this feature is generic
enough that it should be useful for many of the mail storage backends. |
1728ff34ee03de825ad3aeed67d19f8ae140ee2e |
|
03-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_location=..:ITERINDEX
This changes mailbox list iteration to work using INDEX directory instead of
the normal mail directory. This can be helpful when the indexes are stored
on a faster storage. |
dc24b972fd82a464d26e5e56973e1d76241f723e |
|
28-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't autocreate mailbox during deletion.
Trying to delete a nonexistent autocreated mailbox first created it and then
immediately deleted it. |
cca398c2ed3200f826220a62ce2a609509823c52 |
|
28-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: When save is aborted, close dest_mail without crashing
Fixes:
Panic: file mail-index-transaction-update.c: line 1023 (mail_index_update_ext): assertion failed: (seq > 0 && (seq <= mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq))
Because cache was still attempted to be updated, but the mail was already
expunged from index. |
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. |
00b2516ff54d1f9273beebc5861526ec2fd391a2 |
|
30-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Set vsize extension when copying mails. |
134987bc3b685d7ec71c04e9337f7125cff0698f |
|
30-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Move index_mail.vsize_ext_id to mailbox.mail_vsize_ext_id
It's mailbox-specific, so it doesn't have to be looked up every time.
Also this is needed for the following fix. |
3743948b65bd079cd6f2502d35bd21666c1a2f5a |
|
02-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
index-storage: Update mailbox last_rename_stamp on rename |
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 |
97a5e150cacf7da9dd200e317b75460352038d65 |
|
16-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
LAYOUT=index: Update mailbox name to mailbox index's header when opening.
This way if the mailbox list index gets lost, a recent mailbox name is still
available. |
8e4f0949eefe8f6bb00f4af8dd4ce9253d9eb863 |
|
10-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fixed potential .vsize.lock deadlock. |
f883b315ca72073b58020798e6d907340b327228 |
|
03-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: If mail_debug=yes, log cache compressions. |
62736944d87a86dcc4ef404818a7d9e77f9e4f8b |
|
28-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mbox_min_index_size setting didn't work correctly. |
29026989fca44d4de3150bbbda615143414ed216 |
|
30-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fixed mailbox_delete_empty() error message when mails exist |
2b9dbb270ad82e58d5f3581436e6f143176d5819 |
|
21-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dbox: Optimize POP3 MAIL_FETCH_UIDL_BACKEND.
We keep track of the highest UID known to have POP3 UIDL in index's header.
If saving adds a newer message, it'll also update the header. When fetching
UIDL_BACKEND, we can need to check only mails with lower UIDs. There are
some race conditions here, but normally UIDLs are set only once during
migration so it shouldn't matter. |
378e6cb162b355d6f103526505bc00b9a78962e7 |
|
30-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
o_stream_send_istream() API changed again
The new API enforces the caller to correctly handle all the possible
situations. It also makes in unambiguous whether to wait for input or
output stream. |
25761530d670443bca1fdfe8915f7bac1fcef5c5 |
|
13-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fixed istream error handling while saving mails.
We might have logged them as write errors, or we might have ignored the
error if i_stream_read() failed. Now the behavior is consistent. |
c68f28e2cf5f9621511bece0414335e551dc82c6 |
|
13-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Moved common code to index_storage_save_continue() |
c4478af52de63804efef2055580adf1dfc8679c6 |
|
08-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-dict: Changed dict_wait() to return void.
If it encounters any failures, it should just make sure to abort any pending
async requests before returning. |
ec0105e124d34a0dba6b657e8fd4fc2bc3cb8c98 |
|
19-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't set internal error to storage when there's nothing to sync.
This may also wrongly overwrite an existing error. |
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. |
9963bef626fd9ea227fb606e8b1694cdb1ab39aa |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Update mailbox vsize header on save/copy/expunge.
This allows always efficiently looking up maiboxes' vsizes after they're
initially calculated.
The expunge handling is unfortunately done currently in quota handling code,
so it works only if quota is enabled. Ideally this would be solved in v2.3
with some lib-storage core changes. |
b1415399592c7d46a7fa9683986931cbc18b0b53 |
|
08-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox deletion shouldn't fail when trying to delete read-only attributes. |
9a02f482ef1edd49c9c1899ab11ff2f3d354d13d |
|
03-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Another fix to using index_storage_mailbox_close() without an opened view.
Calling mail_index_close() without mail_index_open() caused it to
assert-crash. |
40feca9b85a53e76d966c4eae44579f3407347bf |
|
03-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow index_storage_mailbox_close() to be called without an opened view.
Some failing mailbox_open() call may leave it in such a state. |
7e2671b295927b461adc8b6c4ed6a1c4761fb323 |
|
19-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved index/index-mailbox-check.c code to mailbox-watch.c
This changes the API, but adds backwards compatibility macros. |
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. |
382f23541ce657be87b079abd6784d376fb4eb43 |
|
10-Jul-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved vsize_hdr_ext_id to struct mailbox for more global access. |
2c70086138fe7ac9abf52cd4223c224fe0bbb488 |
|
10-Jul-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Renamed struct index_vsize_header to struct mailbox_index_vsize
Also moved the struct to mail-storage-private.h for more global access. |
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> |
8739d6bf47fae49a28b5ed239468bbe97f252559 |
|
25-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fully unreference indexes when deleting mailboxes. |
b67f674f59384ab3b672c465100698fe1aa52893 |
|
30-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: When deleting mailbox, finish the expunges before marking mailbox deleted.
This decreases the amount of time the mailbox is visible but not accessible. |
fae21eb25fe955f4f5be2df8466749f53800c364 |
|
30-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added index_storage_mailbox_delete_pre/post().
This avoids reimplementing the whole index_storage_mailbox_delete() for
storage backends that need to do more work in the middle. |
9456a4a3e74929f9d3d5b00b93be6d8eb69bc52a |
|
30-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_never_cache_fields=* means now to disable all caching. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
fb55257f54a5f6628d3d4fd7a7da24808740e386 |
|
08-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't crash in mailbox_is_inconsistent() if mailbox hasn't been opened. |
3a37fbef942ff122a59b91c8f6fc60858ea31661 |
|
17-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added a separate prefix for server metadata that aren't deleted with INBOX. |
58ba0fe5a6904d3a65cfe268411f4cbb881234ee |
|
01-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
imapc: Fixed mailbox deletion. |
e24f97a6f403df4103e85766ff7ed6b6ec1f7f79 |
|
15-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow mail_*cache_fields settings to specify any hdr.* fields.
Also the fields were previously set only once globally, so if the process
served multiple users, it wouldn't have been possible to use per-user values
for these fields. |
872d122a6f570e462f40341b7dd581dbd7d59f90 |
|
15-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_always_cache_fields setting. |
92bf0ad419f1aebcb1361d9d1bd64e8b4e3000f6 |
|
18-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Set virtual/physical size in dest_mail when copying, if possible.
Ideally lib-index would be fixed so this wouldn't be necessary. The
lib-index way of fixing it would also be useful for more than just quota
plugin. |
a90616ab2d9ef49b7f82baff021bbb2b2663e987 |
|
18-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_copy() didn't always copy all the cached fields to destination.
If the destination mailbox's cache file wasn't already opened, the default
cache decisions were used. |
9bc71fc132b63c913c352a62f59a8a0714ec2893 |
|
31-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't reset mail_save_context.copying|moving|copying_via_save too early. |
50c617761ee9653bd44646a95178773a3686d62e |
|
14-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Changed mailbox_attribute_get/set() APIs to have a transaction and update index.
The _get() doesn't currently actually use the transaction. It was mainly put
there for future use where it could be useful. It's also possible that
_iter() will need a transaction also. For now these decisions seem good
enough. |
a8dcdc2e5fe1a232c8937461e4c406174c3ca6e5 |
|
26-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Write dovecot.mailbox.log entries using virtual names, not storage names.
This file is used only by dsync, and the new dsync design uses only virtual
names everywhere. This of course means that now it's not easily possible to
use different virtual names for the same user, but nobody really did that
before anyway. The only other fully working solution would be to send both
the virtual and the storage names in dsync, but that's a bit of a waste. |
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). |
47eeadbfd96fa3bddad9d4eb8c57978d095c3833 |
|
20-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Reset saving/moving/copying_via_save flag between mail_save_context uses. |
b09eaeb9a81e5b58c6e605eb762573a2b4a69e0e |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Assert-crash if mailbox_save_context isn't properly freed before reusing. |
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. |
f9c0883a53d8128bf3ed144058c52586ed92ffc4 |
|
24-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed mailbox_exists() for LAYOUT=index. |
f46885a5b78b15a8d2419f6e5d13b643bd85e41f |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for "private modseqs" for INDEXPVT index.
Used by dsync (next commit). |
a21489e6547de79aba653aa8a21b71c37b8432ab |
|
31-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Error logging fixes. |
1f1ee8db68d9ae1604350801cd8dc33ebe29fe8a |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Renamed mail_storage_set_index_error() to mailbox_set_index_error() |
9fd2181788a61500641c66aec0f8c746b19bf830 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixes to handling separation of private/shared attributes. |
c6afd726060aae56b6622c6c52aec10231c4bf1c |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved mail attribute dict to struct mail_storage.
This also means that index_storage_destroy() must always be called, so
removed now unnecessary mail_storage.destroy=NULL checks. |
8f76fdf79a9bd233e554e661e12825aec01e54ea |
|
18-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Open index with MAIL_INDEX_OPEN_FLAG_SAVEONLY if mailbox has MAILBOX_FLAG_SAVEONLY |
62041dfb7d6ac6e9c633a557075999cdfcff7bd5 |
|
13-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support to get/set/iterate mailbox attributes.
The attributes are stored in a dict specified by mail_attribute_dict
setting. The idea is to use this as storage for extensions that require
per-mailbox key=value pairs, such as METADATA. |
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. |
25ad65a0d1c16580e53e2d2ae638e0dcff4b5d28 |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Cleanup, use the new mailbox_*() instead of mailbox_list_*() when possible. |
94f84d1c3f786d1b92dd2a1507f83a2dad887c56 |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Cleanups to mailbox mkdir() related functions. |
67131ca00f7da4199fb79c70d822ffd0b5fdee9c |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Make sure permissions are refreshed after creating mailbox directory. |
3d5d5a26ff3a1fc532a7fd255f5347090cbaf04d |
|
26-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed creating selectable mailbox when it was already \Noselect |
3d6fdafca17c073606b63745ca8638e035e871f4 |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed mailbox_list.create_mailbox_dir() virtual function.
It really didn't need to be virtual. Some storages didn't care about it,
others wanted it to work basically the same. |
feaa6a3d82ea61496ced1f83a726ff33047c7da2 |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_get_path_to() wrapper for mailbox_list_get_path().
Changed the code to use as much of mailbox_get_path_to() and
mailbox_get_path() as possible. |
71e88fae3be360e9a93b3398e743f99a6f05d2ed |
|
10-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed rename_children parameter from mailbox_rename()
The children are now always renamed. The only reason this feature was added
in the first place was to make dsync's job easier, but this is no longer
needed. |
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. |
619828b3991026dd315e5e67098ba80d4856d35e |
|
23-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Make sure a save context doesn't leak 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] |
f081cca12ebdfb47425ab8d018da3903812b51a1 |
|
28-Jul-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: When copying a mail, use a new timestamp for date.save instead of preserving it. |
b66d803de86bfb411165b3465b0d9ef64ecfe2a1 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes and other ways. |
5da1aa5197a43d83f0fb3eeb83125c7cd73d1b62 |
|
11-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
shared mailboxes: Per-user flags can now be stored in private index files.
This can be enabled by adding e.g.:
mail_location = mdbox:/var/shared/mdbox:INDEXPVT=~/mdbox/shared |
33b469d1ca66dd2cc496d2d990b8b98e72952a29 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_delete_empty(). |
10db329f4bddb670c9d0f297adfb2aa911de920f |
|
11-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
mbox: Deleting a mailbox didn't delete its index files. |
41c2643b6f480a119b06c88337c9f721e86d5ad0 |
|
04-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mailbox is already open in mailbox_enable(), enable modseqs. |
9d7ab441915339d9eec00cdcfa5f02b22dbdc30b |
|
04-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_enable() shouldn't actually open the mailbox.
This combined with mailbox_get_status() never synced the mailbox, so if
there were any changes they weren't visible in STATUS reply. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
607a8bc27298b711270381364f2a9a999a810a87 |
|
08-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
sdbox: Use mail_index_set_ext_init_data() to simplify opening mailboxes.
Now the initial mailbox index can be created with the necessary sdbox
header. If the header doesn't exist when opening a mailbox, it's guaranteed
to be corrupted. |
e8dc3747de75e2bf208f0f2dbdbae4a279b5ee6f |
|
18-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Preserve from_envelope in save context's dest_mail even if it's temporary.
This allows looking it up while the mail is being saved. |
6469cf211a57433335641725dc236ebb2b9fdd3b |
|
30-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added struct mailbox.set_subscribed() virtual method. |
ca43e32c3f175d64774d88e1cdc38d48d8840be9 |
|
16-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
FS layout: When deleting a mailbox, don't give an error if mailbox has children.
The mailbox got successfully deleted, but it still gave an error. |
28c959a90483d00c36b7746bd630e76bf3ad0950 |
|
10-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
dsync: Update cache fields' decision and last_used fields explicitly.
This makes v2.1's dsync incompatible with v2.0's when used in different
servers. |
93ec3b0c4b911e2cc79a99f4a300e488d2d694d3 |
|
02-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox list index's ext_id shouldn't be cached in mail_storage.
It's mailbox_list-specific, not mail_storage-specific. The easiest fix was
to just cache it into mailbox rather than create a new index_mailbox_list. |
352cd70b5850eb0815f1ee3bb4e7533d2c8c4c5f |
|
12-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Handle INBOX in the common mailbox_exists() code. |
9e17ea6a30bc64ba2fd4417a765d02be529630f1 |
|
08-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Minor error handling cleanups. |
a290ae22e1dda492364303ad6af18c3b85fb8441 |
|
08-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Minor error handling cleanups. |
de62ce819d59a529530da4b57be1b8d6dad13d6b |
|
25-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Moved GUID code to liblib. Use guid_128_t type consistently everywhere. |
fcfe85637e1ee14a9fc39c41fd6ceca106301542 |
|
11-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added struct mailbox.generation_sequence.
This can be used for caching struct mailbox pointers and checking later if
two struct mailboxes + their generation sequences match. If they do, it's
the same struct mailbox. |
cff1f182205e674285cf3ff446a0dcf7afea277d |
|
29-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added auto_boxes parameter to mailbox_exists(). |
ea48f355d2020b75d63f0cdfbbabe7fa059f8059 |
|
28-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed unnecessary NULL checks. |
b59960aed0923004f21f2a00bc1c945084d2f851 |
|
23-May-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Export a list of permanent flags via mailbox_status().
Removed mailbox_allow_new_keywords(), since it's now included in the status
structure. ACL plugin may limit what flags are permanent according to ACLs. |
0b25846ba794ce19536a24d4065beaf2a0bd9464 |
|
30-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_delete() for a symlink now removes the symlink instead of expunging mails. |
af9edddbb704a640055898846add4e386e83fe43 |
|
30-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_delete() now always first expunges all mails before trying deletion.
If any new mails are added during expunging, the mailbox deletion fails.
This behavior allows removing basically duplicated code where this is done
for mdbox, sdbox with external attachments, quota updates and lazy-expunge. |
29337701451b9c9f9dd26b2aec23a31ab5203822 |
|
16-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added min_first_recent_uid to struct mailbox_update.
Implemented for dbox. Maildir/mbox needs some more code to make this work
correctly. |
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. |
047e3bbb00e68a0d43355e11a67b2e912e06de19 |
|
12-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: layout=fs now uses mailbox_exists() instead of requiring storage hooks. |
c29216637957d4b3126c6929ac5ba98138256ce1 |
|
12-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_exists() can now return if it's selectable or non-selectable. |
56c0277dcb4e6052499f15cc172e9403bfe33eca |
|
23-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't fail mailbox deletion if backend doesn't support mailbox GUIDs. |
c0a87e5f3316a57e6f915882fa1951d0fbb74a61 |
|
20-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_alloc() now takes a virtual mailbox name and other related API changes.
All storage_name <-> vname conversions now go through the same two
mailbox_list methods. This has many benefits, such as:
* listescape plugin is now much simpler and bugfree
* allows changing lib-storage API to use UTF-8 mailbox names in future
* allows creation of "mailbox aliases" plugin |
306cfd77100131c08b243de10f6d40500f4c27c6 |
|
20-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Replaced mailbox_list_get_name_status() with mailbox_exists(). |
51327f2489a4e0e615eb9f7d921473cf8512bb79 |
|
01-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved some items from mailbox_get_status() to a new mailbox_get_metadata().
The idea is now that all status items are tracked all the time after mailbox
is opened and they can always be looked up without failure. The metadata
items are looked up lazily and the lookups may fail at any time.
mailbox_get_status() can be used after mailbox_alloc() to indicate that the
mailbox doesn't necessarily have to be opened, just that the status fields
get returned.
If mailbox is already known to be open, mailbox_get_open_status() can be
used. It never fails. |
e12203f8a6980d79a249ed927f1a263e047d7b15 |
|
29-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Crashfix for opening sdbox/mdbox mailbox. |
4182d8cd818e76856a5a1e25b343fe5ddf69fd8e |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Simplified mailbox_keyword*() APIs.
They are no longer struct mailbox methods, because they're always implemented
as being wrappers to lib-index APIs anyway.
Also mailbox_keywords_ref/unref() no longer take mailbox parameter. |
c000c8eca8f24b2a0c76393ec4bbf76a505a4983 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed mailbox.backend_readonly. Backends set it internally lazily now. |
8a13b020f90e080570658b18c042e7e352c8b14f |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved box->private_flags_mask to mailbox_get_private_flags_mask()
This allows getting it lazily only when it's actually needed. |
df00412606a00714a6e85383fa87fbdc7cc1fb5b |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't allocate index until mailbox_open() |
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. |
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. |
b9f564d00b7a115f465ffd6840341c7b8f9bfc8a |
|
19-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for saving mail attachments separately via filesystem API.
Currently this works only with sdbox and mdbox backends. |
4d84348ffcbb60de566108562c95ad64629e7a53 |
|
07-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Make sure index directory is created early enough for mailbox.log
For example if subscriptions were added before any mailbox was opened,
the index dir may not have been created yet.
--HG--
branch : HEAD |
eb64c3586d854cddd693f0b811d897399076a441 |
|
06-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
Fixes to INBOX sharing.
NAMESPACE_FLAG_INBOX was split to two flags: _FLAG_INBOX_USER (this namespace
has the user's own INBOX) and _FLAG_INBOX_ANY (namespace has INBOX, either
user's own or another user's).
--HG--
branch : HEAD |
fa7c76955c6bc62689fbdf39318194f85905e6e2 |
|
02-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: When mailbox_update() sets highest-modseq, make sure modseqs are enabled.
--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 |
b83deefd2cf1e293373673eefb4d5cf60907978c |
|
07-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Mailbox deletion: Delay marking its index deleted until ACL has had a chance to abort the deletion.
--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 |
af0251201fd396141ab3dbdcabb92a5390331ccf |
|
25-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If read-only mailbox uses private flags, don't return it as READ-ONLY.
--HG--
branch : HEAD |
35ba99e84f234a96bddb359264b64370757768de |
|
12-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for quickly getting mailbox's virtual size.
--HG--
branch : HEAD |
a24519c36d5f8fa22f58b2c693ba547e8d175a54 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added "none" mailbox list driver.
Fixed the most obvious crashes when using the driver.
--HG--
branch : HEAD |
a46d8b27aa617c79f51dd8dfb363f5b3518b63e4 |
|
22-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: mailbox_update() ignored cache_fields.
--HG--
branch : HEAD |
54e5dadb95d8b7ffce6b5a1f6dbba22044663451 |
|
20-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Thread strmap must not be opened before index is opened.
--HG--
branch : HEAD |
46219292a55094fa49aae33eee681ed075d30e17 |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mailbox_update(): Updating uid_validity requires also reseting index.
--HG--
branch : HEAD |
f31e8ece1285d5dd79e587b251450eead4e4e013 |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixes to rename error handling.
--HG--
branch : HEAD |
029c8542982001bf1386aee0ea9cb9843e5ab62d |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed INBOX auto-creating from backend code. Added bool box->inbox.
--HG--
branch : HEAD |
438f12d7a776da695019114884b48188d94613ef |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Use a default non-NULL mailbox.free() so plugins don't have to check for it.
--HG--
branch : HEAD |
e03d986a74128f5ba30fcfda9f6e36578f5d8dec |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox.free() method. Use it instead of close() where necessary.
--HG--
branch : HEAD |
2649b237dd4690575e75a30b2bf3b39ebd37b835 |
|
14-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox renaming API changed.
--HG--
branch : HEAD |
e5fd6dfd0a492e4708d4dbb7971d7fc5d7b8fd85 |
|
12-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed input parameter from mailbox_alloc(), added mailbox_open_stream()
--HG--
branch : HEAD |
fbd918f47f591f8084fd52b207ef29515ddd11b9 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: STATUS_GUID moved to mailbox_get_guid() that can fail.
--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 |
e10d8b1291090c26b9ef499637e6e632485ca5be |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Split mailbox_close() and mailbox_free() functionality.
--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 |
b19c822f826612b9bcfd8058979f6296a0e24604 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox can no longer be looked up from mail_index_view.
It's not necessarily anymore and I'm not sure if they should be 1:1.
--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 |
ac26a4607cb12b156f6a42f1ead2881bedd43d94 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Moved mail_index lookup cache from lib-storage to lib-index.
Removed some code duplication as a result.
--HG--
branch : HEAD |
651fc0f1e43fef3e02e0e7b5f498973b05f641d7 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Added support for marking mailbox index deleted. Don't allow any changes after that.
This is going to help with race conditions when deleting mailboxes.
--HG--
branch : HEAD |
3c493c276f599d9b9cd10764876d648003046954 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved mailbox directory creation code to mailbox_list backend.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
084ead864cfd77e73d76c0c3052d15279b020670 |
|
19-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox virtual name was set wrong with multiple namespaces.
--HG--
branch : HEAD |
55fae4250abb6c022dc8a07d6f02279204dd51f7 |
|
23-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_update() wasn't updating cache fields correctly.
--HG--
branch : HEAD |
0c1ed553b9add66a85e908b0c783c1b0dee1e0fe |
|
17-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_index_opened hook renamed to mailbox_opened.
--HG--
branch : HEAD |
eb0379e1485195211f8862a9640c0705326dcae7 |
|
17-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for listing/adding cache fields.
--HG--
branch : HEAD |
0185427dd52fddec6fc76d6e99c7659620d4366e |
|
29-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
mbox: Added support for mailbox directory GUIDs.
--HG--
branch : HEAD |
e0110438983cbc6bd093a5c35d14e9c6402329c6 |
|
28-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Memory allocation tweaks.
--HG--
branch : HEAD |
9ffdc9d18870acef2e4dde99715d8528ff4b080d |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_update(): Update index also.
--HG--
branch : HEAD |
fa3be6b0d9d9fc0264a8434e17e26ad26c739dae |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
mbox: Removed unused MBOX_SYNC_LAST_COMMIT and related code.
--HG--
branch : HEAD |
ea5f188fc29dfaa0c4071e6413e16e1d04263722 |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Moved mail MD5 calculation code to mbox-specific code.
Nothing else used it.
--HG--
branch : HEAD |
ced118ac5caf6fe83d34339c2c65c63b2aa768ac |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Code cleanup.
--HG--
branch : HEAD |
91c5256bf081235e7dccd10c3a525c9c4c9a89a4 |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Code cleanup.
--HG--
branch : HEAD |
6fe7412078b3b8b83882c71e05bddeeabe2eda86 |
|
08-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Compiling fix.
--HG--
branch : HEAD |
64b5dcc136d6eb7ad90463e6cba9e16880ab52ad |
|
07-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_get_vname().
--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 |
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 |
17ad2164c747cedbf81dae1893063e71a3df0356 |
|
26-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Added support for creating/updating mailboxes with given metadata (guid, uid validity, etc).
--HG--
branch : HEAD |
84ed9f8f3d0e5ed47607ef417618e49e4f865557 |
|
22-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Added reference counting to struct mail_keywords and related APIs.
--HG--
branch : HEAD |
c0bfb67ba32064347bac3241f1aac9b8a809e2f1 |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Added support for mailbox GUIDs.
--HG--
branch : HEAD |
1a0f84434431d6b1b8a85660167c62547221787c |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Fixed using freed memory when opening mailboxes.
--HG--
branch : HEAD |
df6d265341399fc43731da7ece8c1c6e2862dba5 |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Fixed opening mailbox when index directory didn't already exist.
--HG--
branch : HEAD |
1d2b188f0eedc3cab6e27ceac5425a037f38042e |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Mailbox opening and closing APIs changed.
--HG--
branch : HEAD |
14ab4610b6038da6c5d0814fecabc6b74bc81a6b |
|
05-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_keywords_create_from_indexes().
--HG--
branch : HEAD |
ee116df08d0fdab703483e18fe8076b2ef9fd9d7 |
|
05-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
struct mail_storage.callbacks is no longer a pointer.
--HG--
branch : HEAD |
2615df45a8027948a474abe5e817b34b0499c171 |
|
03-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for making mail_storage:mailbox_list to be from 1:1 to n:n.
This will allow namespaces to share the same storage and a single namespace
to have multiple storages (multiple mailbox formats). Neither works
currently, and this commit probably breaks some things.
--HG--
branch : HEAD |
490f66d6476d51cc02333d6eb398a5cd94b67f48 |
|
01-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
storage: Create index/control root directories using same permissions as mail root.
--HG--
branch : HEAD |
d881cbe0e1939dbdc9a8f6dca2ddc832f4ddb251 |
|
14-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
dbox: Don't crash if index files can't be opened.
--HG--
branch : HEAD |
ef5fb27361cc5e15766e85e28355750ff04b13c9 |
|
23-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
dbox: Make sure indexes are never moved to memory (in case of out-of-disk space).
--HG--
branch : HEAD |
589a9c6e8ee22071c14171c04bfc6bfe17121871 |
|
18-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
dbox: Create dovecot.index.backup files.
--HG--
branch : HEAD |
41e6eb07b411ea58352ba9d2cc8cf340325d49f3 |
|
11-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_open_or_create().
--HG--
branch : HEAD |
3c52b294054995d62bd1851c5c42b975fd8c22c9 |
|
25-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
dbox: Initial support for saving multiple messages per file.
--HG--
branch : HEAD |
d9ed45a352c7b50e5a65474e98782443e8823164 |
|
23-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Create missing index dir using the same permissions as the mailbox dir.
--HG--
branch : HEAD |
b82d6d7f02734007c129fa25bc876049c8d9bdde |
|
21-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Create all mail/index files'/dirs' permissions based on the mailbox directory.
--HG--
branch : HEAD |
a64adf62fa33f2463a86f990217b0c9078531a40 |
|
28-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for config rewrite.
--HG--
branch : HEAD |
46a90251ad007ce048a03df78512d829b2efe8d8 |
|
27-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_allow_new_keywords() was returning the opposite value, causing \* flag to be reported wrong.
--HG--
branch : HEAD |
42456ec33fe65feb411890f99d436071e0185ee3 |
|
14-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Cleaned up read-only mailbox handling. Fixes a bug with Maildir syncing.
If Maildir was opened read-only (STATUS, EXAMINE) then all flag changes were
saved to index as dirty.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6 |
|
05-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Improved "Permission denied" error handling. It'll now show also the uid/gid name.
Also moved the code to mail-error.c and used it when listing mailboxes.
--HG--
branch : HEAD |
04870054863757edf048c81dcce3c5e7dec453cd |
|
16-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
ACLs: Initial support for "post" right.
--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 |
e3796bfd2bc0fd5ba664893d346df9334a5b3af0 |
|
21-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_keyword_is_valid().
--HG--
branch : HEAD |
fea7b8b3fc182e415b1875d79587c0aa1adb09d7 |
|
20-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Use permissions based on mail root directory when creating new files/dirs under it.
--HG--
branch : HEAD |
e348eb02a226f6b9ddd2697a709cade03514488a |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Make sure the mailbox is opened when enabling modseqs (fixes a STATUS crash).
--HG--
branch : HEAD |
3517cb9bcf01610a9dfc9862a28414cc78b20dfb |
|
09-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Moved threading code to lib-storage.
--HG--
branch : HEAD |
d7a56951e519c28ac9b1fd5810a455a9ba238327 |
|
09-May-2008 |
Timo Sirainen <tss@iki.fi> |
Added hook_mailbox_index_opened.
--HG--
branch : HEAD |
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637 |
|
05-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Implemented CONTEXT=SEARCH extension.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--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 |
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 |
a2a08c191a33bfaa758f9c68cafec2521b9a4472 |
|
02-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
libstorage.a shouldn't reference symbols in libstorage_index.a. Changed
index_storage_destroy_unrefed() call to be done by storage.destroy().
--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 |
32ee977e189266744ef69ac4e832fd3111d6f949 |
|
11-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Delay creating directories until we really need them.
--HG--
branch : HEAD |
4bbd396aa6198c84f3f7763b6e8a63a26e97e141 |
|
11-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Moved mailbox_deleted to struct mailbox. Added and used
mailbox_set_deleted() which also sets an error message to storage.
--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 |
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 |
61f5256ef248d35459b53534ae428bf6d016e1c5 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed mail_keywords creation APIs to take mailbox/index instead of
transaction.
--HG--
branch : HEAD |
cb05ecbd96ddb5e53c1850d27434541138a3f284 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
mailbox_keywords_create() checks keyword validity now and returns failure if
any of them are invalid. Added mailbox_keywords_create_valid() that only
drops invalid keywords. Removed mbox and IMAP-specific keyword checks, they
all use the same checking now.
--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 |
1d3f7c1278168d5b1cbfa9a2cc9929a0909056b4 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Recent flag handling rewrite. Still not perfect with maildir.
--HG--
branch : HEAD |
5b23e70802d75333a77f90d21c15cd75dc4c4a0d |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_STORAGE_FLAG_FSYNC_DISABLE and moved FSYNC_DISABLE environment
handling elsewhere.
--HG--
branch : HEAD |
78855564b41b6c7de588a23685901b746b05d307 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_STORAGE_FLAG_NFS_FLUSH_STORAGE and
MAIL_STORAGE_FLAG_NFS_FLUSH_INDEX flags. Pass FLUSH_INDEX to index open
flags.
--HG--
branch : HEAD |
853c0f9903de924f5be866390c48ceb1eaee2db6 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Don't cache anything by default. flags aren't useful with pop3.
--HG--
branch : HEAD |
463531a5ca96d33072416807442a114c080e3726 |
|
12-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
If new/ directory is lost when syncing, assume the mailbox was deleted and
make the mailbox inconsistent (which disconnects the client).
--HG--
branch : HEAD |
ce19e80b5a907d51a7cdf081e09699af8367dbfa |
|
16-May-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mmap_no_write setting. The only OS requiring it is OpenBSD, so we're
now forcing mmap_disable=yes with it instead. dovecot.index.cache file is
the most important file to mmap(), but since this didn't work with
mmap_no_write, there's not much point in keeping special code paths for
minimal gains.
--HG--
branch : HEAD |
c72d5f1aa95544dbfbc66d72bfa3205f8876d91c |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Moved index directory creation code to index_storage_alloc().
--HG--
branch : HEAD |
71138b94b29aa4e39cad2cba4844f9a182d89221 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mail_index_get_last_error() and MAIL_INDEX_ERROR_*. All the index
errors are internal errors.
--HG--
branch : HEAD |
57eb51b214212ea227dc3d607246d48de1db60ac |
|
17-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Map mailbox to mail_index_view, not to mail_index. Fixes crashes when the
same mailbox was opened multiple times.
--HG--
branch : HEAD |
7ff5401b623d3a6da5e82b63da97587d65f73349 |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Removed virtual mail_storage.get_last_error(). The implementation is always
the same.
--HG--
branch : HEAD |
09c08fad8e7cc694a6c8d1711e67839acd3a2f04 |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
cleaned up mailbox closing code
--HG--
branch : HEAD |
1108376e39a19912e8394e64e19b1bc6f6691cf6 |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Moved all storage destruction code to mail-storage.c and made destroy()
optional. Removed set_callbacks(). Made autodetect() optional.
--HG--
branch : HEAD |
0a3b01714dadf97dcc7439ad4eeba690ab044966 |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mail_storage_create_with_data(). mail_storage_create() with
driver=NULL behaves the same way. Removed parameters from
mail_storage.create(), they're now put into the storage structure before
calling create().
--HG--
branch : HEAD |
ccc895c0358108d2304239063e940b7d75f364ab |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Removed struct index_storage abstraction. It's pointless.
--HG--
branch : HEAD |
8e371a3ce32bd64288786855b8ce0cb63f19f7d1 |
|
29-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Better type safety to module_contexts arrays. Already fixed some bugs.
--HG--
branch : HEAD |
beb75795106a8ad3a898d2972ecc0b1e0462b126 |
|
15-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Check for the index destroy timeouts a bit less often.
--HG--
branch : HEAD |
559b6680d0f45b598290201d929a0db575e14fa2 |
|
06-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
If moving to memory fails, make sure we open the index with create flag set.
--HG--
branch : HEAD |
b659635c2e720ce0bece14d63a610472c6ad65d9 |
|
22-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
When using KEEP_LOCK, the mbox/uidlist file must be locked before index file
is opened. Otherwise we can end up in a deadlock.
--HG--
branch : HEAD |
8cab30d26412f21e814dba57814fa4b57b1d36e7 |
|
18-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mail_read_mmaped setting. It's a pretty useless setting and
apparently it can also be buggy.
--HG--
branch : HEAD |
b67c4cff87186c243b92ff537098420901388116 |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Reversed last change. Doing it another way.
--HG--
branch : HEAD |
8887bf3757d51d73887dd20b1db3334d867d3817 |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added dotlock_use_excl setting.
--HG--
branch : HEAD |
c5ab90cfad9cc3e33bcb1baeb30ffc82a7b7053a |
|
21-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Moved storage callbacks to struct mail_storage. If searching takes over 10
seconds, start giving estimates about when it's ready.
--HG--
branch : HEAD |
5bcfe337155101928722677a63e0e4b0d7b2ab13 |
|
20-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Fix
--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 |
013e3b3942e9550fde619a0b3ce6bdd04edc4268 |
|
10-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Make sure the mailbox is opened when transaction is started (fixes deliver).
Also did some other API cleanups, mailbox index opening can't fail anymore.
--HG--
branch : HEAD |
c69a255a68103a50fa3f04a527281a169075403f |
|
10-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--HG--
branch : HEAD |
d9fdacd5fb3e07997e5c389739d2054f0c8441d8 |
|
06-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Lock handling changes. Everything goes through file-lock API now and there's
only a single enum listing the different lock methods. This change exposed
some unneeded (or possibly even wrong?) unlock calls in index file handling
which were fixed.
--HG--
branch : HEAD |
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 |
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3 |
|
16-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Initial code for separation of mailbox accessing and directory layout
handling. It's not yet possible to change the default layouts though.
--HG--
branch : HEAD |
215e17ecebf9b2c32fae5ff1ad89eca8068c4b88 |
|
03-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Fix
--HG--
branch : HEAD |
5de429d5b0fce31f7b7b2ef61da97f00143e3924 |
|
13-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Removed MAIL_INDEX_OPEN_FLAG_FAST. It wasn't being used, and we probably
want to have that as a default anyway.
--HG--
branch : HEAD |
355584df8bebece27e066a863eef81a765fb55b7 |
|
07-Aug-2006 |
Timo Sirainen <tss@iki.fi> |
Added MAILBOX_OPEN_MBOX_ONE_MSG_ONLY flag for mailbox_open() which makes it
ignore all but the first From-line in a mbox. This kludge is required for
deliver which builds a temporary mbox stream from the input. Later it
should be fixed to use some plain-mailbox format instead of mbox.
--HG--
branch : HEAD |
d6badc27cd6e8d3398877b6766cb0aaeef3a7800 |
|
28-Jun-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Beginnings of joining mail-storage API more closely to mail-index, so that
mail-index could be directly used if needed. Currently only transactions
are joined.
--HG--
branch : HEAD |
e4d60de85dd05c7fa6fe72f1384f09da2a0d7170 |
|
30-May-2006 |
Timo Sirainen <tss@iki.fi> |
Don't return NULL error messages.
--HG--
branch : HEAD |
d67ac5f76cc02c227f4997878bb4aef48ee298fa |
|
09-Apr-2006 |
Timo Sirainen <tss@iki.fi> |
Added MAILBOX_OPEN_KEEP_LOCKED flag to mailbox opening and implemented it
for mbox and maildir. It keeps the mailbox locked the whole time until
mailbox_close() is called.
--HG--
branch : HEAD |
79fcd3f95a6266cc62ceaa753e56dd4456ab7c4b |
|
26-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--HG--
branch : HEAD |
5cc772dc8b507be0bc1996b5717943ba13432e08 |
|
19-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added mbox_min_index_size setting.
--HG--
branch : HEAD |
97511ac4d7607e1ba64ce151eda3d9b5f9775519 |
|
18-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added mail_cache_min_mail_count setting.
--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 |
6736d0ffa52fdaf076d70e24b190c2e4f0d143b0 |
|
07-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
Don't try to use cached index if it doesn't exist anymore.
--HG--
branch : HEAD |
ab0155cbec1286e1cd00a0e01d78e0f3ca34cea6 |
|
29-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Added separate "temporary error" flag for mail_storage_get_last_error().
--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 |
29b31e0714070450c60728b8f25dacf9b8ce9532 |
|
29-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Don't require notify_ok/notify_no callbacks to be set. Fixes crash in
deliver when mbox locking messages were supposed to be shown.
--HG--
branch : HEAD |
fe21a2b1251a4cb3367d427618b35395de77e82f |
|
26-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes when DEBUG enabled.
--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 |
067f195bce1599d96ec57f9e5794e9346a4e804e |
|
07-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Last cleanup broke opening mailboxes completely.
--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 |
bb10ebcf076c959c752f583746d83805d7686df8 |
|
02-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Keywords are now stored in X-Keywords headers in mbox. Did several related
API changes to get better performance.
--HG--
branch : HEAD |
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 |
885ddeeac469774dd2bcca24e16c0bb5633ccd7b |
|
07-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Don't return value from void function.
--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 |
8d630c15a8ed6f85553467c3a231a273defca5f6 |
|
29-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added mail_debug setting. Moved full_filesystem_access from global variable
to flag in mail_create*() functions.
--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 |
a53cb86b4d733d9c48ee4d285bed477c80825804 |
|
10-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Replaced fcntl_locks_disable with lock_method, so it's now possible to use
flock() to lock indexes.
--HG--
branch : HEAD |
bcd8a160ce32e5afe3566793b5a144028063b2fb |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Cache field indexes are cache file specific, not globals.
--HG--
branch : HEAD |
e667602217af55105d44d8d9b75f09a8a9ac2f14 |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed cache flags to work again. Flags are cached by default now.
--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 |
06ee1ce135959a00bfc98f89738743ee6c3376db |
|
23-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Better error message for unknown fields in mail*_cache_fields
--HG--
branch : HEAD |
fb79b00ba266ae58f81836e54fe201b197036fdc |
|
23-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Force mmap_no_write = yes if configure detected that.
--HG--
branch : HEAD |
84f80d9231b6ddc80ebfae425fd3674620fdf746 |
|
22-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Moved namespace and hierarchy separator handling to imap-specific code. LIST
now shows non-hidden namespaces in the LIST reply.
--HG--
branch : HEAD |
e015e2f7e7f48874495f9df8b0dd192b7ffcb5cc |
|
18-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Header caching redesigned. New design allows caching decisions per field, so
they can be divided to temporary/permanent. Cached headers are now always
returned in original order, old code didn't guarantee it. Some other caching
changes. (still missing code to store changes in caching decisions)
--HG--
branch : HEAD |
09af804b422b9d9b29b6f0532b6308be0c20a8d8 |
|
11-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Use CMP_DEV_T() macro to compare struct stat.st_dev
--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 |
469a4e62e94cbea0ee7864c3fde7a42ebbe591d9 |
|
03-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Removed mail_index_is_in_memory(). It wasn't implemented and it's useless
anyway. User doesn't need to see "couldn't use index files" error message.
--HG--
branch : HEAD |
b3b4f3875850099c9292ad74d08bb385c3988f8f |
|
22-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
get_last_error() wasn't virtualizable
--HG--
branch : HEAD |
24fc71a693331ffe77e2b6d81c70aca6fa055e47 |
|
22-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_transaction_get_updated_view() which can be used to access
uncommitted messages.
--HG--
branch : HEAD |
da5d50534cfca45d0aaaf0bdac17b287b4588809 |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Beginnings of getting cache file working again. Easy to break currently, but
basics seem to work.
--HG--
branch : HEAD |
07837a7b1a58959542b087c0a7db97d3bff4b819 |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Don't let index_storage_alloc() fail
--HG--
branch : HEAD |
c282435b57b6f9696fc12d99ea70468b7bdfe24c |
|
23-May-2004 |
Timo Sirainen <tss@iki.fi> |
Added pop3_mails_keep_recent option. Fixed recent assert crash.
--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 |
8fcff4c5b52f24d9c681805fdf06b486f1d0fcbe |
|
06-May-2004 |
Timo Sirainen <tss@iki.fi> |
mbox code compiles again, but syncing is only partially implemented so
accessing mboxes fails..
Also some cleanups to index-storage and maildir code.
--HG--
branch : HEAD |
ee246b46953e4b94b2f22e093373674fa9155500 |
|
03-May-2004 |
Timo Sirainen <tss@iki.fi> |
memory leak fixes
--HG--
branch : HEAD |
d8b77aef97e89f1ccc5cbdaef77be9052279e35f |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
s/custom flags/keywords/
--HG--
branch : HEAD |
b2105c78f0fd58281317e6d777ded860f33153a3 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
18398a5d21c88cbb34c601c6b6c1f9dea502e1ca |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
Added fcntl_lock_disable setting to allow indexes to work with NFS. Some
other locking fixes.
--HG--
branch : HEAD |
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 |
50fd2adea4c945b85e5a81d5e55b885b93405c0c |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Added t_strsplit_spaces().
--HG--
branch : HEAD |
cd9195a6351716f2dbebe1839423f7d15821956a |
|
23-Sep-2003 |
Timo Sirainen <tss@iki.fi> |
Fixes memory/fd leaking with INDEX=MEMORY.
--HG--
branch : HEAD |
6789ed17e7ca4021713507baf0dcf6979bb42e0c |
|
06-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Index cache file rewrite. It's not finished yet and mbox support is
completely broken. But it's getting difficult to maintain outside cvs :)
--HG--
branch : HEAD |
ff1c87522054d080d68b0123373d989a8991aa2a |
|
26-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API changes: Don't keep variables in mailbox class.
--HG--
branch : HEAD |
dbb1fb1c51727e2050792f8c333b212e22a36d69 |
|
26-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API change for expunging messages. Not exactly what I wanted, but good
enough.
--HG--
branch : HEAD |
4b9441132b03149cce54b8fbaabb6bbcc10b899e |
|
23-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
Explicit lock() method for mailbox.
--HG--
branch : HEAD |
290d0477ac0fed6e0c5faa17d55364a971696923 |
|
15-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
index_mmap_invalidate = yes now invalidate memory maps before accessing
them. Setting this on should fix some problems with OpenBSD. It should also
make it possible to use index files over NFS as long as lock daemon is used.
It might be such a good idea however.
--HG--
branch : HEAD |
de28039edc52c7695b5262556446a879b14c8ac0 |
|
07-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
Destroy all unused indexes 10 seconds after use. Before we destroyed them
only when opening a new index.
--HG--
branch : HEAD |
83befbf24132d0c5780605652a8c2c3f0d35a62d |
|
15-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
Make sure we unlock index before unreferencing it, since it's not actually
closed at that time
--HG--
branch : HEAD |
484d5c222e6d9a9330c76e8b88c6e96a112d6569 |
|
14-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
Close index files before deleting the mailbox.
--HG--
branch : HEAD |
efb075b3482ca2d494f66f9d66c4b5887db84969 |
|
30-May-2003 |
Timo Sirainen <tss@iki.fi> |
Keep mailbox indexes cached for a while after they've been closed. Should
speed up at least multiple APPENDs.
--HG--
branch : HEAD |
c593c41a81370b5013a067bd20703f73e21b4baf |
|
08-May-2003 |
Timo Sirainen <tss@iki.fi> |
Some fixes to get read-only mboxes working.
--HG--
branch : HEAD |
0f203eb6e0524641e415ce6b555212b5395a54ce |
|
23-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Index opening rewrites. We don't try to support .imap.index-<hostname> style
indexes anymore. They just made things more difficult, and it's really not a
good idea to use index files via NFS anyway.
Added support for :INDEX=MEMORY in MAIL env to disable using index files.
Also if we can't open or create index file for any reason, we now fallback
to in-memory indexes. Before we fallbacked only with out of disk space
errors.
If .customflags can't be created, we still work now by not allowing to
create new custom flags.
--HG--
branch : HEAD |
d1bcee48225783610f0f6f639973677dd72b884a |
|
13-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Support for IDLE extension.
--HG--
branch : HEAD |
48f78a48f2e1cf299026544444666471ae16ad97 |
|
12-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Locking code cleanups and small fixes
--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 |
68a01b50d23bf8241c39fa639b495c636e73e1c0 |
|
10-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
index_storage_sync_and_lock() didn't set lock notify function.
--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 |
d0e135d5b32855696a9921921315cdb5ba5abc3a |
|
22-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
t_strsplit() returns now const char **, which removes a few nasty casts.
Removed a few unneded functions and did some small cleanups.
--HG--
branch : HEAD |
975ed4baf5fabe2c063c8dd1b9140f6d263797c9 |
|
21-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Compile with -Wformat-nonliteral now. Found a format string bug with it :(
But lucky for us, we haven't allowed %n in format strings for a few months
now and those bugs were added after that. So arbitrary code execution
vulnerabilities count is still zero :)
--HG--
branch : HEAD |
c2bb1764c359ce85a7f7f789ead11dd613ff9769 |
|
25-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Locking changes triggered a bit larger cleanup :) If we have to wait for a
lock longer, the client is now notified about it every 30 seconds. Also if
mailbox opening fails because of lock timeout, we won't overwrite the index
anymore. Finally user gets a clear error message about lock timeout instead
of "internal error".
--HG--
branch : HEAD |
461692d3974949b1e6fa49fa50a6c7fd0a559da9 |
|
12-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
mailbox_check_interval setting: Dovecot can notify client of new mail in
selected mailbox soon after it's received. This setting specifies the
minimum interval in seconds between new mail notifications to client -
internally they may be checked more or less often. Setting this to 0
disables the checking.
--HG--
branch : HEAD |
85eee5da111b2d6260f446bce3fba529e4294c3c |
|
02-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Mostly mbox locking/syncing fixes. Still some problems though.
--HG--
branch : HEAD |
bb30dbdec689323ec145242403a11d54f8ff90b9 |
|
28-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added --enable-asserts (default) and fixed some warnings when building
without. Added i_unreached() to indicate supposedly unreachable code block
and changed a existing i_assert(0) calls to it. Removed return_if_fail() and
return_val_if_fail() macros, they're not useful.
--HG--
branch : HEAD |
c04cafc1cdd093afcb32e313bcefbc9bb8972d9e |
|
27-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Moved several fields from .imap.index file to .imap.index.data file. Fixed
code so that most of the fields do not need to be set when building index,
allowing the index building to be fast (just readdir()s with maildir). This
still needs some configuration and ability to update the fields whenever it
can grab exclusive lock.
Also fixed SEARCH LARGER, SMALLER and KEYWORD.
--HG--
branch : HEAD |
f0557d5fb030645d49866485b0a188e3d71a7b68 |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added mail_cache_fields and mail_never_cache_fields settings, plus settings
cleanup.
--HG--
branch : HEAD |
0444861dffade2bae0e09ec8349fa2efe55b3c8d |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Indexes were never closed because refcount wasn't updated.
--HG--
branch : HEAD |
10ffe25023df7de97803cd94cc3ad97ff1c986a7 |
|
19-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
MailStorage interface change. We now let storage call several sync-functions
whenever it wants instead of forcing it through sync() function.
This now allows us to send client FLAGS and PERMANENTFLAGS messages whenever
new custom flags are added. Also EXPUNGE command now goes nicely through
expunge() function (which CLOSE used) instead of through flag in sync().
"Out of disk space" alert is also sent now whenever it happens, before it
was sent only when opening mailbox.
Message set parser now complains when referencing mail sequences outside the
possible range. Modify log before sent flags/expunges changes to client even
if it didn't know about those messages yet. Also some other smaller
cleanups.
Beginnings of fixing APPEND and COPY when trying to store mails into
selected mailbox. Before this didn't work too well or simply broke things.
Still broken, needs a bit more changes..
--HG--
branch : HEAD |
d8bbb406a4a394b0109d4d5318cf0b02a57e7407 |
|
06-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
First version of binary tree file, still some locking issues while opening
the file.
--HG--
branch : HEAD |
135dddafc7290890b2305596418bb4fb3b0c7494 |
|
27-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Send RECENT after all EXISTS replies. Check for new mail in mailbox after
each FETCH, STORE and SEARCH commands and notify about it with EXISTS.
--HG--
branch : HEAD |
7913b62dac8e4928226bc5eba59b01675cdb0018 |
|
23-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Added fast-flag for mailbox opening, which doesn't do any index compressing
or cache updating. This flag is set when mailbox is opened by APPEND, COPY
or STATUS (ie. not SELECT/EXAMINE).
--HG--
branch : HEAD |
02b32cf39a098edf60981fc228e4b034f11f3b90 |
|
14-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
lots of cleanups. also index/datafile is now capable of staying in memory,
as long as it's noticed while opening the index.
--HG--
branch : HEAD |
5cb180be2aec8458c0a9d6d2acb5d2cd92bbe7bf |
|
09-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
X-IMAPbase is now parsed correctly.
--HG--
branch : HEAD |
d60705bcd8e777fa90f6d0daa615c4207592c80b |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Moved custom flags handling into lib-index.
--HG--
branch : HEAD |
bd55fb75756b5a9405d7369a0b555e8197da8492 |
|
07-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Moved lib-index/mail-messageset.* to lib-storage/index/index-messageset.*.
--HG--
branch : HEAD |
a755e19b27c864050d8bc7f96c26f875bf009def |
|
02-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Reset index error message after it's been moved to storage.
--HG--
branch : HEAD |
30e8beb5b2322d92093cbfbc8f47d227a185fcd5 |
|
02-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Added support for caching of MessagePart data. This is useful for fetching
body[part]s. Also BODY and BODYSTRUCTURE can be generated fast using it.
Also fixed index corruption in some situations when more cached data was
added to index.
--HG--
branch : HEAD |
7169e2898bd65ed97401d2419c7ea349c5516094 |
|
27-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Errors in user-specified messagesets are now properly reported back to user.
--HG--
branch : HEAD |
4027c1f2c7a848dfe657d7cf8771a3067003c903 |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
"Critical errors" aren't displayed to users anymore, ie. anything that is
not a predefined human readable error message is written into log file and
user gets only "Internal error [timestamp]".
--HG--
branch : HEAD |
1215bc4d7e747846f282cf710e61f3768e69238d |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
s/user_data/context/ and some s/Data/Context/
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |