Debian: Dovecot 2.3.0.1 won't start if dovecot-pop3d is missing
Markus Schönhaber
dovecot at list-post.mks-mail.de
Fri Mar 2 19:44:34 EET 2018
Hello,
given a Debian 9 system with Dovecot 2.2.34 installed from self-built
packages made from the official tarball combined with Stephan Bosch's
debian files (upgraded multiple times from packages made in a similar way).
Today, I updated this system to 2.3.0.1 from the official repository at
repo.dovecot.org. After the update, dovecot wouldn't start because of:
> dovecot: master: Fatal: service(pop3) access(/usr/lib/dovecot/pop3)
failed: No such file or directory
Obviously, installing the dovecot-pop3d package, which provides the pop3
binary, made the error go away.
Nevertheless, until v. 2.2.34 not installing the pop3 binary had never
been a problem. Trying to solve this, I even commented the following
sections in the config (which previously hadn't caused problems since
the lines defining the ports etc. had already been commented):
> 10-master.conf:
> service pop3-login {
> inet_listener pop3 {
> #port = 110
> }
> inet_listener pop3s {
> #port = 995
> #ssl = yes
> }
> }
> service pop3 {
> # Max. number of POP3 processes (connections)
> #process_limit = 1024
> }
> 10-director.conf:
> service pop3-login {
> #executable = pop3-login director
> }
After those changes I had the configuration shown below, which produced
the described error.
Why would Dovecot insist that the pop3 binary has to exist on the system?
BTW: Note the protocols = line in the doveconf -n output, whereas
> # grep -R protocols /etc/dovecot/
> /etc/dovecot/dovecot.conf:# Most (but not all) settings can be overridden by different protocols and/or
> /etc/dovecot/dovecot.conf:# Enable installed protocols
> /etc/dovecot/dovecot.conf:!include_try /usr/share/dovecot/protocols.d/*.protocol
> /etc/dovecot/conf.d/20-managesieve.conf:#protocols = $protocols sieve
> /etc/dovecot/conf.d/10-ssl.conf:# SSL protocols to use
> /etc/dovecot/conf.d/10-ssl.conf:#ssl_protocols = !SSLv2
> # ll /usr/share/dovecot/protocols.d/
> insgesamt 12
> -rw-r--r-- 1 root root 28 Mär 2 14:51 imapd.protocol
> -rw-r--r-- 1 root root 28 Mär 2 14:51 lmtpd.protocol
> -rw-r--r-- 1 root root 29 Mär 2 14:51 managesieved.protocol
Regards
mks
doveconf -n
# 2.3.0.1 (ffd8a29): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.0.1 (d33dca2)
# OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.3 ext4
auth_master_user_separator = *
auth_mechanisms = plain login
dict {
quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
imap_id_log = *
mail_home = /var/spool/vmail/home/%d/%n
mail_location = mdbox:/var/spool/vmail/mail/%d/%n
mail_log_prefix = "%s[%p](%u)<%{session}>: "
mail_plugins = " quota acl"
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 index ihave duplicate mime foreverypart extracttext
namespace {
list = children
location =
mdbox:/var/spool/vmail/mail/Public:INDEXPVT=/var/spool/vmail/home/Public
prefix = Public/
separator = /
subscriptions = no
type = public
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = /
}
passdb {
args = /etc/dovecot/master-users
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = /etc/dovecot/dovecot-proxy-sql.conf.ext
driver = sql
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
passdb {
args = /etc/dovecot/dovecot-system-sql.conf.ext
driver = sql
}
plugin {
acl = vfile
mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename
mail_log_fields = uid box msgid size
quota = dict:User quota::proxy::quota
recipient_delimiter = +
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_after = /var/spool/vmail/home/1-global/sieve
}
protocols = imap pop3 lmtp imap lmtp sieve
service auth {
inet_listener {
port = 12345
}
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0600
user = vmail
}
}
service imap-login {
inet_listener imap_2 {
port = 10143
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
ssl_cert = </etc/ssl/certs/complete.crt
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/master-users
default_fields = master_user=%u
driver = passwd-file
}
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
default_fields = master_user=%u
driver = sql
}
userdb {
args = /etc/dovecot/dovecot-system-sql.conf.ext
driver = sql
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = " quota acl quota sieve"
postmaster_address = postmaster@<domain>
}
protocol lda {
mail_plugins = " quota acl sieve"
}
protocol imap {
mail_max_userip_connections = 40
mail_plugins = " quota acl imap_quota acl"
}
remote 192.168.1.116 {
protocol imap {
disable_plaintext_auth = no
}
}
remote 192.168.1.127 {
protocol imap {
disable_plaintext_auth = no
}
}
More information about the dovecot
mailing list