the problem is default protocols = imap pop3 packaging should use protocols = protocols = $protocols imap etc. or you could ---Aki TuomiDovecot oy -------- Original message --------From: Markus Schönhaber <dovecot@list-post.mks-mail.de> Date: 02/03/2018 19:44 (GMT+02:00) To: dovecot@dovecot.org Subject: Debian: Dovecot 2.3.0.1 won't start if dovecot-pop3d is missing 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<%{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 } }