<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>