Re: The end of Dovecot Director?
On 11/2/22 03:54, Aki Tuomi wrote: On 02/11/2022 11:55 EET Frank Wall wrote: On 2022-11-02 09:11, Aki Tuomi wrote: You can also see the email sent by others which shows how you can do this without replication, using proxy and passdb to direct users to right backend. Which is basically what director does. It's not the same thing. It is not critical functionality. You can feasibly run a two-node dovecot system on NFS without having director. It seems to be critical enough to offer a replacement for paying customers, while at the same time leaving the community edition with no valid replacement. Ciao - Frank Can you tell me what kind of functionality you are unable to achieve with the passdb solution? Aki Can you tell us what you are gaining (other than monitarily) by removing a completely functionally working feature that numerous people are using? Adding new paid features is one thing (i.e. nginx), taking away a feature to replace it with a paid feature is something completely different. -- Brad
Re: [Dovecot] Two recent issues
On 12/09/2011 09:58 PM, Timo Sirainen wrote: > If auth process dies unexpectedly, master always logs an error, such as: > > Dec 10 07:15:34 auth: Fatal: master: service(auth): child 27895 killed with > signal 11 (core dumped) > > Anyway, "read(imap) failed: Connection reset by peer" can happen if you > reach the service imap { process_limit }. But then there should be a > warning logged about it also: > > Dec 10 07:17:39 master: Warning: service(imap): process_limit reached, client > connections are being dropped > > So, that error message alone shouldn't be happening.. Interesting, the log entries I provided were the only ones that did exist. > If that happens, there would also be an error message logged about it. > One thing that v2.0 doesn't log about is if auth socket gets > disconnected, but that would result in different problems. v2.1 logs > about that too. The problem has vanished in the last couple of days. When 2.1 comes out I will upgrade and if the problem returns I'll see if it's logs have any further information. >> The second issue is lmtp/lda (tried both) delivery to a mailbox that has >> filesystem quotas enabled and the group quota is maxed is resulting in >> the below panic and crash. >> >> 11:21:07 [err] dovecot: lmtp(29691, admin@[redacted].com): Error: >> o_stream_send_istream(/email/d/r/[redacted]/[redacted]/admin/Maildir/tmp/1323458467.M245978P29691.fenrir.omnis.com) >> failed: Disk quota exceeded >> 11:21:07 [crit] dovecot: lmtp(29691, admin@[redacted].com): Panic: file >> ostream-zlib.c: line 144 (o_stream_zlib_send_flush): assertion failed: >> (zs->avail_in == 0) > > I couldn't reproduce this with my tests, but > http://hg.dovecot.org/dovecot-2.0/rev/75daa638281b should fix it. > This patch has corrected the issue I was seeing. Thank you very much.
[Dovecot] Major bug with hardlinks and lmtp
In working on trying to fix the crash issue from my last email I had enabled LMTP delivery to try it out instead of using the LDA. I have discovered that when a single piece of email is to be delivered to multiple users the message is being hard linked instead of copied into each mail box. This is a major problem that makes LMTP unusable in an environment where each mailbox has it's own UID since the hard linked file will only be readable by one of the users. I assume this is related to "maildir_copy_with_hardlinks=yes", however this setting doesn't say anything about hardlinking across different email accounts. -- Brad Schuetz
[Dovecot] Two recent issues
I've been using dovecot for years, been working great. However recently I've come across two issues. The first issue unfortunately I have little information on, mail_debug hasn't provided anything useful either (in fact it looks like the login request that fails doesn't even get logged at all). During the morning rush of email, this server has around 11k mailboxes on it, it *appears* that one of the auth processes dies resulting in "dovecot: imap-login: Error: read(imap) failed: Connection reset by peer" errors followed by "dovecot: imap-login: Internal login failure ..." in the logs. I've yet to get any useful debugging information on this error so I'm not expecting much/any help on this one, but if anyone has any ideas on how I can get more debug besides running strace 24/7 in the hopes it catches something before the hard drive is full of strace output I'd love to hear it. The best I've gotten was a lucky strace once (at the time I didn't realize it was so lucky or I would have saved the output) that indicated the imap-login daemon was failing to connect to the auth process. The second issue is lmtp/lda (tried both) delivery to a mailbox that has filesystem quotas enabled and the group quota is maxed is resulting in the below panic and crash. This issue happens with 2.0.13, 2.0.15 and 2.0.16. Here's the logs showing that it knows the disk quota is exceeded and then a subsequent zlib panic. Like it's trying to deliver it anyway. - 11:21:07 [err] dovecot: lmtp(29691, admin@[redacted].com): Error: o_stream_send_istream(/email/d/r/[redacted]/[redacted]/admin/Maildir/tmp/1323458467.M245978P29691.fenrir.omnis.com) failed: Disk quota exceeded 11:21:07 [crit] dovecot: lmtp(29691, admin@[redacted].com): Panic: file ostream-zlib.c: line 144 (o_stream_zlib_send_flush): assertion failed: (zs->avail_in == 0) 11:21:07 [err] dovecot: lmtp(29691, admin@[redacted].com): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0 [0x345443ca90] -> /usr/lib64/dovecot/libdovecot.so.0 [0x345443cae6] -> /usr/lib64/dovecot/libdovecot.so.0 [0x345443c4a3] -> /usr/lib64/dovecot/lib20_zlib_plugin.so [0x2ba2d31547f6] -> /usr/lib64/dovecot/lib20_zlib_plugin.so [0x2ba2d315481b] -> /usr/lib64/dovecot/libdovecot.so.0(o_stream_flush+0x2a) [0x345444f0ea] -> /usr/lib64/dovecot/libdovecot-storage.so.0(maildir_save_finish+0x6b) [0x3451c63b6b] -> /usr/lib64/dovecot/lib10_quota_plugin.so [0x2ba2d2f4ce7a] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_save_finish+0x30) [0x3451c2fbb0] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_storage_copy+0xb3) [0x3451c2aae3] -> /usr/lib64/dovecot/libdovecot-storage.so.0(maildir_copy+0x56) [0x3451c6fd36] -> /usr/lib64/dovecot/lib10_quota_plugin.so [0x2ba2d2f4d0ba] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_copy+0x5a) [0x3451c301ba] -> /usr/lib64/dovecot/li 11:21:07 [err] dovecot: master: Error: service(lmtp): child 29691 killed with signal 6 (core dumps disabled) - Attached is the current "doveadm config" output. -- Brad Schuetz # 2.0.16: /etc/dovecot/dovecot.conf # OS: Linux 2.6.18-274.12.1.el5 x86_64 CentOS release 5.7 (Final) auth_anonymous_username = anonymous auth_cache_negative_ttl = 5 mins auth_cache_size = 20 k auth_cache_ttl = 10 mins auth_debug = yes auth_debug_passwords = no auth_default_realm = auth_failure_delay = 0 auth_first_valid_uid = 500 auth_gssapi_hostname = auth_krb5_keytab = auth_last_valid_uid = 0 auth_master_user_separator = auth_mechanisms = plain login cram-md5 auth_realms = auth_socket_path = auth-userdb auth_ssl_require_client_cert = no auth_ssl_username_from_cert = no auth_use_winbind = no auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ auth_username_format = auth_username_translation = auth_verbose = no auth_verbose_passwords = no auth_winbind_helper_path = /usr/bin/ntlm_auth auth_worker_max_count = 30 base_dir = /var/run/dovecot config_cache_size = 1 M debug_log_path = /var/log/dovecot-debug.log default_client_limit = 1000 default_idle_kill = 60 default_internal_user = dovecot default_login_user = dovenull default_process_limit = 100 default_vsz_limit = 256 M deliver_log_format = msgid=%m, from=%f, size=%p, vsize=%w: %$ dict_db_config = director_doveadm_port = 0 director_mail_servers = director_servers = director_user_expire = 15 mins disable_plaintext_auth = no dotlock_use_excl = yes doveadm_allowed_commands = doveadm_password = doveadm_proxy_port = 0 doveadm_socket_path = doveadm-server doveadm_worker_count = 0 first_valid_gid = 1 first_valid_uid = 500 hostname = imap_capability = imap_client_workarounds = imap_id_log = imap_id_send = imap_idle_notify_interval = 2 mins imap_logout_format = bytes=%i/%o imap_max_line_length = 64 k import_environment = TZ info_log_path = last_valid_gid = 0 last_valid_uid = 0 lda_ma