kodi-pvr / pvr.filmon

Kodi's Filmon client addon
GNU General Public License v2.0
4 stars 32 forks source link

CCurlFile::FillBuffer - Failed: SSL connect error(35) - python-software-properties unavailable for ubuntu 20.04 #109

Closed theleander closed 3 years ago

theleander commented 3 years ago

Pretty much as the title suggests, something within that package is required by the filmon client that isn't available either within the software-properties-common (which is what is being claimed as it's replacement according to apt) or python3-software-properties.

What package is specifically being called within that bundle that's currently missing within my fresh install of Kubuntu 20.04?

phunkyfish commented 3 years ago

https://askubuntu.com/questions/422975/e-package-python-software-properties-has-no-installation-candidate

EDIT: ignore I misread your question

phunkyfish commented 3 years ago

Can you supply your debug log please. I don’t think Python is used or called for PVR add-ons. They are written in C++

theleander commented 3 years ago

WARNING <general>: operator(): Add-on Filmon API:http://www.filmon.com/ does not support timer types. It will work, but not benefit from the timer features introduced with PVR Addon API 2.0.0 2021-02-20 00:43:16.257 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 374 2021-02-20 00:43:16.257 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 14 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 25 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 11 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 2 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 22 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 67 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 26 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 101 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 65 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 97 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 845 2021-02-20 00:43:16.258 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 851 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1039 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1666 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1805 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1808 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1811 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1817 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1820 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1823 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1826 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 3211 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 371 2021-02-20 00:43:16.259 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 372 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 103 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 93 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 27 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 4 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 13 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 3698 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 5944 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 5947 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 5950 2021-02-20 00:43:16.260 T:1441515 INFO <general>: AddOnLog: pvr.filmon: Adding favourite channel to list, id: 1952 2021-02-20 00:43:16.262 T:1441515 WARNING <general>: operator(): Add-on Filmon API:http://www.filmon.com/ does not support timer types. It will work, but not benefit from the timer features introduced with PVR Addon API 2.0.0 2021-02-20 00:43:16.265 T:1441515 INFO <general>: PVR Manager: Starting 2021-02-20 00:43:17.071 T:1441599 ERROR <general>: CCurlFile::FillBuffer - Failed: SSL connect error(35) 2021-02-20 00:43:18.330 T:1441572 WARNING <general>: xbmc.translatePath is deprecated and might be removed in future kodi versions. Please use xbmcvfs.translatePath instead. 2021-02-20 00:43:18.406 T:1441523 WARNING <CSettingsManager>: unable to read value of setting "appearance.1" 2021-02-20 00:43:18.408 T:1441523 WARNING <CSettingsManager>: unable to read value of setting "module.provider" 2021-02-20 00:43:18.409 T:1441638 INFO <general>: initializing python engine.

When closing kodi it shuts down cleanly, it just can't seem to connect.

I'm wondering if it's a curl issue related to http2 support perhaps if it's not a python thing. Apparently its something that has caught out a number of people using the iptvsimple pvr.

--edit--

The only reference to this particular error on the kodi forums was apparently solved by installing python-software-properties, so I'm assuming one of the packages or dependencies is what is being called on, hence the initial question.

phunkyfish commented 3 years ago

Please do the following.

  1. enable debug logging
  2. Restart kodi
  3. Reproduce the error
  4. Post the full log using a paste site link

There is not enough detail in the log snippet you posted to figure this out.

theleander commented 3 years ago

As requested. I also took the liberty of running it on a clean build just to be sure (why yes, I have been embarrassed like that before).

https://pastebin.com/2qNCkdMF

phunkyfish commented 3 years ago

What’s strange is I can’t see an error related to filmon at all. The only thing I can find is:

2021-02-20 22:41:15.455 T:145974 DEBUG <general>: Thread Terminating with Exception: basic_string::_M_construct null not valid

Maybe there is a string error somewhere. Just not sure where.

theleander commented 3 years ago

What would filmon use to call the site? I ask because even taking copying the config over to an android device it works just fine. I don't think it's an addon issue at all but something specific (and missing) outside of kodi.

phunkyfish commented 3 years ago

I’m not sure. I don’t use Ubuntu I’m afraid.

theleander commented 3 years ago

Honestly with the last two releases, you're not missing much heh.

I did find this the other day when I was hunting: https://forum.kodi.tv/showthread.php?tid=313534&highlight=curl

phunkyfish commented 3 years ago

Did it help?

phunkyfish commented 3 years ago

That string error would happen when a zero is returned instead of a string in C++.

I can’t see any occurrence of that in filmon though.

theleander commented 3 years ago

Did it help?

Sadly not, but one of the recurring issues seems to be with curl and specifically with secure connections. Looking at other threads I don't seem to have the issues they're reporting (if it were, the youtube plugin would puke every time you tried it, as well as any number of intermittent issues).

I'll keep digging as it does bug me and I'll be sure to post back with what the issue was if I can resolve it.

I can confirm that your plugin works just fine under android and android tv however.

wsnipex commented 3 years ago

this is strange: 2021-02-20 22:41:14.823 T:145974 DEBUG : AddOnLog: pvr.filmon: request is http://www.filmon.com/tv/ 2021-02-20 22:41:14.824 T:145974 DEBUG : CurlFile::Open(0x7fa790023e20) http://www.filmon.com/tv/ 2021-02-20 22:41:15.419 T:145974 ERROR : CCurlFile::FillBuffer - Failed: SSL connect error(35) 2021-02-20 22:41:15.420 T:145974 DEBUG : CCurlFile::Open - effective URL: https://www.filmon.com/tv/ _2021-02-20 22:41:15.424 T:145974 DEBUG : AddOnLog: pvr.filmon: response is: {"id":374,"logo":"https:\/\/static.filmon.com\/assets\/channels\/374\/logo.png?v2","big_logo":"https:\/\/static.filmon.com\/assets\/channels\/374\/biglogo.png","title":"FilmOn Football ","alias":"filmon-football","description":"The only global football channel to feature the very best of the English Premier League, The FA cup and The England Football team, from the Greatest games, best goals and player profiles to the best match highlights can all be found

it seems to first fail with this:

`$ curl -v https://www.filmon.com/tv

but then it gets a successful reponse?

theleander commented 3 years ago

Found the reason, but not the solution...

https://github.com/FreshRSS/FreshRSS/issues/3029 offers the insight, though at the cost of security. However digging around I found this: https://stackoverflow.com/questions/58342699/php-curl-curl-error-35-error1414d172ssl-routinestls12-check-peer-sigalgwr#58531438

Would that be any use?

wsnipex commented 3 years ago

definitely a server side issue on filmon.com

openssl s_client -verify_hostname www.filmon.com -showcerts -connect www.filmon.com:443
.
.
New, (NONE), Cipher is (NONE)
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    **Cipher    : 0000**
    Session-ID: AA9F902EC3775159CA4A1690E5872EA7BC23F60BE500BBF00577990381046B6F
    Session-ID-ctx: 
    Master-Key: 
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1613896518
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
theleander commented 3 years ago

It's caused by OpenSSL version 1.1.1f and later no longer supporting older certificates. I took the error code you came up with when you ran curl manually and it seems it caused no end of issues when they did it.

Your options are 1) force filmon to update their certs to modern standards 2) force allowing of older insecure certificates globally in the system 3) manually request the lower standard cert via the addon.

theleander commented 3 years ago

The full fix is here

I'll close this now as the issue has been corrected. Thanks for everyone's patience in this matter.