mailing lists
2011-Sep-12 15:55 UTC
[Dovecot] director ignoring director_mail_servers for lmtp connections
Hello,
Following Jan-Frode's advise I am trying this configuration:
{postfix} ---lmtp---> {director} ---lmtp---> {dovecot}
so I have two dovecot instances for director/proxy and lmtp delivery on ports
1024 and 24 respectively.
whilst for imap connections I can specify a pool of imap backend servers via
'director_mail_servers' it seems is not possible with lmtp.
Sep 12 17:14:13 imap1 dovecot: auth: Debug: master in: PASS?? 1?????? user001 at
example.com ?? service=lmtp??? lip=::1 lport=1024????? rip=::1 rpor5
Sep 12 17:14:13 imap1 dovecot: auth: Debug: static(user001 at example.com,::1):
lookup
Sep 12 17:14:13 imap1 dovecot: auth: Debug: password(user001 at
eexample.com,::1): Credentials:
Sep 12 17:14:13 imap1 dovecot: auth: Debug: master out: PASS? 1??????
user=user001 at example.com?????? proxy?? port=24
Sep 12 17:14:13 imap1 dovecot: lmtp(25682): Debug: auth input: user=user001 at
example.com proxy port=24
Sep 12 17:14:13 imap1 dovecot: lmtp(25682): Error: proxy: host not given
Sep 12 17:14:13 imap1 dovecot: lmtp(25682): Debug: Loading modules from
directory: /usr/lib64/dovecot/modules
Sep 12 17:14:13 imap1 dovecot: lmtp(25682): Debug: Module loaded:
/usr/lib64/dovecot/modules/lib01_acl_plugin.so
Sep 12 17:14:13 imap1 dovecot: auth: Debug: master in: USER?? 2?????? user001 at
example.com??? service=lmtp??? lip=::1 rip=::1
Sep 12 17:14:13 imap1 dovecot: auth: Debug: static(user001 at example.com,::1):
lookup
Sep 12 17:14:13 imap1 dovecot: auth: Debug: password(user001 at
example.com,::1): Credentials:
Sep 12 17:14:13 imap1 dovecot: auth: Debug: master out: USER? 2?????? user001 at
example.com
Sep 12 17:14:13 imap1 dovecot: lmtp(25682): Debug: auth input: user001 at
example.com
Sep 12 17:14:43 imap1 dovecot: lmtp(25682): Disconnect from ::1: Client quit (in
RCPT TO)
how I can redirect incoming lmtp request to backend lmtp servers (and not just
one)? what I'm missing here?
??? /----------/
# dovecot -c /etc/dovecot-director/dovecot.conf -n
# 2.0.14: /etc/dovecot-director/dovecot.conf
# OS: Linux 2.6.34.7-0.7-xen x86_64 openSUSE 11.3 (x86_64)
auth_debug = yes
auth_debug_passwords = yes
auth_verbose = yes
auth_verbose_passwords = plain
base_dir = /var/run/dovecot-director/
director_mail_servers = 101.180.245.101
director_servers = 101.180.245.101
disable_plaintext_auth = no
lmtp_proxy = yes
mail_debug = yes
mail_fsync = always
mail_gid = 5000
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = acl
mail_uid = 5000
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include variables body enotify environment mailbox date
mmap_disable = yes
passdb {
? args = proxy=y nopassword=y
? driver = static
}
plugin {
? acl = vfile
? sieve = ~/.dovecot.sieve
? sieve_dir = ~/sieve
}
protocols = imap lmtp
service auth {
? unix_listener auth-userdb {
??? group = vmail
??? mode = 0666
??? user = vmail
? }
}
service director {
? fifo_listener login/proxy-notify {
??? mode = 0666
? }
? inet_listener {
??? port = 9090
? }
? unix_listener director-userdb {
??? mode = 0666
? }
? unix_listener login/director {
??? mode = 0666
? }
}
service imap-login {
? executable = imap-login director
? inet_listener imap {
??? port = 10143
? }
}
service lmtp {
? inet_listener lmtp {
??? port = 1024
? }
}
ssl = no
verbose_proctitle = yes
protocol lmtp {
? passdb {
??? args = proxy=y nopassword=y port=24
??? driver = static
? }
}
protocol imap {
? mail_max_userip_connections = 100
}
Jan-Frode Myklebust
2011-Sep-13 06:34 UTC
[Dovecot] director ignoring director_mail_servers for lmtp connections
On Mon, Sep 12, 2011 at 04:55:51PM +0100, mailing lists wrote:> > how I can redirect incoming lmtp request to backend lmtp servers (and not just one)? what I'm missing here? > > director_mail_servers = 101.180.245.101 > director_servers = 101.180.245.101Is this a loop maybe? director_mail_servers should list all your backend dovecot servers, space separated. Here's mine: director_mail_servers = 192.168.42.7 192.168.42.8 192.168.42.9 192.168.42.10 192.168.42.11 192.168.42.28 192.168.42.29 and director_servers should list all your director servers so that they can share info on where to direct each user, like: director_servers = 192.168.42.15 192.168.42.17 Then, if this is configured correctly "doveadm director status" should list your backend director_mail_servers: $ sudo doveadm director status mail server ip vhosts users 192.168.42.28 100 5220 192.168.42.29 100 4733 <snip> $ sudo doveadm director status janfrode at tanso.net Current: 192.168.42.28 (expires 2011-09-13 08:46:42) Hashed: 192.168.42.28 Initial config: 192.168.42.11 -jf
mailing lists
2011-Sep-13 07:45 UTC
[Dovecot] director ignoring director_mail_servers for lmtp connections
On 09/13/2011 08:34 AM, Jan-Frode Myklebust wrote:> On Mon, Sep 12, 2011 at 04:55:51PM +0100, mailing lists wrote:>>>> director_mail_servers = 101.180.245.101 >> director_servers = 101.180.245.101it works with imap connections, so I assumed it also would do it for lmtp. Sep 13 09:04:03 imap1 dovecot: imap-login: proxy(user001): started proxying to 10.180.245.101:143: user=<user001>, method=PLAIN, rip=::1, lip=:??? :1, secured> Is this a loop maybe?? director_mail_servers should list all > your backend dovecot servers, space separated. Here's mine: > > ??? director_mail_servers = 192.168.42.7 192.168.42.8 192.168.42.9 192.168.42.10 192.168.42.11 192.168.42.28 192.168.42.29using only one director and backend would be fine for tests purposes (as it was with imap and not loops were formed) What I don't understand is why director insists in providing a proxy host from passdb when all it needs to do is pick the ones in director_mail_servers ?? Sep 12 17:14:13 imap1 dovecot: lmtp(25682): Error: proxy: host not given please could you post you lmtp configuration??
mailing lists
2011-Sep-13 08:34 UTC
[Dovecot] director ignoring director_mail_servers for lmtp connections
Hello,
it works!!
I was missing this line
"auth_socket_path = director-userdb"
Sep 13 10:26:12 imap1 dovecot: auth: Debug: master in: PASS?? 1?????? user001 at
example.com ?? service=lmtp??? lip=100.180.245.101????? lport=1024? 8
Sep 13 10:26:12 imap1 dovecot: auth: Debug: static(user001 at
example.com,100.180.242.38): lookup
Sep 13 10:26:12 imap1 dovecot: auth: Debug: password(user001 at
example.com,100.180.242.38): Credentials:
Sep 13 10:26:12 imap1 dovecot: auth: Debug: master out: PASS? 1??????
user=user001 at example.com ????? proxy?? port=24
Sep 13 10:26:12 imap1 dovecot: lmtp(29659): Debug: auth input: user=user001 at
example.com proxy port=24 host=100.180.245.101 proxy_refresh=450
Sep 13 10:26:12 imap1 dovecot: lmtp(29658): Debug: none: root=, index=,
control=, inbox=, altSep 13 10:26:12 imap1 dovecot: lmtp(29658): Connect from
100.180.245.101
full config for the archives:
# dovecot? -c /etc/dovecot-director/dovecot.conf -n
# 2.0.14: /etc/dovecot-director/dovecot.conf
# OS: Linux 2.6.34.7-0.7-xen x86_64 openSUSE 11.3 (x86_64)
auth_debug = yes
auth_debug_passwords = yes
auth_verbose = yes
auth_verbose_passwords = plain
base_dir = /var/run/dovecot-director/
director_mail_servers = 100.180.245.101
director_servers = 100.180.245.101
disable_plaintext_auth = no
lmtp_proxy = yes
mail_debug = yes
mail_fsync = always
mail_gid = 5000
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = acl
mail_uid = 5000
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
ine
mmap_disable = yes
passdb {
? args = proxy=y nopassword=y
? driver = static
}
plugin {
? acl = vfile
? sieve = ~/.dovecot.sieve
? sieve_dir = ~/sieve
}
protocols = imap lmtp
service auth {
? unix_listener auth-userdb {
??? group = vmail
??? mode = 0666
??? user = vmail
? }
}
service director {
? fifo_listener login/proxy-notify {
??? mode = 0666
? }
? inet_listener {
??? port = 9090
? }
? unix_listener director-userdb {
??? mode = 0666
? }
? unix_listener login/director {
??? mode = 0666
? }
}
service imap-login {
? executable = imap-login director
? inet_listener imap {
??? port = 10143
? }
}
service lmtp {
? inet_listener lmtp {
??? port = 1024
? }
}
ssl = no
verbose_proctitle = yes
protocol lmtp {
? auth_socket_path = director-userdb
? passdb {
??? args = proxy=y nopassword=y port=24
??? driver = static
? }
}
protocol imap {
? mail_max_userip_connections = 100
}
Reasonably Related Threads
- Shared Mailboxes with VirtualUsers and mail_location retrieved from ldap
- doveadm(user001): Fatal: passdb lookup failed
- panic when doveadm sieve put between multiple hosts
- doveadm fails with passdb authentication binds (dovecot 2.0.16)
- dovecot director terminate ssl ?