Closed Bug 951076 Opened 10 years ago Closed 10 years ago

[fugu][buri] Force 163.com to use IMAP with custom autoconfig because the AutoDiscovered ActiveSync implementation deviates from standard

Categories

(Firefox OS Graveyard :: Gaia::E-Mail, defect)

Other
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(tracking-b2g:backlog, b2g18 wontfix, b2g-v1.2 wontfix, b2g-v1.3 fixed, b2g-v1.3T fixed, b2g-v1.4 fixed)

RESOLVED FIXED
1.3 C2/1.4 S2(17jan)
tracking-b2g backlog
Tracking Status
b2g18 --- wontfix
b2g-v1.2 --- wontfix
b2g-v1.3 --- fixed
b2g-v1.3T --- fixed
b2g-v1.4 --- fixed

People

(Reporter: angelc04, Assigned: asuth)

References

Details

Attachments

(3 files)

Attached file adb_v1.3.log
This can be reproduced on both v1.2 and v1.3.
1. Launch Email
2. Configure email account: uid/pwd = n20220@163.com/caolinhe007
3. After configure email, tap on continue to mails
   --> The inbox shows Loading Messages all the time. But no messages are loaded.

Please refer to attached adb log for details.

Test start at 12-17 04:47:39.009

Test builds:

v1.2 buri
Gaia      fcf1c2fe020c29da4755621cbffdc1a333a43be9                         
Gecko                                                                      
http://hg.mozilla.org/releases/mozilla-b2g26_v1_2/rev/129ad3c335a5         
BuildID   20131216004002                                                   
Version   26.0                                                             
ro.build.version.incremental=eng.archermind.20131114.105818     

v1.3 buri
Gaia      358cd74fd2b2ef5d541f71a5d53d65d6a7335424                         
Gecko     http://hg.mozilla.org/mozilla-central/rev/f67feb33a974           
BuildID   20131216040201                                                   
Version   29.0a1                                                           
ro.build.version.incremental=eng.archermind.20131114.105818
BTW, with same steps, this bug was not reproduced using gmail/hotmail account.
Attached file adb_v1.2.log
test start at 12-17 18:13:22.769
It appears we get a 403 (forbidden) when trying to synchronize the folder list.  We do not retry the operation because of a bug in all of our check_syncFolderList implementations.  I filed bug 951312 on this, but given that it appears multiple attempts to create the account failed, I doubt fixing that bug would fix this problem.

I tried to log into the 163.com webmail and had trouble; I got an error message or two and it never seemed to work.  Although it also did bounce me to "uswebmailmail.163.com", so maybe that's the problem?

Please confirm that an Android device or some other ActiveSync client is able to successfully establish the account.  In general, the only way we can fix this bug is to make sure we report an error message, but the question is what error message is right for this situation.


Here's the log excerpt:

12-17 04:48:29.799 I/Gecko   (  496): WERR: ActiveSync command FolderSync failed with response 403
12-17 04:48:29.809 I/GeckoDump(  496): LOG: pushCard for type: setup_account_prefs
12-17 04:48:29.819 I/Gecko   (  496): WLOG: runOp_end(do: {"type":"syncFolderList","longtermId":"1/0","lifecycle":"do","localStatus":"done","serverStatus":"doing","tryCount":0,"humanOp":"syncFolderList"})
12-17 04:48:29.819 I/Gecko   (  496): 
12-17 04:48:29.839 I/Gecko   (  496): WLOG: runOp(check: {"type":"syncFolderList","longtermId":"1/0","lifecycle":"do","localStatus":"done","serverStatus":"checking","tryCount":1,"humanOp":"syncFolderList"})
12-17 04:48:29.839 I/Gecko   (  496): WLOG: runOp_end(check: {"type":"syncFolderList","longtermId":"1/0","lifecycle":"do","localStatus":"done","serverStatus":"checking","tryCount":1,"humanOp":"syncFolderList"})
12-17 04:48:29.839 I/Gecko   (  496): 
12-17 04:48:29.839 I/Gecko   (  496): WLOG: runOp(check: {"type":"syncFolderList","longtermId":"1/0","lifecycle":"do","localStatus":"done","serverStatus":"checking","tryCount":6,"humanOp":"syncFolderList"})
12-17 04:48:29.839 I/Gecko   (  496): WLOG: runOp_end(check: {"type":"syncFolderList","longtermId":"1/0","lifecycle":"do","localStatus":"done","serverStatus":"checking","tryCount":6,"humanOp":"syncFolderList"})
12-17 04:48:29.839 I/Gecko   (  496): 
12-17 04:48:35.599 I/GeckoDump(  496): LOG: pushCard for type: setup_done
12-17 04:48:36.959 I/GeckoDump(  496): LOG: pushCard for type: message_list
12-17 04:48:36.979 I/Gecko   (  496): WLOG: Synchronization is currently blocked; waiting...
Flags: needinfo?(pcheng)
I did following tests:

1. Android devices + Local network
   Email account can be configured and synced successfully through Email App and webmail.
2. Android Device + US network
   Email account can be configured and synced successfully through Email App and webmail.
3. Firefox OS device
   Email account can be configured successfully using Email app, but cannot sync.
   Email account can be configured and synced successfully using webmail.

Hope this helps.
Flags: needinfo?(pcheng)
Jim, any thoughts given your original fix-ups you did for 163.com, etc?
Flags: needinfo?(squibblyflabbetydoo)
(In reply to Andrew Sutherland (:asuth) from comment #5)
> Jim, any thoughts given your original fix-ups you did for 163.com, etc?

Yeah: 163.com stinks!

More seriously, it works fine for me on both a recent Gaia build and the JSAS example page in the jsas repo. I don't see any email, but I'm guessing that's because there isn't any. I do see an error for GetItemEstimate though, but that's probably because 163.com is weird.
Flags: needinfo?(squibblyflabbetydoo)
block the sanity test of sprd
Flags: needinfo?(styang)
blocking-b2g: --- → 1.3?
James, I would defer this issue till China market coming to us. What do you think?
Flags: needinfo?(styang) → needinfo?(james.zhang)
It turns out 163.com supports IMAP.  And their ActiveSync implementation seems to have various issues.  Right now if we even manage to find any messages we really get upset because the ActiveSync implementation does not provide body size estimates.

I was able to create a 163.com IMAP account with the provided credentials without any trouble.  I'll create an autoconfig entry we can check into the tree and save us some horrible nightmares.
Assignee: nobody → bugmail
Status: NEW → ASSIGNED
Summary: [fugu][buri] Email failed to sync from server → [fugu][buri] Force 163.com to use IMAP with custom autoconfig because the AutoDiscovered ActiveSync implementation deviates from standard
Test with credentials from comment 0.

Settings come from http://mail.163.com/html/110127_imap/ (hover over the android tab).
Attachment #8357518 - Flags: review?(mcav)
Good. The less we use ActiveSync, the better. (Doubly so when it's subtly incompatible with Microsoft's implementation.)
Comment on attachment 8357518 [details] [review]
163.com autoconfig entry using IMAP

Confirmed, properly chooses IMAP from the credentials in comment 0.
Attachment #8357518 - Flags: review?(mcav) → review+
(In reply to Steven Yang [:styang] from comment #8)
> James, I would defer this issue till China market coming to us. What do you
> think?

v1.4?
Flags: needinfo?(james.zhang)
(In reply to James Zhang from comment #13)
> (In reply to Steven Yang [:styang] from comment #8)
> > James, I would defer this issue till China market coming to us. What do you
> > think?
> 
> v1.4?

Moving to 1.4? per this comment
blocking-b2g: 1.3? → 1.4?
landed on gaia/master:
https://github.com/mozilla-b2g/gaia/pull/15127
https://github.com/mozilla-b2g/gaia/commit/7e49d834fcc79dd1f75e086ae95f9c5bd78d029c
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment on attachment 8357518 [details] [review]
163.com autoconfig entry using IMAP

[Approval Request Comment]
[User impact] if declined: 163.com has a sketchy ActiveSync implementation that effectively does not work with the Gaia e-mail client.  Their IMAP implementation looks pretty normal.  Without this patch, our autoconfig mechanism will choose to use ActiveSync.
[Testing completed]: I created an account and could see stuff, it worked.  :mcav did to.
[Risk to taking this patch] (and alternatives if risky): There is no meaningful risk; the autoconfig mechanism is scoped to specific domains, so the existence of this file does not affect any other domains.  If we don't fix this, 163.com doesn't work on 1.3 and people file bugs that we repeatedly dupe them to this bug and I feel sad.
Attachment #8357518 - Flags: approval-gaia-v1.3?(fabrice)
Attachment #8357518 - Flags: approval-gaia-v1.3?(fabrice) → approval-gaia-v1.3+
Can we also create autoconfig for other email url, for example, www.126.com, www.qq.com, www.sina.com?
(In reply to James Zhang from comment #17)
> Can we also create autoconfig for other email url, for example, www.126.com,
> www.qq.com, www.sina.com?

Yes.  However, in cases where the server does not implement the ActiveSync AutoDiscover protocol, we can add the entries to the Thunderbird ISP Database.

See https://wiki.mozilla.org/Gaia/Email/Autoconfig for more information about the autoconfiguration process and how to get entries added.
John, can you please assist with this uplift :)
Flags: needinfo?(jhford)
Uplifted 7e49d834fcc79dd1f75e086ae95f9c5bd78d029c to:
v1.3: 09ba59c24c0ea40d22f9fb8a3bb4f7d3d2dc978f
Flags: needinfo?(jhford)
blocking-b2g: 1.4? → backlog
for spreadtrum 6821, 163.com not working with CHINA UNICOM network.

the error is reported as below:
----------------------------
E/GeckoConsole(   81): [JavaScript Error: "smtp.163.com:465 uses an invalid security certificate.
E/GeckoConsole(   81): 
E/GeckoConsole(   81): The certificate will not be valid until 10/30/12 00:45. The current time is 12/12/11 22:58.
E/GeckoConsole(   81): 
E/GeckoConsole(   81): (Error code: sec_error_expired_certificate)
E/GeckoConsole(   81): "]
I/Gecko   (  551): WWAR: PROBE:SMTP sad. error: | bad-security |  |
-----------------------------


and also, i tried https://google.com with browser, also report "invalid security certificate"

how to resolve this https problem?
and actually, i am trying to fix the problem which domains of china such as sina.cn/qq.com/.

i have debug the code of setup account, the autoconfig section.

mostly failured in getMX, i tried the url https://live.mozillamessaging.com/dns/mx/ on pc, and it works fine.

maybe it will resolve the sina.cn/qq.com/tom.com without hard code autoconfig/xxxx.
(In reply to renfeng.mei from comment #22)
> for spreadtrum 6821, 163.com not working with CHINA UNICOM network.
> 
> the error is reported as below:
> ----------------------------
> E/GeckoConsole(   81): [JavaScript Error: "smtp.163.com:465 uses an invalid
> security certificate.
> E/GeckoConsole(   81): 
> E/GeckoConsole(   81): The certificate will not be valid until 10/30/12
> 00:45. The current time is 12/12/11 22:58.
> E/GeckoConsole(   81): 
> E/GeckoConsole(   81): (Error code: sec_error_expired_certificate)
> E/GeckoConsole(   81): "]
> I/Gecko   (  551): WWAR: PROBE:SMTP sad. error: | bad-security |  |
> -----------------------------
> 
> 
> and also, i tried https://google.com with browser, also report "invalid
> security certificate"
> 
> how to resolve this https problem?

Could you please check your device's time? Usually when device time is set wrongly, you will encounter such sec_error_expired_certificate error.
(In reply to pcheng from comment #24)
> (In reply to renfeng.mei from comment #22)
> > for spreadtrum 6821, 163.com not working with CHINA UNICOM network.
> > 
> > the error is reported as below:
> > ----------------------------
> > E/GeckoConsole(   81): [JavaScript Error: "smtp.163.com:465 uses an invalid
> > security certificate.
> > E/GeckoConsole(   81): 
> > E/GeckoConsole(   81): The certificate will not be valid until 10/30/12
> > 00:45. The current time is 12/12/11 22:58.
> > E/GeckoConsole(   81): 
> > E/GeckoConsole(   81): (Error code: sec_error_expired_certificate)
> > E/GeckoConsole(   81): "]
> > I/Gecko   (  551): WWAR: PROBE:SMTP sad. error: | bad-security |  |
> > -----------------------------
> > 
> > 
> > and also, i tried https://google.com with browser, also report "invalid
> > security certificate"
> > 
> > how to resolve this https problem?
> 
> Could you please check your device's time? Usually when device time is set
> wrongly, you will encounter such sec_error_expired_certificate error.


yes, you are right.
I update the time, and 163 works fine.

but in setting-date, the auto sync time is configured, and the edge network is turned on.

the time not updated. 

and how user know this?
(In reply to renfeng.mei from comment #25)
> (In reply to pcheng from comment #24)
> > (In reply to renfeng.mei from comment #22)
> > > for spreadtrum 6821, 163.com not working with CHINA UNICOM network.
> > > 
> > > the error is reported as below:
> > > ----------------------------
> > > E/GeckoConsole(   81): [JavaScript Error: "smtp.163.com:465 uses an invalid
> > > security certificate.
> > > E/GeckoConsole(   81): 
> > > E/GeckoConsole(   81): The certificate will not be valid until 10/30/12
> > > 00:45. The current time is 12/12/11 22:58.
> > > E/GeckoConsole(   81): 
> > > E/GeckoConsole(   81): (Error code: sec_error_expired_certificate)
> > > E/GeckoConsole(   81): "]
> > > I/Gecko   (  551): WWAR: PROBE:SMTP sad. error: | bad-security |  |
> > > -----------------------------
> > > 
> > > 
> > > and also, i tried https://google.com with browser, also report "invalid
> > > security certificate"
> > > 
> > > how to resolve this https problem?
> > 
> > Could you please check your device's time? Usually when device time is set
> > wrongly, you will encounter such sec_error_expired_certificate error.
> 
> 
> yes, you are right.
> I update the time, and 163 works fine.
> 
> but in setting-date, the auto sync time is configured, and the edge network
> is turned on.
> 
> the time not updated. 
> 
> and how user know this?

It should update automatically. I tried on Buri. Time was set automatically.
Target Milestone: --- → 1.3 C2/1.4 S2(17jan)
blocking-b2g: backlog → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: