diff options
| author | hovercats <hovercatswithlasereyes@protonmail.com> | 2025-01-21 20:27:36 +0100 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2025-02-01 20:04:32 -0800 |
| commit | 291844e122e255c128602ebe8a1267942f5eec96 (patch) | |
| tree | 3e4802a5193ac7a386a379aa6eb00423d25073d1 /pkg/yt-dlp/patch | |
| parent | 5534966dacec277867596ec2af030691801a7574 (diff) | |
yt-dlp: 2025.01.15
Diffstat (limited to 'pkg/yt-dlp/patch')
| -rw-r--r-- | pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch b/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch index 96e66dcf..5a72e434 100644 --- a/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch +++ b/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch @@ -1,35 +1,36 @@ -From 85781c9dc7a882b8638dcfdd60da14261178f437 Mon Sep 17 00:00:00 2001 +From 1b166dc9a491440db655fa3c7b49df329683ef45 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Mon, 4 Jul 2016 16:14:18 -0700 Subject: [PATCH] Disable use of ctypes and dynamic loading --- - yt_dlp/cookies.py | 100 ----------------------------------------- - yt_dlp/utils/_utils.py | 85 +---------------------------------- - 2 files changed, 2 insertions(+), 183 deletions(-) + yt_dlp/cookies.py | 104 ----------------------------------------- + yt_dlp/utils/_utils.py | 85 +-------------------------------- + 2 files changed, 2 insertions(+), 187 deletions(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py -index 070d2fcb9..e527fdec4 100644 +index fad323c90..5e5c9df81 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py -@@ -400,8 +400,6 @@ def decrypt(self, encrypted_value): - def get_cookie_decryptor(browser_root, browser_keyring_name, logger, *, keyring=None): +@@ -416,8 +416,6 @@ def decrypt(self, encrypted_value): + def get_cookie_decryptor(browser_root, browser_keyring_name, logger, *, keyring=None, meta_version=None): if sys.platform == 'darwin': - return MacChromeCookieDecryptor(browser_keyring_name, logger) + return MacChromeCookieDecryptor(browser_keyring_name, logger, meta_version=meta_version) - elif sys.platform in ('win32', 'cygwin'): -- return WindowsChromeCookieDecryptor(browser_root, logger) - return LinuxChromeCookieDecryptor(browser_keyring_name, logger, keyring=keyring) +- return WindowsChromeCookieDecryptor(browser_root, logger, meta_version=meta_version) + return LinuxChromeCookieDecryptor(browser_keyring_name, logger, keyring=keyring, meta_version=meta_version) -@@ -488,43 +486,6 @@ def decrypt(self, encrypted_value): +@@ -511,46 +509,6 @@ def decrypt(self, encrypted_value): return encrypted_value -class WindowsChromeCookieDecryptor(ChromeCookieDecryptor): -- def __init__(self, browser_root, logger): +- def __init__(self, browser_root, logger, meta_version=None): - self._logger = logger - self._v10_key = _get_windows_v10_key(browser_root, logger) - self._cookie_counts = {'v10': 0, 'other': 0} +- self._meta_version = meta_version or 0 - - def decrypt(self, encrypted_value): - version = encrypted_value[:3] @@ -53,7 +54,9 @@ index 070d2fcb9..e527fdec4 100644 - ciphertext = raw_ciphertext[nonce_length:-authentication_tag_length] - authentication_tag = raw_ciphertext[-authentication_tag_length:] - -- return _decrypt_aes_gcm(ciphertext, self._v10_key, nonce, authentication_tag, self._logger) +- return _decrypt_aes_gcm( +- ciphertext, self._v10_key, nonce, authentication_tag, self._logger, +- hash_prefix=self._meta_version >= 24) - - else: - self._cookie_counts['other'] += 1 @@ -65,7 +68,7 @@ index 070d2fcb9..e527fdec4 100644 def _extract_safari_cookies(profile, logger): if sys.platform != 'darwin': raise ValueError(f'unsupported platform: {sys.platform}') -@@ -971,33 +932,6 @@ def _get_mac_keyring_password(browser_keyring_name, logger): +@@ -997,33 +955,6 @@ def _get_mac_keyring_password(browser_keyring_name, logger): return None @@ -99,7 +102,7 @@ index 070d2fcb9..e527fdec4 100644 def pbkdf2_sha1(password, salt, iterations, key_length): return hashlib.pbkdf2_hmac('sha1', password, salt, iterations, key_length) -@@ -1027,40 +961,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger): +@@ -1057,41 +988,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger, hash_pr return None @@ -129,8 +132,9 @@ index 070d2fcb9..e527fdec4 100644 - ctypes.byref(blob_out), # pDataOut - ) - if not ret: -- logger.warning('failed to decrypt with DPAPI', only_once=True) -- return None +- message = 'Failed to decrypt with DPAPI. See https://github.com/yt-dlp/yt-dlp/issues/10927 for more info' +- logger.error(message) +- raise DownloadError(message) # force exit - - result = ctypes.string_at(blob_out.pbData, blob_out.cbData) - ctypes.windll.kernel32.LocalFree(blob_out.pbData) @@ -141,10 +145,10 @@ index 070d2fcb9..e527fdec4 100644 return os.environ.get('XDG_CONFIG_HOME', os.path.expanduser('~/.config')) diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py -index 0d3e707c5..357f145d7 100644 +index 699bf1e7f..710668036 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py -@@ -1482,64 +1482,7 @@ def __init__(self): +@@ -1506,64 +1506,7 @@ def __init__(self): super().__init__(self.msg) @@ -210,7 +214,7 @@ index 0d3e707c5..357f145d7 100644 try: import fcntl -@@ -1888,31 +1831,7 @@ def fix_xml_ampersands(xml_str): +@@ -1912,31 +1855,7 @@ def fix_xml_ampersands(xml_str): def setproctitle(title): @@ -244,5 +248,5 @@ index 0d3e707c5..357f145d7 100644 def remove_start(s, start): -- -2.44.0 +2.45.2 |
