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