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. |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
93b8808c974a4d6dfe97ba6006ca2f0f1df76cb5 |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Include mailbox name in quota_transaction_set_limits() error_r |
12d7f667b636405ae54dcc4cb3031f4ba52aff04 |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Prefix quota errors with backend name in quota_get_resource()
Remove quota backend name error_r prefixing from get_resource() vfuncs. |
b14f93ea4f7e9b78e5adbabcc78bd2f63d2bcd36 |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add QUOTA_ALLOC_RESULT_BACKGROUND_CALC enum value |
1379bb74c2855aaf3415fdfe965164a44ac3c001 |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Return quota_get_result from quota_backend_vfuncs.get_resource()
Add a QUOTA_UNKNOWN_RESOURCE_ERROR_STRING for returning error_r with
QUOTA_GET_RESULT_UNKNOWN_RESOURCE.
Forbid backends from returning QUOTA_GET_RESULT_UNLIMITED in
quota_get_resource() with an i_panic(). |
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 |
7b3b617e946d5b32078baa821f5fc05f775e1dfe |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r to update() of quota_backend_vfuncs |
a525be16a69367f43765d20c873b5f168c5b7ea3 |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r to get_resource() of quota_backend_vfuncs |
e83a11eb1dc0dea31754396e1d07c5205d810104 |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r parameter to init_limits() of quota_backend_vfuncs |
cf41318871bd42358df3420e50614f5310b08c77 |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r to quota_get_resource() |
efd291767a612b2cf3421f3d4ff1c3d8abd78484 |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r to quota_transaction_set_limits() |
b62139aae0a0099d0ede35b164b2870479f9b027 |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_r to quota_settings->test_alloc() |
47a5a7e8296f3b8f2fac9a0659d4de3f2723ba4a |
|
06-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Use PRI* macros and %zu instead of casting |
2e07e3182f355cf04a1461dd7f893d0ebc818764 |
|
03-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: quota_get_resource() - return enum to make the result more exact
This is mainly to differentiate between "resource name unknown" and
"unlimited quota".
This also fixes quota_clone plugin to update quota even when quota is
unlimited. It was supposed to have been skipped only when the resource
names weren't known.
The private quota.get_resource() API is unchanged. The backends were
already returning 0 only when the resource name was unknown. |
086e8ecc50156d1017e5b807bdecc00b4fdc2a0e |
|
23-Aug-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
quota plugin: restructure quota_root_get_rule_limits()
If the user has unlimited quota, we have no reason to find the real
mailbox name. |
10207755f33a4cf1a1e901968137ae4f2bc93bbf |
|
13-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fix negative storage-based quota_warnings to work with count backend
Finishes f9362223346d10a5866b376ed227b77b26ea4292, which fixed it for
"messages" but not for "storage". |
3e170cc66eda9e1775825a5713c2d2b6a4891a04 |
|
13-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: When setting auto_updating to transaction, skip invisible quota roots
Skip the quota root also if the mailbox matches "ignore" quota_rule.
This is only an optimization fix so that unnecessary work isn't done for
quota roots that aren't actually used. |
fde14422caabc3c4ac4a6c5e3e5cf176cedd90a6 |
|
21-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fix failing again if quota setting has invalid parameters
This was broken by the recent quota parameter parsing changes. |
bd389ead3c13c43f85bcd7cdcb1ba3cf304b85a3 |
|
12-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: quota_root_iter_next() - Iterate all visible roots
Don't try to skip the roots that don't have an active quota. imap_quota
plugin does the skipping now itself, and quota_clone shouldn't really be
even used with more than one quota root. |
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. |
7076aac11069d8400785373f6317c3c7f07d0883 |
|
09-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Remove unused quota_free() |
27569c07b5df5c4f079ca6cd329a5abb1b770d05 |
|
09-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fix quota_vsizes=yes to work with all backends |
e8760ad579cae936b32308088e3ed78d9aeb273e |
|
07-Jun-2017 |
Sergey Kitov <sergey.kitov@open-xchange.com> |
quota: assertion for *args != NULL is added in order to avoid warning from static analyzer and *args[0] changed to (*args)[0] |
6e43afe039cf90e7755ba470070b3bec67d88b3f |
|
25-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fix infinite loop when parsing quota parameters
Broken by previous quota changes. |
73cdeeae4ccae9930973dfb6a5b4835c79bdba49 |
|
23-May-2017 |
Sergey Kitov <sergey.kitov@open-xchange.com> |
Whitespace cleanup |
aa089dcef71e735dcb902cb709f0b37643fd9842 |
|
23-May-2017 |
Sergey Kitov <sergey.kitov@open-xchange.com> |
quota root default init changed to use common param parse function |
afbdaecd328f6c912293d713975856cbb2d75452 |
|
23-May-2017 |
Sergey Kitov <sergey.kitov@open-xchange.com> |
common quota parameter parsing function implemented |
654c60f1741fd195878d74a30df90bf130649d64 |
|
25-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Add imapc backend
This allows using imapc storage with imapc quota. The quota acts as
read-only, so it's used only when the current quota usage is explicitly
asked.
The quota can be looked up using either a mailbox name or quota root name.
By default INBOX's quota is looked up. If there are multiple quota roots
returned for the mailbox, only the first quota root returned by the
QUOTAROOT reply is used. |
ecd54d6c65d15c1a518c6754383389acac655ec2 |
|
24-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fix namespace deduplication when mailboxes don't have paths.
Nothing requires a mailbox path for quota backends, especially imapc.
Still do namespace deduplication based on alias_for settings. |
b1e097e04ceff5800101ec3615f815f2d0f2fd12 |
|
31-Mar-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota, acl: Use mail_user_plugin_getenv_bool() for boolean settings
These were forgotten earlier. |
bd2a176b573f9679e7e45339c20ef71704f071c0 |
|
26-Mar-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
quota: Add backend register/unregister
This way, other mail plugins can register their own
quota backends. |
bf7dc750b95039981c0e9d728f313d50cf38a156 |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Log internal storage error on failure |
8fc6dd0572450cc2896f8089d23319a64a50267a |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Use mail_user_plugin_getenv_bool to get quota_vsizes |
7f4fa37676bac8efcf4e2ac706172b1bad779a8a |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add quota_max_mail_size setting |
64f889c7c1707f9951755c997d750639be5dd41c |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Use quota_alloc_result in quota_settings.test_alloc |
38ce5769db11e7f52562610ee6e6fc4f0ea7888f |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Introduce quota_alloc_result return type |
bbe7af3946f071eaf3f81ac769dd1c735168b735 |
|
12-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Log why quota_over_flag check is skipped if mail_debug=yes |
40edfbbb81b7a76cddac2b327ed547d4feeb5e88 |
|
12-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: If quota_over_script is unset, skip the quota_over check. |
b711a7fc74bb2d21e1e951d7ae2e8517c53bb24b |
|
12-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: If quota_over_flag_value is unset, skip the quota_over check. |
4009eb0bbe343958c22772bc0be88d17ee1c33fe |
|
12-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Remove quota_over_flag_* from quota_root.
They are used only in one specific location and don't need to be stored
permanently. |
cd337e465bf8bf33d556fc397787d1519d1cef07 |
|
07-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Make sure quota_warning doesn't wrap "quota before" value.
This could happen in some race conditions (and with bugs). |
f97866381675fe12cdab0f2d56a059fe7b88457a |
|
07-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: When executing quota_warning/over_flag script, log the reason why. |
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 |
fa3fc0b4c821874ccc56a1512604f661b411d3a4 |
|
14-Nov-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
quota: Use program-client for quota-warning scripts |
55639052253ff28c6a0f569ae76dfda33e02c5f2 |
|
10-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Don't execute quota_over_script if userdb lookup was over 10 secs ago |
5b5da56e477dd55fbac23be9c96d8baa00482069 |
|
10-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: If quota lookup updates vsize header, lock it earlier to avoid a deadlock. |
d6b606142e1349f4002a6bd83874399e0edd28bd |
|
10-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fixed handling when mail size lookup fails due to mail already being expunged.
We don't want to fail it as a quota allocation failure, but just pass
through the "mail is expunged" error to the original caller. |
ad759d5e8971dd3dae17f40087bcb50f7bc4599e |
|
10-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Don't get message sizes when updating mailbox that ignores quotas.
Nothing is done with the size anyway. |
13a2b020c7ae44b1433a6328f7c79cc3ad8306fe |
|
02-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Log an error if mail's size can't be read.
We were still logging "Internal quota calculation error" but not necessarily
any other reason. |
f0339f522dc9c8e2e8a29ef9a3f937c431c6bd1b |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Use only explicit int -> bool conversions
These were checked with a patched clang. |
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. |
661998e2ccd772ad92a9d4a75cb712692a8c94b3 |
|
08-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-dict: dict_transaction_commit*() returns now error string |
20e04227229970d148801c507946666e2a9bd838 |
|
08-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-dict: Renamed dict_init_full() to dict_init() |
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. |
a9c26c907e2995ec98f31e1716adaddb18e45742 |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fixed debug logging for quota_over_flag |
272fef0a81805365ee9743200cc9277e10e066b2 |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fixed quota_over_flag handling when quota usage==limit
It couldn't really work correctly otherwise. If we've reached the quota, we
want to start rejecting new mails. |
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. |
814bf67459ad405a157af0b8940602024d7fadfe |
|
23-Sep-2015 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
Remove now-unnecessary direct stdlib.h #includes. |
68d7af0bb1d5f9da9dffda7d0616e99624d784e6 |
|
22-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Make sure the limit return value is initialized when quota_get_resource() returns 0
Later on a debug log message in quota_over_flag_check_root() was accessing
the limit, which wasn't necessarily initialized.
Also initialized value return value just as well to be safe. |
c4db1218645ed8ec8b5ae67c05bc5d7a80c1b8ae |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Added "count" backend, which simply sums up mailboxes' vsizes.
In a way this is similar to the simple "dirsize" backend, but much more
efficient. As long as mailbox_list_index=yes, the quota can typically be
looked up only by reading the dovecot.list.index* files.
This backend enforces using quota_vsizes=yes setting to keep the performance
good, because physical sizes don't have a similar optimized vsize header.
There's also no especially good reason why this backend should support
physical sizes - they were originally mainly used to allow quickly stat()ing
Maildir files. |
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. |
a4922fa0c7de2aa332bc1361abf6f93f001fc02e |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Code cleanup - extract default init() handling to quota_root_default_init() |
4c7e360ab67642c08f82c709445ea45aa170632d |
|
29-Apr-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Don't assume mail is too large if a quota root has mail count limit but not size limit.
Based on patch by Alexei Gradinari |
9871c4b8a06fc26de2101b825fedd7c80e8195b3 |
|
27-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Added debug information for quota_over_flag handling. |
e265563be2031bc1f9b4ef15888e31a94a344e5e |
|
27-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
quota: When reporting quota value/limit in kilobytes, round the value upwards.
Most importantly this doesn't truncate <1024 values to 0, which also in
quota limit means unlimited. |
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> |
3f7583189249a28892cd5bd69e15681c7a8a619b |
|
01-Dec-2014 |
Timo Sirainen <tss@iki.fi> |
quota: Added "hidden" option to hide the quota root from IMAP GETQUOTAROOT command. |
5be5d875996999585de785ac33f96ff1569f1a0e |
|
16-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
quota: Quota recalculation didn't include INBOX in some configurations.
If one inbox=yes and another inbox=no namespace shared the same mail
location, and the inbox=no namespace was first, only it was used to list all
mailboxes. |
9346506a9f4dd9a6285fe8595588e73161849235 |
|
28-Aug-2014 |
Timo Sirainen <tss@iki.fi> |
Replaced dict_init() with dict_init_full() in various places. |
b863b7e3fccf75f90f613b875f02fd1781e14e5e |
|
02-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
quota: Moved some functions to quota-util.c |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
e66cd209fcab4817d2234d0121b404925dc60034 |
|
19-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
quota-status: Allow mail to go over quota up to quota_grace. |
9ff8e48276d0aeda2643fba0c36f6c63a070522b |
|
09-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Fix to previous wildcard change |
81e4bda7d481c57cd049a0a68daab733b1ca9c44 |
|
08-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Allow mailbox names in quota_rules to contain "*" and "?" wildcards. |
2521fd0986302cdabc8b0711eef63ac188f32cd6 |
|
08-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Added support for SETQUOTA IMAP command.
The configuration is done via quota_set setting. Currently only dict backend
is supported. For example:
plugin {
quota_set = dict:file:/var/lib/dovecot/quota/%u
}
The SETQUOTA command is available only for the "admin" user (userdb lookup
must return admin=y). |
9b61a6db87c026656f8d2ae214e4486b98a069c0 |
|
07-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Improved init() failure error logging. |
bc278f2c038268f6866f7e2981a32a59f04222ec |
|
24-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed quota_rule with non-uppercase INBOX. |
10ccd0e45768923d69be459e87ef6cd2574cec60 |
|
11-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
Removed ambiguous mail_user.admin flag. dsync shouldn't sync mailboxes without +r ACL. |
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. |
b8a4aab1f117f6760184ad50b1af41ba810b51f9 |
|
31-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Added more debug logs about quota_grace |
ad0fe438255666726723a93f3112df6e103028af |
|
28-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
maildir++ quota: Fixed relative quota_grace when taking limit from maildirsize file |
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). |
50ecf65993bff429af04deef6c832deb019c76a5 |
|
13-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Renamed quota_last_extra to quota_grace. |
a2f5f69de816fd9680ded4d1150e103f5dcda1be |
|
11-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
quota: Use quota_last_extra only for LDA/LMTP (not for IMAP). |
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. |
bdd36cfdba3ff66d25570a9ff568d69e1eb543cf |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed network.[ch] to net.[ch].
The function prefixes already started with net_ instead of network_.
And icecap wants to use network.h for other purpose. :) |
d7babe048f9ae1afa5357973b8de8c929753a216 |
|
18-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Allow negative percentage rules up to -99% |
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. |
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. |
766115d2b2e6dbcf59f90d3b3866851cf6f740fe |
|
16-Jul-2012 |
Timo Sirainen <tss@iki.fi> |
quota: ns=PREFIX setting was ignored when accessing other users' shared mailboxes. |
e34d170f8f0e084bd94bfbc1a7085ece67e508df |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Make sure we check all the functions' return values. Minor API changes to simplify this.
Checked using a patched clang that adds attribute(warn_unused_result) to all
functions. This commit fixes several error handling mistakes. |
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 |
0d5689dfa8efb1d92258f44a3a60e2bef06a3a68 |
|
21-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Don't crash at init if one of the namespaces no root dir. |
269370f66e320a071700e33d9f2584eb46d96a90 |
|
24-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Set to quota transaction how many bytes/messages we're over quota. |
8ba29b2d23453ee632efc721f3bf2e2433896296 |
|
11-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
3cfc375f0d939c346b9b0e6f0ac78b9bc367dd95 |
|
09-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
quota: If "quota" setting's value is empty, assume quota is wanted to be disabled. |
97daba82224dd757b7b7526ab3fd5d574a5f35d8 |
|
05-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
quota: Ignore quota limits for admin users. |
b089505afb8b5c5dfb43ef88af0ea7e0920db587 |
|
15-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
quota: When matching mailbox names in quota rules, unalias namespaces first. |
4f68fa8a117642e2c134a29d8e35569bce6c3158 |
|
09-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
script: Be sure to handle LF+LF properly. |
2d3731908f924bc8a2b7887a712cc033e618c998 |
|
28-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
"script" service API changed to provide more functionality. |
723c3049be35a0e1019f9a84d69cb96924ee5064 |
|
05-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed the quota limit check changes in previous commit.
Casting (uint64_t)-1 to (int64_t) isn't a good idea. |
30ad2b0309119501efad06c72ec9b1561b90d4af |
|
04-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
quota: Code cleanup. |
c1838f0f2d07e2079e6c89110ef7424250eb4791 |
|
04-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed checking message count limit when saving multiple mails in transaction. |
64529e3b72b0f0fba9d0c2e0b84156ecdf330b7c |
|
04-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
quota: Set quota limit correctly (for code path that doesn't exist).
quota_alloc() followed by quota_test/try_alloc() set the "quota left" limit
wrong. But this is only a theoretical problem, because nothing actually
calls quota_alloc() currently. |
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. |
bd4cc8e98cc894d716942ec3173bc4d237dc43b1 |
|
28-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
script utility now supports the script using stdio/stdout for communication. |
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 |
968aab2a00d1b53a53854fc2e97d1c632171a54e |
|
13-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Quota warnings could have been executed at incorrect times with some configs.
If target mailbox had quota ignored, the warning was sent if the mail would
have otherwise exceeded the warning threshold. Same when using multiple
quota roots where all of the roots weren't used for the target mailbox. |
426e50e7647009bb22db67d9012043f0a59e7452 |
|
22-Nov-2010 |
Timo Sirainen <tss@iki.fi> |
quota: If user has unlimited quota, ignore any specific quota rules. |
40c24f8fe31037b61f2ac594a6dfcd123080b4b5 |
|
04-Nov-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Better fix to avoid counting quota for virtual mailboxes. |
596ec384269cad3b0f0661df89b9cf33cbd171b7 |
|
06-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Give better error message for connect() EACCES failure to quota-warning socket. |
5183f82691b9c6e5707d93fe57336cd89462d574 |
|
23-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
quota: When logging about obsolete rule, log the full rule string. |
4c4f6141f1eecc76c3242e37d0016f55c6c43cfd |
|
23-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
quota: When logging about obsolete rule, log also the quota root name. |
4316355ca8b7698516272520a972291378698140 |
|
21-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Avoid calling i_fatal() on initialization errors, plus some other fixes. |
ad4f1b0666975c57dd2d8d3492b223ec814791cd |
|
14-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Added support for reverse quota warnings.
Based on patch by Jeroen Koekkoek |
de2e4c8fd028e8318e77e7f9afedaf2dc06fff33 |
|
30-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
quota: With mail_debug=yes, show the non-default rule bytes/messages with "+" prefix.
--HG--
branch : HEAD |
6b43203878bd3c87f5ae690617a1cbc694e24c01 |
|
28-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed a potential crash with dict quota at deinit.
--HG--
branch : HEAD |
76a99afe0914951d20d96e0bf5e6d8d3ea3fd503 |
|
02-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Use the new "script" service for executing quota warnings.
This improves the performance, especially when the process is handling
multiple users, because it no longer has to fork a process and wait for
the script to finish.
Example configuration:
plugin {
quota_warning = storage=90%% quota-warning 90 %u
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
user = vmail
unix_listener quota-warning {
}
}
The quota-warning.sh will be executed with parameters 90 and username.
--HG--
branch : HEAD |
4f2315ea4a94311340fc73cb563f61f02dbf29de |
|
28-May-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Non-default quota rules should now have '+' before the limit value.
This should make it clearer what it means. The obsolete way without '+' might
be changed in future to actually mean an absolute quota limit.
--HG--
branch : HEAD |
d19d3aa4eafa34b48b7d7d311c9db31e1898576a |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Added ignoreunlimited option to quota roots to disable tracking users with unlimited quota.
--HG--
branch : HEAD |
abc79eec93e58e0152cd1d483f37be66c26811b9 |
|
04-May-2010 |
Timo Sirainen <tss@iki.fi> |
Increased initial memory pool sizes.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
1e844899e67ba229d39647e53635f78b87c52f38 |
|
08-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
quota: Minor code cleanup.
--HG--
branch : HEAD |
d761c26f2bbf514e0fc0c6ed9bc52627a4179eab |
|
08-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
Maildir++ quota: % limits weren't updated when limits were read from maildirsize.
--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 |
faeaff460d763bb4b574d31d78773f91aaba5510 |
|
28-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
quota: Don't crash with non-Maildir++ quota backend.
Patch by Brandon Davidson.
--HG--
branch : HEAD |
cb931f84e3ec8e3deda253a1c0ae0409023de096 |
|
14-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
maildir quota: Limits weren't read early enough from maildirsize file.
--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 |
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 |
2d8b23805db6f06b8b38174fb6e135386694f429 |
|
17-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Implemented support for per-namespace quotas. Can be used with public namespaces.
--HG--
branch : HEAD |
0df9428baed48afaff90b4d4f03792d2fd756a43 |
|
02-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Fixed plugins to work with config rewrite.
--HG--
branch : HEAD |
f325d795b52ce2053f914072b22ebca9c4f0dc7e |
|
26-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Increased some initial memory pool sizes.
--HG--
branch : HEAD |
9c2092c1f7027803b9c00b16849e8ff355177237 |
|
21-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
quota debug: Hide "(0%)" if quota limits aren't defined defined in percentages.
--HG--
branch : HEAD |
89adb28d8f041e8c0b9c5156f089bb2f8f478ee3 |
|
19-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
dict quota: noenforcing setting caused quota to not be updated at all.
--HG--
branch : HEAD |
7db5ff0dd17c40711bfaa0375aa5cc7f822a82f2 |
|
19-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
dict quota: When updating quota don't look up the current byte/msg limit if there's no limit for it.
--HG--
branch : HEAD |
0e5819a061034f1636b124c03a89f67d37c852b1 |
|
17-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
quota plugin optimization: Don't look up quota values every time when iterating quota roots.
--HG--
branch : HEAD |
d9b8c65d0a0ffc709ba7d23c449dbf2f46b10674 |
|
09-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
quota: Log a bit more when "Unknown backend" error happens.
--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 |
b40d1ef77181fda648e2ba22188c91a124f5bee6 |
|
29-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Quota: If mail_debug=yes, log when quota warning script is executed.
--HG--
branch : HEAD |
00589bcc8452de52d8a4f753be402487eb83ca41 |
|
19-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
quota: If quota backend's init() function fails, die without crashing.
--HG--
branch : HEAD |
cb2b5a7d6e7e651191bf9ee1eda94a6e207288b0 |
|
05-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Changed the default "quota exceeded" error message.
--HG--
branch : HEAD |
b1678954f83e1059b981e2def52a70054fa71399 |
|
14-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Fixed FS quota compiling and Maildir++ quota with multiple users.
--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 |
6d6bbe8787354bbb69d0c03187adfe0f497d70b8 |
|
20-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
FS quota: Handle quota only for the quota roots which apply to the mailbox
when there are multiple roots. With a single quota root the check is usually
unnecessary. Based on patch by Ralf Becker.
--HG--
branch : HEAD |
65e14cef911d5d3fac8993c8a76911a587f05cd7 |
|
08-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
quota: All backends now take noenforcing parameter.
--HG--
branch : HEAD |
ccd44abfe14f51cc1f6d8c0ec1aa6dc31242e2d3 |
|
08-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
maildir: Add ,S=<size> to maildir filename with all quota backends.
--HG--
branch : HEAD |
608aa112aa7d94a1720c909747dcd0b61c079453 |
|
12-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Quota: If quota root has unwanted parameters, log an error and die.
--HG--
branch : HEAD |
2b682d8d3661800f16aceaa45fa4de9b6b140a59 |
|
04-May-2008 |
Timo Sirainen <tss@iki.fi> |
Added "ignore" option to quota rules which causes the mailbox to be ignored
when counting quota.
--HG--
branch : HEAD |
dc23356d79e452e70b589aae8fb78cd43002c384 |
|
19-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Quota: backend= didn't work in rules.
--HG--
branch : HEAD |
7ca2a9f1cca63cbc2ebffc185c7e5a2b32bc2780 |
|
26-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
quota_rule=?:.. specifies the default quota limits to use when backend
doesn't have any. If backend has limits, this rule is ignored.
--HG--
branch : HEAD |
a4b91c3f4b6e0d0428d5f6e7fbf923aa8d371bc3 |
|
26-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
quota_rule=?:.. specifies the default quota limits to use when backend
doesn't have any. If backend has limits, this rule is ignored.
--HG--
branch : HEAD |
634c7207dec9bfa672f7598fd45dd031d3bb5ab3 |
|
26-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Relative (%) limits in quota rules and warnings work now if the backend
specifies or changes the limits (e.g. Maildir++ maildirsize file)
--HG--
branch : HEAD |
3851ad9fcb25635f02b46d44586742ef1081876b |
|
26-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Relative (%) limits in quota rules and warnings work now if the backend
specifies or changes the limits (e.g. Maildir++ maildirsize file)
--HG--
branch : HEAD |
20dd6f6726db692904794d7daafe5b6e7238b720 |
|
20-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Fixed quota warning handling.
--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 |
d8548e14925a06e44c4f1983d7b118b0180939e0 |
|
21-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Quota warnings may have been triggered too early.
--HG--
branch : HEAD |
337d77f9903bf56ccd686479dffaf6069991edf2 |
|
21-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
mail_debug=yes: Log quota warnings. Log rule limits in bytes.
--HG--
branch : HEAD |
89060dbfb00a04a426d002966a7bc2fb5ab07fbb |
|
21-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed using % in quota rules/warnings.
--HG--
branch : HEAD |
e3077468777f5d324224365e34d7bbc449168e52 |
|
17-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Added more debugging with mail_debug=yes
--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 |
d5d23d5ff8b7a06d2ead489ddcf55ee8fb5ca7b6 |
|
28-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added noenforcing option to fs quota backend.
--HG--
branch : HEAD |
fd1f0e9ef52b3e157cfd1a01c464c2ac7458ab17 |
|
24-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Use N_ELEMENTS() macro instead of doing sizeof()/sizeof([0]) ourself.
--HG--
branch : HEAD |
89a126810703c666309310d0f3189e9834d70b5b |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced my Copyright notices. The year range always ends with 2007 now.
My name was replaced with "Dovecot authors". In many cases I didn't really
even own the copyright, so this is more correct.
--HG--
branch : HEAD |
648d24583c1574441c4fa0331a90bd4d6e7996c5 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
pool_unref() now takes ** pointer.
--HG--
branch : HEAD |
43d32cbe60fdaef2699d99f1ca259053e9350411 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
--HG--
branch : HEAD |
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 |
8a1c866a4c429f26c8746525f82024bc387f1407 |
|
07-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Crashfix
--HG--
branch : HEAD |
503e5ef896c7b4a51cf73efb0d132860a8c747e6 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added quota warning commands. Based lightly on a patch by Nicolas Boullis.
--HG--
branch : HEAD |
a449ed9df03e9f7e93d1ec278754416ac3ad9073 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Allow non-default rule limits to be percentages of the default rule limit.
--HG--
branch : HEAD |
94e1adead9faddec88a623485b9999a87b1684fa |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Allow b/k/m/g/t in quota limits.
--HG--
branch : HEAD |
b2e181e33889f0a4a3ba9dc23d676cbfe1bf7782 |
|
15-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Don't set quota limits to transactions until they're needed.
--HG--
branch : HEAD |
12dc81583d1958cb301a617e19fbd40e8d376397 |
|
12-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Allow backend-specific quota rules with backend=<string>.
Support Maildir++ quota limit strings with Maildir++ backend.
--HG--
branch : HEAD |
f3bf2314198da2877ce640360581a61d60c90991 |
|
12-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Give an error if quota rule is missing ':'.
--HG--
branch : HEAD |
8a161890eca262a2d5ff77c2153b7f78e72227b1 |
|
12-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Allow bytes=n in quota rule definitions.
--HG--
branch : HEAD |
ff7056842f14fd3b30a2d327dfab165b9d15dd30 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Error handling rewrite.
--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 |
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 |
de5c7c99783cd86f3bdbc057345cbee923b51a20 |
|
16-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
If we have multiple namespaces with identical locations, add only one
such storage so the quota doesn't get duplicated.
--HG--
branch : HEAD |
fc84f8af4794f4bb6caf6e5ec3fb1f8cebd0462a |
|
25-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
If mail_debug is enabled, log configured quota rules
--HG--
branch : HEAD |
62300a38f91227b9de043a9a8ec1d4f1978e1138 |
|
03-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
dict quota: If dictionary doesn't yet contain the quota, calculate it by
going through all mails in all mailboxes.
--HG--
branch : HEAD |
e392fcb39a06609af20a9e79017683f194de3dde |
|
22-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Bytes and kilobytes were somewhat mixed up everywhere. Also fixes a
compiling problem.
--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 |
3fe44a0df5a0bdd80c495f79cbf0e384441d6fcc |
|
30-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
Changes to make trash plugin working again.
--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 |
63bff59e836ca984fe7079bf66e3f84c06e48002 |
|
15-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Don't return NULL error so we don't crash in some systems.
--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 |
6800c6607013d4fdef5a4f764bae407301c6cce8 |
|
06-Mar-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Cleanups.
--HG--
branch : HEAD |
cb951d3282610a9a0960230865bc5f3e3347b203 |
|
05-Mar-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Maildir++ quota support.
--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 |
9844b5359f5cab77e4c31a7ac9e4a60a0073929e |
|
31-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Dictionary takes now a username parameter, which is used for private
queries. Made dict-sql use "insert .. on duplicate key update" syntax, which
unfortunately doesn't work with PostgreSQL yet.
--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 |
a35cbba04d0a2823da98e693bd09a051addffdb2 |
|
14-Dec-2005 |
Timo Sirainen <tss@iki.fi> |
quotactl() quota checking support
--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 |