39914d983f6de82ba5613a9848e0935782013da1 |
|
31-Jan-2018 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Warn when quota check is blocked by background quota calculation
This was previously double logged as "Quota transaction has failed
earlier" error. |
a921274624d8504c55c4d13e612c57cede211fab |
|
31-Jan-2018 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Remove "Failed to set quota transaction limits" error
This error adds nothing that helps the user to debug a problem. |
9cc53ac30c33f403964cc3f4f51456301dc044bc |
|
24-Jan-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Rename .vsize.lock file to dovecot-vsize.lock
.vsize.lock can break maildir++ because it looks like a maildir folder,
so rename it to dovecot-vsize.lock.
Introduced in 9963bef6 |
9390fe0c1b5b7495363f9194ff701470e242dd0e |
|
24-Jan-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
quota: Add and use QUOTA_USER_CONTEXT_REQUIRE
Satisfies static analyzers |
fe6356ecbb1c64802f121a37d2e4c6199fe67074 |
|
18-Jan-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
quota: Contexts are now required or checked
Satisfied static analyzers |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
d4002fe1f64d25a792f76fb102ef7dc519cd4e24 |
|
11-Dec-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Use mail_set_critical() and mailbox_set_critical() if possible
Replace calls to mail_storage_set_critical() with mail_set_critical()
or mailbox_set_critical() in places where mailbox or mail are easily
available. |
0060557e0171750089c3cee3878ddbf67ac7c4e8 |
|
11-Dec-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Take mailbox as parameter in quota_set_storage_error()
This is to start using mailbox_set_critical() later. |
7ee626fd396f5549fb1fc6b0c320038638af9058 |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add QUOTA_GET_RESULT_BACKGROUND_CALC enum value |
b14f93ea4f7e9b78e5adbabcc78bd2f63d2bcd36 |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add QUOTA_ALLOC_RESULT_BACKGROUND_CALC enum value |
c975f4c0c6a767050755e824d5a5ddeb1dbf7f6e |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_result_r parameter to quota_transaction_set_limits() |
d81702ddd148abde32cbe2a45f6239e1baee6907 |
|
28-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Improve error messages |
efd291767a612b2cf3421f3d4ff1c3d8abd78484 |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r to quota_transaction_set_limits() |
4b5c9cdb6061973fd3d4d3191a8c21b2ce4b8f3e |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error string to quota_set_storage_error() |
b62139aae0a0099d0ede35b164b2870479f9b027 |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r to quota_settings->test_alloc() |
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(). |
f9362223346d10a5866b376ed227b77b26ea4292 |
|
09-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fix negative quota_warnings with count backend
For example this never triggered:
quota_warning = -messages=100%% quota-warning %u -100
The change to quota_alloc() to update the count_used doesn't seem to
actually fix anything right now, but it makes the code more correct. |
cddfd1355db6b60c71d7ee3c0b4f23b3efcc9ad1 |
|
03-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Add mailbox_transaction_set_reason() calls
Added to the most important places. |
7f4fa37676bac8efcf4e2ac706172b1bad779a8a |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add quota_max_mail_size setting |
38ce5769db11e7f52562610ee6e6fc4f0ea7888f |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Introduce quota_alloc_result return type |
13f507c0df27fee7b30cb965574e077a22606502 |
|
22-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Don't log "Internal quota calculation error"
It's not very informative and we can't give a better error message without
changing the APIs. The real error should have been logged already anyway,
so this is just duplication of an error. I think originally this was added
because some backend forgot to log an error. |
880f7a015f7dc2df2a06cec91dcecbbbe7e8dce3 |
|
14-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
plugins: Remove unnecessary mail_save_context.dest_mail==NULL checks
It can never be NULL after the previous change: "lib-storage: Always create
mail_save_context.dest_mail". |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
2ec4ab6f5a1172e86afc72c0f29f470d6fd2bd9a |
|
30-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Don't skip quota checks when moving mails between different quota roots. |
5b5da56e477dd55fbac23be9c96d8baa00482069 |
|
10-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: If quota lookup updates vsize header, lock it earlier to avoid a deadlock. |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
39dea5f2e78f6bfc3adc0655176f596ee211938f |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Differentiate between forced and non-forced quota recalc
The "count" backend doesn't need to recalc quota unless an explicit "doveadm
quota recalc" command is called. |
e2e64c109827f782e9e20b50a15c7489479bcada |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Skip reading mail sizes when quota backend doesn't need it.
If quota backend is updating the quota internally, it's just going to ignore
the looked up size. The only reason for looking up the sizes is to check
with quota_try_alloc() whether user is going over quota. |
f8a63c14a4d2eed05019e5d8ed48fc3d8c976ed4 |
|
30-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added MAILBOX_FLAG_DELETE_UNSAFE |
e7c85ff1029e1e01740613c2de2766e609195d84 |
|
30-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fix to earlier commit 62f2f6baf
expunge_uids may become empty with prev_idx > 0 |
c16f2d0725a16559cdeedec7628ce616725000cb |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Added quota_over_flag_lazy_check flag.
By default the quota_over_flag is checked immediately at startup. With this
option the check is done only at a time when the quota is anyway being read. |
cfeebb6dde3a3140972797c610ae78cc25c0b36c |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Cleanup - split quota_over_flag to init & run parts
In preparation for the next change. |
62f2f6bafd6253443a8ec9715278db60df660254 |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Optimize handling a large number of expunges.
This assumes that the mail_expunge() was called in the same order as
sync_notify(), which practically means that they were both done in
ascending uid order. This is usually true. |
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/' |
169b679209f7b3e97888704ad3693c709265ef24 |
|
27-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Avoid crash in quota_root_iter_init() if mailbox has no quota enabled.
This allows quota_get_mail_user_quota() to be called even when quota doesn't
exist. Cleaned up all the code using it to now check for the NULL result.
This fixes a crash in quota_clone plugin. |
9963bef626fd9ea227fb606e8b1694cdb1ab39aa |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Update mailbox vsize header on save/copy/expunge.
This allows always efficiently looking up maiboxes' vsizes after they're
initially calculated.
The expunge handling is unfortunately done currently in quota handling code,
so it works only if quota is enabled. Ideally this would be solved in v2.3
with some lib-storage core changes. |
93f1642397e46497894e6695749e5c52fda61774 |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Added quota_vsizes=yes setting to count quotas using virtual sizes instead of physical sizes.
This doesn't work with all the quota backends. |
93eb96e09c0fd00a77b3fba185b043cc2c011444 |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Commit expunge transaction instead of rolling back.
This likely won't make much of a difference, since it should have accessed
only expunged mails. But it's a bit cleaner this way. |
666286d8ecc6c450b2232dcc628f79454215acfc |
|
05-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
quota: If overquota-flag in userdb is wrong, execute a configured script.
The idea here is that a quota_warning script could set user's overquota-flag
to e.g. LDAP where MTA could reject mails already at RCPT TO stage. The
quota_warning scripts however have race conditions that are difficult (or
impossible) to fix, so sometimes the overquota-flag could become wrong and
might require manual intervention to fix it. This feature is supposed to
solve the issue by comparing the overquota-flag's status to the actual
current quota usage and execute a script to fix up the situation if needed.
This script is of course racy as well, but there's always the next login
that can fix the situation. Also it's pretty rare that user's quota is
jumping just around the limit.
The overquota-flag name in userdb must be "quota_over_flag". There are two
settings to configure what to do:
plugin {
# If quota_over_flag=TRUE, the overquota-flag is enabled. Otherwise not.
quota_over_flag_value = TRUE
# Any non-empty value for quota_over_flag means user is over quota.
# Wildcards can be used in a generic way, e.g. "*yes" or "*TRUE*"
#quota_over_flag_value = *
# Service script to execute if overquota-flag is wrong. Configured the
# same as quota_warning scripts. The current quota_over_flag's value is
# appended as the last parameter.
quota_over_script = quota-warning mismatch %u
} |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
2ed2459dbd183bb371da4a0aecb2d2b74ae7c815 |
|
15-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
Handle "out of disk space" and "out of user quota" as separate cases.
"Out of disk space" is a temporary error that should be logged as error and
the failure should be sent to user as "Internal server error".
Obsolete the use of MAIL_ERROR_NOSPACE and MAIL_ERRSTR_NO_SPACE. Use the
clearer MAIL_ERROR_NOQUOTA and MAIL_ERRSTR_NO_QUOTA instead. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
81e4bda7d481c57cd049a0a68daab733b1ca9c44 |
|
08-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Allow mailbox names in quota_rules to contain "*" and "?" wildcards. |
9a30df5ac82378e2706715eaf3ee6653d8b46161 |
|
01-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Don't log errors about missing namespaces for autocreated shared mail_users. |
aaebcf0da12df7216be69961204fa64ec24c54b9 |
|
08-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
quota: dsync shouldn't trigger quota warnings
They would probably just be duplicates that were already triggered by the
other replica. |
bc7a4cf2c06702ebaedba9a7c15ce657d5856f63 |
|
11-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Added quota_last_extra setting, which defaults to 10%
This can be used to save the last message when user is almost over quota.
So by default the last message can bring the quota over 10% of the total
quota limit. The setting allows also explicit values. Setting it to 0 brings
it back to previous behavior. |
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. |
1f5670bce3e5ec0c1ddf8d95c57ebb428f1339f6 |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Don't crash if shared namespace's owner doesn't have quota enabled (but you have). |
406ea4e54dc603e381749b5c29176a4e756e9a99 |
|
11-Dec-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed quota calculation with mailbox_move(). |
95d50c6f87501978687a1bc0685d8bc469645e7f |
|
27-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
quota: mailbox_get_status(STATUS_CHECK_OVER_QUOTA) returned wrong value on success.
This fixes lmtp_rcpt_check_quota=yes |
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. |
048e40f9364fa68482bc276dd4a5d595a3d742e9 |
|
16-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
dict quota: Fixed a potential crash if quota recalculation was triggered at deinit. |
9357960a30d4936de5e261bf522d83f7d3f49986 |
|
24-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added STATUS_CHECK_OVER_QUOTA for checking if user is over quota. |
74b0ef7d147bda1e8a2f7b0e9ff0041ab58e2eba |
|
04-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Removed quota_ignore_save_errors setting and made it enabled always. |
4ee00532a265bdfb38539d811fcd12d51210ac35 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Easy way to update your existing code:
perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch] |
6f42ea227d5623d7960c8d8cd29e668870a78752 |
|
23-Jul-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Added quota_ignore_save_errors plugin setting.
If mail is being saved but current quota usage lookup fails with internal
error, save the mail anyway instead of failing. |
807b06485623fe389f9414ba9f5ed08df01a4b57 |
|
20-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Ignore quota when handling mailbox_move(). |
6ae329de09afb7214c906d762320847e05469d53 |
|
22-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Added a kludge to avoid recalculating quota. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
abec3f4c5ec486c393e1513950f2d4819dcbc30f |
|
06-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Renamed mail_save_context.copying to copying_via_save. |
af9edddbb704a640055898846add4e386e83fe43 |
|
30-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mailbox_delete() now always first expunges all mails before trying deletion.
If any new mails are added during expunging, the mailbox deletion fails.
This behavior allows removing basically duplicated code where this is done
for mdbox, sdbox with external attachments, quota updates and lazy-expunge. |
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 |
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. |
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 |
40c24f8fe31037b61f2ac594a6dfcd123080b4b5 |
|
04-Nov-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Better fix to avoid counting quota for virtual mailboxes. |
53e85e63dbbd681369390f084d40776750b2c232 |
|
01-Nov-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Added a temporary hack to avoid virtual mailboxes being counted in quota. |
a9a77f4632b1f00cc3c6664c91ef5f23746e099b |
|
28-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Don't crash if user has quota disabled. |
4316355ca8b7698516272520a972291378698140 |
|
21-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Avoid calling i_fatal() on initialization errors, plus some other fixes. |
b79a09b5915ff12c10d2e5accf4318776a152e80 |
|
24-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Mark the mailbox deleted before starting to reduce quota.
This fixes race conditions with another process modifying the same mailbox
at the same time. |
1e9c53531a31e3ad0168872e513046a3222a1afd |
|
11-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed updating quota when sync_notify() had been called outside regular syncing. |
d7c2ae49f036ef256f63bd2d437c53da122c665e |
|
05-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Use mailbox_list_created hook to override list methods. |
805872b9f885c1cc4bddf0b6ff71ca61f6cdd7bf |
|
03-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed ns=prefix to work for private namespaces. |
bb34c6538784b564c05eefccc74af2bd7c9505f5 |
|
23-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed a memory leak on deinit.
Based on patch by Mike Abbott / Apple.
--HG--
branch : HEAD |
539977f9257bd8985be5a8093658da266ae9cd19 |
|
07-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Plugin API changed to run plugin functions in correct order.
Previously the hooks were run in correct order, but the functions they
overrode were run in reverse order. This caused problems when multiple
plugins were used.
--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 |
61b0637759146621cbb7edcbd0b03a71cfd66dfe |
|
09-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox deletion API changed.
Mailbox deletion should now be free of race conditions. The actual file
deletion code is now responsibility of mailbox_list backend.
--HG--
branch : HEAD |
e10d8b1291090c26b9ef499637e6e632485ca5be |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Split mailbox_close() and mailbox_free() functionality.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
ea9d9d99948cff5f9b881f79b28fa3b80da0f2a7 |
|
17-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
plugins: Simplified code by using mailbox_allocated hook.
--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 |
b9d91b39ae356f3986236cd63e8f0afd25f5abc6 |
|
15-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
maildir: Always add S=size to filenames.
It's necessary for using zlib plugin and doesn't hurt much anyway.
--HG--
branch : HEAD |
81c0e970da009d078dcdaa7c05990675d1352899 |
|
14-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
plugins: Use mail_namespace_storage_added hook instead of mailbox_list_created.
In mailbox_list_created the storage hasn't yet overridden the list functions.
--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 |
e5acc283bf030b0b5c79ca4e52d315c516a299fa |
|
16-Oct-2009 |
Pascal Volk <user@localhost.localdomain.org> |
Log debug-level messages with i_debug().
--HG--
branch : HEAD |
e20e638805c4bd54e039891a3e92760b1dfa189a |
|
08-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_foreach*() in some useful places.
--HG--
branch : HEAD |
263e4b2733768062cb0b8b8917cad78fa2a04ff9 |
|
28-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
Plugins now use mail_save_context.copying instead of their own save_hacks.
--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 |
eafecb7ad0fbbde0da8be7e8ae735459b7bb688b |
|
07-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
quota: Rules use virtual mailbox names now (as they always should have).
--HG--
branch : HEAD |
1d2b188f0eedc3cab6e27ceac5425a037f38042e |
|
15-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Mailbox opening and closing APIs changed.
--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 |
16db188cfddce117500a161302f17ae691b4500e |
|
26-May-2009 |
Timo Sirainen <tss@iki.fi> |
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
--HG--
branch : HEAD |
2d8b23805db6f06b8b38174fb6e135386694f429 |
|
17-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Implemented support for per-namespace quotas. Can be used with public namespaces.
--HG--
branch : HEAD |
a341c4cdbd4b93ba479f465ad3f569dc82f57312 |
|
14-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Changed MAILBOX_OPEN_FAST meaning a bit. Don't use it where it's unnecessary.
--HG--
branch : HEAD |
665bcbd1e21c77c8df4c750ad3a3d7bfb8938feb |
|
07-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
quota: Previous change broke other plugins.
--HG--
branch : HEAD |
f7fcdca120f1b591f885408d08fc90cfd725bf94 |
|
07-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
quota: Don't crash when modifying non-private namespaces.
--HG--
branch : HEAD |
4b9f99761df5014c659cd87fddaf6854af428cfc |
|
25-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Added i_stream_get_size(). Use it instead of i_stream_stat() where possible.
--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 |
0df9428baed48afaff90b4d4f03792d2fd756a43 |
|
02-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Fixed plugins to work with config rewrite.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
a443e5aaf632257bfd1e7aa9b3c42c09512bbe43 |
|
21-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Quota works now properly with shared 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 |
3091db1d26fed038841a3a81dd5ff507d0b375ce |
|
18-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
quota: Previous dict quota fix broke trash plugin.
--HG--
branch : HEAD |
c1563f46bd9ae4ad20f37f003220443a6224fb9f |
|
16-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
dict quota: Don't crash when recalculating quota (and quota warnings enabled).
--HG--
branch : HEAD |
39bf79e1247d4a2359ca9bb7f733905a1862c485 |
|
12-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
quota: Fix to previous mailbox deletion fix.
--HG--
branch : HEAD |
6e22333f2cc2562d9bebd93803f70e7ac987f66a |
|
12-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed error handling if quota shrinking fails when deleting a mailbox.
--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 |
e3aeeb634245e80d4f643f8d2eea11d6b72336d8 |
|
07-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox_save_init() API was split to multiple functions.
This allows adding more parameters easily in future.
--HG--
branch : HEAD |
cf942dce0253075911a96cff323b5f30eb654ae0 |
|
20-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
mailbox.save_init() API now takes ** pointer to dest_mail, so multiple
plugins can safely specify it. ctx->dest_mail also gets updated then.
--HG--
branch : HEAD |
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 |
e726bf74fcc8d24f4c9d0d83217b3db4314d9d1f |
|
25-Apr-2008 |
Timo Sirainen <tss@iki.fi> |
next_hook should be called after our hook is finished with its doings, that
way they get executed in the intended order. This should fix some problems
when multiple plugins are used.
--HG--
branch : HEAD |
b87436ebb957a9eb182be72ba00e2c8eae59a2e4 |
|
11-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Added quota_exceeded_message setting.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
26550dc10a8c2057d09894c4e3f9dc12b124e90c |
|
21-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
If transaction rollbacked, we assert-crashed.
--HG--
branch : HEAD |
12ea3aeeb61df84632f04f86f47902a3750d61f8 |
|
28-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Free mail before committing transaction.
--HG--
branch : HEAD |
fc87ea9afdff76136ed781ea1d7d0598da9cd357 |
|
27-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Don't fail if trying to delete a nonselectable mailbox.
--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 |
370c4117f854357c9ea86495fb3b4e8769b6db07 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Synchronize mailbox after it has been opened.
--HG--
branch : HEAD |
29e82a14501731bef8c41a1b27fc415d634fa01d |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Mark deliver's dummy mbox namespace as internal and don't include it in
quota calculation.
--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 |
83bb013a99f0936995f9c7a1077822662d8fefdb |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_*() APIs changed to return int and return the actual data as pointer.
Changed some code to do error handling a bit better.
--HG--
branch : HEAD |
73b50eecfc31750a312e2f940023f522eb07178c |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_lookup*() can't fail anymore. Changed several APIs not to return
failure anymore.
--HG--
branch : HEAD |
f70a4526fa8eaf5faafca01800faf590a4eaedb0 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
More transaction_commit() compile fixes.
--HG--
branch : HEAD |
9397d8c945b077e576657769ff5eeede78bcc228 |
|
22-May-2007 |
Timo Sirainen <tss@iki.fi> |
If mail_set_uid() returns failure, don't crash.
--HG--
branch : HEAD |
ff7056842f14fd3b30a2d327dfab165b9d15dd30 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Error handling rewrite.
--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 |
bd7b1a9000b12349e2a99bb43b3ce8b96a18e92b |
|
17-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Use sync_notify() callback to count expunges. This makes the calculation
much more reliable than the previous method. Also did some API cleanups.
--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 |
bda9a6d9b021c122a01a85cb3cee2f996263d8f0 |
|
12-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
s/quota/quota_set/ so we don't conflict with the quota symbol already
present in Mac OS X.
--HG--
branch : HEAD |
3ccfcf0856958cb9208a9fc51c3bdf13c58ad52a |
|
30-Jul-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Added support for multiple quota roots, rules and storages. The configuration
has changed, userdb now needs to return "quota_rule" settings instead. Much
of the code changes were done by Tianyan Liu.
--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 |
f6f94063c4c3080280b87ab47ac2bb756ba002f9 |
|
11-Jun-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
If size of the mail was known before saving started, we allocated
the quota twice for it.
--HG--
branch : HEAD |
75bf6f49f6b8ee403f26a609d5c0c726a3262c54 |
|
11-Jun-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Update quota when deleting a mailbox.
--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 |
82995cc154a929f37aa486a72a6485e9f8d34a30 |
|
01-Mar-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Quota API redesign. Still not perfect, but better than before. Quota backends no longer need to be told where the mails exist. fs backend doesn't work correctly with multiple partitions (if you've multiple namespaces).
--HG--
branch : HEAD |
4981827cb5e32cf767b7b0e3070137e6b36f42af |
|
22-Feb-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
mailbox_save_init() supports now returning failure. Quota plugin now checks
if mail is too large in mailbox_save_init() hook. APPEND fails before giving
"+ OK" reply if mailbox_save_init() failed.
Also fixed some APPEND failure cases where the next command was eaten away.
--HG--
branch : HEAD |
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
--HG--
branch : HEAD |
dcd50ecbfe796bd76f2d63483c534cc0e4e94164 |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes and one real fix for int -> bool changes.
--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 |
1795e934ebcd58175d3b5bbdd811b13c7889efa3 |
|
10-Dec-2005 |
Timo Sirainen <tss@iki.fi> |
Added beginnings of plugin infrastructure. TODO: These could be optionally
compiled into binaries with some configure options.
Added quota plugin and a new trash plugin. Not very well tested.
--HG--
branch : HEAD |