mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
core: fix errors removing old cookies (#13420)
This commit is contained in:
@@ -5,11 +5,14 @@ using System.Linq;
|
|||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using NLog;
|
||||||
|
|
||||||
namespace Jackett.Common.Utils
|
namespace Jackett.Common.Utils
|
||||||
{
|
{
|
||||||
public static class CookieUtil
|
public static class CookieUtil
|
||||||
{
|
{
|
||||||
|
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
|
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
|
||||||
// NOTE: we are not checking non-ascii characters and we should
|
// NOTE: we are not checking non-ascii characters and we should
|
||||||
private static readonly Regex _CookieRegex = new Regex(@"([^\(\)<>@,;:\\""/\[\]\?=\{\}\s]+)=([^,;\\""\s]+)");
|
private static readonly Regex _CookieRegex = new Regex(@"([^\(\)<>@,;:\\""/\[\]\?=\{\}\s]+)=([^,;\\""\s]+)");
|
||||||
@@ -52,12 +55,17 @@ namespace Jackett.Common.Utils
|
|||||||
.InvokeMember("m_domainTable", BindingFlags.NonPublic | BindingFlags.GetField |
|
.InvokeMember("m_domainTable", BindingFlags.NonPublic | BindingFlags.GetField |
|
||||||
BindingFlags.Instance, null, cookieJar, new object[] { });
|
BindingFlags.Instance, null, cookieJar, new object[] { });
|
||||||
foreach (var key in table.Keys)
|
foreach (var key in table.Keys)
|
||||||
{
|
try
|
||||||
foreach (Cookie cookie in cookieJar.GetCookies(new Uri($"http://{key}")))
|
{
|
||||||
cookie.Expired = true;
|
foreach (Cookie cookie in cookieJar.GetCookies(new Uri($"http://{key}")))
|
||||||
foreach (Cookie cookie in cookieJar.GetCookies(new Uri($"https://{key}")))
|
cookie.Expired = true;
|
||||||
cookie.Expired = true;
|
foreach (Cookie cookie in cookieJar.GetCookies(new Uri($"https://{key}")))
|
||||||
}
|
cookie.Expired = true;
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
logger.Warn("Unable to delete the cookies of domain: " + key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user