Hello All,

Have anyone met the problem I am struggling with at the moment ?
The problem is when I run two instances of dovecot 2.1.8 which are one for proxy-director and another one is a regular one on the same server then I have big amount of strange entries in the /var/log/mail.err:

Jul 26 11:51:20 dovecot-test-1 dovecot: director: Error: Empty server list
Jul 26 11:51:20 dovecot-test-1 dovecot: director: Fatal: Invalid value for director_mail_servers setting Jul 26 11:51:20 dovecot-test-1 dovecot: master: Error: service(director): command startup failed, throttling for 60 secs
Jul 26 11:52:20 dovecot-test-1 dovecot: director: Error: Empty server list
Jul 26 11:52:20 dovecot-test-1 dovecot: director: Fatal: Invalid value for director_mail_servers setting Jul 26 11:52:20 dovecot-test-1 dovecot: master: Error: service(director): command startup failed, throttling for 60 secs

That's for sure set->director_mail_servers variable in main_preinit of ./src/director/main.c But after dumping it it turns out that ppid of the process which failed to use main_preinit function is a "regular" dovecot not the proxy one. When main_preinit is used by dovecot-proxy then set->director_mail_servers = ip address of a mail server and it is all good but if main_preinit is used by dovecot then set->director_mail_servers = empty and I get fatal errors in logs.

So here is a question: How come that "non-proxy" dovecot requests director_mail_servers variable and writes fatal error in the logs if it doesn't find it ?


Thank you very much for any assistance!

Please find my configs:

DOVECOT:

root@dovecot-test-1:~/software/dovecot/dovecot-2.1.8# /usr/local/dovecot/sbin/dovecot -n
# 2.1.8: /usr/local/dovecot/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.5
auth_mechanisms = plain digest-md5 cram-md5 apop
auth_verbose = yes
base_dir = /var/run/dovecot/
default_internal_user = webmail
disable_plaintext_auth = no
doveadm_password = secret
listen = 192.168.0.42
mail_fsync = always
mail_location = maildir:~/
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = " quota fts fts_solr"
mmap_disable = yes
passdb {
  args = /usr/local/dovecot/etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  fts = solr
  fts_solr = break-imap-search url=http://localhost:8080/solr/
  quota = maildir:User quota
}
service doveadm {
  inet_listener {
    port = 8282
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service imap {
  executable = imap
}
service lmtp {
  inet_listener lmtp {
    port = 24
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
service pop3 {
  executable = pop3
}
ssl_cert = </usr/local/dovecot/ssl/dovecot.pem
ssl_key = </usr/local/dovecot/ssl/dovecot.pem
userdb {
  args = /usr/local/dovecot/etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
protocol imap {
  mail_plugins = " quota fts fts_solr imap_quota"
}


DOVECOT-PROXY:

root@dovecot-test-1:~/software/dovecot/dovecot-2.1.8# /usr/local/dovecot/sbin/dovecot -c /usr/local/dovecot/etc/dovecot/dovecot-proxy.conf -n
# 2.1.8: /usr/local/dovecot/etc/dovecot/dovecot-proxy.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.5
auth_verbose = yes
base_dir = /var/run/dovecot-proxy
default_internal_user = webmail
director_mail_servers = 192.168.0.42
director_servers = 192.168.0.41
disable_plaintext_auth = no
doveadm_password = secret
doveadm_proxy_port = 8282
instance_name = dovecot-proxy
listen = 192.168.0.41
login_greeting = Dovecot Proxy ready.
mail_location = maildir:~/
passdb {
  args = proxy=y  nopassword=y
  driver = static
}
service auth-worker {
  user = webmail
}
service auth {
  client_limit = 2400
}
service director {
  fifo_listener login/proxy-notify {
    mode = 0666
  }
  inet_listener {
    port = 8181
  }
  unix_listener director-userdb {
    mode = 0600
  }
  unix_listener login/director {
    mode = 0666
  }
}
service doveadm {
  inet_listener {
    port = 8282
  }
}
service imap-login {
  executable = imap-login director
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service imap {
  service_count = 0
}
service lmtp {
  inet_listener lmtp {
    port = 24
  }
}
service pop3-login {
  executable = pop3-login director
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
service pop3 {
  service_count = 0
}
ssl_cert = </usr/local/dovecot/ssl/dovecot.pem
ssl_key = </usr/local/dovecot/ssl/dovecot.pem
userdb {
  args = /usr/local/dovecot/etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
protocol imap {
  mail_max_userip_connections = 100
}

protocol doveadm {
  auth_socket_path = director-userdb
}



--

Regards,
Alexandr Sabitov

Reply via email to