Dovecot v2.3.19 released: User/PassDB lookups fail after update
Aki Tuomi
aki.tuomi at open-xchange.com
Mon May 16 06:57:43 UTC 2022
Hi!
Thank you for reporting this issue. I can reproduce it locally, and we'll take a look at it.
Aki
> On 15/05/2022 10:35 Ralf Becker <rb at egroupware.org> wrote:
>
>
> After updating to 2.3.19 (from 2.3.16) passdb and userdb lookups fail:
>
> root at backup:~# doveadm user rb at egroupware.org; doveadm log errors
>
> userdb lookup: user rb at egroupware.org doesn't exist
> field value
>
> May 15 07:22:18 Panic: auth: file userdb-blocking.c: line 124
> (userdb_blocking_iter_next): assertion failed: (ctx->conn != NULL)
> May 15 07:22:18 Error: auth: Raw backtrace:
> /usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x41) [0x7f019a651c91]
> -> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x22) [0x7f019a651db2]
> -> /usr/lib/dovecot/libdovecot.so.0(+0x10b0bb) [0x7f019a65f0bb] ->
> /usr/lib/dovecot/libdovecot.so.0(+0x10b157) [0x7f019a65f157] ->
> /usr/lib/dovecot/libdovecot.so.0(+0x5d375) [0x7f019a5b1375] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x157a7) [0x55e256d287a7] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x1954b) [0x55e256d2c54b] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x36ca7) [0x55e256d49ca7] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x2ab86) [0x55e256d3db86] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handle_timeouts+0x15f)
> [0x7f019a67576f] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xcf)
> [0x7f019a67702f] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x54)
> [0x7f019a675a54] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40)
> [0x7f019a675bc0] ->
> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x17)
> [0x7f019a5e7207] -> dovecot/auth [0 wait, 0 passdb, 0
> userdb](main+0x3c8) [0x55e256d29588] ->
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f019a2de0b3]
> -> dovecot/auth [0 wait, 0 passdb, 0 userdb](_start+0x2e) [0x55e256d2976e]
> May 15 07:22:19 Fatal: auth: master: service(auth): child 19 killed with
> signal 6 (core dumped)
> May 15 07:22:19 Error: replicator: auth-master: userdb list:
> Disconnected unexpectedly
> May 15 07:22:19 Error: replicator: listing users failed, can't replicate
> existing data
> May 15 07:22:19 Error: doveadm(arash 2student at bb-trunk.egroupware.de):
> User doesn't exist
> May 15 07:22:19 Error: doveadm(arash teacher at bb-trunk.egroupware.de):
> User doesn't exist
> May 15 07:22:20 Error: doveadm(christoph
> thyssen at bb-trunk.egroupware.de): User doesn't exist
> May 15 07:23:21 Error: doveadm(arash student at bb-trunk.egroupware.de):
> User doesn't exist
> May 15 07:24:02 Error:
> doveadm(schieder at uni-kl.de@bb-trunk.egroupware.de): User doesn't exist
> May 15 07:24:07 Error: doveadm(sabour at uni-kl.de@bb-trunk.egroupware.de):
> User doesn't exist
> May 15 07:24:24 Error:
> doveadm(ralf.imaptest at outdoor-training.de@bb-trunk.egroupware.de): User
> doesn't exist
> May 15 07:24:31 Error: doveadm(arash tolou at bb-trunk.egroupware.de): User
> doesn't exist
> May 15 07:24:31 Error:
> doveadm(becker_r at uni-kl.de@bb-trunk.egroupware.de): User doesn't exist
> May 15 07:24:49 Error:
> doveadm(olat.vcrp.de:2723414355 at bb-trunk.egroupware.de): User doesn't exist
> May 15 07:24:56 Error:
> doveadm(olat.vcrp.de:1167852044 at bb-trunk.egroupware.de): User doesn't exist
>
> Reverting back to 2.3.16 fixes the problem for now.
>
> My doveadm config -n is attached. We use a hourly updated local sqlight
> database and a dict for userdb.
>
> Any ideas?
>
> Ralf
>
>
> Am 10.05.22 um 08:33 schrieb Aki Tuomi:
> > Hi all!
> >
> > We are pleased to release v2.3.19 of Dovecot.
> >
> > The docker images have been upgraded to use bullseye as base image.
> >
> > https://dovecot.org/releases/2.3/dovecot-2.3.19.tar.gz
> > https://dovecot.org/releases/2.3/dovecot-2.3.19.tar.gz.sig
> > Binary packages in https://repo.dovecot.org/
> > Docker images in https://hub.docker.com/r/dovecot/dovecot
> >
> > Regards,
> > Aki Tuomi
> > Open-Xchange oy
> >
> > --
> >
> > + Added mail_user_session_finished event, which is emitted when the mail
> > user session is finished (e.g. imap, pop3, lmtp). It also includes
> > fields with some process statistics information.
> > See https://doc.dovecot.org/admin_manual/list_of_events/ for more
> > information.
> > + Added process_shutdown_filter setting. When an event matches the filter,
> > the process will be shutdown after the current connection(s) have
> > finished. This is intended to reduce memory usage of long-running imap
> > processes that keep a lot of memory allocated instead of freeing it to
> > the OS.
> > + auth: Add cache hit indicator to auth passdb/userdb finished events.
> > See https://doc.dovecot.org/admin_manual/list_of_events/ for more
> > information.
> > + doveadm deduplicate: Performance is improved significantly.
> > + imapc: COPY commands were sent one mail at a time to the remote IMAP
> > server. Now the copying is buffered, so multiple mails can be copied
> > with a single COPY command.
> > + lib-lua: Add a Lua interface to Dovecot's HTTP client library. See
> > https://doc.dovecot.org/admin_manual/lua/ for more information.
> > - auth: Cache lookup would use incorrect cache key after username change.
> > - auth: Improve handling unexpected LDAP connection errors/hangs.
> > Try to fix up these cases by reconnecting to the LDAP server and
> > aborting LDAP requests earlier.
> > - auth: Process crashed if userdb iteration was attempted while auth-workers
> > were already full handling auth requests.
> > - auth: db-oauth2: Using %{oauth2:name} variables caused unnecessary
> > introspection requests.
> > - dict: Timeouts may have been leaked at deinit.
> > - director: Ring may have become unstable if a backend's tag was changed.
> > It could also have caused director process to crash.
> > - doveadm kick: Numeric parameter was treated as IP address.
> > - doveadm: Proxying can panic when flushing print output. Fixes
> > Panic: file ioloop.c: line 865 (io_loop_destroy): assertion failed:
> > (ioloop == current_ioloop).
> > - doveadm sync: BROKENCHAR was wrongly changed to '_' character when
> > migrating mailboxes. This was set by default to %, so any mailbox
> > names containing % characters were modified to "_25".
> > - imapc: Copying or moving mails with doveadm to an imapc mailbox could
> > have produced "Error: Syncing mailbox '[...]' failed" Errors. The
> > operation itself succeeded but attempting to sync the destination
> > mailbox failed.
> > - imapc: Prevent index log synchronization errors when two or more imapc
> > sessions are adding messages to the same mailbox index files, i.e.
> > INDEX=MEMORY is not used.
> > - indexer: Process was slowly leaking memory for each indexing request.
> > - lib-fts: fts header filters caused binary content to be sent to the
> > indexer with non-default configuration.
> > - doveadm-server: Process could hang in some situations when printing
> > output to TCP client, e.g. when printing doveadm sync state.
> > - lib-index: dovecot.index.log files were often read and parsed entirely,
> > rather than only the parts that were actually necessary. This mainly
> > increased CPU usage.
> > - lmtp-proxy: Session ID forwarding would cause same session IDs being
> > used when delivering same mail to multiple backends.
> > - log: Log prefix update may have been lost if log process was busy.
> > This could have caused log prefixes to be empty or in some cases
> > reused between sessions, i.e. log lines could have been logged for the
> > wrong user/session.
> > - mail_crypt: Plugin crashes if it's loaded only for some users. Fixes
> > Panic: Module context mail_crypt_user_module missing.
> > - mail_crypt: When LMTP was delivering mails to both recipients with mail
> > encryption enabled and not enabled, the non-encrypted recipients may
> > have gotten mails encrypted anyway. This happened when the first
> > recipient was encrypted (mail_crypt_save_version=2) and the 2nd
> > recipient was not encrypted (mail_crypt_save_version=0).
> > - pop3: Session would crash if empty line was sent.
> > - stats: HTTP server leaked memory.
> > - submission-login: Long credentials, such as OAUTH2 tokens, were refused
> > during SASL interactive due to submission server applying line length
> > limits.
> > - submission-login: When proxying to remote host, authentication was not
> > using interactive SASL when logging in using long credentials such as
> > OAUTH2 tokens. This caused authentication to fail due to line length
> > constraints in SMTP protocol.
> > - submission: Terminating the client connection with QUIT command after
> > mail transaction is started with MAIL command and before it is
> > finished with DATA/BDAT can cause a segfault crash.
> > - virtual: doveadm search queries with mailbox-guid as the only parameter
> > crashes: Panic: file virtual-search.c: line 77 (virtual_search_get_records):
> > assertion failed: (result != 0)
>
>
> --
> Ralf Becker
> EGroupware GmbH [www.egroupware.org]
> Handelsregister HRB Kaiserslautern 3587
> Geschäftsführer Birgit und Ralf Becker
> Leibnizstr. 17, 67663 Kaiserslautern, Germany
> Telefon +49 631 31657-0
More information about the dovecot
mailing list