about summary refs log tree commit diff stats
path: root/crates/yt_dlp/src/package_hacks/urllib3.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-10 16:36:42 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-10 16:36:42 +0200
commit82277ca7513eff82365ed54fe9836aae5bd45fe1 (patch)
tree3c1ba24fbcb9ef5bb5d7fbeaeea8a46cd7f61ae9 /crates/yt_dlp/src/package_hacks/urllib3.rs
parentrefactor(crates/bytes): Move into yt (diff)
downloadyt-82277ca7513eff82365ed54fe9836aae5bd45fe1.zip
refactor(crates/yt_dlp): Port to `pyo3` again
Rustpyton is slower, does not implement everything correctly and worst
of all, contains code produced by LLM's.

Using the freethreaded mode of pyo3 also works nicely around the GIL,
and enables parallel execution.
Diffstat (limited to 'crates/yt_dlp/src/package_hacks/urllib3.rs')
-rw-r--r--crates/yt_dlp/src/package_hacks/urllib3.rs35
1 files changed, 0 insertions, 35 deletions
diff --git a/crates/yt_dlp/src/package_hacks/urllib3.rs b/crates/yt_dlp/src/package_hacks/urllib3.rs
deleted file mode 100644
index 28ae37a..0000000
--- a/crates/yt_dlp/src/package_hacks/urllib3.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-// yt - A fully featured command line YouTube client
-//
-// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-// SPDX-License-Identifier: GPL-3.0-or-later
-//
-// This file is part of Yt.
-//
-// You should have received a copy of the License along with this program.
-// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-
-use rustpython::vm::{PyResult, VirtualMachine};
-
-// NOTE(@bpeetz): Remove this, once rust-python supports these features. <2025-06-27>
-pub(crate) fn apply_hacks(vm: &VirtualMachine) -> PyResult<()> {
-    {
-        // Urllib3 tries to import this value, regardless if it is set.
-        let ssl_module = vm.import("ssl", 0)?;
-        ssl_module.set_attr("VERIFY_X509_STRICT", vm.ctx.new_int(0x20), vm)?;
-    }
-
-    {
-        // Urllib3 tries to set the SSLContext.verify_flags value, regardless if it exists or not.
-        // So we need to provide a polyfill.
-
-        let scope = vm.new_scope_with_builtins();
-
-        vm.run_code_string(
-            scope,
-            include_str!("urllib3_polyfill.py"),
-            "<embedded urllib3 polyfill workaround code>".to_owned(),
-        )?;
-    }
-
-    Ok(())
-}