677cc0d62b41c7506246bf1b992a400a11896474 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_user.event and give parent event in mail_user_alloc*() |
211caf3c233d562b0c8137e5eefae3cb1ef13003 |
|
11-Dec-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: mail-user: Added more information about the client connection.
Submission service will need it to pass to the backend MTA in XCLIENT and for creating the "Received:" header. |
ff4ba036fcdf28d4a1a7e3c1c6c0c71793547bd6 |
|
11-Dec-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: mail-user: Changed mail_user_set_vars() to accept struct mail_user_connection_data, rather than individual fields. |
60670187b0dd0e7f23f99a58feab11b862ad77ac |
|
11-Dec-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: Moved connection information in struct mail_user into separate struct mail_user_connection_data. |
55cec51dba1352482e93db30d7ced6bc4fe15f3a |
|
28-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Move autoexpunge lock creation to a generic mail_user_lock_file_create() |
5231ae561283595a73e9d838bdf4eb5d1b074679 |
|
12-May-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: add a mail user pre-deinit vfunc
This allows plugins to perform checks right before the deinit call. |
646817f0cfb39b0e0eb545900f1566b76a851b20 |
|
23-Mar-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Replace MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE with explicit mail_user_autoexpunge()
This allows better control of which users are being autoexpunged. This
patch changes behavior at least in two ways now:
1) After shared folder access, the owner user isn't autoexpunged at deinit.
Although this is a bit questionable of whether it should be or not.
2) LMTP's quota check at RCPT TO stage doesn't trigger autoexpunging. |
26bdbffc35ee46779f15a537a757ed937a4d1c91 |
|
06-Feb-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-storage: Added mail_user_init_ssl_client_settings(). |
34512eaad8b1b2f929e6d6e3a2f7252c29fba97b |
|
06-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't duplicate service user's settings into mail_user
The mail_storage_service_user.user_set isn't used afterwards, so it can be
directly used to avoid wasting memory. |
71bfb0ac64babaa2c15457492227f0ba3adce307 |
|
15-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add struct mail_user.namespaces_created
This makes it easier to determine in mail_namespaces_added hook if the
namespaces being added are the initial ones or later ones. |
a020eb653b2620a989e4795adceb6136037327b2 |
|
10-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added mail_user.session_create_time and .session_restored |
287b5ba23f182fd98e7a6ba3a63669c1572f2ca4 |
|
10-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added mail_user_set_plugin_getenv_bool() |
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] |
527c2b071dca35b91648344e867ab1af9c988281 |
|
03-May-2016 |
Baofeng Wang <baofeng.wang@dovecot.fi> |
lib-storage: add mail_user_plugin_getenv_bool
New API will check boolean-like env setting OR its exsitence.
Function returns FALSE when:
* Read out a null string,
"Or" * String starts with any letter in set {'N', 'n', 'F','f','0'}
To keep downward compatibility, For other cases including an empty
string, function returns TRUE. |
8cca3b43b28365cfee4dc733c00caaeab8ecd2ad |
|
20-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Enable autoexpunge only when MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE is set. |
c981098a515c62fdfb3261e532b5d6163a0f8946 |
|
22-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If stats plugin is enabled, set fs_settings.enable_timings=TRUE. |
326c86b1cdb555957b236958e17142e82e34074e |
|
07-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_user_init() wasn't always expanding %h correctly to settings.
This mainly affected users autocreated for accessing shared mailboxes. |
691f802ef6ec2105079d420ba26b21088402c6da |
|
06-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Store pointer to mail_storage_service_user to mail_user if it exists. |
23152672e3ad7f3512c11df43e8dabba4fe6407d |
|
28-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added %{userdb:*} expansion to mail settings. |
4a14ae55292476bc0b8eb314d602a262ab094a52 |
|
20-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
Removed mountpoint checking and updating code.
After a few years it seems like it has just caused more problems than it has
actually fixed. The only thing it's been used for is to make sure that
Dovecot can't create empty user directories when the user's mail filesystem
isn't mounted. But that's supposed to be normally prevented already if the
mount root directory permissions are only writable by root.
For now the mountpoint listing code and doveadm mount code still exists just
in case people have some scripts using those. Those could be removed in v2.3.
If we somehow figured out which mountpoints existed (not so easy because
they could be only visible in userdb lookups for different users), we could
maybe create some kind of a script that checks the permissions at startup.
This would work with Linux at least:
mkdir test
mount / -o bind test
ls -ld test/var/mail # assuming /var/mail mountpoint
umount test |
379175cfba8150d481d9898b78330b719d128d84 |
|
05-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
stats process/plugin redesign to be more modular.
The visible functionality doesn't actually change with this patch yet, but
it allows other plugins/services to add their own fields to stats process.
For example auth process could send auth success/failures or auth cache
hits/misses. |
1701b354e81ff1dfd0b6c7bb4412b8d9c2b9f986 |
|
17-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_user_init_fs_settings()
Also changed mailbox_list_init_fs() to use it internally. |
645d76bbb742c74795a0b35fe159451c4afad8d8 |
|
13-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added "creator" for mail_user.
This allows fixing stats plugin to update stats also for shared mailboxes.
That's a bit complicated change though, so I'm not sure how soon it'll
happen. But at least this change makes it possible more easily later on.
Might have other uses too. |
1e40531c1de45bc87e72a9d5866ff2af79b63ceb |
|
15-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_user_dup() |
bff606130fa332dbf837569f922028b68f45fd61 |
|
09-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added struct mail_user.session_id |
2f90189c6ee66a17f7bf838a8eb8a69868630fb8 |
|
14-Jan-2014 |
Timo Sirainen <tss@iki.fi> |
auth, login, mail: Added %{auth_user}, %{auth_username} and %{auth_domain}
They expand to the SASL authentication ID. So if master user login is done,
it expands to the master user. If username changes during authentication, it
expands to the original username. Otherwise %{user} and %{auth_user} are
equal. |
5a9912dcadfd467c5ea54bdc3331eef359f0b1c5 |
|
08-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_user->admin flag.
The previous admin-flag used to mix up "admin user" and "admin tool", while
this new purpose only means "admin user". |
4f2fa2e5f5a27e1d59dd38fbbf38e420e006596d |
|
21-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
imapc: Don't log unnecessary errors at deinit about aborted hiearchy separator lookup.
The lookup is done asynchronously at startup. It doesn't matter if we never
get around to finishing it. |
10ccd0e45768923d69be459e87ef6cd2574cec60 |
|
11-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
Removed ambiguous mail_user.admin flag. dsync shouldn't sync mailboxes without +r ACL. |
496184578081a201b6a4fb346070d2eb20e6f5de |
|
27-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added struct mail_user.nonexistent flag, which is filled by userdb lookup. |
117a55d4260651770705ecb96f68be2dab03b99b |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added struct mail_user.nonexistent flag, which is filled by userdb lookup. |
9fd2181788a61500641c66aec0f8c746b19bf830 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixes to handling separation of private/shared attributes. |
87ca4b209c10954826b878da165d303d9b4dc5a2 |
|
12-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_user_get_storage_class(), which auto-loads storage plugins.
The auto-loading is done only if there's already a stub storage registered. |
d74c9540cd64888055c4840a4544b1de4248e584 |
|
18-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Backported parts of normalizer_func_t changes from v2.2 tree. |
d9076f5939edf5d20a261494b1a861dcbb0d32e2 |
|
15-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Replaced "decomposed titlecase" conversions with more generic normalizer function.
Plugins can now change mail_user.default_normalizer. Specific searches can
also use different normalizers by changing mail_search_context.normalizer. |
ab90f702ceedb7ba445a9a592be0b213b27cbafa |
|
14-Sep-2012 |
Stephan Bosch <stephan@rename-it.nl> |
Added support to perform token-based service process authentication.
Creates hidden SASL method DOVECOT-TOKEN. This method is not available on
the normal auth login socket and thus never presented to clients.
Creates new auth socket type 'tokenlogin'. This otherwise normal login
socket only offers authentication using the DOVECOT-TOKEN mechanism.
Creates new token-login directory in base_dir to separate token logins from
normal logins. This directory is otherwise completely identical to the
normal login dir, i.e. it contains sockets for the service backends, used
to chroot login processes to, etc.
Makes default login socket configurable.
Performs some minor changes to src/login-common to build very sparse
protocols, e.g. avoid the need to implement methods that are not needed. |
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] |
e438c85a6b0f77889e25913bbbba808d6078282d |
|
02-Jun-2012 |
Stephan Bosch <stephan@rename-it.nl> |
Adds 'anonymous' field to struct mail_user; derived indirectly from userdb extra fields.
Depends: none |
447e086422f1ab7cc16833583ed70a4af7a84bc5 |
|
04-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
Initial implementation of dsync-based replication. |
e51bfe0db17f1a2e44932d0d6d3958ae409a8bcf |
|
28-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Show SEARCH=FUZZY in IMAP capabilities only when FTS backend actually supports it. |
318ef3683d67683173f1b552cf5f9af4375b3017 |
|
01-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Abort index/control/alt root dir creation if mountpoint isn't mounted. |
13b063ba3ea51256fd97d7fa883f14cb08842b0d |
|
12-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Handle %{uid} and %{gid} expansion without relying on process's euid/egid. |
a2150da2dc906c26a26219cbefbe28a119aafee2 |
|
10-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added separate %{gid} expansion to mail_user.
The default %{gid} probably works also, but it's more reliable to do this
explicitly. |
f534c0d42f1470fca8e4ff3493c94927bf600260 |
|
01-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Set struct mail_users.autocreated for raw/shared users. |
a26b7e87b4157cfa800f9bcd8c4c044462d21268 |
|
21-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If user->error is set during initialization, fail user creation. |
55a14bce15b9f44441b5f56616d73651a294d770 |
|
15-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
Added mail_temp_dir setting, used by deliver and lmtp for creating temp mail files. |
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 |
b16ee3cbbcd18cb86f2f73b5cc163ebfb995ffaf |
|
25-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_user.get_temp_prefix() method added.
--HG--
branch : HEAD |
c7819f72f3f9cbfa976830dc6f3190873469b901 |
|
27-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If INBOX can't be opened/synced, log an error once.
--HG--
branch : HEAD |
dd7cbb32412c2f4d2d223af66672535bc1237246 |
|
07-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_user_is_plugin_loaded().
--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 |
2fb9ae42f9e36388ec6db24188b9108434043fd0 |
|
23-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Changed APIs to fix reading settings for multiple users.
--HG--
branch : HEAD |
4da8c6cdefabd31262318c32da3c13de1d9ea953 |
|
22-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Merged single and multi mail_storage_service_*() functions.
--HG--
branch : HEAD |
563273bdac80393af63b9520cbf4d24cc0efd028 |
|
03-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
mail storages can now be shared between namespaces.
--HG--
branch : HEAD |
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8 |
|
06-May-2009 |
Timo Sirainen <tss@iki.fi> |
Implemented anvil service, which is used to implement mail_max_userip_connections.
--HG--
branch : HEAD |
8d3278a82b964217d95c340ec6f82037cdc59d19 |
|
10-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Added lib-master and mail-storage-service code that makes it easier to build new Dovecot binaries.
Currently only the standalone applications (e.g. deliver) uses this.
--HG--
branch : HEAD |
70ead6466f9baa8294e71fc2fba0a4f54f488b5e |
|
26-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Added mail_user_get_temp_prefix() and mail_storage_get_temp_prefix().
--HG--
branch : HEAD |
0df9428baed48afaff90b4d4f03792d2fd756a43 |
|
02-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Fixed plugins to work with config rewrite.
--HG--
branch : HEAD |
a64adf62fa33f2463a86f990217b0c9078531a40 |
|
28-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for config rewrite.
--HG--
branch : HEAD |
94ce7e7700cda14a8342cb08e7285507b4b531da |
|
19-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
hook_mail_namespaces_created() wasn't always called with all namespaces as parameter.
--HG--
branch : HEAD |
a443e5aaf632257bfd1e7aa9b3c42c09512bbe43 |
|
21-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Quota works now properly with shared mailboxes.
--HG--
branch : HEAD |
67c47dbb3fde79218320fd38a45c33f61bbf3012 |
|
21-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
mail_user_*() now handles home directory lookups when necessary.
Namespace owner is now a pointer to struct mail_user rather than a string.
--HG--
branch : HEAD |
3398d5e2b883812de5d569721c8294b581e1d9e6 |
|
20-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Don't drop useless namespaces automatically while creating a new one.
It may free namespaces that are still being used elsewhere. Rather do it
explicitly at the beginning of each mailbox sync.
--HG--
branch : HEAD |
4654f788834c9d7920a351306b89cf5d1c21772e |
|
07-Sep-2008 |
Timo Sirainen <tss@iki.fi> |
Added initial support for shared mailboxes. Listing isn't supported yet.
Each user gets their own hidden namespace created automatically when they're
accessed the first time.
--HG--
branch : HEAD |
96f2533c48ce5def0004931606a2fdf275578880 |
|
30-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Created mail_user_[try_]home_expand(). Used them for expanding mail directories.
--HG--
branch : HEAD |
d80f37f025593d959bdfa9c378915e4322f4f504 |
|
12-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Forgot to add mail-user.* files in previous struct mail_user commit.
--HG--
branch : HEAD |