aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2024-05-24 00:37:51 -0400
committerGitHub <noreply@github.com>2024-05-24 07:37:51 +0300
commitb15b9013dc25cdad83ca19d654c4f12d394e9058 (patch)
tree06f3221eeec9291dd12fa25881935c40a6cb72d4 /src
parent5c1aab37f149eb8891837abc9641a64139cf65c1 (diff)
downloadpyca-cryptography-b15b9013dc25cdad83ca19d654c4f12d394e9058.zip
pyca-cryptography-b15b9013dc25cdad83ca19d654c4f12d394e9058.tar.gz
pyca-cryptography-b15b9013dc25cdad83ca19d654c4f12d394e9058.tar.bz2
Remove various pointless to_object calls (#11017)
Diffstat (limited to 'src')
-rw-r--r--src/rust/src/asn1.rs3
-rw-r--r--src/rust/src/backend/ec.rs4
-rw-r--r--src/rust/src/x509/certificate.rs14
-rw-r--r--src/rust/src/x509/common.rs21
4 files changed, 15 insertions, 27 deletions
diff --git a/src/rust/src/asn1.rs b/src/rust/src/asn1.rs
index 98f0190..07fcf72 100644
--- a/src/rust/src/asn1.rs
+++ b/src/rust/src/asn1.rs
@@ -75,8 +75,7 @@ pub(crate) fn py_uint_to_big_endian_bytes<'p>(
py: pyo3::Python<'p>,
v: pyo3::Bound<'p, pyo3::types::PyLong>,
) -> pyo3::PyResult<PyBackedBytes> {
- let zero = (0).to_object(py);
- if v.lt(zero)? {
+ if v.lt(0)? {
return Err(pyo3::exceptions::PyValueError::new_err(
"Negative integers are not supported",
));
diff --git a/src/rust/src/backend/ec.rs b/src/rust/src/backend/ec.rs
index 237a570..d808a27 100644
--- a/src/rust/src/backend/ec.rs
+++ b/src/rust/src/backend/ec.rs
@@ -6,7 +6,6 @@ use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};
use pyo3::prelude::{PyAnyMethods, PyDictMethods, PyModuleMethods};
-use pyo3::ToPyObject;
use crate::backend::utils;
use crate::buf::CffiBuf;
@@ -482,8 +481,7 @@ fn public_key_from_numbers(
numbers: &EllipticCurvePublicNumbers,
curve: &openssl::ec::EcGroupRef,
) -> CryptographyResult<openssl::ec::EcKey<openssl::pkey::Public>> {
- let zero = (0).to_object(py);
- if numbers.x.bind(py).lt(&zero)? || numbers.y.bind(py).lt(&zero)? {
+ if numbers.x.bind(py).lt(0)? || numbers.y.bind(py).lt(0)? {
return Err(CryptographyError::from(
pyo3::exceptions::PyValueError::new_err(
"Invalid EC key. Both x and y must be non-negative.",
diff --git a/src/rust/src/x509/certificate.rs b/src/rust/src/x509/certificate.rs
index 79f1e72..88eb15e 100644
--- a/src/rust/src/x509/certificate.rs
+++ b/src/rust/src/x509/certificate.rs
@@ -527,7 +527,7 @@ fn parse_user_notice(
let org = parse_display_text(py, data.organization)?;
let numbers = pyo3::types::PyList::empty_bound(py);
for num in data.notice_numbers.unwrap_read().clone() {
- numbers.append(big_byte_slice_to_py_int(py, num.as_bytes())?.to_object(py))?;
+ numbers.append(big_byte_slice_to_py_int(py, num.as_bytes())?)?;
}
types::NOTICE_REFERENCE
.get(py)?
@@ -580,7 +580,7 @@ fn parse_cp(
let cp = ext.value::<asn1::SequenceOf<'_, PolicyInformation<'_>>>()?;
let certificate_policies = pyo3::types::PyList::empty_bound(py);
for policyinfo in cp {
- let pi_oid = oid_to_py_oid(py, &policyinfo.policy_identifier)?.to_object(py);
+ let pi_oid = oid_to_py_oid(py, &policyinfo.policy_identifier)?;
let py_pqis = match policyinfo.policy_qualifiers {
Some(policy_qualifiers) => {
parse_policy_qualifiers(py, policy_qualifiers.unwrap_read())?
@@ -589,8 +589,7 @@ fn parse_cp(
};
let pi = types::POLICY_INFORMATION
.get(py)?
- .call1((pi_oid, py_pqis))?
- .to_object(py);
+ .call1((pi_oid, py_pqis))?;
certificate_policies.append(pi)?;
}
Ok(certificate_policies.to_object(py))
@@ -722,10 +721,7 @@ pub(crate) fn parse_access_descriptions(
for access in parsed.unwrap_read().clone() {
let py_oid = oid_to_py_oid(py, &access.access_method)?.to_object(py);
let gn = x509::parse_general_name(py, access.access_location)?;
- let ad = types::ACCESS_DESCRIPTION
- .get(py)?
- .call1((py_oid, gn))?
- .to_object(py);
+ let ad = types::ACCESS_DESCRIPTION.get(py)?.call1((py_oid, gn))?;
ads.append(ad)?;
}
Ok(ads.to_object(py))
@@ -755,7 +751,7 @@ pub fn parse_cert_ext<'p>(
let features = pyo3::types::PyList::empty_bound(py);
for feature in ext.value::<asn1::SequenceOf<'_, u64>>()? {
- let py_feature = tls_feature_type_to_enum.get_item(feature.to_object(py))?;
+ let py_feature = tls_feature_type_to_enum.get_item(feature)?;
features.append(py_feature)?;
}
Ok(Some(types::TLS_FEATURE.get(py)?.call1((features,))?))
diff --git a/src/rust/src/x509/common.rs b/src/rust/src/x509/common.rs
index 820bf91..89baee0 100644
--- a/src/rust/src/x509/common.rs
+++ b/src/rust/src/x509/common.rs
@@ -198,17 +198,12 @@ fn parse_name_attribute(
py: pyo3::Python<'_>,
attribute: AttributeTypeValue<'_>,
) -> Result<pyo3::PyObject, CryptographyError> {
- let oid = oid_to_py_oid(py, &attribute.type_id)?.to_object(py);
- let tag_val = attribute
- .value
- .tag()
- .as_u8()
- .ok_or_else(|| {
- CryptographyError::from(pyo3::exceptions::PyValueError::new_err(
- "Long-form tags are not supported in NameAttribute values",
- ))
- })?
- .to_object(py);
+ let oid = oid_to_py_oid(py, &attribute.type_id)?;
+ let tag_val = attribute.value.tag().as_u8().ok_or_else(|| {
+ CryptographyError::from(pyo3::exceptions::PyValueError::new_err(
+ "Long-form tags are not supported in NameAttribute values",
+ ))
+ })?;
let py_tag = types::ASN1_TYPE_TO_ENUM.get(py)?.get_item(tag_val)?;
let py_data = match attribute.value.tag().as_u8() {
// BitString tag value
@@ -257,7 +252,7 @@ pub(crate) fn parse_general_name(
) -> Result<pyo3::PyObject, CryptographyError> {
let py_gn = match gn {
GeneralName::OtherName(data) => {
- let oid = oid_to_py_oid(py, &data.type_id)?.to_object(py);
+ let oid = oid_to_py_oid(py, &data.type_id)?;
types::OTHER_NAME
.get(py)?
.call1((oid, data.value.full_data()))?
@@ -293,7 +288,7 @@ pub(crate) fn parse_general_name(
}
}
GeneralName::RegisteredID(data) => {
- let oid = oid_to_py_oid(py, &data)?.to_object(py);
+ let oid = oid_to_py_oid(py, &data)?;
types::REGISTERED_ID.get(py)?.call1((oid,))?.to_object(py)
}
_ => {