Hello,
I’m about to update our cyrus-imapd murder from Debian 11 (cyrus-imapd 3.2.11 self-build, cyrus-sasl 2.1.27+dfsg-2.1+deb11u1) to Debian 13 (cyrus-imapd 3.10.2, cyrus-sasl 2.1.28+dfsg1-9).

Authentication from frontend to backend is done with DIGEST-MD5:
frontend:
proxy_authname: _frontend
proxy_password: …

backend:
sasl_mech_list: DIGEST-MD5
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sasldb

I’ve set up /etc/sasldb2 with saslpasswd2 -c _frontend with password,
sasldblistusers2 shows: [email protected]: userPassword

This works for 3.2.X murder cluster for years.

Now I’ve setup a new backend server "prepaid.hrz.tu-chenitz.de" with 3.10.2.
Test with imtest from frontend with 3.2.11 is ok:

imtest -u test -a _frontend -t '' prepaid.hrz.tu-chenitz.de
S: * OK [CAPABILITY IMAP4rev1 IMAP4rev2 AUTH=DIGEST-MD5 ENABLE ID LITERAL+ LOGINDISABLED SASL-IR STARTTLS MUPDATE=mupdate://mupdate.hrz.tu-chemnitz.de/] prepaid.hrz.tu-chemnitz.de Cyrus IMAP 3.10.2-Debian-3.10.2-1 server ready S: * OK [CAPABILITY IMAP4rev1 IMAP4rev2 AUTH=DIGEST-MD5 ENABLE ID LITERAL+ LOGINDISABLED SASL-IR STARTTLS MUPDATE=mupdate://mupdate.hrz.tu-chemnitz.de/] prepaid.hrz.tu-chemnitz.de Cyrus IMAP 3.10.2-Debian-3.10.2-1 server ready
C: S01 STARTTLS
S: S01 OK Begin TLS negotiation now
verify error:num=19:self signed certificate in certificate chain
TLS connection established: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
C: C01 CAPABILITY
S: * CAPABILITY IMAP4rev1 IMAP4rev2 ACL ANNOTATE-EXPERIMENT-1 APPENDLIMIT=2147483647 AUTH=DIGEST-MD5 BINARY CATENATE CHILDREN COMPRESS=DEFLATE CONDSTORE CREATE-SPECIAL-USE ENABLE ESEARCH ESORT ID IDLE LIST-EXTENDED LIST-METADATA LIST-MYRIGHTS LIST-STATUS LITERAL+ MAILBOX-REFERRALS METADATA MOVE MULTIAPPEND MULTISEARCH NAMESPACE NOTIFY OBJECTID PREVIEW QRESYNC QUOTA QUOTA=RES-STORAGE QUOTA=RES-MESSAGE QUOTA=RES-ANNOTATION-STORAGE QUOTA=RES-MAILBOX QUOTASET REPLACE RIGHTS=kxten SASL-IR SAVEDATE SEARCH=FUZZY SEARCHRES SORT SORT=DISPLAY SPECIAL-USE STATUS=SIZE THREAD=ORDEREDSUBJECT THREAD=REFERENCES UIDONLY UIDPLUS UNSELECT URL-PARTIAL URLAUTH URLAUTH=BINARY WITHIN DIGEST=SHA1 MUPDATE=mupdate://mupdate.hrz.tu-chemnitz.de/ NO_ATOMIC_RENAME SCAN SORT=MODSEQ SORT=UID THREAD=REFS X-CREATEDMODSEQ X-REPLICATION X-REPLICATION-ARCHIVE X-SIEVE-MAILBOX XLIST XMOVE
S: C01 OK Completed
C: A01 AUTHENTICATE DIGEST-MD5
S: + bm9…
Please enter your password:
C: dXNl…
S: + cnN…
C:
S: A01 OK [CAPABILITY IMAP4rev1 IMAP4rev2 ACL ANNOTATE-EXPERIMENT-1 APPENDLIMIT=2147483647 BINARY CATENATE CHILDREN COMPRESS=DEFLATE CONDSTORE CREATE-SPECIAL-USE ENABLE ESEARCH ESORT ID IDLE LIST-EXTENDED LIST-METADATA LIST-MYRIGHTS LIST-STATUS LITERAL+ LOGINDISABLED MAILBOX-REFERRALS METADATA MOVE MULTIAPPEND MULTISEARCH NAMESPACE NOTIFY OBJECTID PREVIEW QRESYNC QUOTA QUOTA=RES-STORAGE QUOTA=RES-MESSAGE QUOTA=RES-ANNOTATION-STORAGE QUOTA=RES-MAILBOX QUOTASET REPLACE RIGHTS=kxten SAVEDATE SEARCH=FUZZY SEARCHRES SORT SORT=DISPLAY SPECIAL-USE STATUS=SIZE THREAD=ORDEREDSUBJECT THREAD=REFERENCES UIDONLY UIDPLUS UNSELECT URL-PARTIAL URLAUTH URLAUTH=BINARY WITHIN DIGEST=SHA1 MUPDATE=mupdate://mupdate.hrz.tu-chemnitz.de/ NO_ATOMIC_RENAME SCAN SORT=MODSEQ SORT=UID THREAD=REFS X-CREATEDMODSEQ X-REPLICATION X-REPLICATION-ARCHIVE X-SIEVE-MAILBOX XLIST XMOVE] Success (tls protection) SESSIONID=<cyrus-1772020321-43207-1-10610630412189950369>
Authenticated.
Security strength factor: 256
. SELECT INBOX
* 3 EXISTS
* 0 RECENT
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen NonJunk $Label4)
…
. OK [READ-WRITE] Completed

But the imapd on 3.2-frontend doesn’t work with the 3.10 backend:
Log on backend:
2026-02-25T12:45:12.601428+01:00 prepaid cyrus/master[43240]: about to exec /usr/lib/cyrus/bin/imapd 2026-02-25T12:45:12.627416+01:00 prepaid cyrus/imap[43240]: SQL backend defaulting to engine 'pgsql' 2026-02-25T12:45:12.627467+01:00 prepaid cyrus/imap[43240]: zoneinfo_dir is unset, libical will find its own timezone data 2026-02-25T12:45:12.627787+01:00 prepaid cyrus/imap[43240]: ical_support_init: found 418 timezones
2026-02-25T12:45:12.630623+01:00 prepaid cyrus/imap[43240]: executed
2026-02-25T12:45:50.398725+01:00 prepaid cyrus/imap[43240]: accepted connection
2026-02-25T12:45:50.405919+01:00 prepaid cyrus/imap[43240]: extractor_init(0x55d682207b10) 2026-02-25T12:45:50.406813+01:00 prepaid cyrus/imap[43240]: SASL DIGEST-MD5 server step 1 2026-02-25T12:45:50.407430+01:00 prepaid cyrus/imap[43240]: SASL DIGEST-MD5 server step 2 2026-02-25T12:45:50.410526+01:00 prepaid cyrus/imap[43240]: SASL DIGEST-MD5 create_layer_keys() 2026-02-25T12:45:50.417187+01:00 prepaid cyrus/imap[43240]: login: julian.hrz.tu-chemnitz.de [2001:638:911:b0e:134:109:228:25] fri DIGEST-MD5 User logged in SESSIONID=<cyrus-1772019950-43240-1-7292512404913775762> 2026-02-25T12:45:50.418740+01:00 prepaid cyrus/imap[43240]: fetching user_deny.db entry for 'fri' 2026-02-25T12:45:50.463437+01:00 prepaid cyrus/imap[43240]: decoding error: generic failure; SASL(-1): generic failure: user: [email protected] property: cmusaslsecretDIGEST-MD5 not found in sasldb, closing connection 2026-02-25T12:45:50.464542+01:00 prepaid cyrus/imap[43240]: session ended: sessionid=<cyrus-1772019950-43240-1-7292512404913775762> userid=<fri> id.name=<(null)>

Can anybody explain the "decoding error: … cmusaslsecretDIGEST-MD5 not found in sasldb"? And how to correct it? Is DIGEST-MD5 still sufficient or are there better SASL mechanisms to authenticate frontend to backend?

Thanks in advance,
Frank

--
Frank Richter, Chemnitz University of Technology, Germany


------------------------------------------
Cyrus: Info
Permalink: 
https://cyrus.topicbox.com/groups/info/Tc654c39c5afc4bc1-M57a71a7d519540d30f697523
Delivery options: https://cyrus.topicbox.com/groups/info/subscription

Reply via email to