Re: Move mails between folders on different backend servers
Frank Richter <[email protected]>
| Newsgroups | gmane.mail.imap.cyrus |
|---|---|
| Organization | TU Chemnitz, Germany |
| Message-ID | <[email protected]> |
Hello,
unfortunately we'e facing ongoing problems after migration from 2.4 tu 3.2.9
(first try was the 3.2.6. Debian 11 package).
Our setup: traditional murder: 2 frontends, MUPDATE, 2 backend servers.
I can reproduce bugs with MOVE when 2 different backend servers are involved
– even now with Thunderbird (alpine always uses COPY then \Deleted).
The problem seems to be with MOVE.
So I disabled MOVE, and XMOVE with this in /etc/imapd.conf
suppress_capabilities: MOVE XMOVE
We're watching this now … Has anybody seen similar problems?
Thanks,
Frank
Am 24.03.22 um 14:48 schrieb Frank Richter:
>
> Hello,
> we have a traditional murder (frontend with 2 backend servers –
> cyrus-imapd-3.2.6-Debian-3.2.6-2+deb11u1).
> We use shared folder (group namesapce).
> Moving e-mails between folders on different backend servers (from backend1
> to backend2) works with Thunderbird, alpine etc. With Horde Webmail there
> is an error, see below.
>
> IMAP logs:
>
> OK:
> Frontend:
> <1648127917<6 UID MOVE 855056 group.fritest2
> >1648127917>* *OK [COPYUID 1647952540 855056 11] Completed*
>
> Backend (same source and target)
> <1648127917<6 UID Move 855056 {14+}
> >1648127917>* OK [COPYUID 1647952540 855056 11] Completed
>
> NOT OK:
> Frontend:
> <1648127910<6 UID MOVE 855054 group.fritest
> >1648127910>6 *OK [COPYUID 1611826992 15] Completed*
>
> Backend (source):
> <1648127910<6 Uid Fetch 855054 (Flags Internaldate)
> >1648127910>* 1981 FETCH (FLAGS (\Seen $Label4 NonJunk) UID 855054
> INTERNALDATE "23-Mar-2022 19:55:11 +0100")
> 6 OK Completed (0.000 sec)
> <1648127910<PROXY2 Uid Fetch 855054 (Rfc822.peek)
> >1648127910>* 1981 FETCH (UID 855054 RFC822 {3129}
> Return-Path: …
> PROXY2 OK Completed (0.000 sec)
>
> Backend (target):
> <1648127910<6 Append {13+}
> group.fritest (\Seen $Label4 NonJunk) "23-Mar-2022 19:55:11 +0100" {3129+}
> Return-Path: …
> >1648127910>6 OK [APPENDUID 1611826992 15] Completed
> <1648127910<Q01 LOGOUT
> >1648127910>* BYE LOGOUT received
> Q01 OK Completed
>
> So the responses on COPYUID are different.
>
> When moving between different backend servers, Horde Webmail throws
> warnings and errors in its log file:
>
> 2022-03-24T14:18:30 WARNING: HORDE: [imp] PHP ERROR: array_combine(): Both
> parameters should have an equal number of elements [pid 64686 on line 4905
> of "/usr/share/pear/Horde/Imap/Client/Socket.php"]
>
> PHP source is:
>
> case 'COPYUID':
> // Defined by RFC 4315
> //*COPYUID: [0] = UIDVALIDITY, [1] = UIDFROM, [2] = UIDTO*
> $pipeline->data['copyuid'] = array_combine(
> $this->getIdsOb($rc->data[1])->ids,
> $this->getIdsOb($rc->data[2])->ids
> );
>
> So the IMAP client in Horde expects 3 values for COPYUID response (and
> doesn't handle if there are 2 values only – it throws errors in the
> following processing).
>
> Is cyrus-imapd wrong in this case returning 2 values only (missing the
> source UID of the moved message)?
>
> Thanks,
> Frank
>
> --
> Chemnitz University of Technology, Germany
>
en 62 | R. B302A
09111 Chemnitz
Germany
Tel: +49 371 531 31879
[email protected]
www.tu-chemnitz.de/urz
This is a multi-part message in MIME format...
------------=_1649348188-491944-1--
smime.p7s
(application/pkcs7-signature, 5.8 KB) - not displayed