multiple shared/mail format namespaces
Michal Soltys
soltys at ziu.info
Mon Jan 2 15:58:11 UTC 2017
Hi,
Are configurations (with separate formats per namespace) - such as ...
namespace {
type = shared
list = children
inbox = no
separator = /
subscriptions = no
prefix = shared1/%%n/
location = maildir:/var/mail1/%%n/
}
namespace {
type = shared
list = children
inbox = no
separator = /
subscriptions = no
prefix = shared2/%%n/
location = mdbox:/var/mail2/%%n/
}
With separate userdbs serving part of the users with maildirs in /var/mail1/
and the other part with mdboxes in /var/mail2
... valid in dovecot ?
To be more precise:
1) Is current version dovecot expected to work with configuration as above ?
E.g. if some user's mail location returned from userdb doesn't match
location/format from one of the above namespaces - would it be ignored for it
? A very old version of dovecot I could check quickly (2.1.7) was segfaulting
(imap processes) all the time with this kind of config. While I'll be
upgrading it and the whole system to modern versions, I'm wondering if this
kind of thing is formally allowed at all.
An interesting variation of the above setup I tested - with the second
namespace "un-variabled" and pointing to single user (with matching
passwd-file returning that user) managed to work somehow - but the user itself
was still created on the fly for the 1st namespace - having just a directory
with empty dovecot-acl-list file. This essentially seemed to have worked like
a typical public profile (shared acl db didn't seem to be used either)
2) For shared namespace with variables, would overriding shared namespace
location in userdb query work ? For example if we had single namespace such as
the first one (maildir) above with explicit share1 name, and then in userdb
for some users:
userdb_namespace/share1/location=mdbox:/var/mail2/some_user_name
Would that override a shared namespace pattern on per user basis correctly ?
3) Is there perhaps a way to constraint which userdbs are considered per which
shared namespace ?
4) Not strictly related to the above, but in LDAP part of documentation -
namely http://wiki2.dovecot.org/AuthDatabase/LDAP/Userdb - why
user_attrs = \
=home=%{ldap:homeDirectory}, \
=uid=%{ldap:uidNumber}, \
=gid=%{ldap:gidNumber}
instead of
user_attrs = \
homeDirectory=home, \
uidNumber=uid, \
gidNumber=gid
Do both are equivalent with differet syntax (opening the way for templates for
%{} based syntax), or are there some subtle differences between those ? (aside
later example with 'attr=' instead of just '=').
Would this kind of syntax also be correct for pass_attrs, such as:
pass_attrs = \
=password=%{ldap:uid}, \
=userdb_home=%{ldap:homeDirectory}
More information about the dovecot
mailing list