Ericsson / exchangecalendar

Exchange 2007/2010/2013 Calendar, Tasks, Contacts and GAL Provider.
GNU General Public License v3.0
926 stars 112 forks source link

Thunderbird 52 / Lightning 5.4 support #580

Open bren-m opened 7 years ago

bren-m commented 7 years ago

Hi All,

Thunderbird auto-upgraded to version 52 today and as a result Lightning upgraded to 5.4.

I can no longer connect to my Exchange server using the Exchange Calendar add-on versions 3.8.0 or 3.9.0.

Is Thunderbird 52 / Lightning 5.4 supported by this add-on or is a new version going to be released that provides support.

Thanks, Brendon

axelrathey commented 7 years ago

Hi All,

I also have problems with Thnderbird 52.0 As I do not use the exchange calendar any more, I only can't connect to the exchange addressbook with EWS exchange provider 3.8.0 and 3.9.0 (both testet). As I tried it more than several times, login in my account was blocked for a certain time.

It would be great, if EWS Exchangeprovider would support current version of Thunderbird too.

Thanks, bye bye Axel

tmeader commented 7 years ago

Same here. Have been worried that this was going to happen for a while now (Thunderbird was eventually moving on from 48.x), yet EWS never worked properly with any version of TB past that version.

Mechtilde commented 7 years ago

Hello

as the latest version of Thunderbird I found version 45.8.0 today.

Mechtilde

Am 06.04.2017 um 01:00 schrieb tmeader:

Same here. Have been worried that this was going to happen for a while now (Thunderbird was eventually moving on from 48.x), yet EWS never worked properly with any version of TB past that version.

sleeksorrow commented 7 years ago

Version 52.0, first offered to Release channel users on April 4, 2017 https://www.mozilla.org/en-US/thunderbird/52.0/releasenotes/

stenoo83 commented 7 years ago

Hello, I also have problems with Thunderbird 52.0, Lightning 5.4, Exchange EWS Provider 3.9.0 Bye

bOOT-CoDe commented 7 years ago

I have the same problems with Thnderbird 52.0, Lightning 5.4, Exchange EWS Provider 3.9.0. @Mechtilde: you can download new version of Thunderbird here (the official site).

bOOT

edeln commented 7 years ago

Same here using 3.9.0 with TB 52.0:

Extract of the EWS logs:

SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({0d6ce59c-ad5d-4520-b4d3-09664868f279}) SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({1040ebe3-6ed1-45a6-8587-995e082518d7}) SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({70d2b4fe-a552-48cd-8d93-1d8437a56b53})

Edit: duplicate of issue #576

oaxjogi commented 7 years ago

me, too :-( Any help needed to get it done?

sleeksorrow commented 7 years ago

Tried davmail for the meantime, but although it worked back then, now it only shows events with no title and content. So I went back to thunderbird 48 from Ubuntu repositories. :(

soerenbe commented 7 years ago

Same issue here. The Plugin don't ask for a Password when setting up a calendar. Does anybody know a workaround beside keeping Thunderbird 48.*?

red667 commented 7 years ago

Same for me :( Any news on how to fix this problem?

kragil commented 7 years ago

Me too.

TheUntouchable commented 7 years ago

Same here! An exisiting calender does not sync anymore!

aprokop commented 7 years ago

I don't know if we should expect a reply any time soon. It seems that the project has been inactive for about 9 months. Anyone knows of an alternative?

BlackLotus commented 7 years ago

Davmail is an alternative that was already mentioned. But you are wrong when saying that the project is dead and inactive for 9months. The 4.0 branch was active 3 months ago

Andrey Prokopenko notifications@github.com schrieb am Mo., 17. Apr. 2017, 15:16:

I don't know if we should expect a reply any time soon. It seems that the project has been inactive for about 9 months. Anyone knows of an alternative?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Ericsson/exchangecalendar/issues/580#issuecomment-294483740, or mute the thread https://github.com/notifications/unsubscribe-auth/AABRlYUrCTqAdEayfYUJJFoYHmeqppP2ks5rw2Y-gaJpZM4Mz4q_ .

aprokop commented 7 years ago

Sorry, my bad. This is the n-th time I get hit by the fact that Github does not really show activity in any of the branches by default unless you go looking for it.

rkent commented 7 years ago

I have not looked at the code for this for years, but testing it on Thunderbird 52 showed an obvious syntax error from some really old, obsolete javascript that caused a key file to fail. I fixed this by commenting out that function (that deals with setting tags for messages, probably not that commonly used).

Try this version:

http://mesquilla.net/betas/exchangecalendar-3.9.0x@extensions.1st-setup.nl.xpi

If that fixes the main non-working issue y'all are having I'll rewrite those few lines of code to get this working again.

ogjerstad commented 7 years ago

Thank you, but didn't seem to make any difference in my case. TB 52, Lightning 5.4, Fedora Linux 25.

bren-m commented 7 years ago

Thanks for looking at this but it didn't work for me either.

If I statically enter my known working Exchange credentials I get a HTTP 401 failure (and no prompt for my password):

Error during checking of server and mailbox: HTTP Client error 401: Unauthorized URL:https://mail..com/ews/exchange.asmx

If I use Exchange autodiscovery I get a HTTP 403 failure:

Error during autodiscovery: HTTP Client error 403: Forbidden URL:http://autodiscover..com/autodiscover/autodiscover.xml

TB 52.0.1 Lightning 5.4.0.1 MacOS 10.12.4

archiron commented 7 years ago

same things as brenboy with TB 52.0.1 Lightning 5.4.0.1 Exchange EWS Provider 3.9.0 Windows 10 64

stenoo83 commented 7 years ago

Exchange EWS Provider 3.9.0 TB 52.0.1 Lightning 5.4.0.1

This happens when I sync calendar:

ReferenceError: reference to undefined property ".2b.0.0.0"[Ulteriori informazioni] react.js:2412:5

ReferenceError: reference to undefined property "localName"[Ulteriori informazioni] browser.xml:389:20

DEPRECATION WARNING: The arguments you're passing to viewSource.xul are using an out-of-date API. You may find more details about this deprecation at: https://developer.mozilla.org/en-US/Add-ons/Code_snippets/View_Source_for_XUL_Applications chrome://global/content/viewSource.js 329 _loadViewSourceDeprecated chrome://global/content/viewSource.js 309 onXULLoaded chrome://global/content/viewSource.js 175 handleEvent Deprecated.jsm:79

TypeError: win.gBrowser is undefined[Ulteriori informazioni] nsLoginManagerPrompter.js:1411:11

nsPrompter: Delegation to password manager failed: [Exception... "[JavaScript Error: "win.gBrowser is undefined" {file: "resource://gre/components/nsLoginManagerPrompter.js" line: 1411}]'[JavaScript Error: "win.gBrowser is undefined" {file: "resource://gre/components/nsLoginManagerPrompter.js" line: 1411}]' when calling method: [nsIPromptFactory::getPrompt]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "JS frame :: resource://gre/components/nsPrompter.js :: Prompter.prototype.getPrompt :: line 42" data: yes] nsPrompter.js:44

uncaught exception: 2147500033 (sconosciuto)

TypeError: checkValue is undefined[Ulteriori informazioni] nsPrompter.js:741:13

ReferenceError: reference to undefined property "localName"[Ulteriori informazioni] browser.xml:389:20

DEPRECATION WARNING: The arguments you're passing to viewSource.xul are using an out-of-date API. You may find more details about this deprecation at: https://developer.mozilla.org/en-US/Add-ons/Code_snippets/View_Source_for_XUL_Applications chrome://global/content/viewSource.js 329 _loadViewSourceDeprecated chrome://global/content/viewSource.js 309 onXULLoaded chrome://global/content/viewSource.js 175 handleEvent Deprecated.jsm:79

ogjerstad commented 7 years ago

Not sure what parts of the log files is more interesting, and where exactly to start cut&paste from the log file, but here goes:

exchange.txt

gomezalberto commented 7 years ago

I also have the same issue. If it is useful, please let me know which infos I can post here to help

JohnSPeach commented 7 years ago

I have the same problem: Linux Void Thunderbird 52.0.1 Lightning 5.4.0.1 EWS both 3.8.0 and 3.9.0

davewhipp commented 7 years ago

Same issue here: MacOS 10.12.4 Thunderbird 52.0.1 Lightning 5.4.0.1 EWS 3.9.0

ghost commented 7 years ago

Same issue here: Windows 10 Thunderbird 52.0.1 Lightning 5.4.0.1 EWS 3.9.0

ontheair81 commented 7 years ago

Same issue here: Windows 7 Thunderbird 52.0.1 Lightning 5.4.0.1 EWS 3.7.0 (still)

efa commented 7 years ago

Same here like other, Win7 64 bit

soerenbe commented 7 years ago

I tried to have a look at the difference between TB 45. and 52. on my link machine.

It seems some of the error messages where already there in TB 45.*. So maybe this is not the source of the error?

TB 52.0.1

1st-setup:2017-3-0 1:2:36.557:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({70d2b4fe-a552-48cd-8d93-1d8437a56b53})
1st-setup:2017-3-0 1:2:36.559:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({1040ebe3-6ed1-45a6-8587-995e082518d7})
1st-setup:2017-3-0 1:2:36.559:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({0d6ce59c-ad5d-4520-b4d3-09664868f279})

TB 45.8.0+build1-0ubuntu0.16.04.1 (working)

1st-setup:2017-3-0 1:11:16.214:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({49eb1997-90fb-49d6-a25d-41f51c7c99e8})
1st-setup:2017-3-0 1:11:16.216:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({f6a0d1e5-369f-4abc-81ae-d370d36e4006})
1st-setup:2017-3-0 1:11:16.217:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({0d6ce59c-ad5d-4520-b4d3-09664868f279})
1st-setup:2017-3-0 1:11:16.263:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({0d6ce59c-ad5d-4520-b4d3-09664868f279})
1st-setup:2017-3-0 1:11:16.305:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({0d6ce59c-ad5d-4520-b4d3-09664868f279})
soerenbe commented 7 years ago

It seems like the core developer of this extensions is no longer active in this repo. Maybe it helps, if I highlight him here. @bavincen :-)

kruess commented 7 years ago

Same here, client error 401 and 403. W7pro, x64 TB 52.0.1 Lightning 5.4.0.1 EWS 3.9.0

gbolo commented 7 years ago

I am also having this issue:

Arch Linux - kernel 4.10.11-1-ARCH Thunderbird: 52.0 (64-bit) Lightning: 5.4 EWS 3.9.0

oaxjogi commented 7 years ago

I asked @Mechtilde if she has an idea who could help us. She has contributed code and @bavincen approved it.

jretxaniz commented 7 years ago

Same issue here: TB 52.0.1 Lightning 5.4 EWS Provider (3.9.0) HTTP Client error 401: Unauthorized URL:https://.....

oaxjogi commented 7 years ago

@Mechtilde has only used an already exisiting patch and put it in a pull request. So, we do not have a developer who is already looking on that issue I assume...

JohnSPeach commented 7 years ago

That pull request from @Mechtilde is for a different problem (3.9.0 unable to accept meeting requests).

ontheair81 commented 7 years ago

I made a downgrade to TB 45.8.0 on all computers. This could be done without data loss or corrupted settings / databases. For sure this is not a solution, I just wanted to mention it. I am using TB and EWS for business purposes, so we are able to work again with the downgrade - until there is another solution.

Current working versions: TB 45.8.0 EWS 3.9.0 Lightning 4.7.8

tmeader commented 7 years ago

It seems, going by the fork history, that the more active developer is @Trim. Might be worth trying to contact that user to see if they can help.

fthommen commented 7 years ago

EWS Exchangeprovider has become crucial @work for everyone using our (Exchange) company calendar with Thunderbird. Basically we cannot afford not having it (or Thunderbird will not be a mailclient option any more). This situation is extremely unfortunate and irritating, especially as no developer seems to be/feel responsible for this plugin. Maybe we could convince the Thunderbird people to make this an integral part of TB?

ogjerstad commented 7 years ago

We need someone who is both capable, and needs to scratch this particular itch. This highlights one problem with open source. We can't just expect someone to fix this if he/she does not need this functionality for own use. But we all know that. Are we willing to pay for this getting fixed? I could consider that.

Trim commented 7 years ago

Hello,

On my side, I've just tried to hack the password prompt multiple issues (sadly without good results).

I will not be able to update this extension to use latest Lightning version, because IIRC this extension override some parts of Lightning and I don't have enough expertise to update that code myself.

fthommen commented 7 years ago

@ogjerstad: You are right (but unfortunately I cannot help with fixing) and I also see all implications related to open source, voluntary work ecc. ecc. However IMHO Exchange capability should be a core component of TB, otherwise it will never be accepted in corporate environments.

I've posted a feature wish at Mozilla (https://bugzilla.mozilla.org/show_bug.cgi?id=1359629). Let's see how TB people react.

oaxjogi commented 7 years ago

@ogjerstad Yes, I would add some coins to a crowed funding to get it done.

Trim commented 7 years ago

Maybe we should ask too to @bavincen if he currently continue to hack / work on exchangecalendar or if he as other projects ? Maybe he could give us some hints to port exchangecalendar to another Lightning version...

efa commented 7 years ago

original repo was this:

https://github.com/1stsetup/exchangecalendar/network

till May 2014 then some forks are:

https://github.com/bavincen/exchangecalendar/network https://github.com/Ericsson/exchangecalendar/network https://github.com/Scotchy49/exchangecalendar/network https://github.com/Mechtilde/exchangecalendar/network https://github.com/Trim/exchangecalendar/network

Valerio

jpstotz commented 7 years ago

Looking at the network traffic of Thunderbird 45.8 and comparing it with Thunderbird 52, the main difference is that v45.8 performs the authentication using Authorization: NTLM whereas v52 just tries to perform the authentication using Authorization: BASIC (even if the server response indicated that NTLM has to be used (WWW-Authenticate: Negotiate WWW-Authenticate: NTLM)

Its it possible that NTLM authentication has been disabled by default in Thunderbird/Firefox?

Trim commented 7 years ago

Good catch, IIRC, Exchange Web Service need NTLM connexions on most servers.

I've found someone having an issue with the "Never remember history" option from Firefox and NTLM: http://forums.mozillazine.org/viewtopic.php?f=38&t=3017405

Just a tip for developers who want to hack/debug this extension: you can enable the "Remote debugging" in your thunderbird and from Firefox connect to your thunderbird. Then you can all every tools you find in the native Web Developer Console from Firefox: https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Thunderbird

That's very intersting to find what happens exactly on your network 👍

EDIT: Never mind, my tipp is useless with Thunderbird 52: it is now shipped directly with the Web Developer Console 😍

Trim commented 7 years ago

I've check the code inside the components/EcExchangeRequests and I've noticed that:

My expectation, is that the values of error codes have been modified in Mozilla 52 and so the exchangecalendar abort authentication after first anonymous connection instead of trying a new attempt with login/password.

I think so , because, in TB 45.8, exchangecalendar makes a first anonymous connection attempt, receives an error "Anonymous Authentication Denied" and then tries to call the same URL with login/password (and here it will tries some more attempts with BASIC or NTLM requests according the response HTTP headers received).

All the magic of Basic AUTH/NTLM AUTH is then made by the XHTMLRequest standard function (this point was the one I didn't understood when I tried to rewrite the authentication prompt code).

jpstotz commented 7 years ago

Looking at the code I doubt that the code in the Exchange Lightning add-on is responsible for selecting the authentication: Using step-by-step debugging one can see that executing the one line this.xmlReq.send(this.mData); (332 in components/EcExchangeRequests) causes three HTTP requests to be made:

  1. a request containing HTTP BASIC auth -> 401 response
  2. a request containing an NTLM authorization header followed by a relative short NTLM authentication string -> 401 response containing a WWW-Authenticate: NTLM header with a lot of data (I assume this is the NTLM challenge)
  3. a request containing an NTLM authorization header followed by a long NTLM authentication string -> 200 response

Unless I missed an important callback all three requests has been automatically made by the nsIXHTMLRequest internally, caused by the WWW-Authenticate responses received by the server.

Performing the same steps in TB52, only the first request with HTTP BASIC AUTH is sent to the server. No automatic change to NTLM is done. This is IMHO a string indicator that NTLM authentication in Thunderbird 52 is disabled or has been removed.

Trim commented 7 years ago

Well, I was thinking about this code : https://github.com/Ericsson/exchangecalendar/blob/master/components/ecExchangeRequest.js#L419-L422

IIRC my tests yesterday has written in my exchangecalendarlog the "Error during waiting for data of hostname" or "-16" error (I need to check again).

Mmh, writing this, I am not sure if I received "-16" error or "-19" "ER_ERROR_HTTP_ERROR4XX" error... And so I've seen this popup: https://github.com/Ericsson/exchangecalendar/blob/master/components/ecExchangeRequest.js#L827-L841

I'll try to test again this weekend as I am not sure of what I've done yesterday, sorry.

EDIT: 05.05.2017 : that was a "-19" error with HTTP STATUS 401 "Anonymous connection not authorized"