Linux CCurlFile SSL connect error(35)
#1
I was unable to play youtube videos on Debian testing with XBMC 13 beta3 ( installed from deb-multimedia.org ) using curl 7.36 and youtube plugin 4.4.6.
The log says:
Code:
14:05:44 T:140133794637568   DEBUG: CFileCache::Open - opening <videoplayback> using cache
14:05:44 T:140133794637568   DEBUG: CurlFile::Open(0x7f735c2c1350) https://r4---sn-bavc5aoxu-nv4e.googlevideo.com/
videoplayback?source=youtube&mt=1397300678&mv=m&itag=43&ms=au&ip=95.87.228.57&upn=TOBNyJmdUBU&requiressl=yes&spara
ms=id,ip,ipbits,itag,ratebypass,requiressl,source,upn,expire&sver=3&ratebypass=yes&ipbits=0&mws=yes&fexp=931325,92
7618,936920,916807,939109,922521,916623,944608,941532,927619,937417,913434,936916,934022,936921,936923&id=o-ACvKwJ
YunBC2hxBXUqpifs1z3YdGtY85c1oTiSG6L-oT&expire=1397323859&signature=B48AC1ABFCE919FCB3AB49BD81133E226B98F3FB.4B02A9
A9CC88FC03E3F2F4D46D795D3EA31F5AC0&key=yt5
14:05:44 T:140132863710976   DEBUG: Thread GUIDialogCache 140132863710976 terminating (autodelete)
14:05:44 T:140133794637568   ERROR: CCurlFile::FillBuffer - Failed: SSL connect error(35)
14:05:44 T:140133794637568   ERROR: CCurlFile::CReadState::Connect, didn't get any data from stream.

I tried using curl directly and got the same error :
Code:
$ curl https://r4---sn-bavc5aoxu-nv4e.googlevideo.com/
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

This is caused by curl 7.36 disabling some ssl cyphers by default and can be fixed by adding the "--ciphers ALL" option to curl, however I was unable to configure XBMC to use it.

A temporary workaround is downgrading curl to version 7.26 ( e.g. : apt-get install libcurl3=7.26.0-1+wheezy8 libcurl3:i386=7.26.0-1+wheezy8 curl=7.26.0-1+wheezy8 ).
Reply
#2
see https://github.com/xbmc/xbmc/pull/4489
Reply
#3
This Bug exist under windows too (beta4). E.g. if curl try to get something from github

Code:
18:29:02 T:6984   ERROR: CCurlFile::FillBuffer - Failed: SSL connect error(35)
18:29:02 T:6984   ERROR: CCurlFile::CReadState::Connect, didn't get any data from stream.
18:29:02 T:6984   ERROR: XFILE::CFileCache::Open - failed to open source <https://github.com/ScudLee/scudlee-xbmc-addons/raw/master/addons.xml.md5>
18:29:03 T:6984   ERROR: CCurlFile::FillBuffer - Failed: SSL connect error(35)
18:29:03 T:6984   ERROR: CCurlFile::CReadState::Connect, didn't get any data from stream.
18:29:03 T:6984   ERROR: XFILE::CFileCache::Open - failed to open source <https://github.com/ScudLee/scudlee-xbmc-addons/raw/master/addons.xml>
18:29:03 T:6984   ERROR: Repository ScudLee's XBMC Addon Repository returned no add-ons, listing may have failed
Reply
#4
Just updated to beta 4, and I had previously edited the youtube plugin to add "|SSLCipherList=DEFAULT:RC4-SHA" to video urls and it seems to work fine.
Thank you wsnipex.
Reply
#5
Where did you add the cipher string in the plugin?

Update: Tried: https://github.com/Gentro/youtube-xbmc-p...ll/1/files but not working (running 13.1b1 on 14.04).

Update 2: XBMC uses PyCurl. PyCurl on Ubuntu will only use GNUTLS the way it's compiled. Here's a guide on how to compile and install your own .deb that uses OpenSSL. This makes the Youtube plugin work after you've patched the plugin (like below).

https://code.google.com/p/wfuzz/wiki/PyCurlSSLBug
https://github.com/Gentro/youtube-xbmc-p...ll/1/files

Thanks,
E
Reply

Logout Mark Read Team Forum Stats Members Help
CCurlFile SSL connect error(35)0