diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2024-05-24 00:37:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-24 07:37:51 +0300 |
commit | b15b9013dc25cdad83ca19d654c4f12d394e9058 (patch) | |
tree | 06f3221eeec9291dd12fa25881935c40a6cb72d4 /src | |
parent | 5c1aab37f149eb8891837abc9641a64139cf65c1 (diff) | |
download | pyca-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.rs | 3 | ||||
-rw-r--r-- | src/rust/src/backend/ec.rs | 4 | ||||
-rw-r--r-- | src/rust/src/x509/certificate.rs | 14 | ||||
-rw-r--r-- | src/rust/src/x509/common.rs | 21 |
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) } _ => { |