Closed Bug 504572 Opened 15 years ago Closed 15 years ago

IMAP CAPABILITY for sharing folder and quota info ignored - no longer work with STARTTLS or SSL/TLS

Categories

(MailNews Core :: Networking: IMAP, defect)

1.9.1 Branch
x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 470650

People

(Reporter: valerio, Unassigned)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1) Gecko/20090630 Fedora/3.5-1.fc11 Firefox/3.5
Build Identifier: 3.0b2

When security setting is "None" OR "SSL/TLS" Thunderbird 3.0b2 reports that my server doesn't support quota and acl.
When security setting is "STARTTLS" capabilities are correct.

I am connecting to Dovecot 1.2.1 IMAP server:

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
1 CAPABILITY
* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH ACL RIGHTS=texk QUOTA STARTTLS AUTH=PLAIN AUTH=LOGIN
1 OK Capability completed.


Reproducible: Always

Steps to Reproduce:
1.change security settings to "None" or "SSL/TLS"
2.right click on a imap folder ->Properties -> Sharing tab (or Quota)
3.
Actual Results:  
This server does not support shared folders (or quota)

Expected Results:  
Sharing folder or quota infos
Summary: Differente IMAP CAPABILITY parsing between STARTTLS and NO ENCRYPTION → IMAP CAPABILITY parsing between STARTTLS and NO ENCRYPTION or SSL/TLS
Component: General → Networking: IMAP
Product: Thunderbird → MailNews Core
QA Contact: general → networking.imap
Version: unspecified → 1.9.1 Branch
> Build Identifier: 3.0b2
> * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS
AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
> 1 CAPABILITY

Log is got by Tb 3.0b2?
(AFAIK, CAPABILITY is bypassed after Bug 401293 until Bug 470650 is fixed)

> When security setting is "None" OR "SSL/TLS" Thunderbird 3.0b2 reports that my
server doesn't support quota and acl.

Sounds DUP of Bug 470650 (Target Milestone: Thunderbird 3.0b3)

> When security setting is "STARTTLS" capabilities are correct.

When STARTTLS, CAPABILITY command is possibly issued after STARTLS even if patch for Bug 401293 is applied, because Bug 401293 is for CAPABILITY command after greeting which has CAPABILITY response.
Correction. I wanted to say next. Sorry for spam.
> AFAIK, CAPABILITY is bypassed after Bug 401293,
> and it produced problems until Bug 470650 is fixed.
(In reply to comment #1)
> See it with a build from
> ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-1.9.1/ ?

Tried with:
File:thunderbird-3.0b3pre.en-US.linux-i686.tar.bz2 (07/15/2009 10:56:00 AM)
File:thunderbird-3.0b4pre.en-US.linux-i686.tar.bz2 (07/16/2009 04:53:00 PM)

Feature lost on STARTTLS, too.
An imap log might be useful - https://wiki.mozilla.org/MailNews:Logging
Summary: IMAP CAPABILITY parsing between STARTTLS and NO ENCRYPTION or SSL/TLS → IMAP CAPABILITY for sharing folder and quota info ignored - no longer work with STARTTLS or SSL/TLS
ACL disabled now but QUOTA is active.
In 3.0 security NONE no "capability" command is sent.
In 3.0 security STARTTLS "capability" command is sent 'before' between greetings and authentication but content isn't correctly parsed or ignored (?).
In 2.0 you can see that "capability" command is sent and at the end of log quota informations are retrieved.

3.0b3 log (partial) security NONE:
-1378878608[b0be1cc0]: ImapThreadMainLoop entering [this=adef1400]
-1209034912[b7b11060]: adef1400:XXX.XXXX.XXX:NA:SetupWithUrl: clearing IMAP_CONNECTION_IS_OPEN
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:NA:ProcessCurrentURL: entering
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:NA:ProcessCurrentURL:imap://valerio@XXX.XXXX.XXX:143/select%3E.INBOX:  = currentUrl
-1378878608[b0be1cc0]: ReadNextLine [stream=aeb08d48 nb=118 needmore=0]
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:NA:SendData: 1 authenticate plain
-1378878608[b0be1cc0]: ReadNextLine [stream=aeb08d48 nb=4 needmore=0]
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: + 
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:NA:SendData: Logging suppressed for this command (it probably contained authentication information)
-1378878608[b0be1cc0]: ReadNextLine [stream=aeb08d48 nb=266 needmore=0]
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: 1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA] Logged in
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:A:SendData: 2 lsub "" "*"
-1378878608[b0be1cc0]: ReadNextLine [stream=aeb08d48 nb=22 needmore=0]
-1378878608[b0be1cc0]: adef1400:XXX.XXXX.XXX:A:CreateNewLineFromSocket: * LSUB () "." "Sent"
-1378878608[b0be1cc0]: ReadNextLine [stream=aeb08d48 nb=21 needmore=0]

3.0b4 security STARTTLS:
-1362101392[b0e85cc0]: ImapThreadMainLoop entering [this=aee09800]
-1208826016[b7c11060]: aee09800:XXX.XXXX.XXX:NA:SetupWithUrl: clearing IMAP_CONNECTION_IS_OPEN
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:ProcessCurrentURL: entering
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:ProcessCurrentURL:imap://valerio@XXX.XXXX.XXX:143/select%3E.INBOX:  = currentUrl
-1362101392[b0e85cc0]: ReadNextLine [stream=b0f64568 nb=118 needmore=0]
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.^M
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:SendData: 1 STARTTLS^M
-1362101392[b0e85cc0]: ReadNextLine [stream=b0f64568 nb=33 needmore=0]
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: 1 OK Begin TLS negotiation now.^M
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:SendData: 2 capability^M
-1362101392[b0e85cc0]: ReadNextLine [stream=b0f64568 nb=273 needmore=0]
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA AUTH=PLAIN AUTH=LOGIN^M
-1362101392[b0e85cc0]: ReadNextLine [stream=b0f64568 nb=28 needmore=0]
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: 2 OK Capability completed.^M
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:SendData: 3 authenticate plain^M
-1362101392[b0e85cc0]: ReadNextLine [stream=b0f64568 nb=4 needmore=0]
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: + ^M
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:SendData: Logging suppressed for this command (it probably contained authentication information)
-1362101392[b0e85cc0]: ReadNextLine [stream=b0f64568 nb=266 needmore=0]
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: 3 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA] Logged in^M
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:A:SendData: 4 ENABLE CONDSTORE^M
-1362101392[b0e85cc0]: ReadNextLine [stream=b0f64568 nb=21 needmore=0]
-1362101392[b0e85cc0]: aee09800:XXX.XXXX.XXX:A:CreateNewLineFromSocket: * ENABLED CONDSTORE^M

2.0.22 log:
-1287324816[a7d5ff0]: ImapThreadMainLoop entering [this=a73a8d0]
-1210713472[91983d8]: a73a8d0:XXX.XXXX.XXX:NA:SetupWithUrl: clearing IMAP_CONNECTION_IS_OPEN
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:ProcessCurrentURL: entering
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:ProcessCurrentURL:imap://XXXXXXXXX@XXXXXXXXXXXXXXXXX:143/select%3E.INBOX:  = currentUrl
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=118 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:SendData: 1 capability
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=282 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA STARTTLS AUTH=PLAIN AUTH=LOGIN
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=28 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: 1 OK Capability completed.
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:SendData: 2 authenticate plain
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=4 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: + 
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:SendData: Logging suppressed for this command (it probably contained authentication information)
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=266 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:NA:CreateNewLineFromSocket: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA] Logged in
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:A:SendData: 3 lsub "" "*"
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=22 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:A:CreateNewLineFromSocket: * LSUB () "." "Sent"
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=21 needmore=0]
......
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:A:CreateNewLineFromSocket: 7 OK [READ-WRITE] Select completed.
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:S-INBOX:SendData: 8 getquotaroot "INBOX"
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=34 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:S-INBOX:CreateNewLineFromSocket: * QUOTAROOT "INBOX" "Mail quota"
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=47 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:S-INBOX:CreateNewLineFromSocket: * QUOTA "Mail quota" (STORAGE 808404 1921600)
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=30 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:S-INBOX:CreateNewLineFromSocket: 8 OK Getquotaroot completed.
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:S-INBOX:SendData: 9 UID fetch 1:* (FLAGS)
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=33 needmore=0]
-1287324816[a7d5ff0]: a73a8d0:XXX.XXXX.XXX:S-INBOX:CreateNewLineFromSocket: * 1 FETCH (UID 1 FLAGS (\Seen))
-1287324816[a7d5ff0]: ReadNextLine [stream=a7d63a8 nb=33 needmore=0]
.....
(In reply to comment #6)

Apparently DUP of Bug 470650.
Bug 470650 doesn't seem to occur when STARTTLS is used.

> ACL disabled now but QUOTA is active.

But no ACL is returned by your server. (ACL is seen in log of comment #0 only)
What can IMAP client do in such case? Same server as comment #0 is used?

By the way, attach text file to this bug instead of pasting long log data, please.
Closing as DUP of Bug 470650. Valerio P(bug opener), if evidence that "ACL disabled now" is caused by "flaw in Tb's code" will be found, re-open this bug, please.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
(In reply to comment #7)
> (In reply to comment #6)
> 
> Apparently DUP of Bug 470650.
> Bug 470650 doesn't seem to occur when STARTTLS is used.
> 
> > ACL disabled now but QUOTA is active.
> 
> But no ACL is returned by your server. (ACL is seen in log of comment #0 only)
> What can IMAP client do in such case? Same server as comment #0 is used?
> 
> By the way, attach text file to this bug instead of pasting long log data,
> please.

Oops, sorry for long long log, I didn't notice attachment link x-)
When I wrote "ACL disabled now but QUOTA is active" I mean "disabled on server".
The server is the same and I was investigating only quota capability response parsing.
You need to log in before you can comment on or make changes to this bug.