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.