View Issue Details

IDProjectCategoryView StatusLast Update
0001490SOGoWeb Mailpublic2019-09-04 17:50
Reporterbuzzdee Assigned Toludovic  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version1.3.9 
Fixed in Version4.1.0 
Summary0001490: Automatically retrieve hierarchy separator from the IMAP server (drop NGImap4ConnectionStringSeparator)
Description

I have SOGoMailAuxiliaryUserAccountsEnabled, and created a second account pointing to gmail.

I can see the folder list from this account, and also the subfolders, but I see only mails in the Inbox or in folders parallel to the inbox.
When I go down the tree in the webinterface, entering the folders below the top level, then the spinning wheel starts to spin, and after some time it stops spinning, but the messages are not shown in the list. Also, usually when I enter an empty folder, I see the message over the message list: No message, but this message doesn't appear when I enter a subfolder of the gmail account.

In the sogo log I see the following

Nov 08 15:26:02 sogod [17661]: [ERROR] <0x0x6941fd88[NGImap4Connection]> could not select URL: imaps://user%40domain.net@imap.gmail.com/user/Drafts/: {RawResponse = "{ResponseResult = {description = \" Unknown Mailbox: user.Drafts (Failure)\"; flag = NONEXISTENT; result = no; tagId = 5; }; }"; access = NONEXISTENT; reason = " Unknown Mailbox: user.Drafts (Failure)"; result = 0; }
127.0.0.1 - - [08/Nov/2011:15:26:02 GMT] "POST /SOGo/so/sebastia/Mail//1/folderuser/folderDrafts/uids HTTP/1.1" 200 74/46 1.708 - - -
Nov 08 15:26:04 sogod [17661]: [ERROR] <0x0x64ad5648[NGImap4Connection]> could not select URL: imaps://user%40domain.net@imap.gmail.com/user/Drafts/: {RawResponse = "{ResponseResult = {description = \" Unknown Mailbox: user.Drafts (Failure)\"; flag = NONEXISTENT; result = no; tagId = 5; }; }"; access = NONEXISTENT; reason = " Unknown Mailbox: user.Drafts (Failure)"; result = 0; }
127.0.0.1 - - [08/Nov/2011:15:26:04 GMT] "POST /SOGo/so/sebastia/Mail//1/foldersre/folderDrafts/headers HTTP/1.1" 200 130/111 1.470 - - -

My imap server for the main account is a cyrus imapd.

is there anything what I can do about it, maybe I missed sth. to configure?

I use sope/sogo 1.3.9.

TagsNo tags attached.

Activities

Orchal

Orchal

2011-11-14 16:41

reporter   ~0002998

Hi,

I've got the same issue and I don't use auxiliary accounts. Nobody can show mails in any subfolders since I've updated SOGo to 1.3.9.

Here the errors :

ERROR] <0x0xa5af054[NGImap4Connection]> could not select URL:
imap://user@imapserver.mydomain/folder/subfolder/: {RawResponse =
"{ResponseResult = {description = \"Mailbox does not exist\"; result = no;
tagId = 27; }; }"; reason = "Mailbox does not exist"; result = 0; }

[ERROR] <0x0xa5af054[NGImap4Connection]> could not fetch 102 uids for url:
imap://user@imapserver.mydomainu/folder/subfolder

ludovic

ludovic

2011-11-24 20:45

administrator   ~0003073

I've just tried with Google Mail and things work perfectly for me.

Are you sure it's not your web browser cache that is broken?

If not, you might want to enable full IMAP debugging and paste a complete trace.

Orchal

Orchal

2011-11-25 07:07

reporter   ~0003079

Ok, I can't right now but just to clarify, I can't create any new subfolders too.

Orchal

Orchal

2011-11-28 14:29

reporter   ~0003084

Sorry, my bad.

I set NGImap4ConnectionStringSeparator to "/" and that was bad.

It's ok for me, maybe not for buzzdee as my issue was a little bit different.

buzzdee

buzzdee

2011-11-29 09:12

reporter   ~0003087

Sorry for taking so long.

I ran SOGo with the following parameters:
-ImapDebugQualifierGeneration YES -ImapDebugEnabled YES

My default IMAP is a cyrus imapd, which uses the default . as folder separator, but it seems, the GMail uses the / as folder separator.

I don't have the NGImap4ConnectionStringSeparator default set.

here the output when trying to access GMail account:

S[0x6b58b3c8]: OK Gimap ready for requests from 212.37.172.162 by19if10061412bkb.46
C[0x60793688]: 1 login myusername@mydomain.net <PASSWORD>
S[0x6b58b3c8]:
CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x6b58b3c8]: 1 OK myusername@mydomain.net Sebastian Reitenbach authenticated (Success)
C[0x60793688]: 2 capability
S[0x6b58b3c8]: CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x6b58b3c8]: 2 OK Success
C[0x60793688]: 3 namespace
S[0x6b58b3c8]:
NAMESPACE (("" "/")) NIL NIL
S[0x6b58b3c8]: 3 OK Success
C[0x60793688]: 4 LIST "" ""
S[0x6b58b3c8]: LIST (\Noselect) "/" "/"
S[0x6b58b3c8]: 4 OK Success
C[0x60793688]: 5 select "myusername.RapidEye"
S[0x6b58b3c8]: 5 NO [NONEXISTENT] Unknown Mailbox: myusername.RapidEye (Failure)
Nov 29 09:50:21 sogod [20691]: [ERROR] <0x0x658ef3c8[NGImap4Connection]> could not select URL: imaps://myusername%40mydomain.net@imap.gmail.com/myusername/RapidEye/: {RawResponse = "{ResponseResult = {description = \" Unknown Mailbox: myusername.RapidEye (Failure)\"; flag = NONEXISTENT; result = no; tagId = 5; }; }"; access = NONEXISTENT; reason = " Unknown Mailbox: myusername.RapidEye (Failure)"; result = 0; }
127.0.0.1 - - [29/Nov/2011:09:50:21 GMT] "POST /SOGo/so/sebastia/Mail//1/foldermyusername/folderRapidEye/unseenCount HTTP/1.1" 200 13/0 3.809 - - -
C[0x60793688]: 6 logout
S[0x6b58b3c8]:
BYE LOGOUT Requested
S[0x68dc87e8]: OK Gimap ready for requests from 212.37.172.162 by19if10061506bkb.46
C[0x5fe3d608]: 1 login myusername@mydomain.net <PASSWORD>
S[0x68dc87e8]:
CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x68dc87e8]: 1 OK myusername@mydomain.net Sebastian Reitenbach authenticated (Success)
C[0x5fe3d608]: 2 capability
S[0x68dc87e8]: CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x68dc87e8]: 2 OK Success
C[0x5fe3d608]: 3 namespace
S[0x68dc87e8]:
NAMESPACE (("" "/")) NIL NIL
S[0x68dc87e8]: 3 OK Success
C[0x5fe3d608]: 4 LIST "" ""
S[0x68dc87e8]: * LIST (\Noselect) "/" "/"
S[0x68dc87e8]: 4 OK Success
2011-11-29 09:50:30.097 sogod[20691] <0x0x5ea85d88[PostgreSQL72Channel]: connection=<0x0x677e5a98[PGConnection]: connection=0x0x6ab5f000>>: message: WARNING: nonstandard use of \ in a string literal
LINE 1: UPDATE sogo_user_profile SET c_settings = '{"folderINBOX...
^
HINT: Use the escape string syntax for backslashes, e.g., E'\'.

C[0x5fe3d608]: 5 select "myusername.RapidEye"
S[0x68dc87e8]: 5 NO [NONEXISTENT] Unknown Mailbox: myusername.RapidEye (Failure)
Nov 29 09:50:31 sogod [20691]: [ERROR] <0x0x6519df48[NGImap4Connection]> could not select URL: imaps://myusername%40mydomain.net@imap.gmail.com/myusername/RapidEye/: {RawResponse = "{ResponseResult = {description = \" Unknown Mailbox: myusername.RapidEye (Failure)\"; flag = NONEXISTENT; result = no; tagId = 5; }; }"; access = NONEXISTENT; reason = " Unknown Mailbox: myusername.RapidEye (Failure)"; result = 0; }
C[0x5fe3d608]: 6 getquotaroot "INBOX"
S[0x68dc87e8]: QUOTAROOT "INBOX" ""
S[0x68dc87e8]:
QUOTA "" (STORAGE 1029993 26214400)
S[0x68dc87e8]: 6 OK Success
127.0.0.1 - - [29/Nov/2011:09:50:31 GMT] "POST /SOGo/so/sebastia/Mail//1/foldermyusername/folderRapidEye/uids HTTP/1.1" 200 218/28 9.732 - - -
C[0x5fe3d608]: 7 logout
S[0x68dc87e8]: BYE LOGOUT Requested
S[0x656f6248]:
OK Gimap ready for requests from 212.37.172.162 ec4if10060213bkb.84
C[0x66d78388]: 1 login myusername@mydomain.net <PASSWORD>
S[0x656f6248]: CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x656f6248]: 1 OK myusername@mydomain.net Sebastian Reitenbach authenticated (Success)
C[0x66d78388]: 2 capability
S[0x656f6248]:
CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x656f6248]: 2 OK Success
C[0x66d78388]: 3 namespace
S[0x656f6248]: NAMESPACE (("" "/")) NIL NIL
S[0x656f6248]: 3 OK Success
C[0x66d78388]: 4 LIST "" ""
S[0x656f6248]:
LIST (\Noselect) "/" "/"
S[0x656f6248]: 4 OK Success
C[0x66d78388]: 5 select "myusername.RapidEye"
S[0x656f6248]: 5 NO [NONEXISTENT] Unknown Mailbox: myusername.RapidEye (Failure)
Nov 29 09:50:40 sogod [20691]: [ERROR] <0x0x63c05248[NGImap4Connection]> could not select URL: imaps://myusername%40mydomain.net@imap.gmail.com/myusername/RapidEye/: {RawResponse = "{ResponseResult = {description = \" Unknown Mailbox: myusername.RapidEye (Failure)\"; flag = NONEXISTENT; result = no; tagId = 5; }; }"; access = NONEXISTENT; reason = " Unknown Mailbox: myusername.RapidEye (Failure)"; result = 0; }
127.0.0.1 - - [29/Nov/2011:09:50:40 GMT] "POST /SOGo/so/sebastia/Mail//1/foldermyusername/folderRapidEye/headers HTTP/1.1" 200 130/104 7.606 - - -
C[0x66d78388]: 6 logout
S[0x656f6248]: * BYE LOGOUT Requested

and here, when trying to access my cyrus imap:

S[0x6b80a1a8]: OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE STARTTLS AUTH=PLAIN AUTH=OTP AUTH=NTLM AUTH=LOGIN AUTH=GSSAPI AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR] communicator.ds9 Cyrus IMAP v2.4.10 server ready
C[0x60f71b08]: 1 login sebastia <PASSWORD>
S[0x6b80a1a8]: 1 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE LIST-EXTENDED WITHIN QRESYNC SCAN XLIST URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE IDLE] User logged in SESSIONID=<communicator.ds9-10073-1322556897-1>
C[0x60f71b08]: 2 capability
S[0x6b80a1a8]:
CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE LIST-EXTENDED WITHIN QRESYNC SCAN XLIST URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE IDLE
S[0x6b80a1a8]: 2 OK Completed
C[0x60f71b08]: 3 namespace
S[0x6b80a1a8]: NAMESPACE (("INBOX." ".")) (("user." ".")) (("" "."))
S[0x6b80a1a8]: 3 OK Completed
C[0x60f71b08]: 4 LIST "" ""
S[0x6b80a1a8]:
LIST (\Noselect) "." ""
S[0x6b80a1a8]: 4 OK Completed (0.000 secs)
C[0x60f71b08]: 5 select "INBOX.ML.SW.OGo-OOo.OGo.documentation"
S[0x6b80a1a8]: 14 EXISTS
S[0x6b80a1a8]:
0 RECENT
S[0x6b80a1a8]: FLAGS (\Answered \Flagged \Draft \Deleted \Seen KMAILFORWARDED KMAILTODO KMAILWATCHED KMAILIGNORED $FORWARDED $TODO $WATCHED $IGNORED)
S[0x6b80a1a8]:
OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen KMAILFORWARDED KMAILTODO KMAILWATCHED KMAILIGNORED $FORWARDED $TODO $WATCHED $IGNORED *)] Ok
S[0x6b80a1a8]: OK [UIDVALIDITY 1196927517] Ok
S[0x6b80a1a8]:
OK [UIDNEXT 15] Ok
S[0x6b80a1a8]: OK [HIGHESTMODSEQ 1] Ok
S[0x6b80a1a8]:
OK [URLMECH INTERNAL] Ok
S[0x6b80a1a8]: 5 OK [READ-WRITE] Completed

I see SOGo issuing an empty: LIST "" "" command, to get the right hierarchy separator from the server, but it seems it doesn't take it into account.

switching the NGImap4ConnectionStringSeparator to "/", then I can see the contents of folders in the GMail account:

S[0x6924ae68]: OK Gimap ready for requests from 212.37.172.162 ej4if10081372bkb.44
C[0x63d02c88]: 1 login myusername@mydomain.net <PASSWORD>
S[0x6924ae68]:
CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x6924ae68]: 1 OK myusername@mydomain.net Sebastian Reitenbach authenticated (Success)
C[0x63d02c88]: 2 capability
S[0x6924ae68]: CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
S[0x6924ae68]: 2 OK Success
C[0x63d02c88]: 3 namespace
S[0x6924ae68]:
NAMESPACE (("" "/")) NIL NIL
S[0x6924ae68]: 3 OK Success
C[0x63d02c88]: 4 LIST "" ""
S[0x6924ae68]: * LIST (\Noselect) "/" "/"
S[0x6924ae68]: 4 OK Success
2011-11-29 10:04:22.809 sogod[2690] <0x0x5df12108[PostgreSQL72Channel]: connection=<0x0x67f01928[PGConnection]: connection=0x0x668f2800>>: message: WARNING: nonstandard use of \ in a string literal
LINE 1: UPDATE sogo_user_profile SET c_settings = '{"folderINBOX...
^
HINT: Use the escape string syntax for backslashes, e.g., E'\'.

C[0x63d02c88]: 5 select "myusername/Logfiles/nagios/srv-nagios"
S[0x6924ae68]: FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
S[0x6924ae68]:
OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen *)] Flags permitted.
S[0x6924ae68]: OK [UIDVALIDITY 659855204] UIDs valid.
S[0x6924ae68]:
587 EXISTS
S[0x6924ae68]: 0 RECENT
S[0x6924ae68]:
OK [UIDNEXT 9033] Predicted next UID.
S[0x6924ae68]: 5 OK [READ-WRITE] myusername/Logfiles/nagios/srv-nagios selected. (Success)
C[0x63d02c88]: 6 UID SEARCH NOT DELETED

There you can see, it uses what is set in NGImap4ConnectionStringSeparator and it just works.

I tried to reconfigure my cyrus imapd to turn on useunixhierarchysep: 1
but then, it seems all installed sieve filter did not worked anymore, I'd have to redo all filters for all users, so its unfortunately kind of a no-go.

So, it seems, probably the bug report should be renamed, and made an enhancement request, sth. like: drop NGImap4ConnectionStringSeparator, in favor to automatically retrieve and use hierarchy separator from the IMAP server per account.

Related Changesets

sogo: master 3187bca0

2019-09-04 13:45

ludovic


Details Diff
(fix) now dynamically detect and use the IMAP separator (fixes 0001490) Affected Issues
0001490
mod - Documentation/SOGoInstallationGuide.asciidoc Diff File
mod - NEWS Diff File
mod - SoObjects/Mailer/SOGoMailAccount.h Diff File
mod - SoObjects/Mailer/SOGoMailAccount.m Diff File
mod - SoObjects/SOGo/SOGoDomainDefaults.h Diff File
mod - SoObjects/SOGo/SOGoDomainDefaults.m Diff File
mod - SoObjects/SOGo/SOGoSieveManager.m Diff File

Issue History

Date Modified Username Field Change
2011-11-10 07:59 buzzdee New Issue
2011-11-14 16:41 Orchal Note Added: 0002998
2011-11-24 20:45 ludovic Note Added: 0003073
2011-11-25 07:07 Orchal Note Added: 0003079
2011-11-28 14:29 Orchal Note Added: 0003084
2011-11-28 19:27 ludovic Severity major => minor
2011-11-29 09:12 buzzdee Note Added: 0003087
2011-12-12 15:54 francis Summary unable to see mails in subfolder of auxilary IMAP account when SOGoMailAuxiliaryUserAccountsEnabled YES => Automatically retrieve hierarchy separator from the IMAP server (drop NGImap4ConnectionStringSeparator)
2019-09-04 17:49 ludovic Changeset attached => sogo master 3187bca0
2019-09-04 17:49 ludovic Assigned To => ludovic
2019-09-04 17:49 ludovic Resolution open => fixed
2019-09-04 17:50 ludovic Status new => resolved
2019-09-04 17:50 ludovic Fixed in Version => 4.1.0