<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<font face="Lato">Hello,<br>
<br>
tonight my dovecot upgraded to 2.3.17 and completely broke on
recent CentOS 8 installation.<br>
<br>
I found the service in status <br>
<br>
[root@riot ~]# systemctl status dovecot<br>
â— dovecot.service - Dovecot IMAP/POP3 email server<br>
  Loaded: loaded (/usr/lib/systemd/system/dovecot.service;
enabled; vendor preset: disabled)<br>
  Active: failed (Result: exit-code) since Sat 2021-10-30
09:59:11 CEST; 58s ago<br>
    Docs: man:dovecot(1)<br>
          <a class="moz-txt-link-freetext" href="https://doc.dovecot.org/">https://doc.dovecot.org/</a><br>
 Process: 1515 ExecStart=/usr/sbin/dovecot -F (code=exited,
status=89)<br>
 Process: 1429 ExecStartPre=/usr/libexec/dovecot/prestartscript
(code=exited, status=0/SUCCESS)<br>
 Main PID: 1515 (code=exited, status=89)<br>
<br>
Oct 30 09:59:10 riot.<domain>.com systemd[1]: Starting
Dovecot IMAP/POP3 email server...<br>
Oct 30 09:59:11 riot.<domain>.com dovecot[1515]: doveconf:
Fatal: execvp(/usr/libexec/dovecot/managesieve) failed: Argument
list too long<br>
Oct 30 09:59:11 riot.<domain>.com dovecot[1515]: doveconf:
Error: managesieve-login: dump-capability process returned 89<br>
Oct 30 09:59:11 riot.<domain>.com dovecot[1515]: doveconf:
Fatal: execvp(/usr/sbin/dovecot) failed: Argument list too long<br>
Oct 30 09:59:11 riot.<domain>.com systemd[1]:
dovecot.service: Main process exited, code=exited, status=89/n/a<br>
Oct 30 09:59:11 riot.<domain>.com systemd[1]:
dovecot.service: Failed with result 'exit-code'.<br>
Oct 30 09:59:11 riot.<domain>.com systemd[1]: Failed to
start Dovecot IMAP/POP3 email server.<br>
<br>
This seems to be like a bug as no configuration was changed by me
in the middle of the night.<br>
I recall there were similar errors/bug reports in the past were it
seemed it was managesieve but wasn't, people had some
misconfigurations in the dovecot.conf. I did not change my
dovecot.conf since April.<br>
But maybe here it is a pigeonhole issue.<br>
<br>
As I did not find any reason for it I changed the repo and
downgraded to 2.3.16-2 now and it runs without any flaws, like all
the time before. I had no time to investigate this any longer
thand 2 hours with 2.3.17 installed as this is a production server
and I need the email access. I also did not find anything
adressable in the logs.<br>
<br>
[root@riot dovecot]# systemctl status dovecot<br>
â— dovecot.service - Dovecot IMAP/POP3 email server<br>
  Loaded: loaded (/usr/lib/systemd/system/dovecot.service;
enabled; vendor preset: disabled)<br>
  Active: active (running) since Sat 2021-10-30 10:18:11 CEST; 2s
ago<br>
    Docs: man:dovecot(1)<br>
          <a class="moz-txt-link-freetext" href="https://doc.dovecot.org/">https://doc.dovecot.org/</a><br>
 Process: 32398 ExecStartPre=/usr/libexec/dovecot/prestartscript
(code=exited, status=0/SUCCESS)<br>
 Main PID: 32452 (dovecot)<br>
  Status: "v2.3.16 (7e2e900c1a) running"<br>
   Tasks: 4 (limit: 99912)<br>
  Memory: 4.4M<br>
  CGroup: /system.slice/dovecot.service<br>
          ├─32452 /usr/sbin/dovecot -F<br>
          ├─32507 dovecot/anvil<br>
          ├─32508 dovecot/log<br>
          └─32513 dovecot/config<br>
<br>
Oct 30 10:18:11 riot.<domain>.com systemd[1]: Starting
Dovecot IMAP/POP3 email server...<br>
Oct 30 10:18:11 riot.<domain>.com dovecot[32452]: Warning:
Corrected permissions for login directory
/var/run/dovecot/token-login<br>
Oct 30 10:18:11 riot.<domain>.com dovecot[32452]: master:
Warning: Corrected permissions for login directory
/var/run/dovecot/token-login<br>
Oct 30 10:18:11 riot.<domain>.com dovecot[32452]: master:
Dovecot v2.3.16 (7e2e900c1a) starting up for imap, lmtp, sieve<br>
Oct 30 10:18:11 riot.<domain>.com systemd[1]: Started
Dovecot IMAP/POP3 email server.<br>
<br>
<br>
This is the configuration<br>
# 2.3.16 (7e2e900c1a): /etc/dovecot/dovecot.conf<br>
# Pigeonhole version 0.5.16 (09c29328)<br>
# OS: Linux 4.18.0-305.19.1.el8_4.x86_64 x86_64 AlmaLinux release
8.4 (Electric Cheetah)<br>
# Hostname: riot.<domain>.com<br>
auth_mechanisms = plain login<br>
auth_verbose = yes<br>
listen = *<br>
mail_gid = vmail<br>
mail_home = /var/vmail/mailboxes/%d/%n<br>
mail_location = maildir:~/mail:LAYOUT=fs<br>
mail_plugins = " quota fts fts_solr"<br>
mail_privileged_group = vmail<br>
mail_uid = vmail<br>
managesieve_notify_capability = mailto<br>
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 imapsieve vnd.dovecot.imapsieve<br>
namespace inbox {<br>
 inbox = yes<br>
 location =<br>
 mailbox Drafts {<br>
   auto = subscribe<br>
   special_use = \Drafts<br>
 }<br>
 mailbox Sent {<br>
   auto = subscribe<br>
   special_use = \Sent<br>
 }<br>
 mailbox Spam {<br>
   auto = subscribe<br>
   special_use = \Junk<br>
 }<br>
 mailbox Trash {<br>
   auto = subscribe<br>
   special_use = \Trash<br>
 }<br>
 prefix =<br>
 separator = .<br>
 type = private<br>
}<br>
passdb {<br>
 args = /etc/dovecot/dovecot-sql.conf<br>
 driver = sql<br>
}<br>
plugin {<br>
 fts = solr<br>
 fts_autoindex = yes<br>
 fts_solr = url=<a class="moz-txt-link-freetext" href="http://localhost">http://localhost</a>:<solr_port>/solr/dovecot/<br>
 imapsieve_mailbox1_before =
<a class="moz-txt-link-freetext" href="file:/var/vmail/sieve/global/learn-spam.sieve">file:/var/vmail/sieve/global/learn-spam.sieve</a><br>
 imapsieve_mailbox1_causes = COPY<br>
 imapsieve_mailbox1_name = Spam<br>
 imapsieve_mailbox2_before =
<a class="moz-txt-link-freetext" href="file:/var/vmail/sieve/global/learn-ham.sieve">file:/var/vmail/sieve/global/learn-ham.sieve</a><br>
 imapsieve_mailbox2_causes = COPY<br>
 imapsieve_mailbox2_from = Spam<br>
 imapsieve_mailbox2_name = *<br>
 quota = maildir:User quota<br>
 quota_exceeded_message = User %u is over the storage quota<br>
 sieve =
<a class="moz-txt-link-freetext" href="file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve">file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve</a><br>
 sieve_before = /var/vmail/sieve/global/spam-global.sieve<br>
 sieve_global_extensions = +vnd.dovecot.pipe<br>
 sieve_pipe_bin_dir = /usr/bin<br>
 sieve_plugins = sieve_imapsieve sieve_extprograms<br>
}<br>
protocols = imap lmtp sieve<br>
service auth {<br>
 unix_listener /var/spool/postfix/private/auth {<br>
   group = postfix<br>
   mode = 0660<br>
   user = postfix<br>
 }<br>
 unix_listener auth-userdb {<br>
   group = vmail<br>
   mode = 0660<br>
   user = vmail<br>
 }<br>
}<br>
service imap-login {<br>
 inet_listener imap {<br>
   port = 0<br>
 }<br>
 inet_listener imaps {<br>
   port = 993<br>
 }<br>
}<br>
service lmtp {<br>
 unix_listener /var/spool/postfix/private/dovecot-lmtp {<br>
   group = postfix<br>
   mode = 0660<br>
   user = postfix<br>
 }<br>
 user = vmail<br>
}<br>
service managesieve-login {<br>
 inet_listener sieve {<br>
   port = 4190<br>
 }<br>
}<br>
ssl = required<br>
ssl_ca = </etc/ssl/certs/ca-bundle.crt<br>
ssl_cert = </etc/ssl/certs/<domain>.com_chain.crt<br>
ssl_cipher_list =
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:EECDH+AESGCM:EDH+AESGCM:@SECLEVEL=2<br>
ssl_client_ca_dir = /etc/ssl/certs<br>
ssl_client_ca_file = /etc/ssl/certs/ca-bundle.crt<br>
ssl_dh = # hidden, use -P to show it<br>
ssl_key = # hidden, use -P to show it<br>
ssl_prefer_server_ciphers = yes<br>
userdb {<br>
 args = /etc/dovecot/dovecot-sql.conf<br>
 driver = sql<br>
}<br>
protocol imap {<br>
 imap_idle_notify_interval = 24 mins<br>
 mail_max_userip_connections = 20<br>
 mail_plugins = " quota fts fts_solr imap_quota imap_sieve"<br>
}<br>
protocol lmtp {<br>
 mail_plugins = " quota fts fts_solr sieve"<br>
 postmaster_address = postmaster@<domain>.com<br>
}<br>
local_name mail.<domain_3>.com {<br>
 ssl_cert = </etc/ssl/certs/<domain_3>.com_chain.crt<br>
 ssl_key = # hidden, use -P to show it<br>
}<br>
local_name mail.<domain_2>.net {<br>
 ssl_cert = </etc/ssl/certs/<domain_2>.net_chain.crt<br>
 ssl_key = # hidden, use -P to show it<br>
}<br>
local_name mail.<domain>.com {<br>
 ssl_cert = </etc/ssl/certs/<domain>.com_chain.crt<br>
 ssl_key = # hidden, use -P to show it<br>
}<br>
<br>
<br>
<br>
<br>
<br>
<br>
</font>
</body>
</html>