dovecot: config: Error: BUG: Config client connection sent too much data

Tony
2017-08-25T16:40:43Z

Hello,

Absolutely. Here is the output of doveconf -n:

# doveconf -n
# 2.2.31 (65cde28): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.19 (e5c7051)
# OS: Linux 4.9.36-x86_64-linodexx x86_64 Arch Linux
auth_mechanisms = plain login
base_dir = /var/run/dovecot/
dict {
  expire = ldap:/etc/dovecot/dovecot-ldap.conf.ext
  quota = ldap:/etc/dovecot/dovecot-ldap.conf.ext
}
doveadm_password =  # hidden, use -P to show it
doveadm_port = 4343
mail_attachment_hash = %{sha256}
mail_gid = vmail
mail_location = maildir:%Lh/Maildir/:INDEX=%Lh/Maildir/
mail_plugins = " mailbox_alias acl quota stats mail_log notify
replication"
mail_privileged_group = mail
mail_uid = vmail
mailbox_list_index = yes
maildir_very_dirty_syncs = yes
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 spamtest spamtestplus
namespace inbox {
  inbox = yes
  location   mailbox Archive {
    special_use = \Archive
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Flagged {
    special_use = \Flagged
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  mailbox virtual/All {
    auto = no
    special_use = \All
  }
  prefix }
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename
  mail_log_fields = uid box msgid size
  mail_replica = tcp:orbitron.domain.net:4343
  quota = maildir:User quota
  quota_grace = 10%%
  quota_rule = *:storage=2G
  quota_rule2 = Trash:storage=+10%%
  quota_rule3 = Spam:storage=+20%%
  quota_status_nouser = DUNNO
  quota_status_overquota = 552 5.2.2 Mailbox is full
  quota_status_success = DUNNO
  quota_warning = storage=100%% quota-warning +100 %u
  quota_warning2 = storage=95%% quota-warning +95 %u
  quota_warning3 = storage=80%% quota-warning +80 %u
  quota_warning4 = -storage=100%% quota-warning -100 %u
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/.sieve
  sieve_extensions = +spamtest +spamtestplus +relational
+comparator-i;ascii-numeric
  stats_refresh = 30 secs
  stats_track_cmds = yes
}
protocols = imap pop3 lmtp sieve
service aggregator {
  fifo_listener replication-notify-fifo {
    mode = 0666
    user = vmail
  }
  unix_listener replication-notify {
    mode = 0666
    user = vmail
  }
}
service auth {
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service config {
  unix_listener config {
    user = vmail
  }
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = root
}
service doveadm {
  inet_listener {
    port = 4343
  }
  user = vmail
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  inet_listener lmtp {
    address = 66.175.xxx.xx 192.168.176.128 127.0.0.1 ::1
    port = 24
  }
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  service_count = 1
  vsz_limit = 64 M
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  inet_listener {
    port = 12340
  }
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = dovecot
}
service replicator {
  process_min_avail = 1
  unix_listener replicator-doveadm {
    mode = 0666
  }
}
service stats {
  fifo_listener stats-mail {
    mode = 0600
    user = vmail
  }
}
ssl_ca = </etc/dovecot/ssl/STAR_domain_net.ca-bundle
ssl_cert = </etc/dovecot/ssl/STAR_domain_net.crt
ssl_key =  # hidden, use -P to show it
userdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  default_fields = home=/home/vmail/%d/%u
  driver = ldap
}
protocol lmtp {
  mail_plugins = " mailbox_alias acl quota stats mail_log notify
replication sieve"
  postmaster_address = postmaster at domain.email
}
protocol lda {
  mail_plugins = sieve quota
  postmaster_address = postmaster at domain.email
  syslog_facility = mail
}
protocol imap {
  mail_max_userip_connections = 10
  mail_plugin_dir = /usr/lib/dovecot/modules
  mail_plugins = " mailbox_alias acl quota stats mail_log notify
replication imap_quota"
}
protocol sieve {
  mail_max_userip_connections = 10
  managesieve_implementation_string = Dovecot Pigeonhole
  managesieve_max_line_length = 65536
}


The posted Dovecot configs are identical on both this host and the
replica host. The only thing I tested but reverted was enabling
`auth_username_format=%Lu` because I wanted to test logging in with
username at domain which did work just fine, but I wanted to continue just
logging in with only the username, so I commented the option and
restarted dovecot so the option now looks like it does by default.

#auth_username_format=%Lu

Strange thing is that Dovecot appears to be working as expected (i.e
still retrieving IMAP mail, can authenticate just fine, etc). Could this
be a bug with my existing version of Dovecot?

While spending time trying to resolve the annoying error I reported in
the logs I looked over https://www.dovecot.org/doc/NEWS and only found 1
change for 2.2.32 related to Config:

v2.2.32 2017-08-24
* config: Log a warning if plugin { key=no } is used explicitly. v2.3
will support "no" properly in plugin settings, but for now any value
at
all for a boolean plugin setting is treated as "yes", even if it's
written as explicit "no". This change will now warn that it most
likely
won't work as intended.

Thank You,
Tony

On 8/25/17 2:39 AM, Aki Tuomi wrote:
>
> &gt; On August 25, 2017 at 9:11 AM Tony <tony at kode.email>
wrote:
> &gt;
> &gt;
> &gt; Hello,
> &gt;
> &gt; Today I started noticing a very odd Dovecot error in the mail logs
> &gt; across 2 replicated Dovecot hosts via dsync. I have searched the
Dovecot
> &gt; archives, Google, back tracked, downgraded Dovecot to earlier
versions
> &gt; from earlier this year and ruled everything out I could think of
to no
> &gt; avail. There really are not any helpful reports with what I am
> &gt; specifically seeing. The strange thing is only vmail at domain.net
is
> &gt; repeatedly shown in the log. The error looks like this.
> &gt;
> &gt; *Aug 24 22:46:02 orbitron dovecot: config: Error: BUG: Config
client
> &gt; connection sent too much data****Aug 24 22:46:02 orbitron dovecot:
> &gt; doveadm(vmail at domain.net@domain.net at domain.net@domain.net at
domain.net@domain.net at domain.net@domain.net at domain.net):
> &gt; Fatal: Error reading configuration: read(/var/run/dovecot/config)
> &gt; failed: read(size=8192) failed: Connection reset by peer***
> &gt; $ dovecot --version
> &gt; 2.2.31 (65cde28)
> &gt;
> &gt; Dovecot #1: Linux kernel 4.9.36-x86_64
> &gt; Dovecot #2: Linux kernel 4.12.8-x86_64
> &gt;
> &gt; Here are the latest Dovecot updates performed this year.
> &gt;
> &gt; [2017-04-29 14:45] [ALPM] upgraded dovecot (2.2.28-2 -&gt;
2.2.28-3)
> &gt; [2017-05-02 23:05] [ALPM] upgraded dovecot (2.2.28-3 -&gt;
2.2.29.1-1)
> &gt; [2017-06-11 17:20] [ALPM] upgraded dovecot (2.2.29.1-1 -&gt;
2.2.30.2-1)
> &gt; [2017-06-30 22:46] [ALPM] upgraded dovecot (2.2.30.2-1 -&gt;
2.2.31-1)
> &gt;
> &gt; When Dovecot was last updated back on June 30, I did `systemctl
> &gt; daemon-reload` but never actually restarted the Dovecot daemon
until
> &gt; what seems like today. The only thing I did today was edit
> &gt; /etc/dovecot/conf.d/10-auth.conf by simply enabling
> &gt; "*auth_username_format = %Lu*" which was commented out
before I enabled
> &gt; it. That is the /*only*/ thing that I tested. After I was done
testing I
> &gt; went back and commented out the same thing so it reads
> &gt; "*#auth_username_format = %Lu*" and of course restarted
Dovecot. I
> &gt; really doubt this has anything to do with what I am reporting as
auth is
> &gt; not the problem in this case.
> &gt;
> &gt;
> &gt; Thank You,
> &gt;
> &gt; Tony
> &gt;
>
> Can you provide doveconf -n.
>
> Also auth_username_format=%Lu*, why *?
>
> Aki</tony at kode.email>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: OpenPGP digital signature
URL:
<http://dovecot.org/pipermail/dovecot/attachments/20170825/6a39a61f/attachment-0001.sig>