I looked deeper into the problem.
Looks like the command:
. LIST "" "Other Users"
responds abnormally, until I run :
. LIST "" "Other Users/%"
that actually list the shared folders.
Here's a trace of the imap protocol:
* OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE STARTTLS AUTH=PLAIN SASL-IR] www Cyrus IMAP 3.0.2 server ready
. login gabriele.bulfon@xxxxxxxxxxx Nrdstg88!
. OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED XCONVERSATIONS COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<www-26512-1503581229-1-5255668445572806864>
. LIST "" "Other Users"
. OK Completed (0.010 secs)
. LIST "" "Other Users/%"
* LIST (\HasChildren) "/" "Other Users/amministrazione"
* LIST (\HasChildren) "/" "Other Users/dev-team"
* LIST (\HasChildren) "/" "Other Users/newsletter"
* LIST (\HasChildren) "/" "Other Users/pec"
* LIST (\HasChildren) "/" "Other Users/pectest"
* LIST (\HasChildren) "/" "Other Users/sonicle"
* LIST (\HasChildren) "/" "Other Users/spamadm"
* LIST (\HasChildren) "/" "Other Users/supporto"
. OK Completed (0.030 secs 162 calls)
. LIST "" "Other Users"
* LIST (\Noselect \HasChildren) "/" "Other Users"
. OK Completed (0.020 secs 162 calls)
As you can see the first check on presence of "Other Users" returns nothing.
While the last one, after listing subfolders, returns the correct answer.
JavaMail internally runs the check before looking for subfolders when trying to list a folder, and this fails only on "Other Users" because of the problem above.
Any idea what's happening?
From: Gabriele Bulfon <gbulfon@xxxxxxxxxxx>
To: Merlin Hartley <merlin@xxxxxxxxxxxxxxxxx>
Cc: info-cyrus@xxxxxxxxxxxxxxxxxxxx
Date: August 23, 2017 5:34:11 PM CEST
Subject: Re: 2.4.12 vs 3.0.2 different protocol behaviour
Looks like the command:
. LIST "" "Other Users"
responds abnormally, until I run :
. LIST "" "Other Users/%"
that actually list the shared folders.
Here's a trace of the imap protocol:
* OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE STARTTLS AUTH=PLAIN SASL-IR] www Cyrus IMAP 3.0.2 server ready
. login gabriele.bulfon@xxxxxxxxxxx Nrdstg88!
. OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED XCONVERSATIONS COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<www-26512-1503581229-1-5255668445572806864>
. LIST "" "Other Users"
. OK Completed (0.010 secs)
. LIST "" "Other Users/%"
* LIST (\HasChildren) "/" "Other Users/amministrazione"
* LIST (\HasChildren) "/" "Other Users/dev-team"
* LIST (\HasChildren) "/" "Other Users/newsletter"
* LIST (\HasChildren) "/" "Other Users/pec"
* LIST (\HasChildren) "/" "Other Users/pectest"
* LIST (\HasChildren) "/" "Other Users/sonicle"
* LIST (\HasChildren) "/" "Other Users/spamadm"
* LIST (\HasChildren) "/" "Other Users/supporto"
. OK Completed (0.030 secs 162 calls)
. LIST "" "Other Users"
* LIST (\Noselect \HasChildren) "/" "Other Users"
. OK Completed (0.020 secs 162 calls)
As you can see the first check on presence of "Other Users" returns nothing.
While the last one, after listing subfolders, returns the correct answer.
JavaMail internally runs the check before looking for subfolders when trying to list a folder, and this fails only on "Other Users" because of the problem above.
Any idea what's happening?
Sonicle S.r.l. : http://www.sonicle.com
Quantum Mechanics : http://www.cdbaby.com/cd/gabrielebulfon
From: Gabriele Bulfon <gbulfon@xxxxxxxxxxx>
To: Merlin Hartley <merlin@xxxxxxxxxxxxxxxxx>
Cc: info-cyrus@xxxxxxxxxxxxxxxxxxxx
Date: August 23, 2017 5:34:11 PM CEST
Subject: Re: 2.4.12 vs 3.0.2 different protocol behaviour
In the reconstruct log, I have all the:
Repacked user/blabla/Drafts@xxxxxxxxxxx to version 13
for all the mailbox trees.
Obviously "Other Users" is not in reconstruct, as it is a virtual folder coming out of the incoming sharings.
ACLs looks same with cyradm for shared folders:
localhost> lam user/sonicle@xxxxxxxxxxx
gabriele.bulfon@xxxxxxxxxxx lrswipkxtecda
sonicle@xxxxxxxxxxx lrswipkxtecda
localhost> lam user/sonicle@xxxxxxxxxxx
gabriele.bulfon@xxxxxxxxxxx lrswipkxtecda
sonicle@xxxxxxxxxxx lrswipkxtecda
Sonicle S.r.l. : http://www.sonicle.comQuantum Mechanics : http://www.cdbaby.com/cd/gabrielebulfon
From: Merlin Hartley <merlin@xxxxxxxxxxxxxxxxx>
To: Gabriele Bulfon <gbulfon@xxxxxxxxxxx>
Cc: info-cyrus@xxxxxxxxxxxxxxxxxxxx
Date: August 23, 2017 5:16:22 PM CEST
Subject: Re: 2.4.12 vs 3.0.2 different protocol behaviour
Just a quickie: Are you sure these mailboxes migrated properly?M
--
Merlin Hartley
Computer OfficerMRC Mitochondrial Biology UnitCambridge, CB2 0XYUnited Kingdom
On 23 Aug 2017, at 15:55, Gabriele Bulfon <gbulfon@xxxxxxxxxxx> wrote:I would add that both systems returns the same list of folders with :----
. LIST "" %
including the "Other Users" :
* LIST (\HasNoChildren) "/" INBOX
* LIST (\HasChildren) "/" Archive
...
* LIST (\Noselect \HasChildren) "/" "Other Users"
but then the java code just tries a "folder.list()" on each of them, to see for subfolders.
Here the javamail code, before issuing the list command, tries the "checkExistance" using :
. LIST "" "Other Users"
and 3.0.2 returns an empty result.
Also trying by hand :
. LIST "Other Users" *
returns all the subtree on 2.4.12, while it's empty on 3.0.2.
Any idea?
Gabriele
Sonicle S.r.l. : http://www.sonicle.comQuantum Mechanics : http://www.cdbaby.com/cd/gabrielebulfon
From: Gabriele Bulfon <gbulfon@xxxxxxxxxxx>
To: info-cyrus@xxxxxxxxxxxxxxxxxxxx
Date: August 23, 2017 4:41:36 PM CEST
Subject: 2.4.12 vs 3.0.2 different protocol behaviour
Hi,
I found a problem while scanning the imap tree through our java web app, behaving differently from a 2.4.12 to a 3.0.2 upgraded.
Looking at the protocol I find these differences:
==2.4.12==
. LIST "" "Other Users"
* LIST (\Noselect \HasChildren) "/" "Other Users"
. OK Completed (0.000 secs 192 calls)
==3.0.2==
. LIST "" "Other Users"
. OK Completed (0.000 secs)
So, what happens is that while the java code is checking existence of a folder in the tree, on 3.0.2 it receives an error.
Systems are same, replicated, but one upgraded to 3.0.2, so imap base and configuration is the same, but for the 3.0.2 trimmings.
Is there any setting for compatibility in this case?
Thanx!
Gabriele
Sonicle S.r.l. : http://www.sonicle.comQuantum Mechanics : http://www.cdbaby.com/cd/gabrielebulfon---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
To Unsubscribe:
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus