66fa646212a2c1cfd3ec45f97488b6a8ae41cdc0 |
|
01-Mar-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Add tests for mailbox_verify_name |
a3bab1712f660c3bbfa1a213d0f206f9b9aed3a5 |
|
01-Mar-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_verify_name() - Deduplicate error handling |
90c2995737cc1f3fe042993beb7b0b32e5375795 |
|
01-Mar-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_verify_name() - Move prefix check to its own function
No functional changes. |
d27fd02d50643362e6299bdc2fdafcaa8539ff04 |
|
01-Mar-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_verify_name() - Add comments for separator checks |
41482f3838e68e7f818f5dfd10523161cf805f0e |
|
20-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Assert unique_root_dir is set with MAIL_STORAGE_CLASS_FLAG_UNIQUE_ROOT |
2477c8689f805886cc2d18e3791f130b5a20c331 |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Lock mailbox_list for mailbox create/delete/rename
This is only required for mailbox creation to fix a race condition with
LAYOUT=index: If INBOX doesn't exist it will rescan the mailboxes to
find out if there are any missing ones. If INBOX creation isn't locked,
it's possible that the first process hasn't finished creating INBOX
before the second process find it and attempts to open it.
The delete and rename locking are probably useful to guard against race
conditions when clients intentionally issues create/delete/rename commands
concurrently. |
1a8872ce4eb92ca53407b9c95b2cf0ce7043c3bd |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_delete() - Fix cleanup in error handling
If removing index deletion mark failed, box->deleting wasn't set to FALSE
and the mailbox was left opened. |
a0169b23c31e3f2b6196685a7cb8cd69c6490f43 |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_rename() - Use source storage for errors
It was documented to use source storage for errors, but some of the errors
were set to destination storage. |
12c51b003981a77946c7cc11833662489665268a |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix mailbox rename checking child mailbox name lengths
It was supposed to prevent allowing renames that would cause any child
mailbox name to be too long. However, the check wasn't working. |
6c2e7ad9c45936aa07cbc9daadf168c362f34a77 |
|
08-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Set mailbox_transaction_context.flags earlier
Set it in index_transaction_init() so plugins' transaction_begin() methods
see it after calling super.transaction_begin(). |
74943466e541d8bfe3916bb0eb9fb9cb0599dfe7 |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_storage_lock_create() - add support for dotlocks |
2039bdca260cd123832ddda9b2b6862a4abc53aa |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_storage_lock_create()
This is split off of mailbox_lock_file_create(). |
722c012ccadcf1f63d70439a2564e77510b6dd86 |
|
17-Jan-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Set keyword based on attachment presence when saving
If attachment is detected, use $HasAttachment, if not
use $HasNoAttachment |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
efbed6ccb15f8287f83e99c5dc4fe963675a44cc |
|
25-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_storage_set_index_error() - handle NULL index error
This avoids assert-crashing later on in mail*_get_last_internal_error().
This could potentially be an assert instead of setting it as "BUG", but
it looks like there are various code paths in lib-index that return -1
without setting an error. (That's to avoid duplicate error logging,
although it could now be fixed with mail_index_set_error_nolog().) |
74664ac6dcf88cfc2ae6378c87c20ba694385a23 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Delay creating mail root directory until it's necessary |
82d158d37db5cfb4e26affe4bc2f2a235901d1b9 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index.event |
6610dc505a7053e6d52e79cc865e845f44901f4c |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_storage_set_critical() - log error using user's event
Fix test-storage unit test to also initialize mail_user.event so it won't
crash. |
c499c40caf37f766968a551909190c5b009a9b15 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail.event |
b644a77b00ce21c67a7becda974a12dfe3a946e4 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mailbox.event |
677cc0d62b41c7506246bf1b992a400a11896474 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_user.event and give parent event in mail_user_alloc*() |
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. |
4e3b79ac7787b1a867514a6ac3d1b623b72a26c6 |
|
22-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mailbox_set_critical() and mail_set_critical()
These add the mailbox vname and mail UID to the log prefix and then call
mail_storage_set_critical(). |
eaebd98a29299a4bde843323bc2edbde1d0d7d45 |
|
20-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix mailbox_create_missing_dir() with storages that have no mail root dir
The mailbox still exists even if the mail root directory doesn't, so there's
no point in even trying to stat() it. |
3fdbff36858760732e48a6f1040be30e7fb6df80 |
|
20-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Make sure mailbox autocreation doesn't get into infinite loop
If mailbox_create() -> mailbox_open() fails with MAIL_ERROR_NOTFOUND, it
would have looped back to mailbox_create() and continued this until
running out of stack. |
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. |
da613017f6000a562a3217496c12d101dca4c748 |
|
20-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_rename() - Improve debug logging when namespaces are incompatible |
7d716afc5d775055d07b5cbc5093334ac36a9cac |
|
05-Oct-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: Created mailbox_alloc_delivery(), which initializes a mailbox for message delivery. |
df97180092ae581323dc96c7795c737721e966a0 |
|
05-Oct-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: Implemented new mailbox flag MAILBOX_FLAG_AUTO_SUBSCRIBE.
When this flag is enabled, the mailbox is implicitly subscribed to when it is created automatically. |
2d27ea5063099b1b2afb466d4db4d898b4a7fe2e |
|
05-Oct-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: Implemented new mailbox flag MAILBOX_FLAG_AUTO_CREATE.
When this flag is enabled, the mailbox is automatically created when it is opened (if possible and appropriate). |
2ceb75f820c9415b767a17e1f4830c75093ab867 |
|
05-Oct-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: Implemented mailbox_is_autosubscribed().
Indicates whether the mailbox is automatically subscribed to when it is automatically created. |
9a19ae4b399557c0bba809bbf32221a4b8957e86 |
|
03-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Remove obsolete mailbox_save_set_dest_mail() |
c6ce2e251ac75fa650c7fbfa52150eae69386293 |
|
22-Sep-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Add reason to mailbox.transaction_begin() |
0dab9cb35a976c49b28a11e28d5570f5191f1a7a |
|
22-Sep-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Add reason to mailbox_transaction_begin()
Remove mailbox_transaction_set_reason(). |
c69a177207ed18d0f0210347430a60957136bd6c |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on pool_unref(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- pool_unref(&E);
- }
+ pool_unref(&E); |
1ee688af5aecb3baa4268f05f4023ed257aaf18b |
|
27-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_storage_set_critical() - don't free old error_string too early
It may be used in one of the parameters. |
34902486e270728379fd147ca9d7b8d366fcd0e6 |
|
25-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_storage_set_index_error() |
041f22a112458c3e868a450fe405ff056929efc6 |
|
25-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_set_mail_cache_corrupted() - set also internal error string |
0bab015a5a4560a272104130c6581a6c7296f8c2 |
|
25-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_set_index_error() - Set internal error string to index's error |
fe7a56906e8bdf6e42cc981b4a62e31bac4a30f4 |
|
25-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix error logging after mail_storage_set_internal_error()
The function doesn't actually set the last_internal_error and it also
doesn't update last_error_is_internal, so calling
mail_storage_get_last_internal_error() afterwards could be returning an
error for some different older error.
Since there's no parameter to set the internal error string, just reset
last_error_is_internal=FALSE. |
c0c346d0e6a76137ba5006857ed03b1227804170 |
|
09-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Panic if at mailbox_free() there are open attribute iterators. |
b12798bbbda561680191eef393c6ee7259569850 |
|
24-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: If ITERINDEX is set, delay checking whether mail root exists
In future this could be done even without ITERINDEX. It's not done yet,
since it might break backwards compatibility with some systems. |
66a4847c67f7fe2f076b7c11103ae045fa218bec |
|
14-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_create_missing_dir() - Fix handling NULL mailbox directory
It would have caused stat(NULL), which would have failed.
Broken by 7071a02a8413fb409ade1625f6a1763c7493b66b |
7071a02a8413fb409ade1625f6a1763c7493b66b |
|
12-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_create_missing_dir() - Handle mailbox delete race condition
Make sure the directory isn't created if the mail root directory no longer
exists. This might happen during mailbox deletion when another process is
opening the mailbox at the same time. |
17a951e7679ee11a926a030e359d70e7130f479d |
|
12-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Improve MAILBOX_LIST_PROP_AUTOCREATE_DIRS related comments |
4906f652013f9f9ea806602b5cd677ef0d039d62 |
|
10-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_sync_init() - open mailbox immediately if it's not open yet
This simplifies the work for plugins that want to hook into
mailbox.sync_init() so they no longer have to handle the "mailbox isn't
opened" case. |
f4b086930123c589b2e3d5a5fef36db38e73fa36 |
|
07-Jul-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Clarify keywords handling in mail_save_finish |
a62e12ba4afefb302ef87faf6173aef012c3b5d6 |
|
03-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Check for storage existence from index dir with ITERINDEX
The root path creation doesn't really even seem to be necessary, because any
mailbox access will automatically mkdir the missing directories anyway.
Although writing other files might not work so well, such as
mail_attribute_dict that points inside the mail directory.
This change simply changes the mailboxes/ directory to be looked up from
index directory instead of the mail root directory. It also mkdirs the
index/mailboxes/ directory afterwards if it didn't exist. So practically
this change shouldn't break anything, since the mailboxes/ directory should
always exist for both root and the indexes. |
2f552aa8fb0fc86473c2d7dea85d8237373fb35f |
|
03-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Cleanup - Use mailbox_permissions_copy() instead of duplicating it |
fd8b93ca5cbeba64fe6fa5dc98a3e580fb046791 |
|
28-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add VOLATILEDIR setting to mail_location
This is useful for creating temporary locks that could exist in tmpfs.
Currently this is used for .vsize.lock and dovecot.autoexpunge.lock. |
bd94a2a86e27f4809d087a8269bc4ccdd5f4ede3 |
|
28-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Move .vsize.lock creation to a generic mailbox_lock_file_create() |
27d0b2cd12e4118f494d36df21e575d00033be60 |
|
28-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fail at startup if root mail directory isn't a directory |
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. |
b0f08544a680b029666ab0e43ebcd913f0b91965 |
|
28-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Make mailbox_is_autocreated() public
This also removes duplicated code from acl plugin. |
8a5fe0c06f48b202a5f1d3dd49f7ed7ed92d64ae |
|
09-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix setting the correct cache record corrupted
It was mixing UIDs and sequences, so a wrong mail could have been set
corrupted or it could have crashed with:
Panic: file mail-index-transaction-update.c: line 1018 (mail_index_update_ext): assertion failed: (seq > 0 && (seq <= mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq)) |
df3ba6386b1b22416f8962b19b9d2e84bad5f97a |
|
08-Jun-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: simplify mailbox_get_path_to()
Instead of special casing MAILBOX_LIST_PATH_TYPE_{MAILBOX,INDEX}, we can use
a common helper to remove code duplication. |
7e9e61655ee2377956759180c30a3734d1d0fc10 |
|
24-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix mail_storage_set_critical() when input parameter is an old internal error
This could have caused garbage in the error string. |
30d50c7e8706f2d750215e009504109ca19cd485 |
|
24-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix mail_storage_last_error_push/pop() to work with internal errors |
7522446d6514e5593c9d4d7e4beacd328301cb23 |
|
11-May-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Use new mail_cache_set_seq_corrupted_reason |
d1fbd2c264368d8b4c7139b96e3b21f45930b857 |
|
03-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mailbox_transaction_set_reason() |
61cf001f1944d92eb25f113ba4c08985d6e30d53 |
|
03-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Add mailbox_set_reason() calls
Added to the most important places. |
4b41218f9e09386ad5d8f279355aad1dfb64392d |
|
03-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mailbox_set_reason()
Use it to log a debug message when mailbox is being opened. |
bf7dc750b95039981c0e9d728f313d50cf38a156 |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Log internal storage error on failure |
98c217499d578495e982ea6010ebff831e9669ae |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Add mail_storage_get_last_internal_error()
This returns the error given to mail_storage_set_critical(). |
e2fd3f13fff682498ad58fec7c11f20f9890c657 |
|
22-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Allow mail_storage_set_error() to use existing error_string
Fixes some code that may be attempting to copy an error from one storage to
another, but actually ends up trying to copy within the same storage. |
74bc7e646663255703e10e0c0b7242ad7ad52f94 |
|
20-Feb-2017 |
Stephan Bosch <stephan@dovecot.fi> |
Partially implemented IMAP SEARCH=X-MIMEPART capability.
This capability is currently Dovecot-specific. |
073353fe5b7ddbc44fd2b099e023b84254041083 |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_storage_init/deinit() is now reference counted.
This allows calling them multiple times and only the final deinit frees the
data. |
bb9065b1c34dafe68382f1f1d0d951e12a411c2d |
|
15-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Re-open mailbox after it's undeleted.
This is needed with mailbox formats that didn't fully open the mailbox while
it was undeleted. |
0b8282724fc88edd747c2d3a7bfec7dee64decdb |
|
15-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't sync mailbox after undeleting it.
This is useful only when deleting it. With undeletion the syncing isn't
useful and might actually be harmful with mailbox formats that didn't
fully open the mailbox while it was undeleted. |
3857e2945a3b6744d603f0f5a656849ed8436ba3 |
|
15-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Make sure mailbox undeletion won't go to infinite loop |
df71146c7f68895abd435857a88d596dc52f8001 |
|
14-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mailbox_save_get_dest_mail()
This marks mailbox_save_set_dest_mail deprecated. It's not efficient to use
since it frees the already-created dest_mail. |
897368f75a68f97e172ba76540759a10c557f1c3 |
|
14-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Always create mail_save_context.dest_mail
This allows removing similar mail_alloc() from storage backends and plugins
that need it.
As a side effect, this changes mbox code to always assign UIDs to saved
mails. This shouldn't be much of a problem, since it happened practically
always already. |
444e2d726b0c351e28888b10a9593426ad5c4d53 |
|
20-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Copy cache decisions from inbox on create
Otherwise the decisions are definitely wrong, since
they are nonexistent. Copying from INBOX would make sense. |
2c6a1ceeddee48ff682bbedaa2567d0429cd17c6 |
|
15-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix assert-crash on mailbox_copy/move() failure
If mailbox_save_cancel() was being called outside mail_storage_copy()
it assert-crashed:
Panic: file mail-storage.c: line 2168 (mailbox_save_context_reset): assertion failed: (ctx->copying_via_save) |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
efe78d3ba24fc866af1c79b9223dc0809ba26cad |
|
24-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
global: Replaced all instances of memset(p, 0, sizeof(*p)) with the new i_zero() macro.
Used the following script:
C_FILES=`git ls-files *.c`
H_FILES=`git ls-files *.h`
for F in "$C_FILES $H_FILES"; do
echo "$F"
perl -p -i -e 's/safe_memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero_safe(&$1)/g' $F
perl -p -i -e 's/safe_memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero_safe($1)/g' $F
perl -p -i -e 's/memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero(&$1)/g' $F
perl -p -i -e 's/memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero($1)/g' $F
done |
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74c |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Change string position/length from unsigned int to size_t
Mainly to avoid truncating >4GB strings, which might potentially cause
some security holes. Normally there are other limits, which prevent such
excessive strings from being created in the first place.
I'm sure this didn't find everything. Maybe everything could be found with
compiler warnings. -Wconversion kind of does it, but it gives way too many
unnecessary warnings.
These were mainly found with:
grep " = strlen"
egrep "unsigned int.*(size|len)" |
33525312d3f45995686aa0b538dea1cd6eb936e2 |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Deduplicate code into mailbox_list_settings_init_defaults() |
d0d37a769d7e54646de025a43d2cb888478cb218 |
|
30-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add struct mail_save_context.copy_src_mail |
0bd01b003f9a6a78fb8af331c44b2e32036b6786 |
|
29-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: If mailbox_create() fails, don't leave box in partially opened state.
For example with sdbox it may have opened the indexes, but not set mailbox's
GUID. A following MAILBOX_METADATA_GUID would then assert-crash because GUID
is empty. |
08e9fd42eb8007e1f9db62c088eef74f906114a5 |
|
22-Nov-2016 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: require MAIL_STORAGE_CLASS_FLAG_STUBS when caching
If we are going to be using the storage for caching, we should check that
the storage actually supports mail stubs. |
ac27e84055cbfdd794f25d8f66341f8e5217e43f |
|
18-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix checking stub_seq failure in mailbox_save_set_uid() |
61cae213dc69070c1cef266578057710e34e0d12 |
|
18-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add support for storing "mail stubs"
These allow treating a storage backend as a cache where the mail bodies
don't necessarily exist. |
045d5940e885be4d5d3ce96f2fde31ae799fa556 |
|
18-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add asserts to make sure mailbox_header_lookup_ctx is used correctly. |
2fc91862fa8b14dba1ab18c7c7a88e451df46ed0 |
|
03-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix doveadm search query parsing to use timezones correctly.
When using a date string, e.g. "senton 25-Mar-2007" it should work the same
way as IMAP does and show all mails whose sent date is on 25th, ignoring
whatever the timezone is in the Date header (or in case of received/saved-date
it would be using the timestamps in server's local timezone, again just like
IMAP).
When search with an exact UNIX timestamp or a time interval (e.g.
"3 days"), it should be using UTC times for doing all comparisons. |
e545fb28bcd7ef8d3b838933f7f12633ba839233 |
|
01-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't enable modseqs on STATUS_HIGHESTMODSEQ.
This is requested always by IMAP's SELECT command even when the IMAP client
hasn't requested it. We don't want to unnecessarily enable modseqs that use up
memory and disk space when they're not really needed. Other callers may also be
interested in asking for HIGHESTMODSEQ (which is nowadays actually always
available) without enabling full modseq tracking. |
1210c14c3526330202b199185c3675cdda876cd5 |
|
20-Oct-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: Fixed a boolean expression.
Problem found with clang -Wstrict-bool. |
7900eb30bac4a46b259522c58362884661483d7c |
|
18-Oct-2016 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: treat empty root_dir as an empty string |
b25ad25cae4a8619405f3eb2fc82fee4c2f4eae1 |
|
05-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fixed assert-crash in mailbox_save_cancel()
Broken by 05150df8f. Fixes:
Panic: file mail-storage.c: line 2137 (mailbox_save_context_reset): assertion failed: (ctx->saving) |
05150df8fbda6b8fdfafcfb0aa9003f1da4ecaca |
|
29-Sep-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't reset mail_save_context.saving too early.
If mailbox_save_using_mail() ended up in mail_storage_copy(), saving was set
to FALSE before the copy() method was finished running. This caused e.g.
notify plugin to think that this was a copy event instead of a save event.
Added comments and asserts to clarify how the logic should work between
all the different copying/moving/saving flags. |
fe9459ab43300c912dc4b16b8872411337f3a25f |
|
29-Sep-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: If mailbox_move() fails, reset mail_save_context.moving==FALSE |
3177b410680f3915549719f84a4acbffd4f9c561 |
|
13-Sep-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
Removed dead code to make static analyzer happier. |
bedb7f369599d112e62eed14ab692351493bf623 |
|
09-Sep-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Limit folder full name only
Before we had limit of 16 levels and 255 bytes per name
which is same as 4096 bytes. Now we limit only the total
length of the name to MAILBOX_LIST_NAME_MAX_LENGTH. For
compability reasons, we are restricting individual component
names to 255 characters. |
337ae3d4dacb3a91c9c918b8dc6abd69ebf0432d |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_set_subscribed() ignores duplicate changes now. |
291ce16fffca75e8598a8c9dceb08613413dcb07 |
|
19-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added MAIL_STORAGE_CLASS_FLAG_NO_LIST_DELETES and MAILBOX_LIST_FLAG_NO_DELETES |
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/' |
5f352310311252d2da139beb208c21fcb8fdae89 |
|
07-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mailbox_exists() shouldn't return INBOX as nonexistent if it's not created yet. |
19e161dd9e2c3a2ffc96ee8852bec0720cb30d1c |
|
28-Dec-2015 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
dsync: Don't restrict what mailbox names can be created (except basic sanity checks)
The mailbox names already exist on the other side, so we don't want to add
arbitrary limits to them. |
8abe00d5cd79eea426b621fe2ef0120ef11f0eda |
|
06-Dec-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: dovecot.index.pvt* ignored several settings.
mmap_disable=yes, dotlock_use_excl=yes and nfs_flush_index=yes weren't used. |
814bf67459ad405a157af0b8940602024d7fadfe |
|
23-Sep-2015 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
Remove now-unnecessary direct stdlib.h #includes. |
bf79967ee56a3f7c99012997c1834452594fed41 |
|
25-Apr-2015 |
Stephan Bosch <stephan@rename-it.nl> |
mail-storage: Added registration API for builtin mailbox attributes. |
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. |
6b757d07f76e4bdcdd59f1dc5c36398d5c00ba0c |
|
06-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Make sure tryagain_r is never randomly set in mailbox_search_next_nonblock()
This infinite looping in some fts plugin failure situations. |
146f9076cd456ea1e9b3f8536456d9d3c962fadb |
|
04-May-2015 |
Stephan Bosch <stephan@rename-it.nl> |
mail-storage: Moved mailbox attributes API to separate module. |
a590a80b3a48f2b27341960557ec87a391f19b59 |
|
03-Feb-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Avoid assert-crashing on mailbox_verify_*_name() with invalid namespace prefix. |
d81bbb6948b4d758e87206acb8da4cc4366fd478 |
|
19-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_parse_human_timestamp() to parse human-writable timestamps.
This isn't really the ideal location for the function, but since it uses
both lib-settings and lib-imap, there's not any good location for it that I
can think of.. |
c6033074ada5c7441ff7bb12c4b433cae737fea2 |
|
08-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
imapc: Added imapc_sasl_mechanisms setting
The first supported SASL mechanism is used, otherwise the login fails
entirely. |
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> |
b63c064e9622c4f646df063c6e6059b591587afd |
|
25-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: When mailbox is deleted, reset its cached paths.
If mailbox is still later on recreated, the paths may have changed. |
b5351cfc57c3698a3b9e8ff252ecb34a462e818c |
|
24-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
Use i_stream_get_error() wherever possible instead of %m |
8dccbdbe38f0e9342caf752d9d980a64125fa4d1 |
|
24-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added data stack frames for most calls.
So neither the callers nor the implementations need to worry about those so
much. |
546335814920fb6b5b44c68c7803e654eefeae9d |
|
25-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_get_index_path() and caching of the index path.
This solves some potential assert-crashes on race conditions when opening a
mailbox while it's being deleted. |
f90cbe597c41d5cc91debd371f8648bd8e6ffbc2 |
|
28-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index, lib-storage: Fixed race conditions with deleting mailbox.
Now only one process can successfully finish mailbox_mark_index_deleted(). |
33326dbee49847856617a533e91d603e3c1fa947 |
|
12-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix |
97ae33602db7d5bc8eede82512a965d49ab8853b |
|
12-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_storage_last_error_push/pop() |
dac7e6a33e707ab5770520cbfe9a8f97913fbf71 |
|
08-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_get_*status(STATUS_HIGHESTMODSEQ) now enables CONDSTORE feature.
This makes sure that the highestmodseq is added to the mailbox list index if
not already there. |
62dbc0f29b961a2e0ffdb910fd27898e1d7b2e56 |
|
30-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Shrink "mailbox is being deleted" timeout from 5 mins to 30 secs.
Even 30s may be too much since normally a few seconds would be enough, but
keep it high enough just in case. |
a3de33a82d2611ebcc62804910f50b5d19348798 |
|
30-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_delete() now handled "mailbox is being deleted" explicitly.
Earlier we just treated it as \NoSelect mailbox and failed later. |
917f7f4f7f65342fd85df95cde1662902a27a1e0 |
|
13-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't leak memory if mailbox_save_set_flags() is used multiple times for keywords.
This affected only some external plugins. |
15bfe73fb3988bb80e6afe6a60b9a715c7207600 |
|
02-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_settings_find() now takes namespace parameter instead of user.
This fixes an infinite (until stack gets full) loop with shared mailboxes:
mail_namespace_find() -> mailbox_list_get_storage() ->
mailbox_settings_find() -> mail_namespace_find() -> ... |
ba8ff75a149d6936f769a2d1dfceaab9da87863b |
|
29-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed crash if mailbox_save_cancel() was called in save_finish()/copy() method. |
4c0aff96fc7e6d779be43458f96cbf015849a3de |
|
16-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Further changes to mailbox_alloc_guid() caching.
We'll now cache the GUIDs forever and force invalidation after mailbox
rename or when mailbox GUIDs have been updated. This is what dsync needs,
especially for good performance, and currently there aren't any other users
for this API. |
d6499957ea59e6d9729d3350d9ac5eae992635f6 |
|
15-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_alloc_guid() shouldn't refresh GUID cache on every nonexistent GUID.
Refresh it only if we know it has had some changes (made by our process) or
timestamp has changed. This should handle the cases that are currently
important (=single dsync run). |
541b251a99a55cb0fa2eaf02645a7c39ad997092 |
|
15-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Replaced mail_get_real_mail() with mail_get_backend_mail() that can fail.
For now the mail_get_real_mail() can still be used for backwards
compatibility. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
d1e843e77f4760e303c53d9fce10123fc8d230a1 |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
dsync: Support syncing storages with 128bit GUIDs <-> string GUIDs. |
3fe2850e38ec8192e1c26f370c748d0a8a9685b3 |
|
29-Oct-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow storage name to contain '_' |
a31d634ec358e49e342d85f6f5c859fb961d83b3 |
|
30-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fail with an error instead of crash with namespace prefix=inbox/ |
fb100955a1215b4ce3ac89171fcd95c211169f46 |
|
22-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
mbox: Fixed assert-crash due to wrong transaction_count handling.
This happened only when messages had been expunged by another session just
before saving a new message. |
8f948b86dc78f36c454453d36ef62811ff59843f |
|
12-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
Moved "INBOX can't be deleted" check from lib-storage to IMAP-specific code.
Especially "doveadm backup" should be able to delete the INBOX if needed. |
47ede56f4e6eebfe631a1f0febf74d7adcdbcd00 |
|
08-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for multiple storages per namespace. |
949fa97a4ab5c62e4db73c3973e35ae3b73a2b23 |
|
06-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
Avoid using mail_namespace.storage directly. |
a04d8941a885f1d1972a76bd85e60ec946bc02c0 |
|
01-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mailbox autocreate fails with "already exists", ignore the error.
This check was supposed to have been already there, but it was checking for
the wrong error. |
9847ec56efa15fa063eea9988eee2d4ed9ec7d58 |
|
19-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_status.have_save_guids. |
8110bad16208840ed78ab1300f2f0eeecf592b84 |
|
17-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_save_finish() internally does one final mailbox_save_continue() |
b593b793d52043a304d74c48473aa6cfe7504334 |
|
07-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If transaction commit fails, don't try to access garbage memory. |
44320b37d20bb75e0d433423318db2f4e29d5b91 |
|
31-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
virtual plugin: Fixed saving/copying messages to virtual mailbox. |
9bc71fc132b63c913c352a62f59a8a0714ec2893 |
|
31-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't reset mail_save_context.copying|moving|copying_via_save too early. |
06faee18bc70796cfc84ccd20fa3d6f17b27ec90 |
|
20-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_rename() shouldn't require source mailbox to exist.
\Noselect mailboxes may not exist. The nonexistence will be noticed
eventually in the backend code. |
41e51b972f02e8b16c19fab9160294ea0a07c343 |
|
19-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox attributes can now be accessed via istreams.
The idea is to use istreams for larger values. |
d261a383b3506e3e6a7b88ee3a8261f73d627d2b |
|
19-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow mailbox_attribute_set() to also unset values.
This allows giving the last_change timestamp also when unsetting. |
6cc4cce2078aca138fbce19305e69e77edcee614 |
|
19-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_attribute_set() now uses struct mail_attribute_value.
This allows settig the last_change value, as well as using streams and
setting other flags in future. |
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. |
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). |
196124a7343c268c9edc018f86b98bd98401ea15 |
|
22-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Make sure mailbox_get_open_status() can't be used with items that can fail. |
cf4354e1b47789d92dd2307f49ba02fe6a4a26db |
|
22-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed assert-crash when saving mails if UIDs weren't assigned. |
2a3a06974c2da8f8082b6a4e7e868c3dfa5e2e85 |
|
22-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
mdbox: Don't try to undelete any mailboxes in storage rebuild to avoid assert-crashes. |
f3d17e90d25c275fed01d453a6c415f377b4e12b |
|
20-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added more asserts to catch missing mail_save_context frees.
Arguably mail_save_context could already freed at this time, but some other
code relies on this as well. These could be removed later if this is no
longer true. |
3a34692ce8a769c57582071fb894a482f2fd85e4 |
|
20-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mailbox is deleted, mailbox_save_begin() should cancel mail_save_context. |
47eeadbfd96fa3bddad9d4eb8c57978d095c3833 |
|
20-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Reset saving/moving/copying_via_save flag between mail_save_context uses. |
e2d268e9531227ead6a98466ecf3c046c857ef70 |
|
19-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Saving/copying no longer discards private message flags. |
b09eaeb9a81e5b58c6e605eb762573a2b4a69e0e |
|
16-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Assert-crash if mailbox_save_context isn't properly freed before reusing. |
8b31f966d9688e07672ef1958dcbdb7686523c04 |
|
10-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_status.have_guids flag |
386fe825af6a4147c8c463d6f7573c1fd0093fae |
|
06-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Convert INBOX to uppercase also when namespace has inbox=no.
This fixes assert-crash in mailbox_check_mismatching_separators(). |
9c32eb25e7b90e753e0cd7b30f7a70e8ca9121d9 |
|
05-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Changed mailbox_attribute_get() to return a struct for value.
This allows returning flags for the values in future. Mainly readonly-flag
for internal attributes and when restricted by ACL plugin. |
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. |
b66f5d51fdf3561b308caa234102ecf5c4ee8a07 |
|
28-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow mail_storage_copy_error() with the same source and dest.
If it was used without checking it would try to free the error string and
after that strdup() it. |
13e130c3af3032982de6b1d13c6dcddda9164848 |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Bypass virtual storage when copying mail to allow optimizations.
As a side effect this also causes all plugins to see the backend mail
instead of the virtual mail. This probably isn't bad in most situations, but
for those where it's unwanted mail_private.vmail can be used to access the
virtual mail. mail_log plugin does this to log the original virtual mailbox
name for copy operations. |
f46885a5b78b15a8d2419f6e5d13b643bd85e41f |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for "private modseqs" for INDEXPVT index.
Used by dsync (next commit). |
bba5900b66f2413676981ff3c92919e35115079e |
|
08-Dec-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Copy MAIL_STORAGE_CLASS_FLAG_NO_ROOT to MAILBOX_LIST_FLAG_NO_MAIL_FILES |
0aa9422140741897889b3e369bbf160812e65e41 |
|
26-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If MAIL_STORAGE_CLASS_FLAG_NO_ROOT is set, don't even try to mkdir it. |
9b706b345064ce8e8a657f54633f009a101298ea |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
If prefix="" namespace isn't defined, autocreate it as an unusable namespace.
This avoids having to handle mail_namespace_find() errors all over the
place. Instead now the mailbox accesses will simply fail. |
1f1ee8db68d9ae1604350801cd8dc33ebe29fe8a |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Renamed mail_storage_set_index_error() to mailbox_set_index_error() |
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. |
0440855f9cdc77e70bd6edaef7b99796d3a4e8b0 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow calling mailbox_get_private_flags_mask() without mailbox being open.
Most importantly used by mailbox list indexes to determine if it can
optimize a STATUS (UNSEEN) call. |
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. |
87ca4b209c10954826b878da165d303d9b4dc5a2 |
|
12-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_user_get_storage_class(), which auto-loads storage plugins.
The auto-loading is done only if there's already a stub storage registered. |
3f360d072aa1c69aec8806489ae67707d97b5c04 |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed potential memory leak when mailbox_transaction_commit_get_changes() failed |
1e5c0372cfc1457fc5e1ad1b7007329c3207d2f9 |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_save_cancel() now makes sure that dest_mail is reset.
This fixes e.g. doveadm import, which continues import even though some
messages couldn't be saved. |
8e853397a7ce4faaee6b90dac6f4d1615fdbedf5 |
|
27-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Do mailbox autocreation elsewhere also besides just mailbox_open() |
68664df76ffb6f947faa491f3afc9b773748f0f0 |
|
27-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If trying to rename mailbox over itself, fail early. |
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. |
569a849220bed4f1ecb2608409549ca9d1e6e9e4 |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow mailbox name to begin with separator if mail_full_filesystem_access=yes |
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. |
e9df0f285429d2b896ecdb4cd873d25e5e895620 |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Various cleanups to checking if mailbox name is valid. |
442b4c6c0d69e04297c00beb1a06da9855cb5ebe |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed mailbox list backend-specific mailbox name/pattern validation.
The virtual name validity is independent of the backend. The physical name
is always used for paths in filesystem, so it can also be verified with
common code. Backend's mailbox_dir and storage's internal directories can
also be checked. There's nothing else left really. |
dd98481a8711d600842d11859e544e16a7a05668 |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added asserts to make sure mailbox_open() is called early enough. |
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. |
268b72128fc3400912e9a6b83faf4950a367c2ff |
|
25-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_storage_copy_error() |
f318b3dbe2acc177b8ee1c160e4b5b14e7f2cd41 |
|
13-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage API change to allow using it from C++ code |
7a2d48763b43c4fd8bc17c444271f0b802113a5f |
|
13-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved mail_storage_settings_to_index_flags to mail-storage-private.h
This is mainly to allow #including mail-storage-settings.h from C++ code
without having to #include mail-index.h from mail-storage-settings.h |
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. |
eef3caf6192c7e7f3779529644107fa35fd7468e |
|
04-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_is_subscribed() |
3e0bae44b65f5c46989fcef3d1e07203f496327e |
|
02-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed enum namespace_type to enum mail_namespace_type |
a81f332d8de01eb15213fdf5a4027d67424019db |
|
02-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Moved mailbox_equals() to lib-storage. |
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. |
306b3f41b05da642d87e7ca7a1496efce9f5902f |
|
11-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
IMAP BINARY extension supports now FETCH BINARY command. |
b28fc85b1d7261e06d8b725dabd4c0328f9eafbc |
|
26-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed handling failures when autocreating mailboxes. |
b66d803de86bfb411165b3465b0d9ef64ecfe2a1 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes and other ways. |
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 |
02f884382018f4435407374a059407caa44c9239 |
|
20-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_move(), which is basically copy+expunge. |
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 |
d81131d3bbb4f0befb62a661d1785cf8c84a17e2 |
|
09-May-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added a mailbox.synced flag, which is set when mailbox sync has succeeded. |
45529d3837455cce7e2f03f9155f570c065bec7d |
|
07-May-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't auto-drop namespaces with only INBOX shared and mail_shared_explicit_inbox=no |
d98c49c79d3d405f0a38256fd25472855974c48e |
|
04-May-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't set mail_save_context->saving=TRUE when copying via save. |
d938e9e4ec4c0f326dffd5ebe42c1ad893ce7e52 |
|
28-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allocate MAILBOX_METADATA_CACHE_FIELDS from a new metadata mempool. |
33b469d1ca66dd2cc496d2d990b8b98e72952a29 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_delete_empty(). |
adc18023643d3938893d5c89cfa017d506dc3c6d |
|
09-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mailbox deletion crashed, undelete the mailbox when opening it.
The deletion is assumed to be crashed if it was started over 5 minutes ago. |
9617ac7078a17bd346fed69526861c3e7fd9d809 |
|
30-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_save_set_pop3_order() and implemented for Maildir. |
e7b0b54a90ba4e7947d4d8322c8e6a4fb20fdc0e |
|
26-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If trying to copy a message into already deleted mailbox, don't crash. |
81dbd579dc8f2a69c79e9c771adfe9ee27af794e |
|
15-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_exists() now returns namespace prefix as selectable if it is. |
9438ecaf1caee1bb33c8d7f638742875ac42c4e5 |
|
26-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed min_timeout parameter from mailbox_notify_changes()
It's now internally taken from mailbox_idle_check_interval setting. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
e1a4e5d8dacc2667addac32f76f9675cea72c32f |
|
02-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: One more crashfix for recent maildir_name/mailbox_dir_name change. |
4b8a6aec5fe2daa564799867f31e39e7ea46b9c3 |
|
01-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_list_mkdir_root() API changed. Use it now for creating mail root dir.
It was supposed to be used for it previously, but wasn't.. |
b1f37113a5760bee842c5a7678bb5fa6f5bd8b60 |
|
10-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
Use t_strflocaltime() where possible. |
44d230b62b8e16f43889ce9651ac45c7810dadd3 |
|
06-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix. |
00aaafa8619b4e6aaf23f15d30c36f06ccb820bc |
|
06-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_save_using_mail() |
6469cf211a57433335641725dc236ebb2b9fdd3b |
|
30-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added struct mailbox.set_subscribed() virtual method. |
c10669a4219b5323127356d8ad5416d41c128235 |
|
06-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
Moved mailbox {} settings inside namespace {} and no longer require ns prefix in name.
This allows specifying mailboxes more easily with per-user namespace
prefixes. |
759319c027e944ad09c9e93aa6a2759f84f66349 |
|
05-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't crash when no there are no mailbox {} sections. |
ed354926406e28254b581f821bb052f38d9c14e8 |
|
02-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
Implemented IMAP SPECIAL-USE extension. |
eb1572d7c44ebc7b0b039d085c3dbab2ef7043dd |
|
02-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
Moved autocreate plugin functionality into lib-storage.
The autocreate plugin is still used for backwards compatibility.
Mailboxes can be configured like:
mailbox Sent {
auto = subscribe
}
mailbox Spam {
auto = create
} |
eecb235c14b49c01774134ea593c266f2d2c2be1 |
|
23-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Track storage's all mailboxes to make it easier to debug if one isn't closed. |
1227ccfc604b618beef61d4136c815451f1d1ac8 |
|
16-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed error handling for mailbox_set_subscribed() |
259c34523bbba82bea65b6b9fa113b594052b94d |
|
16-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Improved storage creation failure error message for "auto" driver. |
f8e4a8eac59e2847b63b57d290fa8223f4a4ce67 |
|
16-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Crashfix for "auto" driver in some situations. |
c5ae8a7c2963653c8ebebb093890f521d5bf59e1 |
|
15-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added "auto" mail storage driver for forcing autodetection. |
206ed2f6fa3a6fb291498627b2da626581c07a18 |
|
02-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_get_metadata() no longer always opens mailbox. |
4552316c45acfec89bede5e9c869f3a0eb89c592 |
|
02-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Compile fix for recent change. |
a12817443bee3fea7305f9d916a56366808bf06b |
|
02-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Keep mail_user referenced while storage objects exist.
This allows unreferencing mail_user after mailbox_alloc() and having it
freed on mailbox_free(). |
7a2fad1afa0903cbe85992c26ed9b67bab3a3b21 |
|
16-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't try to use the same mail_storage for shared storages.
This fixes having multiple independent shared namespaces. |
cccfb98c539e70e40b64d5e4e99bc4cce51d7c3d |
|
16-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Improved debug logging messages. |
21ce0d72bb9eafe34b3824a1d280a3a531825215 |
|
16-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mailbox_rename() isn't possible and mail_debug=yes, log the reason why. |
67aad957c13d9842ce16283a7e996e6d1bf88fed |
|
13-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Make sure status/metadata structs are cleared when they're looked up. |
352cd70b5850eb0815f1ee3bb4e7533d2c8c4c5f |
|
12-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Handle INBOX in the common mailbox_exists() code. |
76a7786159378599a04b6f9d9a301ad07a31a23e |
|
08-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Code cleanup to mail_storage_set_critical() |
de62ce819d59a529530da4b57be1b8d6dad13d6b |
|
25-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Moved GUID code to liblib. Use guid_128_t type consistently everywhere. |
015523cce59f1d1ca5bc16cf0d090b4a5c115f6d |
|
16-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix. |
47d5cc09738defd0020c797866e2a25a344aa65a |
|
15-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_list_get_permissions() now returns struct mailbox_permissions.
Also added new file_uid and file_gid fields to the mailbox_permissions. |
1a78f0cc66319400a502b997ccf5c6bda11d8c4d |
|
14-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't crash if INBOX is in a namespace with non-"" non-"INBOX/" prefix. |
bd4e36a8cd7257cca7d1434c49a1e343ed7c5100 |
|
11-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_alloc_guid() for opening mailbox by its GUID. |
08ed4ab71fd2a4e800d9025a736f0f46b771ea90 |
|
10-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixes to handling INBOX/ namespace prefix. |
cff1f182205e674285cf3ff446a0dcf7afea277d |
|
29-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added auto_boxes parameter to mailbox_exists(). |
7e468fac2e920eb9c8a0c634b246e61aeb1bb7b7 |
|
22-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_exists() now returns NOSELECT for invalid mailbox names instead of error. |
bf37278dc712818d1b3b14aef03cb83362105c03 |
|
23-Jun-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Error message fix. |
90ed6f2bf7ec3048ef36a440daae0f10de30aa7e |
|
23-Jun-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Treat "INBOX" in INBOX/children also case-insensitively. |
94d509ea17bde493ccafc6de208b10e8bf4174e7 |
|
03-Jun-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Treat "namespace prefix/" as invalid mailbox name. |
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. |
eef4ba0cc3e78f8c26804c1c9251a76580a41f0c |
|
29-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Changed mailbox_search_*() API to return pointer struct mail.
This reduces the flexibility, because now different mailbox_search_next()
calls can't have different mail parameters with possibly different
wanted_fields settings. This flexibility was never used though, and removing
it gives a couple of benefits:
* it's now easier for backends to implement prefetch and parallel search
* usage is easier since mail_alloc()/mail_free() is no longer needed |
4590a0c0a2606a0ad29d1e6e513ef2ba99abc926 |
|
25-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed mailbox_get_expunges() to return GUIDs with all mailbox formats.
Also added mailbox_get_expunged_uids() for use cases that don't really need
GUIDs. |
ab670459e21722e9e565cd84ffc982a6592a0bbf |
|
23-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed extra "don't allow INBOX to be deleted" check.
It's already checked in places where it could cause actual harm
(accidentally deleting other mailboxes) and where it's not allowed (IMAP).
This allows dsync backup to delete unwanted INBOX if the mail location
settings allow it. |
7d20b3ad93863c638f5929e38994da1fc6a529b9 |
|
16-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved mailbox_update() assert check from mdbox to common, plus fixed it. |
db8b0a3f74a20528d66a3c4be7df920e5c4554c2 |
|
10-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow creating a secondary mailbox_list for a namespace. |
dc5606fb66d30a659459446b6ca1a8b4f1146052 |
|
10-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Moved most of listescape plugin functionality directly to lib-storage.
This fixes actually opening escaped mailboxes. The plugin may eventually be
removed and replaced with a setting. |
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. |
7baab0b0b60df7ce9093d0881cd322dff1e79491 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
sdbox: Fixed creating mailbox with given GUID. |
1c288c40f4dce2e43daa6bc33b96f1618c94119a |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
sdbox: Fixed creating mailbox with given GUID. |
874766f940cb44291e40f5c138eaf175d524a350 |
|
17-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed renaming mailboxes in a non-private namespace. |
68d98139f81e77f90f91e7deef35dfe09c450677 |
|
12-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_create() failed if it was done to \noselect mailbox. |
c29216637957d4b3126c6929ac5ba98138256ce1 |
|
12-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_exists() can now return if it's selectable or non-selectable. |
c0d069950af1dbc6a4e5c3de3bf2e437796e3ae0 |
|
09-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Return STATUS replies from mailbox list index only when it's fully up-to-date. |
dc53fff3700362b544dcba166ff81420db227a60 |
|
08-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Initial commit for rewritten mailbox list indexes code.
They're only enabled with mailbox_list_index=yes setting (default is no).
They can also get out of sync pretty easily currently. |
e5aa8d4c9bdda79c2db03391ec45b37bf774df14 |
|
01-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Merged returning dir mode into mailbox_list_get_[root_]permissions(). |
636f017be100bce67d66fd3ae1544a47681efd33 |
|
01-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox virtual names are now in UTF-8 format, not IMAP mUTF-7.
Plugins that use mailbox names in configuration now take them also as UTF-8
rather than mUTF-7. |
dfaefeabae939803ceb8c503101e86b5496541d1 |
|
01-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Don't force a root directory to exist. |
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 |
11352dc3e4b29f3d2763c82f8ea4f99e8daf4fa3 |
|
20-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_get_last_*error() wrappers and use them. |
306cfd77100131c08b243de10f6d40500f4c27c6 |
|
20-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Replaced mailbox_list_get_name_status() with mailbox_exists(). |
d5bc636319181faeb20ed712714517dc032b2cc9 |
|
03-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_save_get_transaction(). |
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. |
d3280fe317a4598c0868cc440e7a1191c06d0db3 |
|
29-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_get_status() can now fail.
It might have failed earlier also, but the errors were hidden from caller. |
a4f09749814b93e8ad3ec8a0dc18885b874d6f8c |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Unvirtualized mailbox_header_lookup_*() |
dbe64f3893616a4005c8946be75d2dc8f6823d72 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Unvirtualized some methods from struct mailbox.
There was never any point in overriding or hooking into them. |
499fec3443374cc89fb8c83b8027c1614097d7a3 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
Moved fts/virtual plugin communication functions away from lib-storage. |
17cf149e5f47183bfcc1503649dfb92a14f9dcd9 |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_list_get_root_[dir_]permissions()
They should be used instead of mailbox_list_get_[dir_]permissions() with
name=NULL parameter. |
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. |
de213b54c3f9b271535406e5a83bc48f3020c35a |
|
05-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_create_fd() handles "no inferior mailboxes allowed" error now. |
7cd7bd65aba6d84f4e4f5066d248437eaa4e5e54 |
|
21-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Make sure POP3 UIDLs aren't tried to be saved with LFs. |
9789e1f8a8f50c8620c771817b3f0f74fc02a2e6 |
|
18-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Log a debug message if shared user's storage root doesn't exist with mail_debug=yes |
751cb41a81133fc6085ef79321a9d2d270d9e29d |
|
16-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_get_guid() crashed if storage didn't support GUIDs. |
cab9d33e9eecd2b173a973c7e78b14c753f295e5 |
|
15-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAIL_STORAGE_FLAG_NO_AUTOVERIFY to skip checking storage root dir existence. |
038cb2779978bd38fb2128b4d83e9302c0531d78 |
|
14-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mailbox deletion failed, we crashed while trying to write undelete record to index. |
89dbeaa49086b44bcba38a29c8e5e5d649054524 |
|
21-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added assert against empty UIDL in mailbox_save_set_pop3_uidl(). |
a91bd6256b33729531c33ff8bc66ee1ae95840f9 |
|
14-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_list_create_dir() |
ef652c941b5eb54a3ec534ce67388ffeb4ab5737 |
|
01-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mailbox deletion fails, mark the index back as undeleted. |
6b0d8106ae51ffc6ce45636b34d2e21cbefca7fd |
|
24-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Allow mailbox_mark_index_deleted() to be called multiple times within same mailbox alloc. |
459348ce42d7ec13c191776e9dedb560b871afba |
|
26-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't crash in mailbox_transaction_commit() if plugin aborts transaction. |
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 |
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 |
b365bd121cdc87f63e1dd47c5085a27091118e00 |
|
04-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Code cleanup.
--HG--
branch : HEAD |
84078771687fabf75819918f0f3aecdc3ed08b36 |
|
07-May-2010 |
Timo Sirainen <tss@iki.fi> |
Mail search register getting API change to fix a doveadm crash bug.
--HG--
branch : HEAD |
4fc52b7b25c3d3f42348903e0154840f8761f306 |
|
13-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added search query building from human-friendly input.
--HG--
branch : HEAD |
20b2d47ed762ca2c009aa37e360af6f223ac71bd |
|
13-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Rewrote search query building code to be more modular.
--HG--
branch : HEAD |
420040a5930a2b497e79ff0b5f59ba4b764a5b39 |
|
07-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Panic if deiniting storage before closing its mailboxes.
--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 |
34c28a6c5bd2089a09ef6105da31418e2d6c21d5 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't crash if root mail directory isn't given.
--HG--
branch : HEAD |
88869da3c4da2bbbc1d2e53004d4760be54d1fa9 |
|
27-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fix to previous change: Don't access freed memory.
--HG--
branch : HEAD |
c7819f72f3f9cbfa976830dc6f3190873469b901 |
|
27-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If INBOX can't be opened/synced, log an error once.
--HG--
branch : HEAD |
cd89cbcf9ef73a0855ffcbe799b4fc2442b28cbb |
|
05-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
mdbox: Don't crash when trying to rebuild storage at deinit.
--HG--
branch : HEAD |
0cb1eb9a12488be403e4179877c31729efaa3c2f |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mbox: Make sure we have valid mailbox GUID when returning it.
--HG--
branch : HEAD |
6d931bbce16786df431e9ae8201a78a95084316d |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Memory usage optimizations.
--HG--
branch : HEAD |
2555e5dc02cd2fdfd01df0d6d1d6f09274dc9d5c |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Mailbox deletion: If mailbox deletion seems to have crashed, allow retrying the deletion.
We'll assume that if deletion transaction was written over 5 minutes ago,
the deletion crashed.
--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 |
099a6b509dc3fc68e662b6736f03b73eb575c527 |
|
15-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed some code duplication.
--HG--
branch : HEAD |
2649b237dd4690575e75a30b2bf3b39ebd37b835 |
|
14-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox renaming API changed.
--HG--
branch : HEAD |
ad935d2d0092cbbe24df33f073201db78c5b83cc |
|
13-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mailbox_open(): Don't crash if opening non-stream mailbox fails.
--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 |
3f91e60401495a4046c73992fabaa5e77200a451 |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
Mailbox deletion: Fixed race condition where a mailbox couldn't get deleted.
--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 |
0bf480bb3496197a1849d3677ae83296c95c1302 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_storage_get_user().
--HG--
branch : HEAD |
e10d8b1291090c26b9ef499637e6e632485ca5be |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Split mailbox_close() and mailbox_free() functionality.
--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 |
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 |
04a5fcf56cf85ac9de624095ee8457b63c764c5c |
|
17-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't clear errors unnecessarily (and inconsistently).
--HG--
branch : HEAD |
2584e86cc2d8c31ba30a4109cf4ba09d1e37e28a |
|
17-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Changed mailbox_sync() and mailbox_sync_deinit() APIs.
Although we're already in beta stage, this is simple enough of a change that
it shouldn't matter much. Having syncing also return status information made
the API ugly and the status information wasn't even wanted all that often.
--HG--
branch : HEAD |
5666a3d6a7ea89362b8d9e8b39b15424cd9d6388 |
|
04-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Plugin hook API changed to support per-user plugins within a process.
--HG--
branch : HEAD |
f3bb2fbe87425dc89a839908985af496f7f65702 |
|
18-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_search_next*() API changed to return bool.
If search fails, it'll be noticed anyway by mailbox_search_deinit().
--HG--
branch : HEAD |
2a2ca253015004d30845ee45b01df376940e44bc |
|
10-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't crash if trying to use unknown storage class.
--HG--
branch : HEAD |
129cc29ae6d8ad64d6d2b72f18da18fa134d0f3e |
|
03-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Use less memory from data stack.
--HG--
branch : HEAD |
0c3cde7382518b486092bfae64bb6a948405854a |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Removed mailbox_guid_is_empty(), use mail_guid_128_is_empty() directly instead.
--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 |
c820b702d1eabfd5b029ac168fe769265e541561 |
|
29-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Removed MAILBOX_GUID_SIZE macro, use MAIL_GUID_128_SIZE everywhere.
They were required to be the same size anyway.
--HG--
branch : HEAD |
ad48319996942463675b53877092ab7e13a7a75a |
|
29-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added ability to specify message's minimum modseq value.
--HG--
branch : HEAD |
6acaa359928215b48e97373fb96a3dc326bbd65b |
|
24-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_backends_equal().
--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 |
0f83592ccc280a29bdf01c4475805f6a4bad9abd |
|
16-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
mail_generate_guid_128_hash() is now a public function.
--HG--
branch : HEAD |
0c909e3461607eadcd66f4eac69b7f34e37fccf1 |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Keep track of expunged messages' GUIDs and expose them via mailbox_get_expunges().
The message GUIDs are stored in expunge records to transaction log. Before
doing the final expunge, Maildir and dbox verify that the GUID in expunge
request matches the current actual GUID. The GUID is stored in 128 bit
field. If the real GUID isn't 128 bit, the bits are taken from SHA1 of the
GUID.
--HG--
branch : HEAD |
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 |
0403306eed2d57d3d1c59b3fbbdae7320095d0e2 |
|
28-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Fixed shared namespace initialization.
--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 |
48f9069853ebb59fd9fe22ab1647cf735e6bbe37 |
|
22-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_save_copy_flags(). Use it wherever possible.
--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 |
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 |
de58be41126e5d68008d2ea706d62ccdc1f29337 |
|
05-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_header_lookup*() private API changed.
--HG--
branch : HEAD |
ee116df08d0fdab703483e18fe8076b2ef9fd9d7 |
|
05-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
struct mail_storage.callbacks is no longer a pointer.
--HG--
branch : HEAD |
563273bdac80393af63b9520cbf4d24cc0efd028 |
|
03-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
mail storages can now be shared between namespaces.
--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 |
9ab1f8b000da7085850b5d3825d63b64f8a0beb6 |
|
29-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Shared mailboxes: Fixed a bug where some mailboxes were added to root shared namespace.
--HG--
branch : HEAD |
5a077c8c1666edb34479cca42105449c8f89ffc2 |
|
17-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
When mailbox is successfully opened, mark its namespace as being usable.
--HG--
branch : HEAD |
82c70897a2d0e6144ecc56ca8e0eb9fff768f2c5 |
|
10-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
doveadm: Implemented force-resync functionality.
--HG--
branch : HEAD |
3e564425db51f3921ce4de11859777135fdedd15 |
|
10-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_storage_purge() for dbox. dbox no longer calls it automatically at logout.
--HG--
branch : HEAD |
b31ddaad0c05e2c63cfe45eae28094829e2a5c57 |
|
08-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Shared mailboxes: Fix to previous mailbox_open() change.
--HG--
branch : HEAD |
77c462c3a415536f9c87028ee34546ee96fd1445 |
|
07-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Shared mailboxes: Find the final storage before calling mail_storage.mailbox_open(), not inside it.
This fixes some crashes with plugins.
--HG--
branch : HEAD |
d50f5a6963f56c587b1d47119c3af4da2fde45ed |
|
03-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes.
--HG--
branch : HEAD |
70ead6466f9baa8294e71fc2fba0a4f54f488b5e |
|
26-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_user_get_temp_prefix() and mail_storage_get_temp_prefix().
--HG--
branch : HEAD |
bd4d0a1a7c0626452b8d82f37e3ec07267ac9896 |
|
06-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Mail copying API changed to be based on save API. This allows extending it easily in future.
--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 |
2de9757d2877a752ffd402ef7ebc2e258c48a244 |
|
12-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Die if trying to sync mailbox while transactions are open.
--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 |
b8835b8a21c617ceb82ddc5a176243faf36aa8f7 |
|
30-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
fts: Added support for handling multiple namespaces.
--HG--
branch : HEAD |
3852872e6954b7132e637294132005e86b8ebd4a |
|
29-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Finished making full text search indexes work fast with virtual mailboxes.
--HG--
branch : HEAD |
ecdce39e5ef4b62eefa9f5818f17d153fd5d710a |
|
23-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Initial support for getting full text search working nicely with virtual mailboxes.
--HG--
branch : HEAD |
63110c906fdb5b4e8c870e76fa3f244dac4b043d |
|
21-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox_open() now takes struct mail_storage ** so it can be changed.
--HG--
branch : HEAD |
67c47dbb3fde79218320fd38a45c33f61bbf3012 |
|
21-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
mail_user_*() now handles home directory lookups when necessary.
Namespace owner is now a pointer to struct mail_user rather than a string.
--HG--
branch : HEAD |
ac4e6609cbdca594db1b1c02afb1e372ab22e060 |
|
16-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Made CRITICAL_MSG* public to MAIL_ERRSTR_CRITICAL_MSG* in mail-error.h.
--HG--
branch : HEAD |
4321f6c969e7b8f6b243ff5bb6b8d297921676f6 |
|
15-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Implemented imap-response-codes draft.
--HG--
branch : HEAD |
6e77746e501c2b45850b1c530836058ed75e09ee |
|
12-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Moved file lock type string parsing code to file-lock.c
--HG--
branch : HEAD |
059efe18128f8362e5523b354f42c7c92ceb6010 |
|
08-Sep-2008 |
Timo Sirainen <tss@iki.fi> |
If mail_debug=yes, log all permission (and some other) problems
instead of only giving a generic "Permission denied" (or similar) error message.
--HG--
branch : HEAD |
4654f788834c9d7920a351306b89cf5d1c21772e |
|
07-Sep-2008 |
Timo Sirainen <tss@iki.fi> |
Added initial support for shared mailboxes. Listing isn't supported yet.
Each user gets their own hidden namespace created automatically when they're
accessed the first time.
--HG--
branch : HEAD |
d23c747de9d33966483fbdd41f08ad7766da7c5c |
|
12-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Added struct mail_user and fixed the code to support multiple users per process.
--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 |
e3796bfd2bc0fd5ba664893d346df9334a5b3af0 |
|
21-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_keyword_is_valid().
--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 |
f95b3d29bc56f139c18c880aa574a0ca72b0cffb |
|
19-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
struct mailbox_header_lookup_ctx can now be referenced/unreferenced so it
can be shared among multiple struct mails.
--HG--
branch : HEAD |
48270badadd82279bfe50ae3d187aea8b0b2b30e |
|
21-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
CONDSTORE: STORE UNCHANGEDSINCE conflicts are now checked atomically.
--HG--
branch : HEAD |
68a4946b12583b88fa802e52ebee45cd96056772 |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Added more consts, ATTR_CONSTs and ATTR_PUREs.
--HG--
branch : HEAD |
908bffbaff7230e31a887aab75572cc2549cb6fe |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Search code cleanups and minor optimizations.
--HG--
branch : HEAD |
c63e7bd686e2745857fb5f70fc2126d5de08dcf1 |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_search_result_build().
--HG--
branch : HEAD |
868cbbd9f1bbc91a0005217bcd13e218d08bf24f |
|
08-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox_sync(): Don't call mailbox_sync_next() - it's not necessary and it
just slows down the syncing.
--HG--
branch : HEAD |
d7a56951e519c28ac9b1fd5810a455a9ba238327 |
|
09-May-2008 |
Timo Sirainen <tss@iki.fi> |
Added hook_mailbox_index_opened.
--HG--
branch : HEAD |
3d73799e4a1ba52b4d5e9d4235a626f7cc9258f8 |
|
08-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox_sync(): Don't add FIX_INCONSISTENT flag if there are saved search
results, otherwise they won't be updated.
--HG--
branch : HEAD |
408e5be344c9131fdebe771718a5bf49f88cc51c |
|
07-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_get_uid_range().
--HG--
branch : HEAD |
5afa8e2edf4f313cd56e5909f92f39c3b5b7b4d3 |
|
07-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed mailbox_get_uids() to mailbox_get_seq_range().
--HG--
branch : HEAD |
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637 |
|
05-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Implemented CONTEXT=SEARCH extension.
--HG--
branch : HEAD |
037ab1d543b1a6927adbd3297663e2c82f60f3fa |
|
04-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Keep mail_search_args referenced during searches.
--HG--
branch : HEAD |
c4b376dd6e0c423006d7ac83a39253bcaf8e7c47 |
|
03-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Make mail_search_args an independent structure that can be used for multiple
separate searches.
--HG--
branch : HEAD |
dc61cef6d2f73d2960dcdafc4e1d75c9d34c9e17 |
|
01-Apr-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox_transaction_commit(): Use separate temporary variables to store
uidvalidity, first_uid and last_uid so that plugins can look at them.
--HG--
branch : HEAD |
923eb3dde28e4d8841c14fd6b4a69635b7070c3e |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added QRESYNC support.
--HG--
branch : HEAD |
f86e4521d7864d385e3397a58eaa4b9c8ed178d8 |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added transaction flags to struct mailbox_transaction_context.
--HG--
branch : HEAD |
194603b35061fea1ee8d171a7104b6985c610966 |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added transaction flags to struct mailbox_transaction_context.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--HG--
branch : HEAD |
c528dcedb15e0dd51ba4f923f3b580bfcc68c1cf |
|
06-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_transaction_get_mailbox()
--HG--
branch : HEAD |
3c607dfc707ff8246892108ac40a55957b4cde91 |
|
06-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_transaction_get_mailbox()
--HG--
branch : HEAD |
8a0ad174adb1eb5108511b90e97f4e5f9089b0ee |
|
15-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--HG--
branch : HEAD |
266697d2af982a9e52573404a1dd9cf0898bf43c |
|
15-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--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 |
a3f6d0302a83270253ff9d2ebd4fea0003e9ac95 |
|
09-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
mail_storage_create() now finishes namespace initialization so namespaces
can be created more easily.
--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 |
6f338d07c32978a8118bd7e30a07dff067d0f8ee |
|
02-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Simplify search arguments immediately when calling mailbox_search_init().
--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 |
642994cd822c404ef60d2ac374a8804bb9076e6e |
|
08-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Handle missing save_init() here by returning "not supported" error.
--HG--
branch : HEAD |
c8c42b11cefbd5dc4dfdf2721ade2ef82fe19e9c |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAILBOX_SYNC_FLAG_FIX_INCONSISTENT flag. mailbox_sync() uses it
always. If view is invalid or view syncing causes the view to become
invalid, the view is reopened.
--HG--
branch : HEAD |
8da095519878426b012058e6f331a669f327f47f |
|
21-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
dotlocks: Flush NFS attribute cache only if nfs_flush setting is TRUE.
--HG--
branch : HEAD |
63f36c2b47217fc2dc4ed49cfc1907311d5ed366 |
|
30-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
mailbox_transaction_commit*() doesn't sync the mailbox anymore, so it
shouldn't take mailbox_sync_flags parameter either.
--HG--
branch : HEAD |
c3987d2749b958ab7b6d5f035d1a8375a4529af0 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Added mailbox_sync() to easily synchronize a 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 |
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 |
c979eeda1f46483d9c963e265786b701d7683d77 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_view_sync_next() and mailbox_sync_next() returns now bool.
Renamed void mailbox_index_view_sync_end() to int
mailbox_index_view_sync_commit().
--HG--
branch : HEAD |
88187ee880b4829443e0d55ea7d145d9d5880217 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Removed explicit locking from views and maps. They were already locked all
the time when they were used. Because of this change several functions can
no longer fail, so they were changed to return void, and a lot of pointless
error handling was removed.
--HG--
branch : HEAD |
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 |
8c280379c962ad54327efb0af2a50e48c8df28fd |
|
10-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
If mailbox has transactions open while it's tried to be closed, die here
instead of assert-crash later.
--HG--
branch : HEAD |
9f6f7299d258361e7c319d91662105a6d1bf653e |
|
18-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added t_push/t_pop
--HG--
branch : HEAD |
2dd39e478269d6fb0bb26d12b394aa30ee965e38 |
|
15-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
mail_storage.create() now returns error message string. Also fixed handling
"/" and empty root paths.
--HG--
branch : HEAD |
85e2a708b37412326d36bf5f1281af02e835864f |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_nfs_storage and mail_nfs_index settings.
--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 |
e4bb4fcb6dc5d4406857f86f4b5fa684abfa368d |
|
14-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Treat unknown errors as temporary errors.
--HG--
branch : HEAD |
ff7056842f14fd3b30a2d327dfab165b9d15dd30 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Error handling rewrite.
--HG--
branch : HEAD |
cc5f10a56e192268de110da9b382d04ddc178891 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Removed mail_storage_set_list_error(). Handle the errors directly.
--HG--
branch : HEAD |
cb44b8fd1fa5cac5a451c39245c878e1307c332c |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
lib-storage doesn't need the ability to return syntax errors. They should be
checked before lib-storage is called.
--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 |
2423da95ee20fd4b3c260c1389cf2952d25f099c |
|
17-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Removed HAS_INBOX and SHARED_NAMESPACE flags from mail storage and mailbox
list flags. They can be directly taken from struct mail_namespace.
--HG--
branch : HEAD |
e8490a52a1bc71bc53034e68f464435684ad810f |
|
03-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Moved namespace handling to lib-storage. Beginnings of namespace support for
non-IMAP parts of Dovecot.
--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 |
f81f4bc282cd1944cec187bae89c0701a416ed2a |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Moved notify settings to struct mailbox. Removed the parameters from
notify_changes(), they're now set before calling it.
--HG--
branch : HEAD |
3d6fe65c7af8a4d4e7dc75946fab974620aff724 |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
mailbox_open/create: Moved the mailbox name validation and error clearing
into common mail-storage.c
--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 |
f7539a17ea306191b53b8f5e752e228937df9ec3 |
|
30-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Added virtual mail_storage.alloc() function and changed create() to work
differently.
--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 |
b039dabf4c53f72454e795930e7643b6e0e625f9 |
|
29-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Moved delete/rename operations to mailbox_list API. Fixed mbox/maildir to
work with either fs/maildir++ directory layout. They can be changed by
appending :LAYOUT=fs|maildir++ to mail_location.
--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 |
8887bf3757d51d73887dd20b1db3334d867d3817 |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added dotlock_use_excl setting.
--HG--
branch : HEAD |
42507d758b053bb483de58fba55c73a9eb5d3fba |
|
20-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Dovecot is now able to execute multiple commands at the same time.
Practically this means commands: FETCH, LIST, SEARCH and syncing output for
all commands. For example it's possible that doing two FETCH commands at the
same time makes their output mixed together.
Non-blocking SEARCH is done by doing search for 20 mails at a time, and then
checking if another command is pending.
Also added X-CANCEL <tag> command to cancel running commands.
--HG--
branch : HEAD |
2cfe9983ce7a6280636ee12beccc2e865111967b |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Replaced void *context from a lot of callbacks with the actual context
type. Also added/fixed some context type checks.
--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 |
71e50c6a3497d14140e2964c96ff221c5baad7e2 |
|
03-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Don't call mail_storage_created hook twice.
--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 |
220e21750948941dc6e33b8f11b552fa21d7f81e |
|
18-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Fixes
--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 |
df8a8bb3ce466273ef4239ed0ad7069348e59514 |
|
09-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
If the mail environment data contains mail format prefix, don't do any kind
of autodetection. Practically this means that mbox:/var/mail/user doesn't
work anymore.
--HG--
branch : HEAD |
6325490fbfc239bfb9fdf045b1ce2e0264a0c9c7 |
|
17-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
mail_storage_get_mailbox_index_dir() wrapper function was missing
--HG--
branch : HEAD |
91dca97b367c54a139c268b56a0c67f564bd9197 |
|
10-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Replaced ARRAY_CREATE() macro with [ipt]_array_init() macros. The macro
has no side effects so it might as well be lowercased.
--HG--
branch : HEAD |
26a8b7deb3a5b6f26f9c4d71538e1248f680e4be |
|
10-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Removed type parameter from ARRAY_CREATE since it's not needed anymore.
--HG--
branch : HEAD |
15b9759df8e4f6fb00c115353827a2aebbebfebc |
|
11-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
Added hook_mailbox_opened to make it easier to hook all mailbox opens.
--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 |
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 |
2b312f0183750c8cb9049510df4b6cd2027f9f43 |
|
27-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
MAIL_STORAGE_FLAG_KEEP_HEADER_MD5 flag was supposed to be set if
pop3_uidl_format contained %m. Added it now to mail_storage_parse_env() so
it's used everywhere.
--HG--
branch : HEAD |
5505efe43cc7d5058561cda8882487b7971f8ad9 |
|
17-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
When creating a mailbox, limit the number of hierarchies (to 20) and the
length of the mailbox name within a hierarchy (to 200).
--HG--
branch : HEAD |
a04cd96888653891272a512f7735121193af7b35 |
|
08-Jun-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Changed mail-storage API to do the mail sorting internally. Optimized it
internally to keep a 32bit sort_id field in index for each used primary sort
condition. Practically this should mean less disk I/O, memory and CPU usage
when SORT command is used.
--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 |
5044ec1c83239d4e144424a639a8f5293c95c4fa |
|
01-Apr-2006 |
Timo Sirainen <tss@iki.fi> |
Changed the default lock_method back to fcntl. flock seems to be broken in
some systems..
--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 |
defb12ecd360df672ffb2f4dbf4d1218a0a9549c |
|
22-Feb-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Make life easier for plugins:
- Added MAILBOX_OPEN_SAVEONLY flag for mailbox_open(), which is set when mailbox is opened only for append/copy
- Added a couple of MAIL_STORAGE_ERR_* string defines that should be used when giving visible errors to clients
- Added failed-flag for mailbox_list_context, which plugins can directly set to make mail_storage_mailbox_list_deinit() return failure
- Added mail_storage_get_mailbox_path() and mail_storage_get_mailbox_control_dir() to return locations for mailbox directories
Also be more strict when validating mailbox names.
--HG--
branch : HEAD |
6303fb1055fd85c3e3ca9320bc5754186dbd3a5a |
|
02-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Moved mailbox flag and lock method parsing to lib-storage.
--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 |
c13f3df87bc8ec1fb279fc0ffa6e8517f74dc07c |
|
06-Oct-2005 |
Timo Sirainen <tss@iki.fi> |
Added flags and keywords parameters to mailbox_copy() in case they're wanted
to be changed while copying.
--HG--
branch : HEAD |
bc03883837633c239ff9c21e9a133660225ec6d8 |
|
19-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
If autodetection failed, give an error message so we don't just get "Failed
to create storage with data .."
--HG--
branch : HEAD |
137ea7ca34005345aa2304a940149b7f3774d727 |
|
07-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
s/occured/occurred/
--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 |
66ac3818827f7f8b778541a02855bf09268e53c9 |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Linked list -> array
--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 |
04ab375449dd97eed50ada88dd0df2abab01cfee |
|
29-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Added input stream parameter to mailbox_open(). With mbox it now allows
opening a read-only mbox using a stream.
--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 |
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 |
41e1c7380edda701719d8ce1fb4d465d2ec4c84d |
|
10-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Keyword fixes.
--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 |
232fffb659ec20906c1b4853f87809b05bce11c1 |
|
11-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Changed the "internal error" message, once again. Hopefully this is finally
clear enough for people to actually understand to look at the logs.
--HG--
branch : HEAD |
b2c1349cf07410aefab0f5b17153af9e5cfcf48f |
|
29-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Added sync flags parameter to mailbox_transaction_commit(), so EXPUNGE can
do a full sync with dirty syncing enabled.
--HG--
branch : HEAD |
a423d985ba7261661475811c22b21b80ec765a71 |
|
21-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Changed mail saving API to be nonblocking.
--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 |
d756ebcfa96bd7cff02097c8f26df9df368b81b1 |
|
12-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Broke mailbox_sync() into iterator.
--HG--
branch : HEAD |
fa45f3f1ad423381ba07056e415ffc4d6449f089 |
|
10-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Split client_workarounds to imap_ and pop3_ ones. Added outlook-no-nuls POP3
workaround.
--HG--
branch : HEAD |
b3b4f3875850099c9292ad74d08bb385c3988f8f |
|
22-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
get_last_error() wasn't virtualizable
--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 |
d35cb1b97d072431779857e68b096e27fca57cc6 |
|
26-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
"Internal error" message changed.
--HG--
branch : HEAD |
50fd2adea4c945b85e5a81d5e55b885b93405c0c |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Added t_strsplit_spaces().
--HG--
branch : HEAD |
62da0b5f36c26088e524b0bd062eb0772607aadd |
|
24-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Added oe6-fetch-redundant-msgset workaround.
--HG--
branch : HEAD |
b728c54e411fd1964195497572ab7066138206cb |
|
27-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
Mail storages support now configurable namespace prefix and hierarchy
separator. Subscription file handling needs some more thought.
--HG--
branch : HEAD |
ff1c87522054d080d68b0123373d989a8991aa2a |
|
26-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API changes: Don't keep variables in mailbox class.
--HG--
branch : HEAD |
18d788657cff0fc3905b6a484d33c8c9fc2b9eba |
|
11-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
minor memory leak/cleanup fixes
--HG--
branch : HEAD |
ce555be496d79e08ca1e0230bf08b502fbf7c56e |
|
20-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Removed list-sort workarounds. It's pretty much needed for maildir listing.
Also added some more complexity and kludging to make everything work
correctly.
--HG--
branch : HEAD |
88ade75211d86266619d50aab44ccbdb7a151cbe |
|
20-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
workaround: outlook-idle
--HG--
branch : HEAD |
b79fcd97b1ce9b413139f71170dc821d3ee3bdee |
|
19-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Rewrote LIST, LSUB and subscription file handling. LIST replies aren't
sorted anymore by default, it can be enabled with client_workarounds =
list-sort.
--HG--
branch : HEAD |
60c9aa3080b5b120b3e15bbe8d9cfab76b94d417 |
|
11-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
..and it went wrong..
--HG--
branch : HEAD |
37d6771343a4e09f4d8f3536f5c6058c23518376 |
|
11-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Ignore empty workarounds
--HG--
branch : HEAD |
50933e4d608a259c49e72775284a5f9df985de84 |
|
11-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Added mail_full_filesystem_access setting. Some of the setting variable
types were declared wrong and caused Dovecot to crash if they were set in
config file.
--HG--
branch : HEAD |
1c55875d04c444f12bdc3248d533331fdba4e95d |
|
10-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Added client_workarounds setting, with currently one workaround for OE6.
--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 |
162677af0091c924cb7266e23978e342982f7d05 |
|
01-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Storage can now specify if errors should be sent to user as BAD or NO.
Some changes to messageset parsing as specified by latest IMAP4rev1 draft.
Bad charset error is prefixed with [BADCHARSET]. Fixed a crash in SEARCH the
last commit in it caused.
--HG--
branch : HEAD |
def516ea503a60f20d510c14d5070b7ff5bbddf4 |
|
08-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Added buffer API. Point is to hide all buffer writing behind this API which
verifies that nothing overflows. Much better than doing the same checks all
around the code, even if it is slightly slower.
Buffer reading is still mostly done directly, that isn't such a big security
risk and I can't think of a reasonable API for it anyway.
--HG--
branch : HEAD |
468bb8fbe53f28a18a47b8dc6761171d5d8ce706 |
|
24-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
mbox fixes, not fully working yet but almost :)
--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 |
e403d34ae6904cd8d9f72345a2f2dc017d3b46aa |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Message data is parsed in blocks (no longer entirely mmap()ed). Several
IOBuffer changes. All mixed signed/unsigned comparisions were fixed so code
can now be compiled with gcc's -W flag. mbox support is broken currently,
and there's most likely several other problems too.
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |