From 9485f2a9a2b1c4e9de7745a5001f652e6d817c3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Fri, 1 Jul 2022 09:38:14 +0200 Subject: [PATCH] Update doc for Dovecot's authentication configuration --- doc/manual_installation/dovecot.rst | 34 ++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/doc/manual_installation/dovecot.rst b/doc/manual_installation/dovecot.rst index 4d7cd6754..d9e8fa961 100644 --- a/doc/manual_installation/dovecot.rst +++ b/doc/manual_installation/dovecot.rst @@ -147,11 +147,22 @@ MySQL users default_pass_scheme = CRYPT - password_query = SELECT email AS user, password FROM core_user WHERE email='%Lu' and is_active=1 + password_query = \ + SELECT email AS user, password \ + FROM core_user u \ + INNER JOIN admin_mailbox mb ON u.id=mb.user_id \ + INNER JOIN admin_domain dom ON mb.domain_id=dom.id \ + WHERE u.email='%L{user}' AND u.is_active=1 AND dom.enabled=1 - user_query = SELECT '/%Ld/%Ln' AS home, as uid, as gid, concat('*:bytes=', mb.quota, 'M') AS quota_rule FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id WHERE mb.address='%Ln' AND dom.name='%Ld' + user_query = \ + SELECT '/%Ld/%Ln' AS home, \ + as uid, as gid, CONCAT('*:bytes=', mb.quota, 'M') AS quota_rule \ + FROM admin_mailbox mb \ + INNER JOIN admin_domain dom ON mb.domain_id=dom.id \ + INNER JOIN core_user u ON mb.user_id=u.id \ + WHERE mb.address='%L{username}' AND dom.name='%L{domain}' AND u.is_active=1 AND dom.enabled=1 - iterate_query = SELECT email AS user FROM core_user + iterate_query = SELECT email AS user FROM core_user WHERE is_active .. _dovecot_pg_queries: @@ -166,11 +177,22 @@ PostgreSQL users default_pass_scheme = CRYPT - password_query = SELECT email AS user, password FROM core_user u INNER JOIN admin_mailbox mb ON u.id=mb.user_id INNER JOIN admin_domain dom ON mb.domain_id=dom.id WHERE u.email='%Lu' AND u.is_active AND dom.enabled + password_query = \ + SELECT email AS user, password \ + FROM core_user u \ + INNER JOIN admin_mailbox mb ON u.id=mb.user_id \ + INNER JOIN admin_domain dom ON mb.domain_id=dom.id \ + WHERE u.email='%L{user}' AND u.is_active AND dom.enabled - user_query = SELECT '/%Ld/%Ln' AS home, as uid, as gid, '*:bytes=' || mb.quota || 'M' AS quota_rule FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id WHERE mb.address='%Ln' AND dom.name='%Ld' + user_query = \ + SELECT '/%Ld/%Ln' AS home, \ + as uid, as gid, CONCAT('*:bytes=', mb.quota, 'M') AS quota_rule \ + FROM admin_mailbox mb \ + INNER JOIN admin_domain dom ON mb.domain_id=dom.id \ + INNER JOIN core_user u ON mb.user_id=u.id \ + WHERE mb.address='%L{username}' AND dom.name='%L{domain}' AND u.is_active AND dom.enabled - iterate_query = SELECT email AS user FROM core_user + iterate_query = SELECT email AS user FROM core_user WHERE is_active SQLite users ------------