// yt - A fully featured command line YouTube client // // Copyright (C) 2025 Benedikt Peetz // 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 . 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"), "".to_owned(), )?; } Ok(()) }