guix/gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch
Ricardo Wurmus dbd9305a56
gnu: kodi: Update to 19.5.
* gnu/packages/kodi.scm (kodi): Update to 19.5.
[source]: Remove obsolete patches; delete bundled jars.
[arguments]: Update configure flags; adjust build phase 'patch-stuff to use
Groovy from Guix; adjust file names; remove obsolete substitutions; disable
TestCPUInfo.GetCPUFrequency test; remove trailing #T from build phases.
[native-inputs]: Drop input labels; add googletest, groovy, openjdk9, and
java-commons-lang; remove icedtea.
[inputs]: Add spdlog-for-kodi; replace fmt-7 with fmt-6 (for spdlog).
(kodi/wayland)[arguments]: Adjust configure flags.
[inputs]: Use modify-inputs.
* gnu/local.mk (dist_patch_DATA): Remove obsolete patches.
* gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch: Adjust.
* gnu/packages/patches/kodi-increase-test-timeout.patch: Remove file.
* gnu/packages/patches/kodi-skip-test-449.patch: Remove file.
2022-12-31 00:55:43 +01:00

19 lines
977 B
Diff

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,8 +626,12 @@
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"));
+
if (CServiceBroker::GetSettingsComponent()->GetAdvancedSettings()->m_curlDisableHTTP2)
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
else
// enable HTTP2 support. default: CURL_HTTP_VERSION_1_1. Curl >= 7.62.0 defaults to CURL_HTTP_VERSION_2TLS
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);