> From: Timo Sirainen<tss at iki.fi>
> On Mon, 2012-05-28 at 14:50 +0100, Alan Brown wrote:
>> > What syntax is needed to make this work?
>> >
>> > The 2.0 wiki recomendations don't work - I can see the
inboxes or the
>> > folders but not both at once and there are lots of error messages
about
>> > prefix clashes if I simply use the existing 2.0.20 conf file on
2.1.6
> Are you saying that it works in v2.0 but not in v2.1?
yes.
> Then something's
> wrong. Show your doveconf -n output and what error messages you see.
Attached to this email (dovecot 2.0 and 2.1 -n outputs)
In both cases, we use the same local config file, included from
dovecot.conf (I've included both of these too)
The error message is:
May 30 17:00:31 msslat dovecot: imap(foobar): Error: user foobar:
Initialization failed: namespace configuration error: Duplicate
namespace prefix: ""
May 30 17:00:31 msslat dovecot: imap(foobar): Error: Invalid user
settings. Refer to server log for more information.
May 30 17:00:31 msslat dovecot: master: Warning: Killed with signal 15
(by pid=18489 uid=0 code=kill)
Attempting to tweak MAIL.conf to fix this error simply resulted in
various states of "broken", so any help untangling this will be
greatly
appreciated.
-------------- next part --------------
## Dovecot configuration file
# If you're in a hurry, see http://wiki2.dovecot.org/QuickConfiguration
# "doveconf -n" command gives a clean output of the changed settings.
Use it
# instead of copy&pasting files when posting to the Dovecot mailing list.
# '#' character and everything after it is treated as comments. Extra
spaces
# and tabs are ignored. If you want to use either of these explicitly, put the
# value inside quotes, eg.: key = "# char and trailing whitespace "
# Default values are shown for each setting, it's not required to uncomment
# those. These are exceptions to this though: No sections (e.g. namespace {})
# or plugin settings are added by default, they're listed only as examples.
# Paths are also just examples with the real defaults being based on configure
# options. The paths listed here are for configure --prefix=/usr
# --sysconfdir=/etc --localstatedir=/var
# Protocols we want to be serving.
#protocols = imap pop3 lmtp
# A comma separated list of IPs or hosts where to listen in for connections.
# "*" listens in all IPv4 interfaces, "::" listens in all
IPv6 interfaces.
# If you want to specify non-default ports or anything more complex,
# edit conf.d/master.conf.
#listen = *, ::
# Base directory where to store runtime data.
#base_dir = /var/run/dovecot/
# Greeting message for clients.
#login_greeting = Dovecot ready.
# Space separated list of trusted network ranges. Connections from these
# IPs are allowed to override their IP addresses and ports (for logging and
# for authentication checks). disable_plaintext_auth is also ignored for
# these networks. Typically you'd specify your IMAP proxy servers here.
#login_trusted_networks
# Sepace separated list of login access check sockets (e.g. tcpwrap)
#login_access_sockets =
# Show more verbose process titles (in ps). Currently shows user name and
# IP address. Useful for seeing who are actually using the IMAP processes
# (eg. shared mailboxes or if same uid is used for multiple accounts).
#verbose_proctitle = no
# Should all processes be killed when Dovecot master process shuts down.
# Setting this to "no" means that Dovecot can be upgraded without
# forcing existing client connections to close (although that could also be
# a problem if the upgrade is e.g. because of a security fix).
#shutdown_clients = yes
# If non-zero, run mail commands via this many connections to doveadm server,
# instead of running them directly in the same process.
#doveadm_worker_count = 0
# UNIX socket or host:port used for connecting to doveadm server
#doveadm_socket_path = doveadm-server
# Space separated list of environment variables that are preserved on Dovecot
# startup and passed down to all of its child processes. You can also give
# key=value pairs to always set specific settings.
#import_environment = TZ
##
## Dictionary server settings
##
# Dictionary can be used to store key=value lists. This is used by several
# plugins. The dictionary can be accessed either directly or though a
# dictionary server. The following dict block maps dictionary names to URIs
# when the server is used. These can then be referenced using URIs in format
# "proxy::<name>".
dict {
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
# Most of the actual configuration gets included below. The filenames are
# first sorted by their ASCII value and parsed in that order. The 00-prefixes
# in filenames are intended to make it easier to understand the ordering.
!include conf.d/*.conf
!include ./MAIL.conf
# A config file can also tried to be included without giving an error if
# it's not found:
#!include_try local.conf
#!include_try /etc/dovecot/local.conf
-------------- next part --------------
# 2.0.1: /stage/mail-common/etc/dovecot.conf
# OS: Linux 2.6.18-194.11.3.el5 x86_64 Red Hat Enterprise Linux Server release
5.5 (Tikanga) gfs2
auth_cache_size = 100M
auth_cache_ttl = 300 s
auth_failure_delay = 5 s
auth_worker_max_count = 1000
base_dir = /stage/mail-common/var/run/dovecot/
dict {
expire = db:/stage/mail-common/var/lib/dovecot/expire.db
}
first_valid_uid = 100
listen = *
login_greeting = MSSL IMAP ready.
mail_access_groups = mail
mail_location =
maildir:/stage/mail/imap1/%u/Maildir:CONTROL=/stage/mail/control/%u/maildir:INDEX=/stage/mail/indexes/%u/maildir
mbox_read_locks = dotlock fcntl
mbox_write_locks = dotlock fcntl flock lockf
namespace {
hidden = yes
inbox = yes
location =
mbox:/stage/mail/imap1/%u/mail:INBOX=/stage/mail/inboxes/%u:CONTROL=/stage/mail/control/%u/INBOX:INDEX=/stage/mail/indexes/%u/INBOX
prefix = "#mbox/"
separator = /
type = private
}
namespace {
location =
maildir:/stage/mail/imap1/%u/Maildir:CONTROL=/stage/mail/control/%u/maildir:INDEX=/stage/mail/indexes/%u/maildir
# prefix =
separator = /
type = private
}
namespace {
location =
mbox:/stage/mail/imap1/%u/mail:CONTROL=/stage/mail/control/%u/mbox:INDEX=/stage/mail/indexes/%u/mbox
prefix = OLD/
separator = /
type = private
}
passdb {
driver = pam
}
plugin {
# convert_alt_hierarchy_char = _
# convert_mail = mbox:/stage/mail/imap1/%u/convert
# convert_skip_broken_mailboxes = yes
# expire = Trash 7 Spam 30 Junk 30
# expire_dict = proxy::expire
}
protocols = imap
service anvil {
client_limit = 5080
}
service auth {
user = root
client_limit = 5080
}
service imap-login {
# PAL 23-Nov-2010
inet_listener imap {
#port = 143
address = * # opverrides 10-master.conf for the moment
}
inet_listener imaps {
port = 993
# ssl = yes
}
inet_listener 80-imaps {
port = 80
ssl = yes
}
inet_listener 443-imaps {
port = 443
ssl = yes
}
# end - PAL 23-Nov-2010
client_limit = 8192
process_limit = 2028
process_min_avail = 10
vsz_limit = 512M
}
service imap {
process_limit = 3052
}
service pop3-login {
client_limit = 8192
process_limit = 2028
process_min_avail = 10
vsz_limit = 128M
}
service pop3 {
process_limit = 3052
}
ssl_ca = </stage/mail-common/etc/pki/CA/MSSL_signing_certificate.pem
ssl_cert = </stage/mail-common/etc/pki/dovecot/certs/imaps.crt
ssl_key = </stage/mail-common/etc/pki/dovecot/private/imaps.key
userdb {
driver = passwd
}
valid_chroot_dirs = /stage/mail:/stage/home
verbose_proctitle = yes
protocol imap {
# mail_max_userip_connections = 20
# bumped to 100 - ajb2 2012-1-12
mail_max_userip_connections = 100
# mail_plugins = convert
disable_plaintext_auth=no
}
protocol lda {
hostname = imap.mssl.ucl.ac.uk
postmaster_address = postmaster at mssl.ucl.ac.uk
quota_full_tempfail = yes
}
-------------- next part --------------
# 2.1.6: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.18-308.8.1.el5 x86_64 Red Hat Enterprise Linux Server release
5.8 (Tikanga) gfs2
auth_cache_size = 100 M
auth_cache_ttl = 5 mins
auth_failure_delay = 5 secs
auth_worker_max_count = 1000
base_dir = /stage/mail-common/var/run/dovecot/
dict {
expire = db:/stage/mail-common/var/lib/dovecot/expire.db
}
first_valid_uid = 100
listen = *
login_greeting = MSSL IMAP ready.
mail_access_groups = mail
mail_location =
maildir:/stage/mail/imap1/%u/Maildir:CONTROL=/stage/mail/control/%u/maildir:INDEX=/stage/mail/indexes/%u/maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include variables body enotify environment mailbox date ihave
mbox_read_locks = dotlock fcntl
mbox_write_locks = dotlock fcntl flock lockf
namespace {
hidden = yes
inbox = yes
location =
mbox:/stage/mail/imap1/%u/mail:INBOX=/stage/mail/inboxes/%u:CONTROL=/stage/mail/control/%u/INBOX:INDEX=/stage/mail/indexes/%u/INBOX
prefix = "#mbox/"
separator = /
type = private
}
namespace {
location =
maildir:/stage/mail/imap1/%u/Maildir:CONTROL=/stage/mail/control/%u/maildir:INDEX=/stage/mail/indexes/%u/maildir
prefix =
separator = /
type = private
}
namespace {
location =
mbox:/stage/mail/imap1/%u/mail:CONTROL=/stage/mail/control/%u/mbox:INDEX=/stage/mail/indexes/%u/mbox
prefix = OLD/
separator = /
type = private
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
driver = pam
}
passdb {
driver = pam
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap
service anvil {
client_limit = 5080
}
service auth {
client_limit = 5080
user = root
}
service imap-login {
client_limit = 8192
inet_listener 443-imaps {
port = 443
ssl = yes
}
inet_listener 80-imaps {
port = 80
ssl = yes
}
inet_listener imap {
address = *
}
inet_listener imaps {
port = 993
}
process_limit = 2028
process_min_avail = 10
vsz_limit = 512 M
}
service imap {
process_limit = 3052
}
service pop3-login {
client_limit = 8192
process_limit = 2028
process_min_avail = 10
vsz_limit = 128 M
}
service pop3 {
process_limit = 3052
}
ssl = required
ssl_ca = </stage/mail-common/etc/pki/CA/MSSL_signing_certificate.pem
ssl_cert = </stage/mail-common/etc/pki/dovecot/certs/imaps.crt
ssl_key = </stage/mail-common/etc/pki/dovecot/private/imaps.key
userdb {
driver = passwd
}
userdb {
driver = passwd
}
valid_chroot_dirs = /stage/mail:/stage/home
verbose_proctitle = yes
protocol lda {
hostname = imap.mssl.ucl.ac.uk
postmaster_address = postmaster at mssl.ucl.ac.uk
quota_full_tempfail = yes
}
protocol imap {
disable_plaintext_auth = no
mail_max_userip_connections = 100
}
-------------- next part --------------
# 2.0.20: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.18-308.4.1.el5 x86_64 Red Hat Enterprise Linux Server release
5.8 (Tikanga) gfs2
auth_cache_size = 100 M
auth_cache_ttl = 5 mins
auth_failure_delay = 5 secs
auth_worker_max_count = 1000
base_dir = /stage/mail-common/var/run/dovecot/
dict {
expire = db:/stage/mail-common/var/lib/dovecot/expire.db
}
first_valid_uid = 100
listen = *
login_greeting = MSSL IMAP ready.
mail_access_groups = mail
mail_location =
maildir:/stage/mail/imap1/%u/Maildir:CONTROL=/stage/mail/control/%u/maildir:INDEX=/stage/mail/indexes/%u/maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include variables body enotify environment mailbox date ihave
mbox_read_locks = dotlock fcntl
mbox_write_locks = dotlock fcntl flock lockf
namespace {
hidden = yes
inbox = yes
location =
mbox:/stage/mail/imap1/%u/mail:INBOX=/stage/mail/inboxes/%u:CONTROL=/stage/mail/control/%u/INBOX:INDEX=/stage/mail/indexes/%u/INBOX
prefix = "#mbox/"
separator = /
type = private
}
namespace {
location =
maildir:/stage/mail/imap1/%u/Maildir:CONTROL=/stage/mail/control/%u/maildir:INDEX=/stage/mail/indexes/%u/maildir
prefix =
separator = /
type = private
}
namespace {
location =
mbox:/stage/mail/imap1/%u/mail:CONTROL=/stage/mail/control/%u/mbox:INDEX=/stage/mail/indexes/%u/mbox
prefix = OLD/
separator = /
type = private
}
passdb {
driver = pam
}
passdb {
driver = pam
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap
service anvil {
client_limit = 5080
}
service auth {
client_limit = 5080
user = root
}
service imap-login {
client_limit = 8192
inet_listener 443-imaps {
port = 443
ssl = yes
}
inet_listener 80-imaps {
port = 80
ssl = yes
}
inet_listener imap {
address = *
}
inet_listener imaps {
port = 993
}
process_limit = 2028
process_min_avail = 10
vsz_limit = 512 M
}
service imap {
process_limit = 3052
}
service pop3-login {
client_limit = 8192
process_limit = 2028
process_min_avail = 10
vsz_limit = 128 M
}
service pop3 {
process_limit = 3052
}
ssl = required
ssl_ca = </stage/mail-common/etc/pki/CA/MSSL_signing_certificate.pem
ssl_cert = </stage/mail-common/etc/pki/dovecot/certs/imaps.crt
ssl_key = </stage/mail-common/etc/pki/dovecot/private/imaps.key
userdb {
driver = passwd
}
userdb {
driver = passwd
}
valid_chroot_dirs = /stage/mail:/stage/home
verbose_proctitle = yes
protocol lda {
hostname = imap.mssl.ucl.ac.uk
postmaster_address = postmaster at mssl.ucl.ac.uk
quota_full_tempfail = yes
}
protocol imap {
disable_plaintext_auth = no
mail_max_userip_connections = 100
}