Hi. I'm setting up a new IMAPS server. Mail users don't have login access to the box but will each have unique UNIX-style UIDs: no back-end database or LDAP thing. So far. Their mail will get delivered to UNIX-style mailboxes in /var/mail/%u (where %u is the UNIX username obviously). Their IMAP folders will go in /var/imap/%u. These will contain subfolders once everyone migrates to the new set-up and some folders will contain messages and subfolders. I think this is what I configured in dovecot. However when I try to set up a test account, dovecot reports the following error: Dec 12 02:22:00 shaun dovecot: imap-login: Login: user=<jim>, method=CRAM-MD5, rip=10.0.0.1, lip=10.1.1.1, mpid=14874, TLS, session=<8Hy1Ak3t+gDDNulD> Dec 12 02:22:00 shaun dovecot: imap(jim): Error: user jim: Initialization failed: namespace configuration error: Duplicate namespace prefix: "" Dec 12 02:22:00 shaun dovecot: imap(jim): Error: Invalid user settings. Refer to server log for more information. I've checked and re-checked the wiki. google was unable to suggest any explanation either. Any ideas what's wrong? There is no duplicate namespace (and/or prefix) that I can see below. # 2.2.9: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 9.2-RELEASE amd64 auth_mechanisms = cram-md5 auth_verbose = yes base_dir = /var/run/dovecot/ default_client_limit = 120 director_username_hash = %Lu import_environment = TZ listen = *, [::] mail_debug = yes mail_location = mbox:~/mail:INBOX=/var/mail/%u mail_privileged_group = mail mbox_write_locks = fcntl namespace { disabled = no hidden = yes ignore_on_failure = no inbox = yes list = yes location = mbox:~/mail:INBOX=/var/mail/%u prefix = "#mbox/" separator = / subscriptions = yes type = private } namespace imapstuff { disabled = no hidden = no ignore_on_failure = no inbox = no list = yes location = maildir:/var/imap/%u:LAYOUT=fs prefix = separator = / subscriptions = yes type = private } namespace inbox { disabled = no hidden = no ignore_on_failure = no inbox = yes list = yes location = mailbox Drafts { auto = no driver = special_use = \Drafts } mailbox Junk { auto = no driver = special_use = \Junk } mailbox Sent { auto = no driver = special_use = \Sent } mailbox "Sent Messages" { auto = no driver = special_use = \Sent } mailbox Trash { auto = no driver = special_use = \Trash } prefix = separator = subscriptions = yes type = private } passdb { driver = pam } passdb { driver = pam } passdb { args = /usr/local/etc/dovecot-md5 driver = passwd-file } protocols = imap service aggregator { chroot = . client_limit = 0 drop_priv_before_exec = no executable = aggregator extra_groups = fifo_listener replication-notify-fifo { group = mode = 0600 user = } group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = service_count = 0 type = unix_listener replication-notify { group = mode = 0600 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service anvil { chroot = empty client_limit = 0 drop_priv_before_exec = no executable = anvil extra_groups = group = idle_kill = 4294967295 secs privileged_group = process_limit = 1 process_min_avail = 1 protocol = service_count = 0 type = anvil unix_listener anvil-auth-penalty { group = mode = 0600 user = } unix_listener anvil { group = mode = 0600 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service auth-worker { chroot = client_limit = 1 drop_priv_before_exec = no executable = auth -w extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = service_count = 1 type = unix_listener auth-worker { group = mode = 0600 user = $default_internal_user } user = vsz_limit = 18446744073709551615 B } service auth { chroot = client_limit = 0 drop_priv_before_exec = no executable = auth extra_groups = group = idle_kill = 0 privileged_group = process_limit = 1 process_min_avail = 0 protocol = service_count = 0 type = unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-client { group = mode = 0600 user = } unix_listener auth-login { group = mode = 0600 user = $default_internal_user } unix_listener auth-master { group = mode = 0600 user = } unix_listener auth-userdb { group = mode = 0666 user = $default_internal_user } unix_listener login/login { group = mode = 0666 user = } unix_listener token-login/tokenlogin { group = mode = 0666 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service config { chroot = client_limit = 0 drop_priv_before_exec = no executable = config extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = service_count = 0 type = config unix_listener config { group = mode = 0600 user = } user = vsz_limit = 18446744073709551615 B } service dict { chroot = client_limit = 1 drop_priv_before_exec = no executable = dict extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = service_count = 0 type = unix_listener dict { group = mode = 0600 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service director { chroot = . client_limit = 0 drop_priv_before_exec = no executable = director extra_groups = fifo_listener login/proxy-notify { group = mode = 00 user = } group = idle_kill = 4294967295 secs inet_listener { address = port = 0 ssl = no } privileged_group = process_limit = 1 process_min_avail = 0 protocol = service_count = 0 type = unix_listener director-admin { group = mode = 0600 user = } unix_listener director-userdb { group = mode = 0600 user = } unix_listener login/director { group = mode = 00 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service dns_client { chroot = client_limit = 1 drop_priv_before_exec = no executable = dns-client extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = service_count = 0 type = unix_listener dns-client { group = mode = 0666 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service doveadm { chroot = client_limit = 1 drop_priv_before_exec = no executable = doveadm-server extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = service_count = 1 type = unix_listener doveadm-server { group = mode = 0600 user = } user = vsz_limit = 18446744073709551615 B } service imap-login { chroot = login client_limit = 32 drop_priv_before_exec = no executable = /usr/local/libexec/dovecot/imap-login extra_groups = group = idle_kill = 0 inet_listener imap { address = port = 0 ssl = no } inet_listener imaps { address = port = 993 ssl = yes } privileged_group = process_limit = 8 process_min_avail = 3 protocol = imap service_count = 1 type = login user = $default_login_user vsz_limit = 64 M } service imap-urlauth-login { chroot = token-login client_limit = 0 drop_priv_before_exec = no executable = imap-urlauth-login extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = imap service_count = 1 type = login unix_listener imap-urlauth { group = mode = 0666 user = } user = $default_login_user vsz_limit = 18446744073709551615 B } service imap-urlauth-worker { chroot = client_limit = 1 drop_priv_before_exec = no executable = imap-urlauth-worker extra_groups = group = idle_kill = 0 privileged_group = process_limit = 1024 process_min_avail = 0 protocol = imap service_count = 1 type = unix_listener imap-urlauth-worker { group = mode = 0600 user = $default_internal_user } user = vsz_limit = 18446744073709551615 B } service imap-urlauth { chroot = client_limit = 1 drop_priv_before_exec = no executable = imap-urlauth extra_groups = group = idle_kill = 0 privileged_group = process_limit = 1024 process_min_avail = 0 protocol = imap service_count = 1 type = unix_listener token-login/imap-urlauth { group = mode = 0666 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service imap { chroot = client_limit = 1 drop_priv_before_exec = no executable = /usr/local/libexec/dovecot/imap extra_groups = group = idle_kill = 0 privileged_group = process_limit = 32 process_min_avail = 0 protocol = imap service_count = 1 type = unix_listener login/imap { group = mode = 0666 user = } user = vsz_limit = 18446744073709551615 B } service indexer-worker { chroot = client_limit = 1 drop_priv_before_exec = no executable = indexer-worker extra_groups = group = idle_kill = 0 privileged_group = process_limit = 10 process_min_avail = 0 protocol = service_count = 0 type = unix_listener indexer-worker { group = mode = 0600 user = $default_internal_user } user = vsz_limit = 18446744073709551615 B } service indexer { chroot = client_limit = 0 drop_priv_before_exec = no executable = indexer extra_groups = group = idle_kill = 0 privileged_group = process_limit = 1 process_min_avail = 0 protocol = service_count = 0 type = unix_listener indexer { group = mode = 0666 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } service ipc { chroot = empty client_limit = 0 drop_priv_before_exec = no executable = ipc extra_groups = group = idle_kill = 0 privileged_group = process_limit = 1 process_min_avail = 0 protocol = service_count = 0 type = unix_listener ipc { group = mode = 0600 user = } unix_listener login/ipc-proxy { group = mode = 0600 user = $default_login_user } user = $default_internal_user vsz_limit = 18446744073709551615 B } service lmtp { chroot = client_limit = 1 drop_priv_before_exec = no executable = lmtp extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = lmtp service_count = 0 type = unix_listener lmtp { group = mode = 0666 user = } user = vsz_limit = 18446744073709551615 B } service log { chroot = client_limit = 0 drop_priv_before_exec = no executable = log extra_groups = group = idle_kill = 4294967295 secs privileged_group = process_limit = 1 process_min_avail = 0 protocol = service_count = 0 type = log unix_listener log-errors { group = mode = 0600 user = } user = vsz_limit = 18446744073709551615 B } service pop3-login { chroot = login client_limit = 32 drop_priv_before_exec = no executable = pop3-login extra_groups = group = idle_kill = 0 inet_listener pop3 { address = port = 110 ssl = no } inet_listener pop3s { address = port = 995 ssl = yes } privileged_group = process_limit = 8 process_min_avail = 3 protocol = pop3 service_count = 1 type = login user = $default_login_user vsz_limit = 64 M } service pop3 { chroot = client_limit = 1 drop_priv_before_exec = no executable = pop3 extra_groups = group = idle_kill = 0 privileged_group = process_limit = 32 process_min_avail = 0 protocol = pop3 service_count = 1 type = unix_listener login/pop3 { group = mode = 0666 user = } user = vsz_limit = 18446744073709551615 B } service replicator { chroot = client_limit = 0 drop_priv_before_exec = no executable = replicator extra_groups = group = idle_kill = 4294967295 secs privileged_group = process_limit = 1 process_min_avail = 0 protocol = service_count = 0 type = unix_listener replicator-doveadm { group = mode = 00 user = $default_internal_user } unix_listener replicator { group = mode = 0600 user = $default_internal_user } user = vsz_limit = 18446744073709551615 B } service ssl-params { chroot = client_limit = 0 drop_priv_before_exec = no executable = ssl-params extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 0 protocol = service_count = 0 type = startup unix_listener login/ssl-params { group = mode = 0666 user = } unix_listener ssl-params { group = mode = 0666 user = } user = vsz_limit = 18446744073709551615 B } service stats { chroot = empty client_limit = 0 drop_priv_before_exec = no executable = stats extra_groups = fifo_listener stats-mail { group = mode = 0600 user = } group = idle_kill = 4294967295 secs privileged_group = process_limit = 1 process_min_avail = 0 protocol = service_count = 0 type = unix_listener stats { group = mode = 0600 user = } user = $default_internal_user vsz_limit = 18446744073709551615 B } ssl_cert = </usr/local/etc/ssl/certs/dovecot.pem ssl_cipher_list = ALL:!LOW:!SSLv2 ssl_key = </usr/local/etc/ssl/private/dovecot.pem ssl_parameters_regenerate = 1 weeks state_dir = /var/lib/dovecot syslog_facility = local4 userdb { driver = passwd } userdb { driver = passwd } protocol lda { postmaster_address = postmaster at example.com } protocol imap { mail_max_userip_connections = 10 mail_plugin_dir = /usr/local/lib/dovecot/imap }
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 12 Dec 2013, Jim Reid wrote:> I think this is what I configured in dovecot. However when I try to set up a test account, dovecot reports the following error: > > Dec 12 02:22:00 shaun dovecot: imap-login: Login: user=<jim>, method=CRAM-MD5, rip=10.0.0.1, lip=10.1.1.1, mpid=14874, TLS, session=<8Hy1Ak3t+gDDNulD> > Dec 12 02:22:00 shaun dovecot: imap(jim): Error: user jim: Initialization failed: namespace configuration error: Duplicate namespace prefix: ""See that error and> # 2.2.9: /usr/local/etc/dovecot/dovecot.conf > namespace imapstuff { > prefix > type = private > } > namespace inbox { > prefix > type = private > }Rename imapstuff to inbox, or something. - -- Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEVAwUBUqmpN13r2wJMiz2NAQKYQAgAuhvxFLLUzLvD0B18D1KSuSZMrDE146w3 8kJWsG0ShMRz+DqFVQmMEiPnysgNzWp/ZPy0buBvzbtOqq5L/3QRycEudliwnUrw AUSPCZ+5AxsZqM582JS0U0+pz7yve8XYYPzJWm2gUOzqLmBiiGjCM6JbLUGd7VyG EUesXqcNOkSSfr89vfXa3d7/roxShhvD4Z7669UtNp5ttnl94BKG2fn/uOd6527U GqjtbUD2GAUlovhtbtvtmAguGEMS3Ym0UN9as/zd21NsBtyr8OoplO6rjsDI2qNu E74mP1Zi51yrO53mblFnmtz6IwicToNf+C6fwjt0+KUhm6Vf+GRP1A==3OtW -----END PGP SIGNATURE-----