summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2016-07-06 17:51:28 +0200
committerGuilhem Moulin <guilhem@fripost.org>2016-07-06 17:51:28 +0200
commitd237ec31f785c801b29d679f10f8f2d618ff1585 (patch)
tree0cb3b544ddf758ffbcc12fcc4a7076adf98fc7a0 /roles
parent8e24d7703401e1858a73eb1d713b4c80b3d799a9 (diff)
IMAP: don't include mailbox under the virtual namespace in LIST responses.
Clients now have to use the NAMESPACE extension [RFC 2342] to discover mailboxes under the “virtual/” namespace. (Plus an extra LIST command, causing an overhead two roundtrips.) Of course the downside is that non namespace-aware clients lose access to the “virtual/{all,flagged,…}” mailboxes, but on second thought it's probably better this way rather than having such clients treat these mailboxes as regular mailboxes.
Diffstat (limited to 'roles')
-rw-r--r--roles/IMAP/files/etc/dovecot/conf.d/10-mail.conf2
-rw-r--r--roles/webmail/tasks/roundcube.yml1
2 files changed, 2 insertions, 1 deletions
diff --git a/roles/IMAP/files/etc/dovecot/conf.d/10-mail.conf b/roles/IMAP/files/etc/dovecot/conf.d/10-mail.conf
index cd59ebf..ef76a8d 100644
--- a/roles/IMAP/files/etc/dovecot/conf.d/10-mail.conf
+++ b/roles/IMAP/files/etc/dovecot/conf.d/10-mail.conf
@@ -64,41 +64,41 @@ namespace inbox {
# extension. You'll most likely also want to set list=no. This is mostly
# useful when converting from another server with different namespaces which
# you want to deprecate but still keep working. For example you can create
# hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
#hidden = no
# Show the mailboxes under this namespace with LIST command. This makes the
# namespace visible for clients that don't support NAMESPACE extension.
# "children" value lists child mailboxes, but hides the namespace prefix.
#list = yes
# Namespace handles its own subscriptions. If set to "no", the parent
# namespace handles them (empty prefix should always have this as "yes")
#subscriptions = yes
}
namespace virtual {
prefix = virtual/
separator = /
location = virtual:/etc/dovecot/virtual:INDEX=MEMORY
- list = yes
+ list = no
hidden = no
subscriptions = no
}
# Example shared namespace configuration
#namespace {
#type = shared
#separator = /
# Mailboxes are visible under "shared/user@domain/"
# %%n, %%d and %%u are expanded to the destination user.
#prefix = shared/%%u/
# Mail location for other users' mailboxes. Note that %variables and ~/
# expands to the logged in user's data. %%n, %%d, %%u and %%h expand to the
# destination user's data.
#location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
# Use the default namespace for saving subscriptions.
#subscriptions = no
diff --git a/roles/webmail/tasks/roundcube.yml b/roles/webmail/tasks/roundcube.yml
index 24f8fa7..41ef907 100644
--- a/roles/webmail/tasks/roundcube.yml
+++ b/roles/webmail/tasks/roundcube.yml
@@ -37,40 +37,41 @@
- classic
- larry
- name: Configure Roundcube
lineinfile: dest=/etc/roundcube/config.inc.php
regexp='^\\s*\\$config\\[\'{{ item.var }}\'\\]\\s*='
line='$config[\'{{ item.var }}\'] = {{ item.value }};'
owner=root group=www-data
mode=0640
with_items:
# Logging/Debugging
- { var: smtp_log, value: "false" }
# IMAP
# WARNING: After hostname change update of mail_host column in users
# table is required to match old user data records with the new host.
- { var: default_host, value: "'{{ ipsec[imapsvr.inventory_hostname_short] }}'" }
- { var: default_port, value: "143" }
- { var: imap_auth_type, value: "'PLAIN'" }
- { var: imap_cache, value: "null" }
- { var: imap_timeout, value: "180" }
+ - { var: imap_force_ns, value: "true" }
- { var: messages_cache, value: "false" }
# SMTP
- { var: smtp_server, value: "'localhost'" }
- { var: smtp_port, value: "2525" }
# System
- { var: force_https, value: "true" }
- { var: login_autocomplete, value: "2" }
- { var: skin_logo, value: "'/images/fripost_logo.png'" }
- { var: username_domain, value: "'fripost.org'" }
- { var: product_name, value: "'Fripost Webmail'" }
# Plugins
- { var: plugins, value: "array('archive','additional_message_headers','managesieve','password')" }
# Spell Checking
- { var: enable_spellcheck, value: "'true'" }
- { var: spellcheck_engine, value: "'enchant'" }
- { var: spellcheck_languages, value: "array('da','de','en','es','fr','no','sv')" }
# User Interface
- { var: skin, value: "'larry'" }
- { var: language, value: "'sv_SE'" }
- { var: create_default_folders, value: "true" }