summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2016-05-23 01:58:48 +0200
committerGuilhem Moulin <guilhem@fripost.org>2016-05-23 01:58:48 +0200
commit5939ce51d7527784e5a53c1f1f4b16aaf189ead2 (patch)
tree9a30661e1179b19101648eeb4f90478360baf6aa /roles
parent4b59f7a4cfe0f84e2084f01671982b7713a534aa (diff)
Dovecot imapc: use the version from jessie-backports.
Since many bug have been fixed since 2.2.13, and we really want passthrough search on the caching proxy.
Diffstat (limited to 'roles')
-rw-r--r--roles/IMAP-proxy/files/etc/dovecot/conf.d/10-auth.conf2
-rw-r--r--[l---------]roles/IMAP-proxy/files/etc/dovecot/conf.d/10-logging.conf86
-rw-r--r--roles/IMAP-proxy/files/etc/dovecot/conf.d/10-mail.conf22
-rw-r--r--roles/IMAP-proxy/files/etc/dovecot/conf.d/10-master.conf4
-rw-r--r--[l---------]roles/IMAP-proxy/files/etc/dovecot/conf.d/15-mailboxes.conf77
-rw-r--r--roles/IMAP-proxy/tasks/main.yml7
-rw-r--r--roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j23
7 files changed, 188 insertions, 13 deletions
diff --git a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-auth.conf b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-auth.conf
index 1abea0c..ec8704f 100644
--- a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-auth.conf
+++ b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-auth.conf
@@ -7,7 +7,7 @@
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
# See also ssl=required setting.
-disable_plaintext_auth = yes
+#disable_plaintext_auth = yes
# Authentication cache size (e.g. 10M). 0 means it's disabled. Note that
# bsdauth, PAM and vpopmail require cache_key to be set for caching to be used.
diff --git a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-logging.conf b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-logging.conf
index fc1f820..848fe69 120000..100644
--- a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-logging.conf
+++ b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-logging.conf
@@ -1 +1,85 @@
-../../../../../IMAP/files/etc/dovecot/conf.d/10-logging.conf \ No newline at end of file
+##
+## Log destination.
+##
+
+# Log file to use for error messages. "syslog" logs to syslog,
+# /dev/stderr logs to stderr.
+#log_path = syslog
+
+# Log file to use for informational messages. Defaults to log_path.
+#info_log_path =
+# Log file to use for debug messages. Defaults to info_log_path.
+#debug_log_path =
+
+# Syslog facility to use if you're logging to syslog. Usually if you don't
+# want to use "mail", you'll use local0..local7. Also other standard
+# facilities are supported.
+#syslog_facility = mail
+
+##
+## Logging verbosity and debugging.
+##
+
+# Log unsuccessful authentication attempts and the reasons why they failed.
+#auth_verbose = no
+
+# In case of password mismatches, log the attempted password. Valid values are
+# no, plain and sha1. sha1 can be useful for detecting brute force password
+# attempts vs. user simply trying the same password over and over again.
+# You can also truncate the value to n chars by appending ":n" (e.g. sha1:6).
+#auth_verbose_passwords = no
+
+# Even more verbose logging for debugging purposes. Shows for example SQL
+# queries.
+#auth_debug = no
+
+# In case of password mismatches, log the passwords and used scheme so the
+# problem can be debugged. Enabling this also enables auth_debug.
+#auth_debug_passwords = no
+
+# Enable mail process debugging. This can help you figure out why Dovecot
+# isn't finding your mails.
+#mail_debug = no
+
+# Show protocol level SSL errors.
+#verbose_ssl = no
+
+# mail_log plugin provides more event logging for mail processes.
+plugin {
+ # Events to log. Also available: flag_change append
+ #mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
+ # Available fields: uid, box, msgid, from, subject, size, vsize, flags
+ # size and vsize are available only for expunge and copy events.
+ #mail_log_fields = uid box msgid size
+}
+
+##
+## Log formatting.
+##
+
+# Prefix for each line written to log file. % codes are in strftime(3)
+# format.
+log_timestamp = "%Y-%m-%d %H:%M:%S "
+
+# Space-separated list of elements we want to log. The elements which have
+# a non-empty variable value are joined together to form a comma-separated
+# string.
+#login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
+
+# Login log format. %s contains login_log_format_elements string, %$ contains
+# the data we want to log.
+#login_log_format = %$: %s
+
+# Log prefix for mail processes. See doc/wiki/Variables.txt for list of
+# possible variables you can use.
+#mail_log_prefix = "%s(%u): "
+
+# Format to use for logging mail deliveries. See doc/wiki/Variables.txt for
+# list of all variables you can use. Some of the common ones include:
+# %$ - Delivery status message (e.g. "saved to INBOX")
+# %m - Message-ID
+# %s - Subject
+# %f - From address
+# %p - Physical size
+# %w - Virtual size
+#deliver_log_format = msgid=%m: %$
diff --git a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-mail.conf b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-mail.conf
index 53e45b5..2264719 100644
--- a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-mail.conf
+++ b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-mail.conf
@@ -75,6 +75,8 @@ namespace inbox {
# Namespace handles its own subscriptions. If set to "no", the parent
# namespace handles them (empty prefix should always have this as "yes")
#subscriptions = yes
+
+ # See 15-mailboxes.conf for definitions of special mailboxes.
}
# Example shared namespace configuration
@@ -124,10 +126,22 @@ mail_gid = imapproxy
# or ~user/.
#mail_full_filesystem_access = no
-# Dictionary for key=value mailbox attributes. Currently used by URLAUTH, but
-# soon intended to be used by METADATA as well.
+# Dictionary for key=value mailbox attributes. This is used for example by
+# URLAUTH and METADATA extensions.
#mail_attribute_dict =
+# A comment or note that is associated with the server. This value is
+# accessible for authenticated users through the IMAP METADATA server
+# entry "/shared/comment".
+#mail_server_comment = ""
+
+# Indicates a method for contacting the server administrator. According to
+# RFC 5464, this value MUST be a URI (e.g., a mailto: or tel: URL), but that
+# is currently not enforced. Use for example mailto:admin@example.com. This
+# value is accessible for authenticated users through the IMAP METADATA server
+# entry "/shared/admin".
+#mail_server_admin =
+
##
## Mail processes
##
@@ -198,7 +212,7 @@ first_valid_uid = 1
# Space separated list of plugins to load for all services. Plugins specific to
# IMAP, LDA, etc. are added to this list in their own .conf files.
-mail_plugins = virtual zlib
+#mail_plugins =
##
## Mailbox handling optimizations
@@ -215,7 +229,7 @@ mailbox_list_index = yes
# When IDLE command is running, mailbox is checked once in a while to see if
# there are any new mails or other changes. This setting defines the minimum
-# time to wait between those checks. Dovecot can also use dnotify, inotify and
+# time to wait between those checks. Dovecot can also use inotify and
# kqueue to find out immediately when changes occur.
#mailbox_idle_check_interval = 30 secs
diff --git a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-master.conf b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-master.conf
index 6ac62ec..76c7ed0 100644
--- a/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-master.conf
+++ b/roles/IMAP-proxy/files/etc/dovecot/conf.d/10-master.conf
@@ -16,7 +16,7 @@ default_internal_user = dovecot
service imap-login {
inet_listener imap {
- address = 127.0.0.1 ::1
+ address = 127.0.0.1
port = 143
ssl = no
}
@@ -64,7 +64,7 @@ service auth {
# permissions (e.g. 0777 allows everyone full permissions).
unix_listener auth-userdb {
#mode = 0666
- #user = $default_internal_user
+ #user =
#group =
}
diff --git a/roles/IMAP-proxy/files/etc/dovecot/conf.d/15-mailboxes.conf b/roles/IMAP-proxy/files/etc/dovecot/conf.d/15-mailboxes.conf
index 1883eda..8366e95 120000..100644
--- a/roles/IMAP-proxy/files/etc/dovecot/conf.d/15-mailboxes.conf
+++ b/roles/IMAP-proxy/files/etc/dovecot/conf.d/15-mailboxes.conf
@@ -1 +1,76 @@
-../../../../../IMAP/files/etc/dovecot/conf.d/15-mailboxes.conf \ No newline at end of file
+##
+## Mailbox definitions
+##
+
+# Each mailbox is specified in a separate mailbox section. The section name
+# specifies the mailbox name. If it has spaces, you can put the name
+# "in quotes". These sections can contain the following mailbox settings:
+#
+# auto:
+# Indicates whether the mailbox with this name is automatically created
+# implicitly when it is first accessed. The user can also be automatically
+# subscribed to the mailbox after creation. The following values are
+# defined for this setting:
+#
+# no - Never created automatically.
+# create - Automatically created, but no automatic subscription.
+# subscribe - Automatically created and subscribed.
+#
+# special_use:
+# A space-separated list of SPECIAL-USE flags (RFC 6154) to use for the
+# mailbox. There are no validity checks, so you could specify anything
+# you want in here, but it's not a good idea to use flags other than the
+# standard ones specified in the RFC:
+#
+# \All - This (virtual) mailbox presents all messages in the
+# user's message store.
+# \Archive - This mailbox is used to archive messages.
+# \Drafts - This mailbox is used to hold draft messages.
+# \Flagged - This (virtual) mailbox presents all messages in the
+# user's message store marked with the IMAP \Flagged flag.
+# \Junk - This mailbox is where messages deemed to be junk mail
+# are held.
+# \Sent - This mailbox is used to hold copies of messages that
+# have been sent.
+# \Trash - This mailbox is used to hold messages that have been
+# deleted.
+#
+# comment:
+# Defines a default comment or note associated with the mailbox. This
+# value is accessible through the IMAP METADATA mailbox entries
+# "/shared/comment" and "/private/comment". Users with sufficient
+# privileges can override the default value for entries with a custom
+# value.
+
+# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf.
+namespace inbox {
+ # These mailboxes are widely used and could perhaps be created automatically:
+ mailbox Drafts {
+ auto = create
+ special_use = \Drafts
+ }
+ mailbox Junk {
+ auto = create
+ special_use = \Junk
+ }
+ mailbox Trash {
+ auto = create
+ special_use = \Trash
+ }
+ mailbox Sent {
+ auto = subscribe
+ special_use = \Sent
+ }
+
+ # If you have a virtual "All messages" mailbox:
+ mailbox virtual/All {
+ special_use = \All
+ comment = All my messages
+ }
+
+ # If you have a virtual "Flagged" mailbox:
+ mailbox virtual/Flagged {
+ special_use = \Flagged
+ comment = All my flagged messages
+ }
+}
diff --git a/roles/IMAP-proxy/tasks/main.yml b/roles/IMAP-proxy/tasks/main.yml
index 93a5181..50cfc2d 100644
--- a/roles/IMAP-proxy/tasks/main.yml
+++ b/roles/IMAP-proxy/tasks/main.yml
@@ -1,6 +1,9 @@
- name: Install Dovecot
- #apt: pkg={{ item }} default_release={{ ansible_lsb.codename }}-backports
- apt: pkg={{ item }}
+ # WARNING: "The destination servers don't need to be running Dovecot,
+ # but you should make sure that the Dovecot proxy doesn't advertise
+ # more capabilities than the destination server can handle."
+ # http://wiki2.dovecot.org/PasswordDatabase/ExtraFields/Proxy
+ apt: pkg={{ item }} default_release={{ ansible_lsb.codename }}-backports
with_items:
- dovecot-core
- dovecot-imapd
diff --git a/roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j2 b/roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j2
index 39dbbd6..6284f67 100644
--- a/roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j2
+++ b/roles/IMAP-proxy/templates/etc/dovecot/conf.d/20-imapc.conf.j2
@@ -14,5 +14,4 @@ mail_prefetch_count = 25
# The list of valid features can be found at
# https://github.com/dovecot/core/blob/master/src/lib-storage/index/imapc/imapc-settings.c
# (in the struct 'imapc_feature_list imapc_feature_list')
-imapc_features = rfc822.size fetch-headers
-#imapc_features = rfc822.size fetch-headers search
+imapc_features = rfc822.size fetch-headers search