Yeah, that's valid configuration. As long as they have unique prefix.
Aki
On January 2, 2017 at 5:58 PM Michal Soltys soltys@ziu.info wrote:
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:
- 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)
- 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 ?
Is there perhaps a way to constraint which userdbs are considered per which shared namespace ?
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=gidDo 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}