gnu: kodi: Allow connecting to HTTPS sources.

* gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/kodi.scm (kodi)[patches]: Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Carlo Zancanaro 2019-04-02 22:36:57 +11:00 committed by Ludovic Courtès
parent 9c074f61ef
commit 3e4e74c10e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 19 additions and 1 deletions

View file

@ -0,0 +1,16 @@
Kodi doesn't set the CAPATH and CAINFO parameters for libcurl. To make HTTPS
connections work we can set them based on SSL_CERT_DIR and SSL_CERT_FILE.
--- a/xbmc/filesystem/CurlFile.cpp
+++ b/xbmc/filesystem/CurlFile.cpp
@@ -626,5 +626,9 @@
// Setup allowed TLS/SSL ciphers. New versions of cURL may deprecate things that are still in use.
if (!m_cipherlist.empty())
g_curlInterface.easy_setopt(h, CURLOPT_SSL_CIPHER_LIST, m_cipherlist.c_str());
+
+ // Load certificate data from environment paths
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAPATH, getenv("SSL_CERT_DIR"));
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
}
void CCurlFile::SetRequestHeaders(CReadState* state)