Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
verify_flags
  • Loading branch information
youknowone committed Oct 25, 2025
commit efddfce74a6150861d19c51e6c65cc8c8cd0d7e0
36 changes: 36 additions & 0 deletions stdlib/src/ssl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -685,6 +685,42 @@ mod _ssl {
Ok(())
}
#[pygetset]
fn verify_flags(&self) -> libc::c_ulong {
unsafe {
let ctx_ptr = self.ctx().as_ptr();
let param = sys::SSL_CTX_get0_param(ctx_ptr);
sys::X509_VERIFY_PARAM_get_flags(param)
}
}
#[pygetset(setter)]
fn set_verify_flags(&self, new_flags: libc::c_ulong, vm: &VirtualMachine) -> PyResult<()> {
unsafe {
let ctx_ptr = self.ctx().as_ptr();
let param = sys::SSL_CTX_get0_param(ctx_ptr);
let flags = sys::X509_VERIFY_PARAM_get_flags(param);
let clear = flags & !new_flags;
let set = !flags & new_flags;

if clear != 0 {
if sys::X509_VERIFY_PARAM_clear_flags(param, clear) == 0 {
return Err(vm.new_exception_msg(
ssl_error(vm),
"Failed to clear verify flags".to_owned(),
));
}
}
if set != 0 {
if sys::X509_VERIFY_PARAM_set_flags(param, set) == 0 {
return Err(vm.new_exception_msg(
ssl_error(vm),
"Failed to set verify flags".to_owned(),
));
}
}
Ok(())
}
}
#[pygetset]
fn check_hostname(&self) -> bool {
self.check_hostname.load()
}
Expand Down