thsmi / sieve

Sieve Script Editor
GNU Affero General Public License v3.0
746 stars 57 forks source link

Configure custom ca chain, client cert and private key #803

Open dxdxdt opened 2 years ago

dxdxdt commented 2 years ago

(Cont'd from #799)

My use case requires that the client supports a custom ca chain, a client certificate and a private key as the server mandate mutual TLS verification. I've been happy with using the Thunderbird plugin, which gets all the connection info from the Mozilla framework. It seems that you guys will discontinue the plugin so if I should switch over to the standalone version, I'd need to be able to configure them.

python-managesieve have options for these, but I prefer using the GUI. Would you consider merging into master if I(or you) implemented these settings?

thsmi commented 2 years ago

Contributing it always well come. Just create a pull request and I'll be happy to review and merge it.

As far as I understood this you are willing to implement a SASL External implementation for the application? Technically this should be not too difficult. The TLS Layer, where external lives, is provided by node. and the XMPP guys have it up and running: https://servicelab.org/2012/04/26/how-to-use-xmpp-sasl-external-with-node-js/ .

As this project is a one man show, it is unlikely that I'll find time for this soon. My priorities are basically keeping the App alive, then keeping the WebExtension alive and if time is left adding new features. So feel free to provide a patch.

By the way are no plans to deprecate the Thunderbird WebExtension, but my spare time is currently very limited and maintaining the Thunderbird WebExtension got painful and time consuming over the last years. Until now no major Electron release broke the Application, in contrast every Thunderbird in the last year broke the WebExtension. And the really annoying part all of these breaking changes landed always few weeks before the final release which gives an add-on developer no time for fixing and testing.

dxdxdt commented 11 months ago

Screenshot from 2023-10-13 22-42-53

Screenshot from 2023-10-16 20-05-46

Something like this. Will make a pull request along with other improvements and bug fixes.