Re: NFC normalization rename errors after 2.3 to 2.4 upgrade (mdbox)
Timo Sirainen via dovecot <[email protected]> Mon, 6 Jul 2026 21:53:20 +0300
| Newsgroups | gmane.mail.imap.dovecot |
|---|---|
| Message-ID | <[email protected]> |
--===============2563656347521616169== Content-Type: multipart/alternative; boundary="Apple-Mail=_60149094-51E6-4734-AB66-2BFDAACD26DF" --Apple-Mail=_60149094-51E6-4734-AB66-2BFDAACD26DF Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On 6. Jul 2026, at 8.39, Michael Goth via dovecot <[email protected]> = wrote: >=20 > So I think updating the mailbox name to NFC should also update any = matching subscriptions of the user. Otherwise, the subscription gets = lost and we get constant errors in the logs. I thought this was already fixed, but looks like accidentally the test = was using mailbox_list_utf8=3Dyes. With the default =3Dno it was broken. = Attached a fix. =EF=BF=BC --Apple-Mail=_60149094-51E6-4734-AB66-2BFDAACD26DF Content-Type: multipart/mixed; boundary="Apple-Mail=_82094318-590E-4212-A020-6B8FDE78CEED" --Apple-Mail=_82094318-590E-4212-A020-6B8FDE78CEED Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" On 6. Jul 2026, at 8.39, Michael Goth via dovecot <[email protected]> wrote: So I think updating the mailbox name to NFC should also update any matching subscriptions of the user. Otherwise, the subscription gets lost and we get constant errors in the logs. I thought this was already fixed, but looks like accidentally the test was using mailbox_list_utf8=yes. With the default =no it was broken. Attached a fix. --Apple-Mail=_82094318-590E-4212-A020-6B8FDE78CEED Content-Disposition: attachment; filename=utf8.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="utf8.diff" Content-Transfer-Encoding: 7bit diff --git a/obox-tests/obox-user-delete-dangling/test.d/common.sh b/obox-tests/obox-user-delete-dangling/test.d/common.sh index 98452a1aa..63f6a3dbf 100644 --- a/obox-tests/obox-user-delete-dangling/test.d/common.sh +++ b/obox-tests/obox-user-delete-dangling/test.d/common.sh @@ -29,6 +29,18 @@ dangling_delete_from_storage() { done } +# Like stderr_expect_multi, but first drops the stderr lines that don't match +# any of the given regexps. "doveadm obox user delete" logs a variable number +# of per-folder recovery lines when it resyncs lost folders, so only the +# deterministic summary lines can be matched exactly. +stderr_expect_at_least_multi() { + local re pat + for re in "$@"; do pat="${pat:+$pat|}$re"; done + egrep -a "$pat" $TEST_STDERR >$TEST_STDERR.tmp || true + mv $TEST_STDERR.tmp $TEST_STDERR + stderr_expect_multi "$@" +} + # Run "doveadm obox user delete" for the user $1 and assert that it removes # every dict pointer and every object-storage blob of the user. The command's # log output is left in $TEST_STDERR for the caller to check. --Apple-Mail=_82094318-590E-4212-A020-6B8FDE78CEED Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" --Apple-Mail=_82094318-590E-4212-A020-6B8FDE78CEED-- --Apple-Mail=_60149094-51E6-4734-AB66-2BFDAACD26DF-- --===============2563656347521616169== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dovecot mailing list -- [email protected] To unsubscribe send an email to [email protected] --===============2563656347521616169==--