From 796bb70421f5f5afcb11378d9f8501b261a92c10 Mon Sep 17 00:00:00 2001 From: KZ Date: Fri, 31 Jul 2015 20:27:59 +0100 Subject: [PATCH] Fix: Redhat/NSS based libcurl not being able to access certain indexers --- src/CurlSharp/CurlEasy.cs | 45 ------- src/CurlSharp/CurlSharp.csproj | 1 + src/CurlSharp/Enums/CurlOption.cs | 26 ---- src/CurlSharp/SSLFix.cs | 13 ++ src/Jackett.Console/ConsoleOptions.cs | 7 +- src/Jackett.Console/Program.cs | 10 +- src/Jackett/Controllers/AdminController.cs | 23 ++-- src/Jackett/CurlHelper.cs | 115 +++++++----------- src/Jackett/Engine.cs | 2 +- src/Jackett/ExceptionWithConfigData.cs | 7 -- src/Jackett/Indexers/SceneAccess.cs | 6 +- src/Jackett/Indexers/TorrentBytes.cs | 3 - src/Jackett/Startup.cs | 6 + src/Jackett/Utils/Clients/HttpWebClient.cs | 4 +- .../Utils/Clients/UnixLibCurlWebClient.cs | 46 +++++-- .../Utils/Clients/UnixSafeCurlWebClient.cs | 12 +- 16 files changed, 144 insertions(+), 182 deletions(-) create mode 100644 src/CurlSharp/SSLFix.cs diff --git a/src/CurlSharp/CurlEasy.cs b/src/CurlSharp/CurlEasy.cs index 6c462834c..551996594 100644 --- a/src/CurlSharp/CurlEasy.cs +++ b/src/CurlSharp/CurlEasy.cs @@ -118,7 +118,6 @@ namespace CurlSharp private NativeMethods._CurlDebugCallback _pcbDebug; private NativeMethods._CurlIoctlCallback _pcbIoctl; private NativeMethods._CurlProgressCallback _pcbProgress; - private NativeMethods._CurlSslCtxCallback _pcbSslCtx; #endif private CurlDebugCallback _pfCurlDebug; private CurlHeaderCallback _pfCurlHeader; @@ -293,18 +292,6 @@ namespace CurlSharp return setCurlOpt(_curlDebugData, CurlOption.DebugData); } - private IntPtr _curlSslCtxData = IntPtr.Zero; - - /// - /// Object to pass to OnSslCtxCallback. - /// - /// - /// - private CurlCode setSslCtxData(object data) - { - _curlSslCtxData = getHandle(data); - return setCurlOpt(_curlSslCtxData, CurlOption.SslCtxData); - } private IntPtr _curlIoctlData = IntPtr.Zero; @@ -368,17 +355,6 @@ namespace CurlSharp } } - public object SslCtxData - { - get { return _sslContextData; } - set - { - _sslContextData = value; -#if !USE_LIBCURLSHIM - setSslCtxData(value); -#endif - } - } public object IoctlData { @@ -538,11 +514,6 @@ namespace CurlSharp set { setFunctionOptions(CurlOption.IoctlFunction, value); } } - public CurlSslContextCallback SslContextFunction - { - get { return _pfCurlSslContext; } - set { setFunctionOptions(CurlOption.SslCtxFunction, value); } - } public string LastErrorDescription { @@ -1262,7 +1233,6 @@ namespace CurlSharp freeHandle(ref _curlProgressData); freeHandle(ref _curlHeaderData); freeHandle(ref _curlIoctlData); - freeHandle(ref _curlSslCtxData); #endif NativeMethods.curl_easy_cleanup(_pCurl); @@ -1439,9 +1409,6 @@ namespace CurlSharp case CurlOption.HeaderData: _headerData = parameter; break; - case CurlOption.SslCtxData: - _sslContextData = parameter; - break; case CurlOption.IoctlData: _ioctlData = parameter; break; @@ -1593,14 +1560,6 @@ namespace CurlSharp break; } - case CurlOption.SslCtxFunction: - { - var sf = pfn as CurlSslContextCallback; - if (sf == null) - return CurlCode.BadFunctionArgument; - _pfCurlSslContext = sf; - break; - } case CurlOption.IoctlFunction: { @@ -1949,7 +1908,6 @@ namespace CurlSharp _pcbProgress = _curlProgressCallback; _pcbDebug = _curlDebugCallback; _pcbHeader = _curlHeaderCallback; - _pcbSslCtx = _curlSslCtxCallback; _pcbIoctl = _curlIoctlCallback; setLastError(NativeMethods.curl_easy_setopt_cb(_pCurl, CurlOption.WriteFunction, _pcbWrite), @@ -1962,8 +1920,6 @@ namespace CurlSharp CurlOption.HeaderFunction); setLastError(NativeMethods.curl_easy_setopt_cb(_pCurl, CurlOption.DebugFunction, _pcbDebug), CurlOption.DebugFunction); - setLastError(NativeMethods.curl_easy_setopt_cb(_pCurl, CurlOption.SslCtxFunction, _pcbSslCtx), - CurlOption.SslCtxFunction); setLastError(NativeMethods.curl_easy_setopt_cb(_pCurl, CurlOption.IoctlFunction, _pcbIoctl), CurlOption.IoctlFunction); setLastError(NativeMethods.curl_easy_setopt(_pCurl, CurlOption.NoProgress, (IntPtr) 0), @@ -1974,7 +1930,6 @@ namespace CurlSharp setHeaderData(null); setProgressData(null); setDebugData(null); - setSslCtxData(null); setIoctlData(null); #endif } diff --git a/src/CurlSharp/CurlSharp.csproj b/src/CurlSharp/CurlSharp.csproj index 150fbc7db..de7a139ac 100644 --- a/src/CurlSharp/CurlSharp.csproj +++ b/src/CurlSharp/CurlSharp.csproj @@ -78,6 +78,7 @@ +