de338ef27767268c2018f54f0b5ddeff7fca3870 |
|
31-Jan-2018 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota-count: Remove extra "quota-count failed:" from error_r |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
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. |
4f52de745cf26ee9dcbde7ca4500d442116226cf |
|
08-Nov-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Add error_result_r parameter to quota_count() |
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(). |
d2cbbecf76de3f4eb945895fab5760ed0a28281c |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota-count: Improve error_r strings |
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 |
5997118fa7aee2535edac28092261ca085a958ae |
|
19-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
quota: Initialize quota_backends with designated initializers |
f165d31e1f062ab71dfc82a3f9d7fad5e497dfe3 |
|
09-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: count backend - Don't ignore mailbox list iteration errors |
61cf001f1944d92eb25f113ba4c08985d6e30d53 |
|
03-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Add mailbox_set_reason() calls
Added to the most important places. |
bf7dc750b95039981c0e9d728f313d50cf38a156 |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Log internal storage error on failure |
d4847b921058734e0668bc7690465c91523d9ec0 |
|
23-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Log mailbox_list internal errors |
a758be690d736655ed7c1e3dfb46d3aaf4dd5db2 |
|
16-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_vsize_bg_after_count setting.
If folder vsize calculation requires opening more than this many mails from
disk (i.e. mail sizes aren't in cache already), return failure and finish
the calculation via indexer process.
This should be used like:
protocol !indexer-worker {
mail_vsize_bg_after_count = 10
} |
92c671c1667ea1bea90030a2b69298bf8c541623 |
|
07-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Clarify quota_count() return value. |
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 |
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. |
ad3bf867168121a1255720487457d8bffc3f5e48 |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: dict-quota was broken by 464db6d9d
We can't assume that the quota_root given to quota_count() is
count_quota_root, because dict_quota_root also calls it. |
464db6d9d6d9126ac87143fc7a466120ff5b70f4 |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota-count: Cache quota usage within the same ioloop run.
This mainly means that when both STORAGE and MESSAGES quota is looked up we
don't need to calculate them twice. |
617092b0f17b37625e354d45108ad62baa65a858 |
|
29-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota-count: Code cleanup - give consistent return value
Although the callers didn't care if it returned 0 or 1. |
c80cf58a347d1b6777e12b3bdd38cc52f6a45f73 |
|
17-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
quota: Fixed namespace filtering for dict and count backends. |
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/' |
bb1c6e2b0337990c8125e214534fcdf8165646e7 |
|
12-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
quota: When recalculating quota, don't try to access nonexistent autocreate-mailboxes.
There's no need to physically create them, since they're empty anyway. |
9d44feefe824e808fce433edd5a7a3b20c6f4b58 |
|
28-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Fix to previous commit - counting quota-disabled-storages may have returned random failures. |
9e99739b14df2035477ee58668b91a800dfee260 |
|
28-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed "count" backend to ignore storages that have quota disabled.
For example virtual mailboxes shouldn't be counted in quota. |
d46f8fb3c628fd267c4a5705e6209497eb740f5d |
|
28-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: The new quota counting code was counting only the last mailbox. |
ddd7c3b36893263c7de0df139a266daf75bcca60 |
|
28-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: doveadm quota recalc works now for "count" backend by rebuilding vsize header. |
88b06199c3b87b14c41a636219a19156a5df2485 |
|
28-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Code cleanup - abstract out iteration of mailboxes related to a quota root. |
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. |
c16bf6335c393c00465903f7a46ce2b7ceb6726e |
|
10-Jul-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Use MAILBOX_METADATA_PHYSICAL_SIZE for recalculating mailbox's size. |
67d4da9d5d78bb83b3413acff77f560382fe85df |
|
03-Jul-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Even if quota counting fails, commit the mailbox transaction.
The only changes in the transaction are changes to dovecot.index.cache file
and we don't want to rollback those. |
e7c8048ee5e707cf7c287f0e3ab60343fadfdf58 |
|
03-Jul-2015 |
Timo Sirainen <tss@iki.fi> |
quota: Fixed error handling in quota counting code.
Errors weren't logged and some error checking was missing. |
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> |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
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. |
09b4a50740d34c3f951dc1f9df8edf8283ac532a |
|
18-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Skip alias symlinks when calculating quota |
a8fe899601735459641edae975c0fa08be8482e2 |
|
16-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Removed all the "enum foo;" declarations.
They didn't seem to be very standard. Old gcc versions warn about them and
C++ code doesn't like them. |
402e999a878e0cc41a0afb830fea0a93afc75f0d |
|
11-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed struct mailbox_info.name to vname. |
87b71ffbf111ce67a8392c8d4ef0055f208cc88a |
|
23-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
quota: Recalculation now also counts the namespace prefix mailbox's quota if it exists. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
4145cbac82bfc0c8bfeceeca0ef841700117930c |
|
28-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Replaced MAILBOX_FLAG_KEEP_RECENT flag with reverse MAILBOX_FLAG_DROP_RECENT.
Very few places actually want to drop recent flags, so this way is easier. |
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 |
11352dc3e4b29f3d2763c82f8ea4f99e8daf4fa3 |
|
20-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mailbox_get_last_*error() wrappers and use them. |
8eb223b84389a7b75a39d46484f5166d221305eb |
|
21-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
dict quota: Avoid crashing if quota recalculation tries to recurse. |
73ec9ad7268103e9fd91cf11cdbd6ef6a0b1d1a9 |
|
06-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
dict quota: Don't fail quota recalculation if mailbox syncing fails with non-temp error.
This could happen e.g. with mbox if a file isn't in a valid mbox. |
c07e35cfc9587fc7589cbc1db0daeeb828456b2b |
|
11-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed code related to listing mailboxes with non-virtual names.
The non-virtual listing code would have already crashed with assert. |
cc5e3d3391d7e54b643ab4949e8df465f37234bb |
|
17-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
quota: Consistently assume that mailbox names in quota rules are virtual names.
The previous code mixed virtual/real name lookups.
--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 |
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 |
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 |
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 |
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 |
2d8b23805db6f06b8b38174fb6e135386694f429 |
|
17-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Implemented support for per-namespace quotas. Can be used with public namespaces.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
a254a0d7cf6bd3be2095e397e0230fe730d6a312 |
|
21-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
dict quota: Don't fail quota calculation if some mailboxes aren't accessible.
--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 |
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 |
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 |
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 |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--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 |
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 |
b2e181e33889f0a4a3ba9dc23d676cbfe1bf7782 |
|
15-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Don't set quota limits to transactions until they're needed.
--HG--
branch : HEAD |
18ffea71d9beeec3cc1d400f751926ee72807f62 |
|
29-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Mailbox listing API changed to support more features. Used to implement
support for half of LIST-EXTENDED.
--HG--
branch : HEAD |
61e84692827b6a64912343f515c984853021483a |
|
27-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
mailbox_list_iter_next() returns now const pointer.
--HG--
branch : HEAD |
2f02de1779b23dbe32028c675c44713f45b92b06 |
|
20-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix
--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 |