Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SASL GSSAPI #2

Open
thsmi opened this issue Oct 11, 2012 · 5 comments
Open

SASL GSSAPI #2

thsmi opened this issue Oct 11, 2012 · 5 comments
Milestone

Comments

@thsmi
Copy link
Owner

thsmi commented Oct 11, 2012

Implement native support for SASL GSSAPI

Th show stopper concerning SASL GSSAPI is that nsIAuthModule is not exposed to javascript. It's just accessible from C++. So there's no way to use Thunderbird's native implementation from extensions.

One way to get around this would be to patch Thunderbird to expose the nsIAuthModule to Scripts.

The other way would be reimplementing nsAuthGSSAPI.cpp in JavaScript with C-Types.

As workaround there is a perl based proxy implementation: https://github.com/thsmi/sieve/tree/master/tools/GSSAPI%20Proxy

@arthurzenika
Copy link

+1 on this feature request.

@dilyanpalauzov
Copy link

I do not know how current the nsIAuthModule argument is, but in case GSSAPI/GS2-KRB5 capable server is needed I can provide account for tests. The server is mail.aegee.org . The secret is abc . No channel binding is offered (-PLUS mechanisms). The principal is [email protected] .

@thsmi
Copy link
Owner Author

thsmi commented Mar 21, 2021

After more than one decade the nsIAuthModule got exposed to JavaScript in Thunderbird:
https://bugzilla.mozilla.org/show_bug.cgi?id=1679731

But ironically classic addons which could make full use of this are gone.

@dekeonus
Copy link

dekeonus commented May 3, 2021

But ironically classic addons which could make full use of this are gone.

so is that a won't implement?
If so can you add a means (to the TB webex version) of changing the authentication - currently it is sending something to timsieved server (cyrus/sieve is reporting PLAIN authentication failures), TB hasn't been configured with any passwords (it's using GSSAPI) so I'm not sure what the TB sieve extension is actually sending.

@thsmi
Copy link
Owner Author

thsmi commented May 6, 2021

so is that a won't implement?

Difficult to say depends on the Thunderbird developers. WebExtension are limited they and can access Thunderbird only via official WebExtension APIs as well as so called Experiments. It took more than 10 years until the GSSAPI got exposed to Javascript. So I is highly unlikely that it will ever popup in the WebExtension API. And concerning the Experiments, there is sadly only an official statement which says they will disabled in the future. But no one know what this means.

If so can you add a means (to the TB webex version) of changing the authentication

From my side this is highly unlikely. Currently all of the settings are hardwired to the corresponding Thunderbird account. Allowing both as a mix-in adds a tremendous amount of complexity. Which has little to no benefit for most users. My focus is currently on getting the next release ready and publishing a web application which can be run an a web server. If you need custom settings just use the standalone application.

currently it is sending something to timsieved server (cyrus/sieve is reporting PLAIN authentication failures), TB hasn't been configured with any passwords (it's using GSSAPI) so I'm not sure what the TB sieve extension is actually sending.

It uses Thunderbird internal APIs to ask for the account password. It would be interesting to see what Thunderbird returns to the webextension. SASL plain is unencrypted, you just need to base 64 decode the string.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants