Hello,
I'm attempting to install the listescape plugin so that IMAP users are able to include periods (.) and forward slashes (/) in IMAP directory names.
I'm following the instructions at http://wiki2.dovecot.org/Plugins/Listescape , which imply that this can be accomplished by enabling the listescape plugin and using the dollar sign ($) as the separator.
With regard to my dovecot configuration, first, I changed
protocol imap { mail_plugins = quota imap_quota antispam }
to
protocol imap { mail_plugins = quota imap_quota antispam listescape
namespace private { separator = $ inbox = yes } }
When I start dovecot, I receive the following error:
doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -n > dovecot-new.conf doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:102: namespace private {} has been replaced by namespace { type=private }
Pretty straightforward; I made the required change to yield
protocol imap { mail_plugins = quota imap_quota antispam listescape
namespace { type = private separator = $ inbox = yes } }
But now, when I attempt to start dovecot, I receive the following error:
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 104: Unknown variable: $ doveconf: Error: managesieve-login: dump-capability process returned 89 doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 104: Unknown variable: $
Is it possible that the instructions at the Wiki 2 URL cited above are out-of-date?
If I try to escape the $ with any other character (I'm just shooting in the dark regarding possible escape characters, as I cannot find definitive documentation that pertains to escaping $ in the dovecot configuration), I receive yet another error:
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: Namespace '': Hierarchy separator must be only one character long doveconf: Error: managesieve-login: dump-capability process returned 89 doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: Namespace '': Hierarchy separator must be only one character long
Ultimately, I have two questions:
1.) Is the nesting structure that I've employed correct? The Wiki 2 page is not clear with regard to the nesting; is it correct to put the "namespace" block inside the "protocol imap" block, as I demonstrated above?
2.) Is it possible to escape the dollar sign so that it can be used as the separator?
Full "doveconf -n" output is included below.
Thanks for any assistance,
-Ben
# doveconf -n # 2.2.9: /etc/dovecot/dovecot.conf doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 104: Unknown variable: $ doveconf: Error: managesieve-login: dump-capability process returned 89 # OS: Linux 3.13.0-34-generic x86_64 Ubuntu 14.04.1 LTS auth_mechanisms = plain login disable_plaintext_auth = no listen = *,[::] log_timestamp = "%Y-%m-%d %H:%M:%S " mail_debug = yes mail_privileged_group = vmail passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } plugin { antispam_backend = pipe antispam_debug_target = syslog antispam_pipe_program = /bin/bash antispam_pipe_program_args = /usr/local/bin/sa-learn-pipe.sh antispam_pipe_program_notspam_arg = --ham antispam_pipe_program_spam_arg = --spam antispam_pipe_tmpdir = /tmp antispam_spam_pattern_ignorecase = SPAM;JUNK antispam_trash_pattern_ignorecase = trash;Deleted * antispam_verbose_debug = 1 quota = dict:user::file:/var/vmail/%d/%n/.quotausage quota_rule2 = Trash:storage=+100M quota_rule3 = Junk:ignore quota_rule4 = INBOX:storage=+100M quota_warning = storage=100%% quota-reached 100 %u %d quota_warning2 = storage=95%% quota-warning 95 %u %d quota_warning3 = storage=80%% quota-warning 80 %u %d quota_warning4 = -storage=100%% quota-below below %u %d sieve = /var/vmail/%d/%n/.sieve } postmaster_address = postmaster@localhost.com protocols = imap pop3 sieve service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = vmail mode = 0600 user = vmail } user = root } service config { unix_listener config { group = vmail mode = 0600 user = vmail } } service imap-login { client_limit = 1000 process_limit = 500 } service quota-below { executable = script /usr/local/bin/quota-below.sh unix_listener quota-below { group = vmail mode = 0666 user = vmail } user = vmail } service quota-reached { executable = script /usr/local/bin/quota-reached.sh unix_listener quota-reached { group = vmail mode = 0666 user = vmail } user = vmail } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { group = vmail mode = 0666 user = vmail } user = vmail } ssl_cert = </etc/postfix/smtpd.cert ssl_key = </etc/postfix/smtpd.key userdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } protocol imap { mail_plugins = quota imap_quota antispam listescape namespace { inbox = yes location = prefix = separator = $ type = private } } protocol pop3 { mail_plugins = quota pop3_uidl_format = %08Xu%08Xv } protocol lda { info_log_path = log_path = mail_plugins = sieve quota }