diff --git a/install/tpl/debian6_dovecot-sql.conf.master b/install/tpl/debian6_dovecot-sql.conf.master index cb38c578a8e882040ea3cf2318d6bc6ab8da4f0b..b04abdebced7412a61283799016b044c7fdf349c 100644 --- a/install/tpl/debian6_dovecot-sql.conf.master +++ b/install/tpl/debian6_dovecot-sql.conf.master @@ -1,20 +1,5 @@ -# This file is opened as root, so it should be owned by root and mode 0600. -# # http://wiki.dovecot.org/AuthDatabase/SQL # -# For the sql passdb module, you'll need a database with a table that -# contains fields for at least the userid and password. If you want to -# use the user@domain syntax, you might want to have a separate domain -# field as well. -# -# If your users all have the same uig/gid, and have predictable home -# directories, you can use the static userdb module to generate the home -# dir based on the userid and domain. In this case, you won't need fields -# for home, uid, or gid in the database. -# -# If you prefer to use the sql userdb module, you'll want to add fields -# for home, uid, and gid. Here is an example table: -# # CREATE TABLE users ( # userid VARCHAR(128) NOT NULL, # password VARCHAR(64) NOT NULL, @@ -24,102 +9,24 @@ # active CHAR(1) DEFAULT 'Y' NOT NULL # ); -# Database driver: mysql, pgsql, sqlite -#driver = - -# Database connection string. This is driver-specific setting. -# -# pgsql: -# For available options, see the PostgreSQL documention for the -# PQconnectdb function of libpq. -# -# mysql: -# Basic options emulate PostgreSQL option names: -# host, port, user, password, dbname -# -# But also adds some new settings: -# client_flags - See MySQL manual -# ssl_ca, ssl_ca_path - Set either one or both to enable SSL -# ssl_cert, ssl_key - For sending client-side certificates to server -# ssl_cipher - Set minimum allowed cipher security (default: HIGH) -# -# You can connect to UNIX sockets by using host: host=/var/run/mysqld/mysqld.sock -# Note that currently you can't use spaces in parameters. -# -# sqlite: -# The path to the database file. -# -# Examples: -# connect = host=192.168.1.1 dbname=users -# connect = host=sql.example.com dbname=virtual user=virtual password=blarg -# connect = /etc/dovecot/authdb.sqlite -# -#connect = dbname=virtual user=virtual - -# Default password scheme. -# -# List of supported schemes is in -# http://wiki.dovecot.org/Authentication/PasswordSchemes -# -#default_pass_scheme = PLAIN-MD5 - -# Query to retrieve the password. -# -# This query must return only one row with "user" and "password" columns. -# The query can also return other fields which have a special meaning, see -# http://wiki.dovecot.org/PasswordDatabase/ExtraFields -# -# The "user" column is needed to make sure the username gets used with exactly -# the same casing as it's in the database. Note that if you store username and -# domain in separate fields, you most likely want to return a combination of -# them as the "user" column, otherwise the domain gets stripped. -# -# Commonly used available substitutions (see -# http://wiki.dovecot.org/Variables for full list): -# %u = entire userid -# %n = user part of user@domain -# %d = domain part of user@domain -# -# Note that these can be used only as input to SQL query. If the query outputs -# any of these substitutions, they're not touched. Otherwise it would be -# difficult to have eg. usernames containing '%' characters. -# -# Example: -# password_query = SELECT concat(userid, '@', domain) AS user, password FROM users WHERE userid = '%n' AND domain = '%d' -# password_query = SELECT pw AS password FROM users WHERE userid = '%u' AND active = 'Y' -# -#password_query = SELECT userid as user, password FROM users WHERE userid = '%u' - -# Query to retrieve the user information. -# -# The query must return only one row. Commonly returned columns are: -# uid - System UID -# gid - System GID -# home - Home directory -# mail - Mail location -# -# Either home or mail is required. uid and gid are required. If more than one -# row is returned or there are missing fields, the login will fail. For a list -# of all fields that can be returned, see -# http://wiki.dovecot.org/UserDatabase/ExtraFields -# -# Examples -# user_query = SELECT home, uid, gid FROM users WHERE userid = '%n' AND domain = '%d' -# user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u' -# user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u' -# -#user_query = SELECT home, uid, gid FROM users WHERE userid = '%u' - -# If you wish to avoid two SQL lookups (passdb + userdb), you can use -# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll -# also have to return userdb fields in password_query prefixed with "userdb_" -# string. For example: -#password_query = SELECT userid as user, password, home as userdb_home, uid as userdb_uid, gid as userdb_gid FROM users WHERE userid = '%u' - driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' -# user_query = SELECT email AS user, maildir AS home, CONCAT('*:storage=', quota , 'B') AS quota_rule FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', floor(quota/1024), 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' +password_query = SELECT password FROM mail_user \ + WHERE login = '%u' AND disable%Ls = 'n' + +# Old user query quota part +# CONCAT('*:storage=', quota , 'B') AS quota_rule +# Old user query with email instead of login +# WHERE email = '%u' AND disable%Ls = 'n' + +user_query = SELECT email as user, \ + maildir as home, \ + CONCAT('maildir:', maildir, '/Maildir') as mail, \ + uid, \ + gid, \ + CONCAT('*:storage=', floor(quota/1024), 'B') AS quota_rule, \ + CONCAT(maildir, '/.sieve') as sieve \ + FROM mail_user \ + WHERE email = '%u' AND disable%Ls = 'n'