On 20. Jun 2022, at 10.03, Ralf Becker rb@egroupware.org wrote:
Fixes: Panic: file userdb-blocking.c: line 125 (userdb_blocking_iter_next): assertion failed: (ctx->conn != NULL)
As the above Panic is fixed I tried again (see my attached mail to the 2.3.19 release) and I can confirm to no longer get the Panic, BUT authentication is NOT working either :(
Reverting back to a container with Dovecot 2.3.16, get's everything working again.
We use a hourly updated local SQLight database and a dict for user- and passdb.
Is the usage of multiple backends no longer supported, or did something in that regard changed between 2.3.16 and 2.3.19.1?
We have lots of tests using multiple backends for authentication, and lots of people are using many passdbs/userdbs in production. I was only aware of iteration being broken with multiple userdbs, since that's not used so much. And we added a test to verify that multiple userdb iteration is actually returning results from both userdbs, so that shouldn't be completely broken either.
So I'd need more details of what exactly goes wrong and how. Is it the authentication or the iteration that is now broken? Logs with auth_debug=yes would likely help. Also:
Here's the relevant part of my config (full doveadm config -n is attached):
userdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } userdb { args = /etc/dovecot/dovecot-dict-auth.conf driver = dict } passdb { args = /etc/dovecot/dovecot-dict-master-auth.conf driver = dict master = yes } passdb { args = /etc/dovecot/dovecot-dict-auth.conf driver = dict }
What do these external conf files contain?