Marcio Merlone
2013-Nov-01 16:26 UTC
[Dovecot] Shared namespace, separator, username and dots.
Hi folks,
I run a legacy mailserver that i had replaced courier-imap for dovecot
1.2. Everything is fine except for shared namespace. Maildir structure
has been created using dot '.' as folder separator. It happens that all
our users are created as name.surname as default. So when I want to
select a shared folder, MUA end up with the following IMAP command:
select shared.jhon.doe.folder.subfolder
Obviously I took ages to figure why it won't work since it takes
'doe'
as a folder and not a username part. When sharing a folder from 'sales'
user, for example, it works fine. What do you suggest to make shared
folders work for all without rebuilding hundreds of maildirs to change
folder separator from '.' to '/'?
Thanks for any hint.
# 1.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-52-server x86_64 Ubuntu 10.04.4 LTS
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps managesieve
ssl_listen: *
disable_plaintext_auth: no
verbose_ssl: yes
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(managesieve): /usr/lib/dovecot/managesieve-login
login_process_per_connection: no
login_max_processes_count: 1024
max_mail_processes: 1024
mail_max_userip_connections(default): 20
mail_max_userip_connections(imap): 20
mail_max_userip_connections(managesieve): 10
first_valid_gid: 0
mail_privileged_group: mail
mail_location: maildir:~/Maildir:INDEX=/var/cache/dovecot/%n
fsync_disable: yes
maildir_very_dirty_syncs: yes
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(managesieve): /usr/lib/dovecot/managesieve
mail_plugins(default): quota imap_quota acl imap_acl
mail_plugins(imap): quota imap_quota acl imap_acl
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
namespace:
type: private
separator: .
inbox: yes
list: yes
subscriptions: yes
namespace:
type: shared
separator: .
prefix: shared.%%u.
location: maildir:%%h/Maildir:INDEX=%u/Maildir/shared/%%u
list: children
subscriptions: yes
lda:
postmaster_address: postmaster at a1.ind.br
mail_plugins: quota sieve acl
quota_full_tempfail: yes
auth_socket_path: /var/run/dovecot/auth-master
fsync_disable: no
auth default:
mechanisms: plain login
master_user_separator: *
passdb:
driver: pam
args: session=yes blocking=yes dovecot
passdb:
driver: passwd-file
args: /etc/dovecot/passwd.masterusers
pass: yes
master: yes
userdb:
driver: nss
args: service=ldap blocking=yes
socket:
type: listen
client:
path: /var/spool/postfix/private/dovecot
mode: 436
user: postfix
group: postfix
master:
path: /var/run/dovecot/auth-master
mode: 438
plugin:
sieve: ~/.dovecot.sieve
acl: vfile
acl_shared_dict: proxy::acl
dict:
acl: mysql:/etc/dovecot/acl-dict-sql.conf
--
*Marcio Merlone*
TI - Administrador de redes
*A1 Engenharia - Unidade Corporativa*
Fone: +55 41 3616-3797
Cel: +55 41 9689-0036
http://www.a1.ind.br/ <http://www.a1.ind.br>
Robert Schetterer
2013-Nov-01 17:57 UTC
[Dovecot] Shared namespace, separator, username and dots.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 01.11.2013 17:26, schrieb Marcio Merlone:> Hi folks, > > I run a legacy mailserver that i had replaced courier-imap for > dovecot 1.2. Everything is fine except for shared namespace. > Maildir structure has been created using dot '.' as folder > separator. It happens that all our users are created as > name.surname as default. So when I want to select a shared folder, > MUA end up with the following IMAP command: > > select shared.jhon.doe.folder.subfolder > > Obviously I took ages to figure why it won't work since it takes > 'doe' as a folder and not a username part. When sharing a folder > from 'sales' user, for example, it works fine. What do you suggest > to make shared folders work for all without rebuilding hundreds of > maildirs to change folder separator from '.' to '/'? > > Thanks for any hint. > > # 1.2.9: /etc/dovecot/dovecot.confthats simply to old to give good advice, upgrade to a recent version however perhaps read http://wiki.dovecot.org/Plugins/Listescape> # OS: Linux 2.6.32-52-server x86_64 Ubuntu 10.04.4 LTS > log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps managesieve > ssl_listen: * disable_plaintext_auth: no verbose_ssl: yes > login_dir: /var/run/dovecot/login login_executable(default): > /usr/lib/dovecot/imap-login login_executable(imap): > /usr/lib/dovecot/imap-login login_executable(managesieve): > /usr/lib/dovecot/managesieve-login login_process_per_connection: > no login_max_processes_count: 1024 max_mail_processes: 1024 > mail_max_userip_connections(default): 20 > mail_max_userip_connections(imap): 20 > mail_max_userip_connections(managesieve): 10 first_valid_gid: 0 > mail_privileged_group: mail mail_location: > maildir:~/Maildir:INDEX=/var/cache/dovecot/%n fsync_disable: yes > maildir_very_dirty_syncs: yes mbox_write_locks: fcntl dotlock > mail_executable(default): /usr/lib/dovecot/imap > mail_executable(imap): /usr/lib/dovecot/imap > mail_executable(managesieve): /usr/lib/dovecot/managesieve > mail_plugins(default): quota imap_quota acl imap_acl > mail_plugins(imap): quota imap_quota acl imap_acl > mail_plugins(managesieve): mail_plugin_dir(default): > /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): > /usr/lib/dovecot/modules/imap mail_plugin_dir(managesieve): > /usr/lib/dovecot/modules/managesieve namespace: type: private > separator: . inbox: yes list: yes subscriptions: yes namespace: > type: shared separator: . prefix: shared.%%u. location: > maildir:%%h/Maildir:INDEX=%u/Maildir/shared/%%u list: children > subscriptions: yes lda: postmaster_address: postmaster at a1.ind.br > mail_plugins: quota sieve acl quota_full_tempfail: yes > auth_socket_path: /var/run/dovecot/auth-master fsync_disable: no > auth default: mechanisms: plain login master_user_separator: * > passdb: driver: pam args: session=yes blocking=yes dovecot passdb: > driver: passwd-file args: /etc/dovecot/passwd.masterusers pass: > yes master: yes userdb: driver: nss args: service=ldap > blocking=yes socket: type: listen client: path: > /var/spool/postfix/private/dovecot mode: 436 user: postfix group: > postfix master: path: /var/run/dovecot/auth-master mode: 438 > plugin: sieve: ~/.dovecot.sieve acl: vfile acl_shared_dict: > proxy::acl dict: acl: mysql:/etc/dovecot/acl-dict-sql.conf > >Best Regards MfG Robert Schetterer - -- [*] sys4 AG http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstra?e 15, 81669 M?nchen Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263 Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJSc+ueAAoJEP8jBObu0LlEWz0H/j0Wij9fqr5Aj5N3fa/mR2TC 62hOl//R2QuSLmBz4WSPz2athWmY/VHF8MVfN0FBehuzZQwK1+i8bUZgKCDu4v1P kWikdxJp+wV2jZeAFvOn6NcfsFwLIHW4yDTRS5CbguAM+ECYwkp9JqW/oZ2onA/2 rRCERoxd263SLkuuXe1VU0zUMwXkGAf88d3+wzTzjAcbIx6iQn1TwEg+1wckFndS IdFwsDdDumNTWFNWHsgDNYlrMOBkcQCgrehhUNCl6c8O3hm4r/eRZzR2ljTmsmYi QfJG8ZIuMa1c15Uh3zzATCkmWQofH+CVcTOPQJIgrwJyFqGCnILtjhks0w2SaDQ=JQTg -----END PGP SIGNATURE-----
Timo Sirainen
2013-Nov-02 10:21 UTC
[Dovecot] Shared namespace, separator, username and dots.
On 1.11.2013, at 18.26, Marcio Merlone <marcio.merlone at a1.ind.br> wrote:> I run a legacy mailserver that i had replaced courier-imap for dovecot 1.2. Everything is fine except for shared namespace. Maildir structure has been created using dot '.' as folder separator. It happens that all our users are created as name.surname as default. So when I want to select a shared folder, MUA end up with the following IMAP command: > > select shared.jhon.doe.folder.subfolder > > Obviously I took ages to figure why it won't work since it takes 'doe' as a folder and not a username part. When sharing a folder from 'sales' user, for example, it works fine. What do you suggest to make shared folders work for all without rebuilding hundreds of maildirs to change folder separator from '.' to '/??The only other solution would be to translate the username to not contain dots, so for example the mailbox name would become shared.john_doe.folder.subfolder. But this can?t currently be done only for shared mailboxes, you?d have to do it globally with e.g.: auth_username_translate = ._ This would affect %u and %n in your settings also, so some paths would change.