geometer / FBReaderJ

Official FBReaderJ project repository
http://www.fbreader.org/FBReaderJ/
1.83k stars 801 forks source link

SNI support #440

Open Yetangitu opened 7 years ago

Yetangitu commented 7 years ago

Well, the title says it all: FBReader does not support SNI, leading to problems like that described in #262. Adding SNI support should not be too hard, it should be enough to add the Netcipher library and hook it up. As I currently do not have a working 'old style' Android development environment handy (only Android Studio) I can not just hack it in and submit a pull request.If I find some time I might end up doing just that if nobody beats me to the finish line (feel free, by all means!)

AS-dh commented 7 years ago

It's only after reading a bit more about the possible causes that I realize that what I posted today as https://github.com/geometer/FBReaderJ/issues/442 is directly related to your request. I'd very much appreciate if you or some other knowledgeable member of the community could fix this as the COPS server I've set up is otherwise useless (and moving back to non-ssl is no option).

Yetangitu commented 7 years ago

While you're waiting for someone to implement SNI-support in FBReader you can do the same as I did to get my OPDS Catalog app (Nextcloud and Owncloud versions exist) working with FBReader and other non-SNI apps: run an extra virtual server on a different port for your OPDS catalog. Set the web root for that server to (in your case) COPS's root, give the server its own certificate pointing at just that server (eg. opds.example.org) and configure FBReader to use that address (eg https://opds.example.org:8443/). While not ideal, it does allow you to use your server in the here and now which always beats waiting...

geometer commented 7 years ago

Hey guys,

Could you please give me a link to an OPDS catalogue with HTTPS+SNI, for testing?

geometer commented 7 years ago

Looks like it is fixed in 2.8 beta 6: https://play.google.com/apps/testing/org.geometerplus.zlibrary.ui.android

AS-dh commented 7 years ago

Thanks Nikolay/geometer! I can confirm that 2.8 beta 6 works fine both with a COPS server as well as with Frank's/Yetangitu's OPDS catalog for Nextcloud without the need to set up an extra virtual server. Curiously for both sources I'd to enter my credentials twice: The first time FBreader said "authorization failed" even though I'm pretty sure that I entered user name and password correctly the first time... -Daniel PS: Can I upgrade to premium from the beta while keeping this improvement or do I need to wait for the realease?

geometer commented 7 years ago

Yes, premium 2.8 beta 6 with the same fix is in the Play Store. https://play.google.com/apps/testing/com.fbreader